/*
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: #4daf50;
  text-decoration: none; 
  transition: all 0.3s ease;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s ease 0s;
}

a:hover {color: #2d8e30;}

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;}
	
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;}

@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; flex-wrap: wrap;} }

@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;}	

#head-order {padding: 23px 0; margin-bottom: 30px; border-bottom: 3px solid #eee;}

body.home #head-order {margin-bottom: 0; border-bottom: 0;}

#head-order a {color: #333;}
  
#head-order i {color: #4daf50;}

#header-logo {font-size: 2.3rem; font-weight: 600;}
#header-logo img {display: block;}


#mobile-menu-button {display: none;}
	
#menu-icon {
    padding: 8px;
    cursor: pointer;
    position: absolute;
    top: 0px;
    right: 0px;
    background: #fff;
    font-size: 20px;
	z-index: 99;
}

#menu-icon i {margin: 0px; -o-transition: all 0.3s; transition: all 0.3s ease; -webkit-transition: all 0.3s ease 0s;}
#menu-icon.active i {transform: rotate(270deg);}	
  
#site-menu ul {padding: 0 45px 0 60px; display: flex; flex-wrap: wrap;}
#site-menu ul li {list-style: none; margin-right: 30px;}
#site-menu ul li:last-child {margin-right: 0;}
#site-menu ul li a {background: #4daf50; color: #fff; padding: 7px 25px; border-radius: 5px; display: block;}
#site-menu ul li a:hover {background: #2d8e30; color: #fff;}
	
#header-contact {text-align: right;}  
#header-contact .phone {font-weight: 600; font-size: 1.3rem; white-space: nowrap;}

#revers-phone a {
    cursor: pointer;
    background: #8BC34A;
    padding: 3px 10px;
    display: inline-block;
    border-radius: 3px;
    color: #fff !important;
    font-size: 0.7rem;
}

#revers-phone a:hover {background: #4CAF50;}

#header-contact .mail {font-size: 1rem;}

@media screen and (max-device-width: 1280px) { 
	#header-logo {min-width: 200px;} 
	#header-contact .phone {font-size: 1.2rem;}
}

@media screen and (max-device-width: 1024px) {
	body > header .box {flex-wrap: wrap; justify-content: center;}
	#site-menu {width: 100%; order: 99;}
	#site-menu ul {padding: 20px 0 0; justify-content: center;}
	#site-menu ul li {margin: 0 15px;}
}

@media screen and (max-device-width: 800px) {  
	body > header .box {justify-content: space-between;}
	#head-order {padding: 15px 0;}
	#header-logo {width: 45%;}
	#header-contact {width: 35%;}
	#site-menu {width: 20%; text-align: center;} 
	#mobile-menu-button {display: block;}
	#mobile-menu-button i {border: 1px solid #eee; padding: 15px; border-radius: 5px; font-size: 1.8rem;}
	#site-menu > div {display: none; position: absolute; width: 100%; background: #eee; left: 0; top: calc(100% + 10px); z-index: 99;}
	#site-menu .menu {padding: 20px 20px 5px 20px; width: 100%; text-align: center;}
	#site-menu .active i {transform: rotate(90deg);}  
	#site-menu ul li {margin-bottom: 15px;}
}

@media screen and (max-device-width: 480px) {
	#head-order {padding: 10px 0; margin-bottom: 20px;}
	#header-logo {width: 60%; min-width: 0;}  
	#site-menu ul li {width: 100%; margin-right: 0; margin-bottom: 15px;}
	#header-contact {width: 20%;}  
	#header-contact .phone span {display: none;}
	#head-order i, #mobile-menu-button i {border: 1px solid #eee; padding: 15px; border-radius: 5px; font-size: 1.6rem;}
	.YMaps {height: 400px !important;}
}

@media screen and (max-device-width: 375px) {
	#head-order i, #mobile-menu-button i {padding: 10px; font-size: 1.4rem;}
	.YMaps {height: 350px !important;}
}

@media screen and (max-device-width: 320px) {
	.YMaps {height: 300px !important;}
}


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

main {position: relative; flex: 1;} 

.wrapper {max-width: 1400px; margin-left: auto;	margin-right: auto; position: relative;}

@media screen and (min-device-width: 2000px) { .wrapper {max-width: 90%; padding: 0 5%;} }
@media screen and (max-device-width: 1280px) { .wrapper {max-width: none; width: 100%; padding: 0 15px;} }
@media screen and (max-device-width:  330px) { .wrapper {padding: 0 10px;} }	
	
	
#index-slider {position: relative; margin-bottom: 30px;}	
	
.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;}

.main-block {
    height: 600px;
    background: url(/wp-content/uploads/2023/11/main-slide-3.jpg);
	background-size: cover;
	background-position: center;
    margin-bottom: 30px;
    display: flex;
}

.main-block > img {display: none;}

.main-block .box {width: 100%;}

#main-block-buttons {
    display: flex;
    align-items: center;
	min-width: 300px;
}

#main-block-buttons > div {
    background: rgb(255 255 255 / 25%);
    padding: 30px;
    border-radius: 5px;
}

#main-block-buttons > div > *:last-child {margin-bottom: 0;}

#main-block-buttons .banner {margin-bottom: 20px;}
#main-block-buttons .banner a {padding: 15px; color: #333;}

@media screen and (max-device-width: 1440px) { .main-block {height: 500px;} }

@media screen and (max-device-width: 1024px) { 
	.main-block {height: 400px;}
	#main-block-buttons > div {padding: 30px 15px;}
}


@media screen and (max-device-width: 480px) { 
	.main-block {height: auto; background: none; display: block; margin-bottom: 15px;}
	.main-block > img {display: block;}
	#main-block-buttons {width: 100%;}
	#main-block-buttons > div {width: 100%; padding: 30px;}
}	


@media screen and (max-device-width: 330px) { #main-block-buttons > div {padding: 30px 15px;} }