/*
Theme Name: Meisterwerk 2.0
Description: Wordpress Theme
Author: Alexandr
Author URI: https://opttour.ru/author/maker1447/
Version: 2.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
*/

:root {
	--color-1: #2196F3;
	--color-2: #15377f;
	--color-3: #155ca7;
	--color-line: #f7f7f7;
}

@font-face {
    font-family: PlayRegular;
	font-display: swap;
    src: url("/wp-content/themes/primet-2015/fonts/PlayRegular.eot");
    src: url("/wp-content/themes/primet-2015/fonts/PlayRegular.eot?#iefix")format("embedded-opentype"),
    url("/wp-content/themes/primet-2015/fonts/PlayRegular.woff") format("woff"),
    url("/wp-content/themes/primet-2015/fonts/PlayRegular.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: PlayBold;
	font-display: swap;
    src: url("/wp-content/themes/primet-2015/fonts/PlayBold.eot");
    src: url("/wp-content/themes/primet-2015/fonts/PlayBold.eot?#iefix")format("embedded-opentype"),
    url("/wp-content/themes/primet-2015/fonts/PlayBold.woff") format("woff"),
    url("/wp-content/themes/primet-2015/fonts/PlayBold.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}	


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

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

html, body { 
	font-family: PlayRegular;
	font-size: 16px;
	color: #333;

    /* тест более глобального применения отступов. У .row пока отключены */
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 1.5rem;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
	
/*body:before {
    background: url("/wp-content/uploads/2020/11/white-cristmas-bg.jpg") no-repeat center center;
    background-size: cover;
    content: ' ';
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    will-change: transform;
    z-index: -999999;
}*/

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

i {margin-right: 7px;}

a {
  color: #0070ca;
  text-decoration: none; 
  transition: all 0.3s ease;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s ease 0s;
}

a:hover {color: #50AAFF;}

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: 15px; overflow: hidden; position: relative;}

table {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: PlayRegular;}

*: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 screen and (min-device-width: 2000px) { html, body {font-size: 22px;} }*/
@media (max-width: 480px) { 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: 1360px;} }	

.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); */
	row-gap: var(--bs-gutter-y);
	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%;} 
	
}



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



#mobile-head {
    display: none;
    position: sticky;
    z-index: 999;
    top: 0;
	background: #fff;
    border-bottom: 1px solid #eee;
}

.mobile-head {
    height: 60px;
}

.mobile-head > * {
    display: flex;
    align-items: center;
    height: 100%;
}

#mobile-head-button {
    justify-content: flex-end;
}

#mobile-head-logo a {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 10px 0;
}

#mobile-head-logo img {
    display: block;
    /* max-width: 200px; */
    width: auto;
    max-height: 100%;
}

.mobile-head #mobile-head-button:before {
    content: "\e968";
    font-family: "icomoon";
    /* background: #007c88; */
    color: var(--color-1);
    border: 1px solid #eee;
    font-size: 1.2rem;
    min-width: 45px;
    line-height: 45px;
    text-align: center;
}

[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: 9999; padding: 15px 0;}
body > header .box {align-items: center; justify-content: space-between; flex-wrap: wrap;}


body > header a {color: #000;}
body > header a[href]:hover {color: #2096f3;}	
  
body > header i {color: #111;}

#header-logo {font-size: 2.3rem; font-weight: 600; flex: 0 0 200px;}
#header-logo img {display: block;}
#header-logo a img:hover {-webkit-filter: brightness(110%);}


#header-translate {flex: 0 0 40px;}

#glinks {font-size: 1.1rem; font-weight: 600; text-align: center;}	

#glinks > * {
    background: #396ae0;
    color: #fff !important;
    width: 40px;
    display: block;
    line-height: 40px;
    border-radius: 40px;
    font-size: 0.9rem;
    margin: 0 auto;
}

#glinks a.lang-activ {display: none;}	





/* ---------- Поиск ---------- */

#searchform {position: relative;}

#header-search #s {
    width: 100%;
    padding: 0 25px;
    line-height: 40px;
    font-size: 1rem;
    border-radius: 50px;
    position: relative;
    z-index: 75;
    border: 1px solid #ccc;
    background: rgba(255, 255, 255, 0.5);
}

#header-search #s:focus {background: #fff;}

#header-search .pic-sea {
    right: 30px;
    line-height: 42px;
    border: none;
    background: none !important;
    position: absolute;
    color: #fff;
    z-index: 76;
    cursor: pointer;
}

#header-search .pic-sea i {
	color: #ccc !important;
	margin: 0;
	transition: color .3s ease;
    -o-transition: color 0.3s;
	-webkit-transition: color 0.3s ease 0s;
}

#header-search .pic-sea i:hover {color: #000 !important;}
#header-search .pic-sea:focus, #s:focus {outline: none;}

#header-search #s::-webkit-input-placeholder {color: #ccc;}
#header-search #s::-moz-placeholder          {color: #ccc;}
#header-search #s:-ms-input-placeholder      {color: #ccc;}





#menu-main-menu li a {text-align: center; display: block; color: #333;}	
	
ul.menu {display: flex; justify-content: space-between;}	
ul.menu li {list-style: none; width: 100%; position: relative;}
#navigate .menu > li > a {
    line-height: 50px;
    background: #2196F3;
    background: linear-gradient(to top, #0070ca, #2196F3);
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
	white-space: nowrap;
}	
#navigate .menu > li > a:hover {background: #0070ca; background: linear-gradient(to top, #00589e, #0070ca);}	
	
#navigate .menu > li.menu-item-has-children > a:after {
    content: "\ec19";
    font-family: 'icomoon';
    font-size: 0.7rem;
    margin-left: 10px;
	color: #ccc;
}	
	
	
ul.sub-menu {
    position: absolute;
    top: 100%;
    min-width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: 99;
    background: rgba(245, 245, 245, 0.95);
    cursor: auto;
    text-align: left;
    padding: 15px 30px;
    margin-top: 15px;
    -o-transition: all .3s;
    transition: all .3s ease;
    -webkit-transition: all .3s ease 0s;
}
	
ul.menu li:hover > ul {visibility: visible; opacity: 1; margin-top: 0;} 	
ul.menu ul.sub-menu li {padding-bottom: 15px; white-space: nowrap;}
ul.menu ul.sub-menu li:last-child {padding-bottom: 0;}
ul.menu li:hover > ul li a {color: #333;}
ul.menu li:hover > ul li a:hover {color: #234db1;}		
	

body > header .menu-navigate-container {display: none;}

span.dl-forward {
    font-size: 0.8rem;
    background: #396ae0;
    text-align: center;
    width: 25px;
    line-height: 25px;
    display: inline-block;
    border-radius: 5px;
    margin-left: 12px;
}

span.dl-forward i {
    margin: 0;
    color: #fff;
}

span.dl-forward.active {transform: rotate(180deg);}

#menu-navigate ul.sub-menu {
    position: relative;
    top: unset;
    background: none;
    visibility: visible;
    opacity: 1;
    margin-top: 0;
    text-align: center;
    display: none;
    -o-transition: unset;
    transition: unset;
    -webkit-transition: unset;
}

#menu-navigate {flex-wrap: wrap; font-size: 1.2rem;}

#menu-navigate li {
    width: 100%;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#menu-navigate li a {padding: 12px 15px;}

#menu-navigate ul.sub-menu {padding: 0;}

#menu-navigate > li:not(:last-child) {border-bottom: 1px solid #eee;}
#menu-navigate ul.sub-menu > li {border-top: 1px solid #eee;}









#header-contact {text-align: right; flex: 0 0 540px;}  
#header-contact .phone {font-weight: 600; font-size: 1.2rem; white-space: nowrap;}

.department {display: flex; align-items: center; margin-bottom: 5px; justify-content: flex-end;}
.department > * {order: 10;}	
.department .name {font-size: 0.8rem; color: #234db1; margin-right: 15px;}
.department:last-child {margin-bottom: 0;}	
	
#navigate {background: #2196F3; background: linear-gradient(to top, #0070ca, #2196F3);}	
	
#pod-header {position: sticky; z-index: 9; width: 100%; top: 0;}
/* body.compensate-for-scrollbar > #pod-header.fixed, body.windows-active > #pod-header.fixed {right: 17px;}*/

/* @media (max-width: 1280px) { #header-logo {min-width: 200px;} } */



/* Хлебные крошки */

#path {font-size: 12px; text-decoration: none; margin-bottom: 15px;}
#path a {font-weight: 600; text-decoration: none;}
#path i {margin-right: 0px;}









@media (max-width: 1400px) { 
    #header-contact {flex: 0 0 480px;}
    #header-contact .phone {font-size: 1.1rem;}
    .department .name {font-size: 0.7rem; margin-right: 10px;}
}

@media (max-width: 1200px) { 
    #header-contact {flex: 0 0 280px;}
    .desctop {display: none;}
}

@media (max-width: 992px) {
	#mobile-head {display: block;}
	
	body > header {
		position: fixed;
		top: 60px;
		z-index: 99;
		background: #fff;
		width: 70%;
        max-width: 70% !important;
		height: calc(100% - 60px);
		display: flex;
		align-items: center;
		padding: 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;
        overflow-y: scroll;
	}
	
	[menu=open] body > header {left: 0;} 
	
	body > header > .row {flex-direction: column; gap: 40px;}
	body > header > .row > * {text-align: center; flex: 0 0 0% !important;}
	header #header-logo {display: none;}
	#mobile-menu-button, #mobile-search-button {display: none;}
	#header-menu {order: 11; margin-bottom: 15px;}
	/* #header-menu > div, #header-search .searchform {display: block; position: relative; background: none;} */

	#header-search {order: 11;}
	#header-search .searchform {padding: 0;}

    #header-contact {order: 11;}
    .department {justify-content: center;}
    .department .name {font-size: 0.8rem; margin-right: 15px;}
    #header-contact .phone {font-size: 1.2rem;}

    body > header .menu-navigate-container {display: block;}
    #pod-header {display: none;}
}


@media (max-width: 576px) { 
    #path {display: none;} 
    body > header {width: 100%; max-width: 100% !important;}
}

@media (max-width: 480px) { 
    body > header > .row {gap: 30px;}
    #menu-navigate {font-size: 1.1rem;}
    #menu-navigate li a {padding: 10px;}
    #header-contact .phone {font-size: 1.1rem;}
}

@media (max-width: 380px) { 
    .mobile-head {height: 50px;} 
    body > header {height: calc(100% - 50px); top: 50px;}
    .mobile-head #mobile-head-button:before {min-width: 37px; line-height: 37px;}
}