/*
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
*/


@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: local('PT Sans Italic'), local('PTSans-Italic'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansItalicCyr.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: local('PT Sans Italic'), local('PTSans-Italic'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansItalicLat.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}


@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: local('PT Sans Bold Italic'), local('PTSans-BoldItalic'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansBoldItalicCyr.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: local('PT Sans Bold Italic'), local('PTSans-BoldItalic'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansBoldItalicLat.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}


@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local('PT Sans'), local('PTSans-Regular'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansRegularCyr.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local('PT Sans'), local('PTSans-Regular'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansRegularLat.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}


@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: local('PT Sans Bold'), local('PTSans-Bold'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansBoldCyr.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: local('PT Sans Bold'), local('PTSans-Bold'), url(/wp-content/themes/meisterwerk-2/fonts/PTSans/PTSansBoldLat.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}



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

*, ::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;
	z-index: -200;
	font-family: 'PT Sans', sans-serif;  
	font-size: 16px;
	color: #333;
	position: relative;
	
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

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

i {margin-right: 7px;}

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

a:hover {/*color: #50AAFF;*/ /*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;
	-moz-backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

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 {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: 'PT Sans', 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;}

strike {color: #aaa;}

@media screen and (min-device-width: 2000px) { html, body {font-size: 22px;} }
@media screen and (max-device-width: 480px) { body {background: #fff;} h2 {font-size: 1.2rem;} }

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

.box {display: -webkit-flex; display: flex; position: relative; margin-left: -15px; margin-right: -15px;}

.box > * {padding-right: 15px; padding-left: 15px; order: 10;}
	
.block-1  {width: 8.33%;}
.block-2  {width: 16.66%;}
.block-3  {width: 25%;}
.block-4  {width: 33.33%;}
.block-5  {width: 41.66%;}
.block-6  {width: 50%;}
.block-7  {width: 58.33%;}
.block-8  {width: 66.66%;}
.block-9  {width: 75%;}
.block-10 {width: 83.33%;}
.block-11 {width: 91.66%;}
.block-12 {width: 100%;}

@media screen and (max-device-width: 800px) { .box {justify-content: space-between;} }

@media screen and (max-device-width: 480px) { 
	.box {-webkit-flex-wrap: wrap; flex-wrap: wrap; margin-left: -10px; margin-right: -10px;} 
	.box > * {padding-right: 10px; padding-left: 10px;}
}

@media screen and (max-device-width: 320px) { 
	.box {margin-left: -5px; margin-right: -5px;} 
	.box > * {padding-right: 5px; padding-left: 5px;}
}
	

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

body > header {position: relative; z-index: 9999;}
body > header .box {align-items: center;}
	
body > header.fixed {position: fixed; top: 0; left: 0; right: 0;}
body.compensate-for-scrollbar > header.fixed, body.windows-active > header.fixed {right: 17px;}	

#top-pannel {position: relative; z-index: 99;}
#top-pannel .menu > li > a {color: #111;}
#top-pannel .menu > li > a:hover {color: #569f2c;}

#pod-header {background: #569f2c; /*padding: 7px 0 9px 0;*/}
#pod-header.fixed {position: fixed; top: 0; left: 0; right: 0; z-index: 99; box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.15);}

#pod-header .menu > li > a {color: #fff;}

#head-order {padding: 10px 0; background: #fff; color: #000; box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);}

#head-order a {color: #333;}
#head-order a[href]:hover {color: #569f2c;}	

/*.fixed #head-order {padding-top: 5px; padding-bottom: 5px;}*/
  
#head-order i {color: #569f2c; margin-right:10px;}

#header-logo {display: flex; align-items: center;}
#header-logo img {display: block; max-width: 140px; margin-right: 40px;}

#head-description {font-size: 0.9rem; font-style: italic; color: #555;}


#mobile-menu-button, #mobile-search-button {display: none; width: 10%; text-align: center;}
#mobile-menu-button i, #mobile-search-button i {margin: 0; font-size: 1.3rem;}

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

#searchform {position: relative;}

#header-search #s {
    width: 100%;
    padding: 5px 8px 5px 16px;
    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 {
    top: 6px;
    right: 0;
    width: 100px;
    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;}



#address {display: flex; align-items: center; justify-content: center;}
#address i {font-size: 1.3rem;}

	
#header-contact {text-align: right;}  
#header-contact .phone {font-weight: 600; font-size: 1.3rem; white-space: nowrap;}
#header-contact .phone.second i {display: none;}

.site-menu .menu {display: flex; justify-content: space-between; position: relative; flex-wrap: wrap; /*margin: 0 -20px;*/}

.site-menu ul.menu > li {list-style: none; padding: 10px 15px; position: relative;}
/*.site-menu ul ul li:hover,*/ #pod-header .menu > li:hover {background: #3c7918;}
.site-menu ul li a {list-style: none;}

.menu i {color: #FFC107; margin-right: 7px;}
	
.site-menu .menu > li > ul.sub-menu {
    position: absolute;
	z-index: 9;
    background: #eee;
    top: 100%;
    min-width: 100%;
	white-space: nowrap;
    left: 0;
	padding: 15px;
	visibility: hidden;
    opacity: 0;
	-o-transition: all 0.3s;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease 0s;
}	

.site-menu .menu > li:last-child > ul.sub-menu {left: unset; right: 0;}

.site-menu .menu > li.menu-item-has-children:after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: #8bc34a;
    display: inline-block;
    margin-left: 7px;
}

.site-menu .menu > li:hover > ul.sub-menu {visibility: visible; opacity: 1;}

.site-menu ul.sub-menu li {list-style: none;}
.site-menu ul.sub-menu li a {display: block; color: #333; transition: none; -o-transition: none; -webkit-transition: none;}
.site-menu ul.sub-menu > li:hover > a, .site-menu ul.sub-menu ul li:hover a {color: #569f2c;}

.site-menu ul.sub-menu .menu-item-has-children {margin-bottom: 15px;}
.site-menu ul.sub-menu .menu-item-has-children:last-child {margin-bottom: 0;}
.site-menu ul.sub-menu .menu-item-has-children > a {font-weight: 600;}

/*.menu > li > .sub-menu > li {text-align: center;}*/
/*ul.sub-menu .sub-menu {display: flex; flex-wrap: wrap;}
ul.sub-menu .sub-menu > * {width: 25%;}*/




@media screen and (max-device-width: 1440px) {
	#header-logo {width: 38.33%;}
	#header-search {width: 25%;}
	.site-menu .menu {margin: 0 -10px;}
	.site-menu ul.menu > li {padding: 10px;}
	#header-contact {width: 20%;}
}

@media screen and (max-device-width: 1280px) { 
	#header-logo {width: 15%;}
	#head-description {display: none;}
	#header-search {width: 40%;}
	#address {width: 20%;}
	#header-contact {width: 25%;}
	.site-menu ul li .tab {display: none;}
}

@media screen and (max-device-width: 1080px) {
	#header-logo img {max-width: 100%;}
	.site-menu .menu {flex-wrap: wrap; margin: 0;}
	.site-menu ul.menu > li {width: 20%; text-align: center;}
	ul.sub-menu li a {text-align: left; padding: 0 20px;}
}

@media screen and (max-device-width: 1024px) { 
	#pod-header.fixed {position: relative;}
	/*body > header {position: fixed; top: 0; left: 0; right: 0;}*/
	#top-pannel {display: none;}
	#header-logo {width: 20%;}
	#address {display: none;}
	#header-contact {width: 35%;}
	#top-pannel {display: none; background: #fff; border-bottom: 1px solid #eee;}
	#pod-header {display: none;}
	#mobile-menu-button {display: block;}	
	/*ul.sub-menu .sub-menu {display: none;}*/
	#pod-header .menu > li {width: 33.33%;}
}

@media screen and (max-device-width: 800px) { 
	#pod-header .menu > li {width: 50%; padding: 10px 5px;}
}

@media screen and (max-device-width: 480px) {
	body > header {display: flex; flex-wrap: wrap;}
	body > header > * {order: 10;}
	#head-order {order: 9; padding: 7px 0;}
	#header-logo {width: 30%;} 
	#mobile-search-button {display: block;}
	#header-search {
		display: none;
		width: 100%;
		position: absolute;
		top: calc(100% + 7px);
		background: #569f2c;
		left: 0;
		padding: 15px;
		z-index: 99;
	}
	#header-contact {width: 45%;}  
	#header-contact .phone {font-size: 1rem;}
	#header-contact .phone.first {display: none;}
	#top-pannel {border-top: 1px solid #eee;}
	.site-menu ul.menu > li {width: 50%; text-align: left; padding: 10px 0;}
	.site-menu ul.sub-menu {width: 200px;}	
	#pod-header .menu li {text-align: center; width: 100%;}
	.site-menu ul li {position: relative;}
	ul.sub-menu .sub-menu {display: none;}
}

@media screen and (max-device-width: 380px) {
	#header-logo {width: 35%;}
	#mobile-menu-button, #mobile-search-button {width: 20%;}
	#mobile-menu-button i, #mobile-search-button i, #header-contact .phone.second i {
		padding: 10px;
		border: 1px solid #cdeaaa;
		border-radius: 5px;
	}
	#header-contact {width: 20%;}
	#header-contact .phone.second i {display: inline-block; margin-right: 0; font-size: 1.3rem;}
	#header-contact .phone.second span {display: none;}
	.site-menu ul.menu > li {width: 100%; text-align: center;}
	#top-pannel ul.menu > li {border-bottom: 1px solid #eee;}
	#top-pannel ul.menu > li:last-child {bottom: none;}
	#pod-header ul.menu > li {border-bottom: 1px solid #61af35;}
}

@media screen and (max-device-width: 330px) {
	#header-logo {width: 40%;}
}


/* Контентная часть */

main {position: relative; flex: 1;} 

.wrapper {max-width: 90%; margin-left: auto; margin-right: auto; position: relative;}

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

@media screen and (max-device-width: 1350px) { .wrapper {max-width: none; width: 100%; padding: 0 30px;} }
@media screen and (max-device-width: 1024px) { .wrapper {padding: 0 15px;} }
@media screen and (max-device-width:  480px) { #path {display: none;} }	
	
	
#index-slider {position: relative;}	
	
.owl-nav {
    position: absolute;
    bottom: 30px;
    right: 30px;
    font-size: 1rem;
}
	
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
    margin: 0 10px;
    padding: 15px !important;
    background: rgba(51, 51, 51, 0.7);
    color: #fff;
}	
	
.owl-nav i {
    margin: 0;
    width: 50px;
    line-height: 50px;
    background: rgb(255 255 255 / 0.7);
    border-radius: 3px;
    font-size: 1.4rem;
}

@media screen and (max-device-width:  800px) { 
	#index-slider {height: 350px;}
	.owl-carousel .owl-stage-outer, .owl-carousel .owl-stage, .owl-carousel .owl-item, .owl-carousel .owl-item .item {height: 100%;}
	#index-slider img {height: 100%; object-fit: cover;}
	.owl-nav i {width: 30px; line-height: 30px; font-size: 1rem;}
}

@media screen and (max-device-width:  480px) { #index-slider {height: 200px;} .owl-nav {bottom: 10px; right: 10px;} }
@media screen and (max-device-width:  330px) { #index-slider {height: 150px;} }