/*
Theme Name: Meinland-2  
Description: Wordpress Theme
Author: Alexandr
Author URI: http://www.opttour.ru
Version: 2.00
Tags: two-columns, custom-background, custom-colors, featured-images, theme-options
Text Domain: https://opttour.ru
License: Premium
License URI: https://opttour.ru/instruktsiya-po-saytu/
*/


@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 {
	--color-main: #007940;
	--color-main-2: #11963e;
	--color-main-3: #5db22d;
	--color-main-4: #7eb823;
	--color-second: #727271;
	--color-second-2: #3e3e3e;
	--color-lines: #f7f7f7;
}


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

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

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

@media (max-width: 380px) { 
	html {--bs-gutter-x: 1.3rem;}
}

html, body { 
	/*background-size: cover;
	background-repeat: no-repeat;*/
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	background: #fff;
	color: #222;
	position: relative;
    z-index: 1;
	/*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(--color-main);
	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;}

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: 'Montserrat', 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: 10px 20px; max-width: 100%; border: 1px solid #eee; font-size: 1rem;}

@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;} }	
@media (min-width: 1680px) { .container {max-width: 1640px;} }

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

/* ---------- Header ---------- */

body > header {/*position: absolute;*/ width: 100%; z-index: 9;}
body > header.fixed {position: fixed; background: #fff; border-bottom: 1px solid var(--color-lines);}

#header {padding: 15px 0; /*color: #fff;*/ -o-transition: all 0.3s; transition: all 0.3s ease; -webkit-transition: all 0.3s ease 0s;}

body > header.fixed #header, body > header.fixed #header a {color: #000;}

#header.topWindow {position: fixed; width: 100%; background: rgba(255, 255, 255, 0.9); color: #000; padding: 7px 0; top: 0; -o-transition: all 0.3s; transition: all 0.3s ease; -webkit-transition: all 0.3s ease 0s;}

#header a {color: initial;}
#header.topWindow a {color: #000;}
  
#header i { color: var(--color-main); }


#header-corp {display: -webkit-flex; display: flex; align-items: center; flex: 0 0 200px;}

#logo {position: relative; z-index: 99; text-align: left;}

#logo a {display: flex; /*height: 55px; width: 100%;*/}

#logo .dark {display: none;}
body > header.fixed #logo .light {display: none;}
body > header.fixed #logo .dark {display: block;}

#header-contact {
    padding-left: 50px;
}

  
/* #header-contact {text-align: right; margin-top: 12px; flex: 0 0 0%;}  */

#phone-address {
    margin-bottom: 30px;
}

#phone {
    display: flex;
    font-weight: 700;
    font-size: 1.4rem;
    white-space: nowrap;
    align-items: center;
	flex: 0 0 300px;
}

#phone img {
    width: 21px;
    margin-left: 15px;
	display: block;
}

#address {
    text-align: center;
}


#version-visually {
    display: flex;
    flex: 0 0 310px;
    justify-content: flex-end;
    white-space: nowrap;
}

#version-visually a {
    display: flex;
}

#version-visually img {
    width: 21px;
    margin-right: 10px;
}




ul.menu {display: flex; /*justify-content: space-between;*/}
ul.menu li {
    list-style: none;
    margin-right: 30px;
    font-weight: 500;
    font-size: 1.1rem;
    text-transform: uppercase;
	white-space: nowrap;
}
ul.menu > li > a {/*padding: 30px 15px;*/ display: block; text-decoration: none;}


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


#head-order {
    flex: 0 0 0%;
}

#head-order a {
    color: #fff;
}

@media (max-width: 1680px) { 
	ul.menu li {margin-right: 25px; font-size: 1rem;}
}

@media (max-width: 1400px) { 
	#header-corp {flex: 0 0 180px;}
	ul.menu li {margin-right: 20px; font-size: 0.9rem;}
	#header-contact {padding-left: 30px;}
	#phone {font-size: 1.3rem; flex: 0 0 280px;}
	#address {font-size: 0.9rem;}
	#version-visually {flex: 0 0 290px; font-size: 0.9rem;}

	#head-order .buttons .btn > * {padding: 10px 20px; font-size: 1rem;}
}

@media (max-width: 1200px) { 
	#header-corp {flex: 0 0 170px;}
	#header-contact {padding-left: 50px;}
	#phone-address {justify-content: space-between;}
	#address {display: none;}
	ul.menu li {font-size: 0.85rem;}

	#head-order {display: none;}
}

@media (max-width: 992px) { 
	#header-corp {flex: 0 0 150px;}
	#header-contact {padding-left: 20px;}
	#phone-address {margin-bottom: 20px;}
	#phone {font-size: 1.1rem; flex: 0 0 260px;}
	ul.menu li {margin-right: 12px; font-size: 0.7rem;}
	ul.menu li:last-child {margin-right: 0;}
	#head-order .buttons .btn > * {padding: 10px; font-size: 0.8rem;}
	#version-visually {font-size: 0.75rem; font-weight: 600; flex: 0 0 270px;}
}

@media (max-width: 768px) { 
	#header {position: relative; margin-bottom: 30px;}
	#version-visually {
		font-size: 0.7rem;
		justify-content: flex-end;
		margin-bottom: 10px; 
		flex: 1 0 0%;
		order: 1;
	}
	#header-menu {position: absolute; top: 100%; z-index: 9; left: 0;}
	#phone-address {margin-bottom: 0;}
	#phone {flex: 1 0 0%; justify-content: flex-end;}
}

@media (max-width: 576px) { 
	ul.menu li {font-size: 0.6rem;}
}

@media (max-width: 480px) { 
	#header {margin-bottom: 45px;}
	#header-corp {flex: 0 0 130px;}
	ul.menu {flex-wrap: wrap; row-gap: 7px; justify-content: center;}
	#header-contact {padding-left: calc(var(--bs-gutter-x) * .5);}
	#phone {font-size: 0.9rem;}
	#phone img {margin-left: 10px;}
	#version-visually img {display: none;}

}

@media (max-width: 380px) { 
	#header-corp {flex: 0 0 110px;}
	#version-visually {font-size: 0.6rem;}
	ul.menu {flex-wrap: wrap;}
	ul.menu li {font-size: 0.7rem;}
}

@media (max-width: 330px) { 
	#header {margin-bottom: 0;}
	#header-corp {flex: 0 0 90px;}
	#phone {font-size: 0.75rem; flex: 0 0 180px;}
	#version-visually {display: none;}
	#header-menu {display: none;}
}