/*
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;
	background: #eee;
}

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

i {margin-right: 7px;}

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

a:hover {color: #c10e20;}

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 (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 {overflow-y: scroll; overflow-x: hidden;}*/

body > header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: fixed;
    width: 17%;
    height: 100%;
	background: #333;
	background-color: #383a45;
    background-image: linear-gradient(135deg, #4f5261 0%, #383a45 50%);
	color: #fff;
	z-index: 9;
	box-shadow: 0 0 32px rgb(64 66 78 / 30%);
	transition: all 0.3s ease;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s ease 0s;
}

body > header > * {padding: 30px; text-align: center;}

header .header {border-bottom: 1px solid #222;}

header .header .logos {margin-bottom: 10px;}
header .header img {/*max-width: 120px;*/ /*max-height: 30px;*/ margin: 5px;}
header .header img.fuchs_logo {max-height: 40px;}

.login-block {border-top: 1px solid #444; border-bottom: 1px solid #222;}
.login-block p, header .header p {margin-bottom: 15px;}

header .body {border-top: 1px solid #444; border-bottom: 1px solid #222; height: 100%; background: #f8f9fb;}
header .body {overflow-y: scroll; overflow-x: hidden;}

header .footer {border-top: 1px solid #444; font-size: 0.8rem;}


.buttons {display: flex; justify-content: center;}

.buttons > a {
    background: #777;
	background: #5e616b;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
	margin: 0 5px;
}

.buttons > a:hover {background: #555; background: #454956;}

.header-button {
    position: absolute;
    right: -40px;
    background: #e31e32;
    width: 40px;
    line-height: 40px;
    padding: 0;
    border-radius: 0 3px 3px 0;
    top: 50%;
    margin-top: -15px;
	display: none;
}

.header-button:before {
    content: "\e94f";
    font-family: "icomoon";
    display: block;
}

body > header.active {margin-left: 0;}
body > header.active .header-button:before {content: "\e97b";}

	
/*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: 15px 0; background: #fff; color: #000; /*box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);*/}

#head-order a {color: #000;}
#head-order a[href]:hover {color: #2096f3;}	

/*.fixed #head-order {padding-top: 5px; padding-bottom: 5px;}*/
  
#head-order i {color: #111;}

#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 li {list-style: none; margin-right: 15px; display: inline-block;}
#site-menu i {margin-right: 0;}
	
#header-contact {text-align: right;}  
#header-contact .phone {font-weight: 600; font-size: 1.3rem; white-space: nowrap;}

.YMaps {position: relative; width:100%; min-height:100vh;}

/*@media screen and (max-device-height: 600px) { body > header {overflow-y: scroll; overflow-x: hidden;} }*/

@media screen and (max-device-width: 1280px) { #header-logo {min-width: 200px;} }

@media screen and (max-device-width: 800px) {
	body > header > * {padding: 20px;}
	#header-contact {width: 37%;}
	#site-menu {width: 10%; text-align: center;} 
	#mobile-menu-button {display: block;}
	#site-menu > div {position: absolute; width: 100%; background: #eee; left: 0; top: 110%; z-index: 99;}
	#site-menu .menu {display: none; padding: 20px 20px 5px 20px; width: 100%; text-align: center;}
	#site-menu .active {transform: rotate(90deg);}  
	#site-menu ul li {margin-bottom: 15px; margin-right: 30px;}
}

@media screen and (max-device-width: 480px) {
	.header-button {display: block;}
	#head-order {padding: 10px 0;}
	#header-logo {width: 45%; margin: 0 0 10px 0; min-width: 0;}  
	#site-menu ul li {width: 50%; margin-right: 0;}
	#header-contact {width: 45%; margin: 0 0 10px 0;}  
	#header-contact .phone {width: 100%; font-size: 1rem;}
}

@media screen and (max-device-width: 375px) {
	body > header > * {padding: 15px;}
	#head-order {padding: 6px 0 7px 0;}
	#header-logo {width: 40%;} 
	#site-menu ul li {width: 100%;}
	#header-contact {width: 50%;}  
	#header-contact .phone i {display: none;}
}


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

main {position: relative; width: 83%; margin-left: auto;}

.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: 1440px) { body > header {width: 20%;} main {width: 80%;} }
@media screen and (max-device-width: 1280px) { body > header {width: 25%;} main {width: 75%;} }
@media screen and (max-device-width: 1024px) { .wrapper {max-width: none; width: 100%; padding: 0 15px;} body > header {width: 30%;} main {width: 70%;} }
@media screen and (max-device-width:  800px) { body > header {width: 35%;} main {width: 65%;} }
@media screen and (max-device-width:  480px) { /*.wrapper {padding: 0 7px;}*/ body > header {width: 300px; margin-left: -300px;} main {width: 100%;} }	
@media screen and (max-device-width:  320px) { body > header {width: 260px; margin-left: -260px;} }



/* Страница, Запись */

#post-content {
    background: #fff;
    /*box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.15);*/
    padding: 45px 60px 30px 60px;
	min-height: 100vh;
    /*min-height: 400px;
	width: 100%;
    display: inline-block;*/
}

.area {font-size: 1.1rem; text-align: left;}

.area a {text-decoration: underline;}
.area a:hover {text-decoration: none;}

.area h2, #post-content h2 {margin-bottom: 30px;}

.area > h2:after, #post-content > h2:after {
    position: absolute;
    top: 50%;
    margin-top: 3px;
    content: '';
    height: 1px;
    background: #e31e32;
    margin-left: 40px;
    width: 100%;
}

.params p {
    line-height: 1.5;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding: 10px;
}

.params p span.name_param {width: 30%; padding-right: 5%;}
.params p span.value_param {font-weight: 600; width: 65%;}

.area > img, .area > div {margin-bottom: 30px;}

.area > ul, .area > ol {display: inline-block; margin-bottom: 15px; width: 100%; padding-left: 20px;}
  
.area ul li, .area ol li {width: 100%; margin-bottom: 15px; list-style: none; position: relative; line-height: 1.5;}

.area ul li::before {
    content: "■";
    font-size: 0.8rem;
    position: absolute;
    left: -20px;
    top: 3px;
    color: #2196f3;
}

.area table {border-spacing: 3px; margin-bottom: 30px;}

.area th {text-align: center; background: #50aaff; padding: 10px 12px; border: 1px solid #ccc; color: #fff; font-weight: 600;}

.area td {padding: 5px 12px; border: 1px solid #ccc;}

.area tr:nth-child(2n) {background: whitesmoke;}

.area table h2 {margin: 10px 0;}

a.button {
    background: #e31e32;
    color: #fff;
    text-decoration: none;
    padding: 10px 30px;
    display: inline-block;
    border-radius: 3px;
	cursor: pointer;
	margin-bottom: 15px;
	font-size: 1rem;
}

a.button:hover {background: #c10e20;}

blockquote {font-style: italic; border-left: 2px solid #80c7ff; padding-left: 30px; margin-bottom: 30px; color: #555;}

.area .gallery {display: flex; flex-wrap: wrap; margin: 0 -15px; margin-bottom: 0 !important;}
.area .gallery > * {width: 25%; padding: 0 15px; margin-bottom: 15px; text-align: center; color: #111; text-decoration: none;}
.area .gallery span {display: block; font-size: 0.8rem;}


.map-link {cursor: pointer;}

.chart_container {height: 370px; max-width: 100%; margin: 0px auto;}


/* Оформление статуса точки

span.condition  {padding: 5px 20px; margin-left: 10px; border-radius: 5px; border: 2px solid #eee;}

span.condition.green {border-color: #c3e69b;}
span.condition.blue {border-color: #a5e3ff;}
span.condition.red {border-color: #ffa19a;}*/


.brands-list span:after {content: ", ";}
.brands-list span:last-child:after {display: none;}


.log-line {border-bottom: 1px solid #eee;}
.log-line:last-child {border-bottom: none;}
.log-line > div {display: flex; align-items: center; margin: 0 -15px;}
.log-line > div > * {padding: 10px 15px; width: 25%; margin-bottom: 0;}
.log-line img {max-width: 85px; display: block;}

  
.alignleft {display: inline; float: left; margin-right: 30px; margin-bottom: 15px;}
.alignright {display: inline; float: right; margin-left: 30px; margin-bottom: 15px;}
.aligncenter {display: block; margin-right: auto; margin-left: auto; margin-bottom: 15px;}

.dot_action {
    background: #8bc34a;
    color: #fff;
    display: inline-block;
    padding: 5px 15px;
    border-radius: 10px;
    position: absolute;
    right: 55px;
    top: 5px;
}

/*@media screen and (min-device-height: 800px) { #post-content {min-height: 60vh;} }*/

@media screen and (max-device-height: 780px) { header .header img {max-width: 100px; max-height: 25px;} }

@media screen and (max-device-height: 730px) { body > header > * {padding: 20px;} }

/*@media screen and (max-device-height: 670px) { body > header {overflow-x: hidden;} }*/

@media screen and (max-device-width: 1280px) { img.alignleft, img.alignright {max-width: 400px;} }

@media screen and (max-device-width: 480px) { 
	#post-content {padding: 15px; box-shadow: none;} 
	.area table {font-size: 0.9rem; overflow-x: scroll; display: inline-block;} 
	
	.params p {padding: 10px 0;}	
	.params p span.name_param {width: 35%;}
	.params p span.value_param {width: 60%;}
	
	.log-line > div a {display: none;}
	.log-line > div > * {padding: 5px 7px; width: 33.33%;}
	
	.area .gallery > * {width: 50%;}
}


@media screen and (max-device-width: 330px) { 
	.params p {flex-wrap: wrap;}
	.params p span.name_param, .params p span.value_param {width: unset;}
}


/* ScrolBar */
/*::-webkit-scrollbar {width: 10px;}
::-webkit-scrollbar-thumb {background: #ddd; -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);}
::-webkit-scrollbar-thumb:hover {background: #B9B9B9;}
::-webkit-scrollbar-thumb:window-inactive {background: #999;}*/

/* плавное изменение прозрачности  placeholder-а при фокусе */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder       {opacity: 1; transition: opacity 0.3s ease;}
input::-moz-placeholder, textarea::-moz-placeholder                {opacity: 1; transition: opacity 0.3s ease;}
input:-moz-placeholder, textarea:-moz-placeholder                 {opacity: 1; transition: opacity 0.3s ease;}
input:-ms-input-placeholder, textarea:-ms-input-placeholder            {opacity: 1; transition: opacity 0.3s ease;}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {opacity: 0; transition: opacity 0.3s ease;}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder        {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder           {opacity: 0; transition: opacity 0.3s ease;}
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder      {opacity: 0; transition: opacity 0.3s ease;}

/* Текст предназначен только для чтения с экрана */
.screen-reader-text {clip: rect(1px, 1px, 1px, 1px); position: absolute !important;	height: 1px; width: 1px; overflow: hidden;}


#Go_Top {
	position: fixed;
	right: 5%;
	bottom: -70px;
	z-index: 291; 
	display: block;
    text-align: center;
    font-size: 25px;
    line-height: 40px;
	width: 40px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.8);
    color: #000;
	cursor: pointer;
}
body.compensate-for-scrollbar #Go_Top, body.windows-active #Go_Top {display: none;}	

#Go_Top:hover i {
    -webkit-animation: animArrow 1s infinite;
    animation: animArrow 1s infinite;
}

@keyframes animArrow {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

#Go_Top i {margin: 0; display: inline-block;}
#Go_Top:hover {background: #111; color: #fff;}
.up {bottom: 70px !important;}

@media (max-width:1024px) { #Go_Top {right: 0;}	.up {bottom: 0px !important;} }