/*
Theme Name: Meisterwerk 4.0
Description: Wordpress Theme
Author: Alexandr
Author URI: https://opttour.ru/author/maker1447/
Version: 3.0
Tags: two-columns, custom-background, custom-colors, featured-images, theme-options
Text Domain: https://opttour.ru
Theme URI: https://opttour.ru
License: Premium
License URI: https://opttour.ru
*/

/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&display=swap'); */

:root {
	--site-color-1: #102b65;
	--site-color-2: #008fcf;
	--site-color-3: #00aae4;
	--site-color-4: #005d90;
	--site-color-5: #e94f35;
	--site-color-6: #aac441;
	--color-lines: #f7f7f7;
}

/* Общие стили */

*, ::after, ::before {margin:0; padding:0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

html, body { 
	/*background-size: cover;
	background-repeat: no-repeat;*/
	/* font-family: 'Montserrat', sans-serif; */
	font-family: Arial, sans-serif;
	font-size: 16px;
	/* background: #f9f9f9; */
	color: #222;
	/*overflow-x: hidden;
	position: relative;
    z-index: -20;
	/*height: auto !important;
	min-height: 100vh !important;
	min-height: 100vh;*/
}

/*.disable-hover, .disable-hover * {pointer-events: none !important;}*/

i {margin-right: 7px;}

a {
	color: var(--site-color-1);
	text-decoration: none; 
	transition: all 0.3s ease;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s ease 0s;
}

a:hover {text-decoration: underline;}

a[href^="tel"] {text-decoration: none !important; cursor: default; white-space: nowrap;}
a[href^="tel"]:hover { color: inherit !important;}

img {max-width: 100%; height: auto;}
a img {border: none;}
/*a img:hover {-webkit-filter: brightness(110%);}*/
	
h1, h2, h3, h4, h5 {clear: both; margin-bottom: var(--bs-gutter-x); /*overflow: hidden;*/ position: relative; font-weight: 600;}

strong {font-weight: 600;}

table {width: 100%; border-collapse: collapse;}		  

iframe, embed {width: 100%;}
.mejs-container {max-width: 100% !important;}

/*ul li {list-style-type: square;}*/

input, textarea, select, button {font-family: 'Arial', sans-serif;}

*:focus, input:focus, button:focus {outline: none;}

input, button {  
	transition: color 0.3s ease, background-color 0.3s ease;
	-o-transition: color 0.3s, background-color 0.3s;
	-webkit-transition: color 0.3s ease 0s, background-color 0.3s ease 0s;
}

input, select, textarea {padding: 7px 15px; max-width: 100%; border: 1px solid #ccc;}

@media (max-width: 576px) { body {background: #fff;} h2 {font-size: 1.2rem;} }

  
/* Блочная верстка */

.container, .container-fluid {
	width: 100%;
	/*max-width: 1320px;*/ 
	margin-left: auto; 
	margin-right: auto;   
	padding-right: var(--bs-gutter-x, 0.75rem);
	padding-left: var(--bs-gutter-x, 0.75rem);
}

@media (max-width: 576px) { 
	.container {
		max-width: 100%; 
		padding-right: var(--bs-gutter-x, 1.5rem); 
		padding-left: var(--bs-gutter-x, 1.5rem);
	} 
}
@media (min-width: 576px) { .container {max-width: 540px;} }
@media (min-width: 768px)  { .container {max-width: 720px;} }
@media (min-width: 992px)  { .container {max-width: 960px;} }
@media (min-width: 1200px) { .container {max-width: 1140px;} }
@media (min-width: 1400px) { .container {max-width: 1320px;} }	

.container-fluid {max-width: none;}

.row {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: calc(var(--bs-gutter-y) * -1);
	margin-right: calc(var(--bs-gutter-x) * -.5);
	margin-left: calc(var(--bs-gutter-x) * -.5);
}

.gutter {
    --bs-gutter-y: 1rem;
}

.align-items-center {
	align-items: center !important;
}

.row > * {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--bs-gutter-x) * .5);
	padding-left: calc(var(--bs-gutter-x) * .5);
	/*margin-top: var(--bs-gutter-y);*/
	order: 10;
}

.col {flex: 1 0 0%;}
.row-cols-auto > * {flex: 0 0 auto; width: auto;}
.row-cols-1 > * {flex: 0 0 auto; width: 100%;}
.row-cols-2 > * {flex: 0 0 auto; width: 50%;}
.row-cols-3 > * {flex: 0 0 auto; width: 33.3333333333%;}
.row-cols-4 > * {flex: 0 0 auto; width: 25%;}
.row-cols-5 > * {flex: 0 0 auto; width: 20%;}
.row-cols-6 > * {flex: 0 0 auto; width: 16.6666666667%;}

.col-1  {flex: 0 0 auto; width: 8.33%;}
.col-2  {flex: 0 0 auto; width: 16.66%;}
.col-3  {flex: 0 0 auto; width: 25%;}
.col-4  {flex: 0 0 auto; width: 33.33%;}
.col-5  {flex: 0 0 auto; width: 41.66%;}
.col-6  {flex: 0 0 auto; width: 50%;}
.col-7  {flex: 0 0 auto; width: 58.33%;}
.col-8  {flex: 0 0 auto; width: 66.66%;}
.col-9  {flex: 0 0 auto; width: 75%;}
.col-10 {flex: 0 0 auto; width: 83.33%;}
.col-11 {flex: 0 0 auto; width: 91.66%;}
.col-12 {flex: 0 0 auto; width: 100%;}

.mb-0 {margin-bottom: 0 !important;}
.mb-1 {margin-bottom: 0.25rem !important;}
.mb-2 {margin-bottom: 0.5rem !important;}
.mb-3 {margin-bottom: 1rem !important;}
.mb-4 {margin-bottom: 1.5rem !important;}
.mb-5 {margin-bottom: 3rem !important;}
.mb-auto {margin-bottom: auto !important;}

@media (max-width: 992px)  { 
	.row-cols-3 > *, .col-3 {width: 50%;} 
}

@media (max-width: 576px)  {
	.row-cols-2 > *, .row-cols-3 > *, .col-3 {width: 100%;} 
	
}
	

.unset {display: none;}
.container0 {overflow: hidden;}


/* ---------- HEADER ---------- */

#mobile-head {
    display: none;
    position: sticky;
    z-index: 99;
    top: 0;
}

.mobile-head {
    background: #fff;
    border-bottom: 1px solid #eee;
    padding: 15px 0;
}

.mobile-head > * {
    padding: 0 var(--bs-gutter-x);
}

#mobile-head-logo img {
    display: block;
    max-width: 100px;
	width: 100%;
}

.mobile-head #mobile-head-button:before {
    content: "\e968";
    font-family: "icomoon";
    display: block;
    /* background: #007c88; */
    /* color: #fff; */
    border: 1px solid #eee;
    width: 50px;
    line-height: 50px;
    text-align: center;
    margin-left: auto;
}

[menu=open] .mobile-head #mobile-head-button:before {
	content: "\ea83";
}

.overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    will-change: transform;
    -webkit-transition: .3s cubic-bezier(.36,.07,.19,.97);
    -o-transition: .3s cubic-bezier(.36,.07,.19,.97);
    transition: .3s cubic-bezier(.36,.07,.19,.97);
    z-index: 80;
    background: rgb(0 0 0 / 20%);
	visibility: hidden;
    opacity: 0;
}

[menu=open] .overlay {
    visibility: visible;
    opacity: 1;
}

[menu=open] body {
    overflow: hidden;
}


body > header {position: relative; z-index: 999; position:-webkit-sticky; position:sticky; top:-100%; border-bottom: 1px solid var(--color-lines); background: #fff; transition: top 0.7s ease-in-out;}
body > header .box {align-items: center;}

.nav-up {top: 0;}
	
body > header.fixed {position: fixed; top: 0; left: 0; right: 0;}
body.compensate-for-scrollbar > header.fixed, body.windows-active > header.fixed {right: 17px;}	

#head-order {/*padding: 15px 0;*/ /*background: #fff; box-shadow: 2px 2px 12px rgb(0 0 0 / 10%);*/}

#head-order a {color: inherit;}
/* #head-order a[href]:hover {color: var(--color-main);} */

/*.fixed #head-order {padding-top: 5px; padding-bottom: 5px;}*/
  
#head-order i {color: var(--site-color-3);}

#header-logo {max-width: 175px;}
#header-logo img {display: block; padding: 15px 0;}

  
#head-order #header-menu {display: none;}

#header-menu ul.menu {display: flex; justify-content: space-between;}
#header-menu ul.menu li {
    list-style: none;
    white-space: nowrap;
    max-width: 100%;
    position: relative;
}
#header-menu ul.menu > li > a {padding: 20px; display: block; text-decoration: none; color: #fff; width: 100%;}
#header-menu ul.menu li a[href]:hover {color: #d9dada;}
#header-menu ul.menu li a:hover {background: var(--site-color-1);}
#header-menu i {margin-right: 0;}

#header-menu ul.sub-menu {
	position: absolute; 
	min-width: 50%;
	background: var(--site-color-1);
	/* background: linear-gradient(45deg, var(--site-color-2), var(--site-color-3)); */
	background: linear-gradient(45deg, var(--site-color-1), #0b3971);
	visibility: hidden; 
	opacity: 0; 
	-o-transition: all 0.3s; 
	transition: all 0.3s ease; 
	-webkit-transition: all 0.3s ease 0s;
}

/* #header-menu ul.sub-menu li {
    border-bottom: 1px solid rgb(0 128 183);
    border-top: 1px solid rgb(8 168 234);
}

#header-menu ul.sub-menu li:first-child {
    border-top: none;
}

#header-menu ul.sub-menu li:last-child {
    border-bottom: none;
} */

#header-menu ul.sub-menu li > a {padding: 20px; display: block; text-decoration: none; color: #fff;}

#header-menu .sub-menu .sub-menu li {white-space: normal;}

@media (min-width: 768px) { #header-menu ul.menu li:hover > ul.sub-menu {visibility: visible; opacity: 1;} }


#header-menu ul > li.menu-item-has-children > a:after {
    content: "\eb60";
    font-family: 'icomoon';
    font-size: 0.6rem;
    margin-left: 10px;
	color: var(--site-color-3);
}

#header-menu ul.sub-menu .sub-menu {
    left: 100%;
    top: 0;
	background: var(--site-color-1);
    background: linear-gradient(45deg, var(--site-color-2), var(--site-color-3));
	background: linear-gradient(45deg, var(--site-color-1), #0b3971);
}

#header-menu ul.sub-menu li.menu-item-has-children > a:after {
	content: "\ec1b";
	color: #fff;
}


#mobile-menu-button, #mobile-search-button {display: none;}
	
#mobile-menu-button i, #mobile-search-button i {
    padding: 12px;
    cursor: pointer;
    border: 1px solid #eee;
    border-radius: 7px;
    font-size: 1.2rem;
    margin: 0px;
	display: inline-block;
}



.searchform {position: relative;}

.searchform input {
    width: 100%;
    height: 44px;
    padding: 0 20px;
    font-size: 1rem;
    border-radius: 5px;
    position: relative;
    z-index: 75;
    border: 1px solid #eee;
    background: #fff;
}

.searchform input:focus {background: #fff;}

.searchform button {
    height: 100%;
    width: 80px;
    right: 0;
    border: none;
    background: none !important;
    position: absolute;
    z-index: 76;
    cursor: pointer;
}

.searchform button i {
	/* color: #ccc !important; */
	margin: 0;
	transition: color .3s ease;
    -o-transition: color 0.3s;
	-webkit-transition: color 0.3s ease 0s;
}

.searchform button i:hover {color: #000 !important;}
.searchform > *:focus {outline: none;}

.searchform input::-webkit-input-placeholder, .searchform input::-moz-placeholder, .searchform input:-ms-input-placeholder
{color: #ccc;}

	
#header-contact {text-align: center;}  
#header-contact .phone {font-weight: 600; font-size: 1.3rem; white-space: nowrap;}
#header-contact .mail {color: #aaa;}


#header-lk {text-align: center; flex: 0 0 0%;}

#header-lk span {
    color: var(--site-color-1);
    margin-bottom: 5px;
    display: block;
    font-weight: 400;
}

#header-lk .btn {
    background: var(--site-color-1);
    background: linear-gradient(45deg, var(--site-color-1), var(--site-color-4));
    color: #fff;
    border-radius: 5px;
    height: 44px;
    display: flex;
    width: 200px;
    align-items: center;
    justify-content: center;
	text-transform: uppercase;
    font-weight: 600;
}

#header-lk .btn:hover {
    color: #fff;
	text-decoration: none;
}


#pod-header {
	position: sticky;
    top: 0;
    z-index: 9;
	background: var(--site-color-1);
    /* background: linear-gradient(45deg, var(--site-color-1), var(--site-color-2)); */
}

.hide {display: none;}

@media (max-width: 1280px) {  }

@media (max-width: 1200px) {  
	#header-menu {text-align: center;} 
	#mobile-menu-button, #mobile-search-button {display: block;}
	#header-menu ul.menu {/*padding: 0 30px;*/ justify-content: center;}
	#header-menu ul.menu li a {padding: 15px 30px; font-size: 0.9rem;}
	#header-menu ul.menu ul.sub-menu li {
		width: 275px;
		white-space: normal;
		text-align: left;
	}
	#header-menu ul.menu ul.sub-menu li a {padding-right: 30px;}
	#header-menu ul.sub-menu li.menu-item-has-children > a:after {
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -5px;
	}
	.menu-item-52 ul.sub-menu {right: 0;}

	.searchform {
		display: none; 
		position: absolute; 
		width: 100%; 
		background: var(--site-color-1); 
		background: linear-gradient(45deg, var(--site-color-1), var(--site-color-4)); 
		left: 0; 
		top: 100%;
	}
	
	#header-search {text-align: center;}
	.searchform {padding: 15px 30px;}
	.searchform button {top: 0; right: 50px;}
	
	#header-contact .phone {font-size: 1.1rem;}
}

@media (max-width: 768px) {
	#mobile-head {display: block; z-index: 100;}
	
	body > header {
		position: fixed;
		top: 0;
		z-index: 99;
		background: #fff;
		width: 80%;
		height: 100%;
		padding: 110px 0 30px;
		border-right: 1px solid #eee;
		left: -100%;
		transition: all 0.3s ease;
		-o-transition: all 0.3s;
		-webkit-transition: all 0.3s ease 0s;
	}

	body > header .container {
		max-width: 100%;
		padding: 0;
	}
	
	[menu=open] body > header {left: 0;} 
	
	#head-order {flex-direction: column;}
	#head-order > * {text-align: center; margin-bottom: 30px;}
	#header-logo {margin: 0 auto 30px; display: none;}
	#mobile-menu-button, #mobile-search-button {display: none;}
	#head-order #header-menu {display: block;}
	#header-menu {margin-bottom: 15px;}

	#header-menu ul > li.menu-item-has-children > a:after {display: none;}
	#header-menu > div {background: linear-gradient(45deg, var(--site-color-1), var(--site-color-4)); }

	#header-menu ul.menu li .more {
		position: absolute;
		right: 0;
		top: 0;
		width: 50px;
		height: 47px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	#header-menu ul.menu li .more:before {
		content: "\eb60";
		font-family: 'icomoon';
		font-size: 0.6rem;
		margin-left: 10px;
		color: var(--site-color-3);
		transition: all 0.3s ease;
		-o-transition: all 0.3s;
		-webkit-transition: all 0.3s ease 0s;
	}	

	#header-menu ul.menu li.active > .more:before {
		transform: rotate(180deg)
	}


	#header-menu ul.sub-menu {
		position: relative;
		visibility: visible;
		opacity: 1;
		display: none;
	}
	#header-menu ul.menu ul.sub-menu li {width: 100%; text-align: center;}
	#header-menu ul.menu ul.sub-menu li a {padding-right: 30px;}

	#header-menu ul.sub-menu .sub-menu {left: 0;}


	#header-search .searchform {display: block; position: relative; background: none;}

	#header-menu ul.menu {flex-wrap: wrap; margin-bottom: 15px;}
	#header-menu ul.menu > li {
		width: 100%;
		border-top: 1px solid #064b81;
		border-bottom: 1px solid #0a3d75;
	}
	#header-menu ul.menu > li > a {padding: 15px 30px;}
	#header-search {padding: 0 50px;}
	#header-search .searchform {padding: 0;}
	.searchform button {right: 0;}

	#pod-header {display: none;}

	#header-lk .btn {margin: 0 auto;}
}

@media (max-width: 576px) {
	body > header {width: 100%;}
}

@media (max-width: 420px) {
	#header-search {padding: 0 30px;}
}