/*
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');


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

*, ::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: 'Montserrat', sans-serif;
	font-size: 16px;
	/*background: #eee;*/
	color: #222;
	position: relative;
	height: auto !important;
	/*min-height: 100vh !important;	*/
	/*display: flex;*/
	/*flex-direction: column;*/
}

body:before {
    background: url("/wp-content/uploads/2022/11/trees_green_fog_forest-2.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: #4db051;
  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;
	-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: 'Roboto', 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: 480px) { body {background: #fff;} h2 {font-size: 1.2rem;} }

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

.box {display: -webkit-flex; display: flex; position: relative;}

.compensator {margin-left: -15px; margin-right: -15px;}

.box.predator {justify-content: space-between;}
.box.predator > * {padding: 0;}

.valign {align-items: center;}
.transfer {flex-wrap: wrap;}

.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 (max-width: 800px) { .box {justify-content: space-between;} }

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

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

body > header {position: relative; z-index: 999; /*position:-webkit-sticky; position:sticky; top:0;*/ margin-top: 15px;}
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;}	

.header-image {
    position: absolute;
    z-index: -1;
    height: 100%;
    right: 15px;
    left: 15px;
}

.header-image img {
    display: block;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#head-rsm-info {
    background: rgb(76 175 80 / 70%);
    padding: 75px 35px;
}

#head-rsm-info a, #head-rsm-info a:hover {
    color: #fff !important;
}

#header-logo a {
    white-space: nowrap;
    font-weight: 600;
    color: #fff;
    font-size: 2rem;
    text-decoration: none;
    text-shadow: 2px 2px 2px rgb(34 121 37 / 50%);
}

#header-contact {text-align: right;}  
#header-contact .phone {font-weight: 600; font-size: 1.5rem; white-space: nowrap; text-shadow: 2px 2px 2px rgb(34 121 37 / 50%);}
#header-contact .phone i {color: #ffeb3b;}


#head-order {padding: 0 35px; background: #fff; background: linear-gradient(45deg, #228326, #4caf50); color: #fff; /*box-shadow: 2px 2px 12px rgb(0 0 0 / 10%);*/}

#head-order a {color: #fff;}
#head-order a[href]:hover {color: #ffeb3b; text-decoration: none;}	

/*.fixed #head-order {padding-top: 5px; padding-bottom: 5px;}*/
  
#head-order i {color: #fff;}
  
#site-menu ul.menu {display: flex; /*justify-content: space-between;*/}
#site-menu ul.menu li {list-style: none; margin-right: 30px;}
#site-menu ul.menu > li > a {padding: 30px 0; display: block; text-decoration: none; white-space: nowrap;}
#site-menu i {margin-right: 0;}

#site-menu ul.sub-menu {
	position: absolute; 
	background: #3a943e; 
	visibility: hidden; 
	opacity: 0; 
	-o-transition: all 0.3s; 
	transition: all 0.3s ease; 
	-webkit-transition: all 0.3s ease 0s;
}

#site-menu ul.sub-menu li > a {padding: 15px; display: block; text-decoration: none;}
#site-menu ul.menu li:hover ul.sub-menu {visibility: visible; opacity: 1;}

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

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

#searchform #s:focus {background: #fff;}

#searchform .pic-sea {
    padding: 5px 10px 5px 0;
    right: 10%;
    border: none;
    background: none !important;
    position: absolute;
    color: #fff;
    z-index: 76;
    cursor: pointer;
}

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

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

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


#site-login {text-align: right;}
#site-login a {margin-left: 30px;}
#site-login p {display: inline-block; font-weight: 600;}


@media (max-width: 1281px) { 
	#head-order {padding: 0 15px;}
	#head-rsm-info {padding: 75px 15px;}
}

@media (max-width: 1025px) { 
	#header-logo a {font-size: 1.8rem;}
	#head-order {flex-wrap: wrap;}
	#head-order > * {width: 100%;}
	#site-login {order: 9;}
}

@media (max-width: 900px) { 
	#head-rsm-info {flex-wrap: wrap;} 
	#head-rsm-info > * {width: 100%;}
	#header-contact {text-align: left; margin-top: 15px;}
	#site-login {text-align: center; border-bottom: 1px solid #18711b;}
	#site-login a {margin-left: 0; padding: 15px; display: inline-block;}
	#site-menu ul.menu {justify-content: center;}
	#site-menu ul.menu li {margin: 0 15px;}
}

@media (max-width: 700px) { 
	#head-rsm-info {padding: 50px 15px;}
	#header-logo a {font-size: 1.5rem;}
	#header-contact .phone {font-size: 1.2rem;}
	
	#head-order {padding: 10px 0;}
	#site-menu {width: 20%; text-align: center;} 
	#mobile-menu-button, #mobile-search-button {display: block;}
	#site-menu > div, #searchform {display: none; position: absolute; width: 100%; background: #3a943e; left: 0; top: 100%;}
	#site-menu ul.menu {padding: 0 30px; justify-content: center; flex-wrap: wrap;}
	#site-menu ul.menu > li {width: 100%; margin: 0; border-bottom: 1px solid #28762c;}
	#site-menu ul.menu > li > a {padding: 20px;}
	#site-menu ul.sub-menu, #site-menu ul > li.menu-item-has-children > a:after {display: none !important;}
	
	#site-login {width: 80%; text-align: right; order: 10; border-bottom: none;}
	#site-login a {margin-left: 15px; padding: 0;}
		
	/*#searchform {padding: 15px 30px;}*/
	/*#header-contact {width: 37%;}*/
}

@media (max-width: 480px) {
	body:before {display: none;}
	body > header {margin-top: 10px;}
	
	.header-image {right: 10px; left: 10px; }
	#header-logo a {font-size: 1.3rem;}
	
	/*#header-search {width: 20%; text-align: center;}
	#searchform {padding: 15px;}
	#header-contact {width: 20%;}*/
	
	/*#header-contact .phone span {display: none;}
	#header-contact .phone i {
		padding: 12px;
		cursor: pointer;
		border: 1px solid #eee;
		border-radius: 7px;
		font-size: 1.2rem;
		margin: 0px;
		display: inline-block;
	}*/
}

@media (max-width: 420px) { 
	#header-logo a {font-size: 1.1rem;}
	#header-logo a {font-size: 1rem;}
}

@media (max-width: 380px) { 
	#head-rsm-info {padding: 30px 0; overflow: hidden;}
	#header-logo a {font-size: 1rem;}
}


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

main {position: relative; flex: 1; z-index: 99;} 

body:not(.page-template-page-blocks) .wrapper {max-width: 1440px; margin-left: auto; margin-right: auto; position: relative;}

#path {font-size: 0.9rem; margin-bottom: 10px;}
#path a {font-weight: 600; /*text-decoration: none;*/}
#path i {margin-right: 0;}

@media (max-width: 1440px) { body:not(.page-template-page-blocks) .wrapper {max-width: none; width: 100%; padding: 0 50px;} }
@media (max-width: 1280px) { body:not(.page-template-page-blocks) .wrapper {padding: 0 30px;} }
@media (max-width: 1024px) { body:not(.page-template-page-blocks) .wrapper {padding: 0 15px;} }
@media (max-width:  480px) { #path {display: none;} body:not(.page-template-page-blocks) .wrapper {padding: 0;} }	