/* -------------------------------- 

Primary style

-------------------------------- */
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html { font-size: 62.5%; }

/*
body {
  font-size: 1.6rem;
  font-family: "Open Sans", sans-serif;
  color: #2c343b;
  background-color: #f2f2f2;
}
*/
a {
  color: #d44457;
  text-decoration: none;
}

img { max-width: 100%; }

/* -------------------------------- 

Main Components 

-------------------------------- */
.cd-header {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: #21272c;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media only screen and (min-width: 768px) {
  .cd-header {
    height: 70px;
    background-color: transparent;
  }
}

#cd-logo {
  float: left;
  margin: 13px 0 0 5%;
}
#cd-logo img {
  display: block;
}
@media only screen and (min-width: 768px) {
  #cd-logo {
    margin: 23px 0 0 5%;
  }
}

.cd-primary-nav {
  /* mobile first - navigation hidden by default, triggered by tap/click on navigation icon */
  float: right;
  margin-right: 5%;
  width: 44px;
  height: 100%;  
}
.cd-primary-nav ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}
.cd-primary-nav ul.is-visible {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(50px);
  -moz-transform: translateY(50px);
  -ms-transform: translateY(50px);
  -o-transform: translateY(50px);
  transform: translateY(50px);
}
.cd-primary-nav a {
  display: block;
  height: 50px;
  line-height: 50px;
  padding-left: 5%;
  background: #21272c;
  border-top: 1px solid #333c44;
  color: #ffffff;
}
@media only screen and (min-width: 768px) {
  .cd-primary-nav {
    /* reset navigation values */
    width: auto;
    height: auto;
    background: none;
  }
  .cd-primary-nav ul {
    position: static;
    width: auto;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    line-height: 70px;
  }
  .cd-primary-nav ul.is-visible {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  .cd-primary-nav li {
    display: inline-block;
    margin-left: 1em;
  }
  .cd-primary-nav a {
    display: inline-block;
    height: auto;
    font-weight: 600;
    line-height: normal;
    background: transparent;
    padding: .6em 1em;
    border-top: none;
  }
}

/* -------------------------------- 

Slider

-------------------------------- */
.cd-hero {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cd-hero-slider {
  position: relative;
  height: 360px;
  overflow: hidden;
}
.cd-hero-slider li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
}
.cd-hero-slider li.selected {
  /* this is the visible slide */
  position: relative;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
.cd-hero-slider li.move-left {
  /* slide hidden on the left */
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
}
.cd-hero-slider li.is-moving, .cd-hero-slider li.selected {
  /* the is-moving class is assigned to the slide which is moving outside the viewport */
  -webkit-transition: -webkit-transform 0.5s;
  -moz-transition: -moz-transform 0.5s;
  transition: transform 0.5s;
}
@media only screen and (min-width: 768px) {
  .cd-hero-slider {
    height: 500px;
  }
}
@media only screen and (min-width: 1170px) {
  .cd-hero-slider {
    height: 680px;
  }
}

/* -------------------------------- 

Single slide style

-------------------------------- */
.cd-hero-slider li {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.cd-hero-slider li:first-of-type {
  background-color: #2c343b;  
}
.cd-hero-slider li:nth-of-type(2) {
  background-color: #3d4952;  
}
.cd-hero-slider li:nth-of-type(3) {
  background-color: #cdcdcd;  
}
.cd-hero-slider li:nth-of-type(4) {
  background-color: #2c343b;
  
}
.cd-hero-slider li:nth-of-type(5) {
  background-color: #2c343b;  
}
.cd-hero-slider li:nth-of-type(6) {
  background-color: #2c343b;  
}
.cd-hero-slider .cd-full-width,
.cd-hero-slider .cd-half-width {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: 0;
  top: 0;
  /* this padding is used to align the text */
  padding-top: 100px; /* 100px */
  text-align: center;
  /* Force Hardware Acceleration in WebKit */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
}
.cd-hero-slider .cd-img-container {
  /* hide image on mobile device */
  display: none;
}
.cd-hero-slider .cd-img-container img {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
.cd-hero-slider .cd-bg-video-wrapper {
  /* hide video on mobile device */
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.cd-hero-slider .cd-bg-video-wrapper video {
  /* you won't see this element in the html, but it will be injected using js */
  display: block;
  min-height: 100%;
  min-width: 100%;
  max-width: none;
  height: auto;
  width: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
.cd-hero-slider h2, .cd-hero-slider p {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  margin: 0 auto 14px;
  color: #ffffff;
  width: 90%;
  max-width: 400px;
}
.cd-hero-slider h2 {
  font-size: 2.4rem;
}
.cd-hero-slider p {
  font-size: 1.4rem;
  line-height: 1.4;
}
.cd-hero-slider .cd-btn {
  display: inline-block;
  padding: 1.2em 1.4em;
  margin-top: .8em;
  background-color: rgba(212, 68, 87, 0.9);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffffff;
  text-transform: uppercase;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.cd-hero-slider .cd-btn.secondary {
  background-color: rgba(22, 26, 30, 0.8);
}
.cd-hero-slider .cd-btn:nth-of-type(2) {
  margin-left: 1em;
}
.no-touch .cd-hero-slider .cd-btn:hover {
  background-color: #d44457;
}
.no-touch .cd-hero-slider .cd-btn.secondary:hover {
  background-color: #161a1e;
}
@media only screen and (min-width: 768px) {
  /*.cd-hero-slider li:nth-of-type(2) {
    background-image: none;
  }*/
  /*.cd-hero-slider li:nth-of-type(3) {
    background-image: none;
  }
  .cd-hero-slider li:nth-of-type(4) {
    background-image: none;
  }*/
  .cd-hero-slider .cd-full-width,
  .cd-hero-slider .cd-half-width {
    padding-top: 150px; /*150px */
  }
  .cd-hero-slider .cd-bg-video-wrapper {
    display: block;
  }
  .cd-hero-slider .cd-half-width {
    width: 45%;
  }
  .cd-hero-slider .cd-half-width:first-of-type {
    left: 5%;
  }
  .cd-hero-slider .cd-half-width:nth-of-type(2) {
    right: 5%;
    left: auto;
  }
  .cd-hero-slider .cd-img-container {
    display: block;
  }
  .cd-hero-slider h2, .cd-hero-slider p {
    max-width: 520px;
  }
  .cd-hero-slider h2 {
    font-size: 2.4em;
    font-weight: 300;
  }
  .cd-hero-slider .cd-btn {
    font-size: 1.4rem;
  }
}

/* Не разобрался
@media only screen and (min-width: 1170px) {
  .cd-hero-slider .cd-full-width,
  .cd-hero-slider .cd-half-width {
    padding-top: 220px; 
  .cd-hero-slider h2, .cd-hero-slider p {
    margin-bottom: 20px;
  }
  .cd-hero-slider h2 {
    font-size: 3.2em;
  }
  .cd-hero-slider p {
    font-size: 1.6rem;
  }
}
*/

/* -------------------------------- 

Single slide animation

-------------------------------- */
@media only screen and (min-width: 768px) {
  .cd-hero-slider .cd-half-width {
    opacity: 0;
    -webkit-transform: translateX(40px);
    -moz-transform: translateX(40px);
    -ms-transform: translateX(40px);
    -o-transform: translateX(40px);
    transform: translateX(40px);
  }
  .cd-hero-slider .move-left .cd-half-width {
    -webkit-transform: translateX(-40px);
    -moz-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    -o-transform: translateX(-40px);
    transform: translateX(-40px);
  }
  .cd-hero-slider .selected .cd-half-width {
    /* this is the visible slide */
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .cd-hero-slider .is-moving .cd-half-width {
    /* this is the slide moving outside the viewport 
    wait for the end of the transition on the <li> parent before set opacity to 0 and translate to 40px/-40px */
    -webkit-transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    -moz-transition: opacity 0s 0.5s, -moz-transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s;
  }
  .cd-hero-slider li.selected.from-left .cd-half-width:nth-of-type(2),
  .cd-hero-slider li.selected.from-right .cd-half-width:first-of-type {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity 0.4s 0.2s, -webkit-transform 0.5s 0.2s;
    -moz-transition: opacity 0.4s 0.2s, -moz-transform 0.5s 0.2s;
    transition: opacity 0.4s 0.2s, transform 0.5s 0.2s;
  }
  .cd-hero-slider li.selected.from-left .cd-half-width:first-of-type,
  .cd-hero-slider li.selected.from-right .cd-half-width:nth-of-type(2) {
    /* this is the selected slide - different animation if it's entering from left or right */
    -webkit-transition: opacity 0.4s 0.4s, -webkit-transform 0.5s 0.4s;
    -moz-transition: opacity 0.4s 0.4s, -moz-transform 0.5s 0.4s;
    transition: opacity 0.4s 0.4s, transform 0.5s 0.4s;
  }
  .cd-hero-slider .cd-full-width h2,
  .cd-hero-slider .cd-full-width p,
  .cd-hero-slider .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px);
  }
  .cd-hero-slider .move-left .cd-full-width h2,
  .cd-hero-slider .move-left .cd-full-width p,
  .cd-hero-slider .move-left .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -o-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  .cd-hero-slider .selected .cd-full-width h2,
  .cd-hero-slider .selected .cd-full-width p,
  .cd-hero-slider .selected .cd-full-width .cd-btn {
    /* this is the visible slide */
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .cd-hero-slider li.is-moving .cd-full-width h2,
  .cd-hero-slider li.is-moving .cd-full-width p,
  .cd-hero-slider li.is-moving .cd-full-width .cd-btn {
    /* this is the slide moving outside the viewport 
    wait for the end of the transition on the li parent before set opacity to 0 and translate to 100px/-100px */
    -webkit-transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    -moz-transition: opacity 0s 0.5s, -moz-transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s;
  }
  .cd-hero-slider li.selected h2 {
    -webkit-transition: opacity 0.4s 0.2s, -webkit-transform 0.5s 0.2s;
    -moz-transition: opacity 0.4s 0.2s, -moz-transform 0.5s 0.2s;
    transition: opacity 0.4s 0.2s, transform 0.5s 0.2s;
  }
  .cd-hero-slider li.selected p {
    -webkit-transition: opacity 0.4s 0.3s, -webkit-transform 0.5s 0.3s;
    -moz-transition: opacity 0.4s 0.3s, -moz-transform 0.5s 0.3s;
    transition: opacity 0.4s 0.3s, transform 0.5s 0.3s;
  }
  .cd-hero-slider li.selected .cd-btn {
    -webkit-transition: opacity 0.4s 0.4s, -webkit-transform 0.5s 0.4s, background-color 0.2s 0s;
    -moz-transition: opacity 0.4s 0.4s, -moz-transform 0.5s 0.4s, background-color 0.2s 0s;
    transition: opacity 0.4s 0.4s, transform 0.5s 0.4s, background-color 0.2s 0s;
  }
}

/* -------------------------------- 

Slider navigation

-------------------------------- */
.cd-slider-nav {
  position: relative;;
  width: 100%;
  bottom: 0;
  z-index: 2;
  text-align: center;
  /*height: 55px;*/
  /*background-color: rgba(0, 1, 1, 0.5);*/
}
.cd-slider-nav nav, .cd-slider-nav ul, .cd-slider-nav li, .cd-slider-nav a {
  /*height: 100%;*/
}
.cd-slider-nav nav {
  display: inline-block;
  position: relative;
}

.cd-slider-nav ul::after {
  clear: both;
  content: "";
  display: table;
}
.cd-slider-nav li {
  display: inline-block;
  width: 60px;
  float: left;
}
.cd-slider-nav li.selected a {
  /*color: #2c343b;*/
  text-decoration: underline;
  text-decoration-color: #d44457;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}
.no-touch .cd-slider-nav li.selected a:hover {
  /*background-color: transparent;*/
}
.cd-slider-nav a {
  display: block;
  position: relative;
  padding-top: 35px;
  font-size: 1rem;
  font-weight: 700;
  color: #a8b4be;
/*  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;*/
}
.cd-slider-nav a::before {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  top: 8px;
  left: 50%;
  right: auto;
/*  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(../assets/cd-icon-navigation.svg) no-repeat 0 0;*/
}
.no-touch .cd-slider-nav a:hover {
  background-color: rgba(0, 1, 1, 0.5);
}
.cd-slider-nav li:first-of-type a::before {
  background-position: 0 0;
}
.cd-slider-nav li.selected:first-of-type a::before {
  background-position: 0 -24px;
}
.cd-slider-nav li:nth-of-type(2) a::before {
  background-position: -24px 0;
}
.cd-slider-nav li.selected:nth-of-type(2) a::before {
  background-position: -24px -24px;
}
.cd-slider-nav li:nth-of-type(3) a::before {
  background-position: -48px 0;
}
.cd-slider-nav li.selected:nth-of-type(3) a::before {
  background-position: -48px -24px;
}
.cd-slider-nav li:nth-of-type(4) a::before {
  background-position: -72px 0;
}
.cd-slider-nav li.selected:nth-of-type(4) a::before {
  background-position: -72px -24px;
}
.cd-slider-nav li:nth-of-type(5) a::before {
  background-position: -96px 0;
}
.cd-slider-nav li.selected:nth-of-type(5) a::before {
  background-position: -96px -24px;
}
@media only screen and (min-width: 768px) {
  .cd-slider-nav {
    /*height: 80px;*/
  }
  .cd-slider-nav .cd-marker,
  .cd-slider-nav li {
    width: 95px;
  }
  .cd-slider-nav a {
    padding-top: 8px; /* 48px */
    text-transform: uppercase;
  }
  .cd-slider-nav a::before {
    top: 18px;
  }
}

/* -------------------------------- 

Main content

-------------------------------- */
.cd-main-content {
  width: 90%;
  max-width: 768px;
  margin: 0 auto;
  padding: 2em 0;
}
.cd-main-content p {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #999999;
  margin: 2em 0;
}
@media only screen and (min-width: 1170px) {
  .cd-main-content {
    padding: 3em 0;
  }
  .cd-main-content p {
    font-size: 1.6rem;
  }
}

/* -------------------------------- 

Javascript disabled

-------------------------------- */
.no-js .cd-hero-slider li {
  display: none;
}
.no-js .cd-hero-slider li.selected {
  display: block;
}

.no-js .cd-slider-nav {
  display: none;
}
/*

Template 2088 Big City

http://www.tooplate.com/view/2088-big-city

*/
:root {
  --smoggy-glass: rgba(245, 245, 247, 0.85);
  --blue-glass-dark: rgba(42, 59, 85, 0.9);
  --blue-glass-light: rgba(42, 59, 85, 0.4);
  --blue-glass: rgba(42, 59, 85, 0.8);
  --black-glass: rgba(0, 0, 0, 0.6);
  --black-glass-light: rgba(0, 0, 0, 0.4);
  --black-glass-medium: rgba(0, 0, 0, 0.6);
  --logo-blue: #1a2d4b; /*#264286;*/
  --logo-blue-deep: #22325b;
  --logo-red: #bd0f15; /* #ed3237 */
  --head-menu-line-h-d: 50px;
  --slider-nav-h-d: 80px;
 	/* масштабирование текста */
  --step-0: 1rem;   /* базовый текст */
  --step-1: clamp(1.10rem, 0.8rem + 0.8vw, 1.35rem);  /* h3 */
  --step-2: clamp(1.30rem, 0.9rem + 1.2vw, 1.80rem);  /* h2 */
  --step-3: clamp(1.60rem, 1.0rem + 2.0vw, 2.40rem);  /* h1 */
}

@font-face {
  font-family: 'Roboto';
  src: url('/css/fonts/Roboto/Roboto.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* опционально: улучшает производительность загрузки */
}
@font-face {
  font-family: 'Roboto';
  src: url('/css/fonts/Roboto/Roboto-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/css/fonts/Montserrat/Montserrat-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* опционально: улучшает производительность загрузки */
}
@font-face {
  font-family: 'Montserrat';
  src: url('/css/fonts/Montserrat/Montserrat-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

html { font-size: 16px; } 

body {
	/*min-height: 100dvh;*/
	position: relative;
	color: black;
	/*font-family: 'Open Sans', Helvetica, Arial, sans-serif;*/
	/*font-family: 'Roboto', sans-serif;*/
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	overflow-x: hidden;
}

.productInfo h2{margin-bottom: 1.2rem;}

@media (min-width: 1280px) {
  /* Только на широких экранах — плавный рост до 19px */
  html { font-size: clamp(16px, 0.46875vw + 10px, 19px); }
  body { line-height: 1.6;}
  .productInfo h2{margin-bottom: 1.5rem;}
}
@media (min-width: 1440px) {
  body { line-height: 1.7;}
  .productInfo h2{margin-bottom: 1.8rem;}
}


.body-bg{
  background: url('../img/glass-gallery-background.jpg') no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
}
.body-bg-white{
 background: #FFF !important;
}

.cd-bg-video-wrapper {
	background: none;
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
}



.bg-vhodnye-gruppy{
	background-image: url('../img/bg-vhodnye-gruppy.jpg') !important;
}

.bg-dveri-peregorodki{
	background-image: url('../img/bg-dveri-peregorodki.jpg') !important;
}

.bg-dushevye-ograzhdeniya{
	background-image: url('../img/bg-dushevye-ograzhdeniya.jpg') !important;
}

.bg-ograzhdeniya-lestnicy{
	background-image: url('../img/bg-ograzhdeniya-lestnicy.jpg') !important;
}

.bg-smart-steklo{
	background-image: url('../img/bg-smart-steklo.jpg') !important;
}

.custom-bg{
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.tm-white { color: #FFFFFF; }

ul { padding: 0; margin: 0; }
figure { margin: 0; }
p:last-child { margin-bottom: 0; }
a { color: #3f97c9; }
a, button { transition: all 0.3s ease; }
a:hover,
a:focus {
	text-decoration: none;
	outline: none;
}

.tm-section-margin-t { margin-top: 85px; } /* 200px */
.tm-section-margin-t-small { margin-top: 35px; } /* 150px */

.cd-hero-slider li:first-of-type,
.cd-hero-slider li:nth-of-type(2),
.cd-hero-slider li:nth-of-type(3),
.cd-hero-slider li:nth-of-type(4) {
    background: none;
}

.cd-hero-slider .cd-full-width { padding-top: 0 !important; }

.cd-slider-nav {
	position: relative; /*sticky*/
	left: 0;
	right: 0;
	top: 0;
	z-index: 1002;
	background-color: var(--smoggy-glass); /* rgba(42, 59, 85, 0.8); */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	/*height: var(--head-menu-line-h-d);*/
	border-bottom:#dadcdc 1px solid;
}

/*
.cd-nav-compens {height: var(--head-menu-line-h-d);}
*/

.cd-slider-nav nav { 
	width: 100%; 
	padding: 0 10px;
}

/* Меню в столбик - недоразумение?
.cd-slider-nav .navbar-nav {
	display: inline-block;
	float: none;
	vertical-align: top;
}
*/

.cd-slider-nav li { 
	display: block;
	float: none;
	width: auto;	
}

.head-logo{
	width:100%; 
	margin-right: 40px;
	height:auto;
}


@media only screen and (min-width: 768px){
		.head-logo{
		margin-right: 0;
		max-width:80% !important;
	}
}

@media only screen and (min-width: 992px) {
	.head-logo{
		margin-right: 0;
		max-width:unset !important;
	}
}

#tmNavbar{
	z-index:1003;
}
.tm-navbar { float: right; }
.tm-navbar-bg {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
	overflow: auto;
}

.navbar-toggler {
	float: right;
	font-size: 1.75rem;
	padding: 0.5rem 1rem;
	/*background: rgba(255,255,255,0.7);*/
	border-radius: 0;
	position: absolute;
	right: 0px;
	top: 5px;
	color:transparent;
	border:none !important;
}

.navbar-toggler:focus{border:2px dashed red;}

.navbar-toggler-icon{
	height: 20px;
	width:20px;
	margin-top:8px;
}

button:focus { outline: none; }

.cd-slider-nav a.navbar-brand {
	background-color: transparent;
	color: white;
	font-size: 1.5rem; /*Мобильный*//* 3rem */
	padding-top: 0;
	padding-bottom: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: center;
	    justify-content: center;
	margin-top: 0;
	width: auto;
	align-self: flex-start;
}

.cd-slider-nav a { text-transform: none; }
.navbar-nav .nav-item { float: none; }
.navbar-nav .nav-item+.nav-item { margin-left: 0; }

.cd-slider-nav a,
.navbar-nav .nav-link { /* на мобильном */
	color: #FFF; 
	opacity: 1;
    display: block;
    font-weight: 500;
    font-size: 1.2em;
    width: 100%;
	height: 60px;
}

li.nav-item a.nav-link{
	text-transform: uppercase !important;
}

.cd-slider-nav .nav-item.selected .nav-link-dark,
.cd-slider-nav .nav-link-dark:hover,
.cd-slider-nav .nav-link-dark:focus {
	background-color: var(--logo-blue); 
	color: white;
}

.cd-slider-nav .nav-item.selected .nav-link-glass,
.cd-slider-nav .nav-link-glass:hover,
.cd-slider-nav .nav-link-glass:focus {
	background-color: var(--blue-glass); 
	color: white;	
}

.cd-slider-nav .nav-link:hover::before {
  animation: slideDown 5s forwards;
}

/* Hero Slider */
.cd-hero-slider { height: 100vh; }
.cd-hero-slider li { list-style: none; }
.tm-textbox { display: inline-block; }

.cd-hero-slider h2, .cd-hero-slider p {
	max-width: none;
	width: 100%;
}

.cd-hero-slider p { color: white; }
.cd-hero-slider .tm-bg-white p,
.cd-hero-slider .tm-bg-white h2 { color: black; }

.cd-hero-slider .tm-text { 
	font-size: 1em;
	line-height: 1.8; 
}

.tm-home-container {
	margin: 0 auto;
	max-width: 800px;
	width: 95%;
}

.tm-home-title-container,
.tm-home-description-container {
	width: 100%;
}

.tm-home-title-container {
	background-color: var(--logo-red); /*#856729*/
	border: 1px solid white;
	margin-bottom: 0;
	padding: 30px;
}

.tm-bg-dark-blue { background-color: #1A2D4B; position:relative;}
.tm-bg-white { 
	background-color: var(--smoggy-glass);
	color: black;
	border-radius: 1px;
}
.tm-bg-brown { background-color: var(--logo-red); } /*#856729*/
.tm-bg-dark-brown { background-color: #5a471c; }
.tm-home-description-container { padding: 50px; }

.tm-home-container-bg {
	background-color: white;
    width: 100%;
    max-width: 840px;
    margin: 0 auto;
    position: absolute;
    z-index: -1;
    left: 0;
    top: 45px;
    height: 94%;
}

.tm-home-container-outer {
    position: relative;
    max-width: 840px;
    margin: 0 auto;
}

.cd-hero-slider h2.tm-text-title {	
    font-size: var(--step-2); line-height: 1.25; /*font-size: 1.6em;*/
    font-weight: 400;
}

/* About */
.tm-white-header-container { width: 100%; }

.tm-white-header-container .tm-text-title {
	padding: 25px 40px 60px;
    font-size: 3rem;
}

.tm-white-header-body {
	width: 96%;
    display: block;
    margin: -40px auto 0;
}

.tm-2-col-left { padding-right: 30px; }
.tm-2-col-right { padding-left: 30px; }
.tm-margin-b { margin-bottom: 40px; }
.tm-height-100 { height: 100%; }
.tm-white-border { border: 1px solid white; }

/* Gallery */
.cd-hero-slider h2.tm-margin-b-0 { margin-bottom: 0; }
.tm-gallery-title-container { 
	position: relative; 
	padding-left: 10px;
	padding-right: 10px;
}

.tm-bg-white-half {
	background-color: white;
	width: 50%;
	height: 126px;
	position: absolute;
	top: -10px;
	left: -15px;
	z-index: -1;
}

.tm-footer {
/*
	position: absolute;
	bottom: 0;
	left: 0;
*/
margin-bottom: 0;
}

.tm-footer {
    width: 100%;
    color: white;
    z-index: 1001;
    padding: 0 0 12px;
}

.cd-full-width {
	display: -ms-flexbox;
	display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
		/*
    -ms-flex-pack: center;
        justify-content: center;
		*/
}

.cd-hero-slider p:last-child { margin-bottom: 0; }

/* Contact */
.tm-contact-page {
	margin: 0 auto;
	max-width: 1190px;
	padding: 0;
}

.tm-contact-container { max-width: 1150px; }

.form-control,
.tm-submit-btn {
	font-size: 1.1rem;
}
.form-control {
	border-radius: 0;
	padding: 1rem 2rem;
}

.form-control::-webkit-input-placeholder { color: #000000; }
.form-control:-moz-placeholder { color: #000000; } /* Firefox 18- */
.form-control::-moz-placeholder { color: #000000; } /* Firefox 19+ */
.form-control:-ms-input-placeholder { color: #000000; }
.form-group { margin-bottom: 1.5rem; }

.tm-submit-btn {
	background-color: var(--logo-red); /*#856729*/
	border: none;
	color: white;
	padding: 10px 50px;
	margin-top: 10px;
	font-weight: 400;
	font-size: 1.2rem;
}



.tm-submit-btn:hover,
.tm-submit-btn:focus{
	background-color: rgb(250, 78, 84); /* rgb(176, 138, 59); */
}
.tm-submit-btn:active {
	background-color: #d3171e;
}

textarea { height: 168px; }

/* Preloader 
	https://ihatetomatoes.net/create-custom-preloading-screen/
*/
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
   #loader-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2000; }
   #loader { display: block; position: relative; left: 50%; top: 50%; width: 150px; height: 150px; margin: -75px 0 0 -75px; border-radius: 50%; border: 0 solid transparent; border-top-color: #9fa0a0; /* Chrome, Opera 15+, Safari 5+ */
   	animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ z-index: 2001; }
   #loader:before { content: ""; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border-radius: 50%; border: 12px solid transparent;
   	border-top-color: var(--logo-red); /* Chrome, Opera 15+, Safari 5+ */
   animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ }
   #loader:after { content: ""; position: absolute; top: 22px; left: 22px; right: 22px; bottom: 22px; border-radius: 50%; border: 12px solid transparent;
border-top-color: var(--logo-blue); /* Chrome, Opera 15+, Safari 5+ */ animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */ }
@keyframes spin {
	0%   {  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */
		transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
	}
	100% {  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */
		transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
	}
}

#loader-wrapper .loader-section { position: fixed; top: 0; width: 51%; height: 100%; background: #FFF; z-index: 2000;  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */ transform: translateX(0);  /* Firefox 16+, IE 10+, Opera */}
#loader-wrapper .loader-section.section-left { left: 0; }
#loader-wrapper .loader-section.section-right { right: 0; }

/* Loaded */
.loaded #loader-wrapper .loader-section.section-left {  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */
	transform: translateX(-100%);  /* Firefox 16+, IE 10+, Opera */  
	transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper .loader-section.section-right {  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */
	transform: translateX(100%);  /* Firefox 16+, IE 10+, Opera */  
	transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader {
	opacity: 0;  
	transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
	visibility: hidden;  /* Chrome, Opera 15+, Safari 3.1+ */  /* IE 9 */
	transform: translateY(-100%);  /* Firefox 16+, IE 10+, Opera */  
	transition: all 0.3s 1s ease-out;
}

/* JavaScript Turned Off */
.no-js #loader-wrapper { display: none; }
/*============ Preloader ends ==================================*/

.cd-hero-slider.small-screen { height: 100%; }

.tm-navbar {
	position: absolute;
    right: 20px;
    top: 44px;
}

.cd-slider-nav .navbar-nav { 
	background:var(--blue-glass-dark); /* #455471;*/
	opacity: 1; /* 0.70; */
}

/*.cd-slider-nav a { /*height: var(--head-menu-line-h-d); } */
.navbar-nav .nav-link { padding:55px 0; }

.cd-hero-slider .cd-full-width { text-align: left; }
.tm-2-col-left { padding-right: .9375rem; }

.tm-2-col-right {
	padding-left: .9375rem;
	padding-top: 14px;
}

.tm-2-col-textbox-2 {
	width: 100%;
	padding: 25px;
	margin-bottom: 30px; 
	-ms-flex: 0 1 auto; 
	    flex: 0 1 auto; 
	        /* Fix flexbox in IE 10 bug https://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/ */
}

.tm-2-col-textbox-2:last-child { margin-bottom: 0; }

/* Gallery */
.grid-item {
	margin-bottom: 20px;
	padding-left: 1px;
	padding-right: 1px;
	float: left;
	width: 100%;
}

.grid-item-square { width: 50%; }

.grid-item:last-child { margin-bottom: 0; }

.tm-img-gallery {
	margin: 0 auto 10px;
	display: block;
}

.tm-img {
  	width: 100%;
  	height: auto;
  	border: 10px solid #ffffff;
  	margin: 0 auto;
}

.tm-img-no-border {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.tm-textbox-padding { padding: 35px 30px; }

.col-xs-12 {
	padding-left: 10px;
	padding-right: 10px;
}

.tm-copyright-text {
	background-color: rgba(0, 0, 0, 0.3);
	color: white;
    display: block;
    font-size: 0.8rem;
    font-weight: 400;
    padding: 5px 12px;
    width: 100%;
	text-align: center;;
}

.tm-footer { padding: 50px 0 20px; }
.tm-footer-link { color: white; }
.tm-footer-link:hover,
.tm-footer-link:focus {
	color: yellow;
}

/* Media Queries */
@media only screen and (min-width: 480px) {
	.cd-hero-slider h2.tm-text-title { font-size: 2.2em; }
	.cd-hero-slider h2.tm-text-title-small { font-size: 1.6em; }
	.tm-textbox-padding { padding: 30px 40px; }
	.tm-textbox-padding-contact { padding: 30px; }
		
	.grid-item {
		padding-left: 10px;
		padding-right: 10px;
		width: 50%;
	}

	.grid-item-big { width: 100%; }
}

@media only screen and (min-width: 600px) {

	.tm-home-container-bg {	height: 92%; }
	.tm-footer { padding: 50px 0 20px; }
}

@media only screen and (min-width: 720px) {
	
	.tm-footer { 
		-ms-flex-direction: row; 
			flex-direction: row; 
	}

}

.tm-sm-margin-b { margin-bottom: 30px; }
.tm-2-col-equal-height { padding-bottom: 10%; } /* height: 77% */

.categoryRedLine{
margin-top:5px;
}

@media only screen and (min-width: 768px) { /* меняет раскладку табличек по 2 в ряд */

	.tm-2-col-left { padding-right: 20px; }
	.tm-2-col-right { padding-left: 20px; }
	.tm-sm-margin-b { margin-bottom: 0; }
	.tm-home-container-bg { height: 92%; }
	.cd-hero-slider .cd-full-width { padding-top: 0; }
	.tm-2-col-left { padding-right: 25px; }

	.tm-2-col-right { 
		padding-left: 25px; 
		padding-top: 0;
	}

	.tm-flex { 
		display: -ms-flexbox; 
		display: -webkit-box; 
		display: flex;
		-ms-flex-pack: center;
		    -webkit-box-pack: center;
		        justify-content: center;
	}

	.tm-2-col-textbox-2 {	
		margin-bottom: 0;
		margin-right: 30px;
		width: 100%;
	}

	.tm-2-col-textbox-2:last-child { margin-right: 0; }

	.categoryBlueLine ul li, .categoryRedLine ul li{
	height: 22px !important;
	}
}

@media only screen and (min-width: 992px) { /*DESKTOP*/

	.head-logo{
		width:450px;
		filter: drop-shadow(1px 1px 3px rgb(255, 255, 255));
	}

	.categoryBlueLine, .categoryRedLine{
		display:block !important;
		padding: 2px 50px 0 !important;
		z-index: 1003;
		position:relative;
	}
	.categoryBlueLine{
		margin-top: 0; /* -20px */
	}

	.productGroupsColumn{
		display: none !important;
	}

	.categoryBlueLine ul, .categoryRedLine ul{
	text-align: center !important;
	padding-left: 0 !important;
	}

	.cd-slider-nav{
		/* padding-top:15px; */
	}

	.cd-slider-nav .navbar-nav {
		background: transparent;
		display: -ms-flexbox;
		display: flex;
	}
/*
	.cd-slider-nav { height: var(--slider-nav-h-d); }
	.cd-nav-compens {height: var(--slider-nav-h-d);}
*/
	.cd-slider-nav .nav-item.selected .nav-link,
	.cd-slider-nav .nav-link:hover,
	.cd-slider-nav .nav-link:focus {
		height: 60px;
		background-color:transparent;
		color:var(--logo-blue-deep);
	}

	.cd-slider-nav a.navbar-brand { font-size: 2.5rem; } /* 3.5rem */

	.tm-navbar-bg { 
		padding-left: 25px; 
		padding-right: 0;
	}

	#tmNavbar {
    top: 0 !important;
    position: static !important;
	height: auto !important;	
  }

	.cd-slider-nav li {	
		display: inline-block; 
		width: auto;
		height: auto;
	}

	.cd-slider-nav a, 
	.navbar-nav .nav-link {
		/* height: var(--slider-nav-h-d); */
		width: 170px;
		color: var(--logo-blue-deep);
		display: table-cell;
		vertical-align: middle;
		font-size: 0.8em;
		padding: unset;
	}

	.cd-slider-nav a.navbar-brand {	/* margin-top: -20px; */}
	.grid-item { width: 33.3333%; }
	.grid-item-big { width: 50%; }
	.grid-item-square { width: 25%; }
}

@media only screen and (min-width: 1063px) {
	/*.cd-slider-nav { top: 0; }*/
	.cd-slider-nav nav { padding: 0; }
	.tm-contact-page { padding: 20px; }

	.cd-slider-nav a, 
	.navbar-nav .nav-link {
		width: 180px;
	}
}

@media only screen and (min-width: 1170px) {
	
	.cd-hero-slider h2 { margin-bottom: 0; }
	.cd-hero-slider h2.tm-header-margin-b { margin-bottom: 20px; }
	.cd-hero-slider p { margin-bottom: 30px; }	
	.cd-hero-slider p:last-child { margin-bottom: 0; }
	.cd-hero-slider .cd-full-width { padding-top: 0; }
	.cd-hero-slider .tm-text { font-size: 1.1em; }
	
}

@media only screen and (min-width: 1333px) {
	.cd-slider-nav a,
	.navbar-nav .nav-link {
		width: 180px;
	}
	.cd-slider-nav a.navbar-brand { font-size: 2.5rem; } /* 3.5rem */
	.tm-navbar-bg { padding-left: 30px; }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.tm-2-col-textbox-2 { margin-right: 15px; }	
}

@media only screen and (max-width: 800px) {
  .cd-bg-video-wrapper { 
  	/*background: url('../img/ekb-city-01.jpg') #000 no-repeat center center fixed; */
  	background-size: cover;
  }
  .cd-bg-video-wrapper video { display: none; }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
     .cd-bg-video-wrapper { 
	  	/*background: url('../img/ekb-city-01.jpg') #000 no-repeat center center scroll; */
	  	background-size: cover;
	  }
	  .cd-bg-video-wrapper video { display: none; }
}

.no-bg{
	background: none !important;
}

.bg-white{
		background: #ffffff !important;
}
.categoryBlueLine {
	background-color:#1A2D4B !important;
}
.categoryRedLine{
	background-color: var(--logo-red) !important;
}

.categoryBlueLine, .categoryRedLine{
	padding: 2px 18px 0 18px;
	color:#FFFFFF;
	font-size: 0.8rem;
	width:100%;
	display: block;
}

.categoryBlueLine ul, .categoryRedLine ul{
	display: flex;
	flex-wrap: wrap; /* Разрешает перенос элементов на следующую строку */
	justify-content: center; /* ⬅ Центрирует элементы в каждой строке */
	list-style: none;
	padding: 0;
  	margin: 0;
}

.categoryBlueLine ul li, .categoryRedLine ul li{
	margin: 0;
	padding: 0;
	height: 20px;
}

.categoryBlueLine li a, .categoryRedLine li a{

	display: inline-block;
  	width: max-content; /* Чтобы ссылка не растягивалась */
  	white-space: nowrap; /* Чтобы текст внутри ссылок не переносился */
	margin: 0 1rem;
	height: unset;

	text-decoration: underline;
	text-decoration-color: #FFF;
	text-decoration-thickness: 1px;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
	padding: 0;
}

ul.productGroupsColumn{
	/*background-color:#1A2D4B;*/
	color:#FFFFFF;
	display: flex;
	flex-direction: column;
	list-style-type: none;
	padding-bottom: 18px;
	font-size: 1.3rem;
}

.productColorSelected{
	background-color:#1A2D4B;
}

.productGroupsColumn li{
	margin-bottom:5px;
}

.productGroupsColumn li a{
text-decoration: none !important;
height: 10px;
padding-top: 0px;
}

.bg-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1); /* или любой другой цвет */
  z-index: 1;
  pointer-events: none;
}

.productBlock{
	min-height:100vh;
	color:#3e3d3d;
	position:relative;
	background-color: #FFF;
}
.productInfo{
	padding: 0 20px;
	font-size: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;  /* по вертикали */
	height: 100%;
	max-width: 72ch;
	/*margin-inline: auto;*/
}
.productInfo h1{
	font-weight:900;
	/* font-size: 1.4rem; */
	font-size: var(--step-3); line-height: 1.2;
	margin:0 -5px 30px;
	text-align: center;
	
}
.productInfo h2{
	/* font-size: calc(1.4rem + .6vw); /*font-size: 1.2rem;*/
	font-size: var(--step-2); line-height: 1.25;
}

.productInfo ul, .wide-section ul {
	list-style: none;
	padding-left: 0.6em;
}

.productInfo ul li {
  position: relative;
  padding-left: 0.5em;
  margin:8px 0;
}

.productInfo ul li a{
margin:0 !important;
}
.productInfo ul li ul{
  margin :0 !important;
}
.productInfo ul li ul{
  margin :0;
}
.productInfo ul li ul li{
  color:#000000 !important;
  margin:0;
}

.bw-product-img-container{
	padding:20px;
}
.bw-product-img{
	width:100%;
	height: auto;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bw-product-img:hover{
	transform: translateY(-6px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.productImgHor, .productImgVert {
  	display: none;
	padding-top: 26px;
}

.productImgHor img,
.productImgVert img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.productImgVert img{
	max-width: 624px;
}

.fade-in-color {
  filter: grayscale(100%);
  transition: filter 1s ease-in-out;
  will-change: filter;
}


.fade-in-color.loaded {
  filter: grayscale(0%);
  animation: flash 0.8s ease;
}

@media (max-width: 767.98px) {
  .productImgHor {
    display: block;
  }
	html {
    font-size: 14px;
  }
}

@media (min-width: 768px) {
	.productImgVert {
	display: block;
	}
}

@keyframes flash {
  0% {
    opacity: 1;
    filter: grayscale(0%) brightness(1);
  }
  50% {
    opacity: 0.9;
    filter: grayscale(0%) brightness(1.1);
  }
  100% {
    opacity: 1;
    filter: grayscale(0%) brightness(1);
  }
}

/* Product gallery*/
	.gallery-container{
		/*margin:var(--head-menu-line-h-d) 30px 0;*/
		background : #FFF;
		/*display: flex; без этого НЕ работает */
	}

	.gallery-column{
		padding-left: 40px;
	}
    .gallery-wrapper {
      	position: relative;
      	width: 100%;
		padding-bottom: 66.6667%; /* 2/3 от ширины = 3:2 соотношение */
		overflow: hidden;
		/* flex: 1;  без этого работает */
    }

	.gallery-wrapper:focus {
		outline: 2px solid #007bff;
	}

    .gallery-image {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover; /* или contain — если надо, чтобы всё влезало */
		transition: opacity 0.5s ease;
    }

    .gallery-image.active {
		display: block;
		opacity: 1;
		z-index: 1;
    }

	.gallery-wrapper:focus:not(:focus-visible),
	.gallery-image:focus:not(:focus-visible) {
		outline: none;
	}

    .gallery-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 2rem;
      cursor: pointer;
      color: var(--logo-red);
      background: rgba(255,255,255,0.7);
      padding: 0 10px;
      z-index: 2;
    }

	.gallery-nav:hover {
		background: rgba(255,255,255,0.9);
	}

    .gallery-nav.left {
      left: 0;
    }

    .gallery-nav.right {
      right: 0;
    }

    .thumbnail-links a {
      margin: 0 5px;
      cursor: pointer;
	  color: #264286;
	  text-decoration: none;
    }

    .thumbnail-links a {
	
	  	position: relative;
  		padding-left: 1em; /* место для треугольника */
    }

	.thumbnail-links a::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.5em;
		width: 0;
		height: 0;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 7px solid #264286; /* цвет треугольника */
	}

    /* Порядок на мобильных: галерея сверху */
    @media (max-width: 767px) {
		.productInfo{
			margin-top: 32px;
		}
		.gallery-container{
		/*margin:var(--head-menu-line-h-d) 20px 0;*/
		}
		.gallery-column {
			padding: 0;
		}
		.flex-row-responsive > div {
		width: 100%;
		}
    }

	@media (min-width: 768px) {

		.gallery-column {
			order: 2; /* галерея справа */
			height:100%;
		}

		.productInfo {
			order: 1; /* текст слева */
			height:100%;
		}
	}

    /* Поддержка flexbox, если Bootstrap alpha не добавил 
    .flex-row-responsive {
      display: flex;
      flex-wrap: wrap;
    }
	  Видимо, добавил */ 

.flex-row-responsive {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

ul .inline {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
  gap: 0.5rem; /* расстояние между элементами */
}

ul .inline li {
  display: inline-flex;
  align-items: center;
  line-height: 0.8;
  font-size: 0.85rem;
}

ul .inline li::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #333;
  border-radius: 50%;
  margin-right: 0.5rem;
}

.order-button {
  align-self: flex-start; /* можно заменить на center/right при необходимости */
  background-color: #264286 !important;
  color: white !important;
  border: none;
  border-radius: 0; /* нескругленные углы */
  padding: 10px 20px;
  font-size: 0.75rem !important;
  cursor: pointer;
  text-transform: uppercase;
  margin: 2rem auto;

}

.order-button:hover {
  background-color: #202f52 !important; /* немного темнее при наведении */
}

.categoryBlueLine, .categoryRedLine{
	text-transform: uppercase;
}
.categoryBlueLine a, .categoryRedLine a{
	color: #FFF;
	font-size: 0.8rem;
	text-transform: uppercase;
}

.categoryBlueLine .active {
  font-weight: bold;
/*  color: #FFF; */
  cursor: default;
/*  background-color: var(--logo-red); */
/*  padding: 0 6px !important; */
  margin-left:10px;
  display:inline-block;
}
.categoryBlueLine .active a {
  /*pointer-events: none;*/
  color: inherit;
  text-decoration: none;
}
.categoryRedLine .active {
  font-weight: bold;
}

@keyframes glow {
  0% { filter: drop-shadow(0 0 5px rgba(255,255,255,0.5)); }
  50% { filter: drop-shadow(0 0 15px rgba(255,255,255,1)); }
  100% { filter: drop-shadow(0 0 5px rgba(255,255,255,0.5)); }
}

@keyframes slideDown {
  from { top: -100%; }
  to { top: 0; }
}

.navbar-nav li.selected a {
  pointer-events: none;      /* отключаем кликабельность */
  cursor: default;   
}
.phone-link{
	color:#FFF;
	font-weight:800;

}
.productTitle{
	margin:0 auto 2em;
	text-align: center;
 }

 #gallery-description{
	position: relative;
	scroll-margin-top: -72px; /* оффсет для description при клике на кноки галереи*/
 }
 .desc-typed{
	padding:10px 10px 0;
	color:#1A2D4B;
	/*font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;*/
	font-style: italic;
  	letter-spacing: .01em;
 }

 #gallery-description .desc-sizer { 
  visibility: hidden;              /* занимает место, но не виден */
  white-space: pre-wrap;           /* переносы как в видимом тексте */
}
#gallery-description .desc-typed {
  position: absolute; left: 0; top: 0;
  white-space: pre-wrap;           /* то же форматирование */
}

.contact-link{
	border-bottom: 1px dashed white; 
	cursor:pointer;
	font-size: 1em;
	color:#fff;
}
.noborder{
	border-bottom: none !important;
}

.tm-bg-white-half-custom {
    background-color: white;
    width: 50%;
    height: 126px;
    position: relative;
    top: -155px;
    margin-left: 10px;
    z-index: -1;
}

.hor-center{
	position: relative; 
	left: 50%; 
	transform: translateX(-50%); 
}


.sliderX{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  isolation:isolate;      /* свой стек слоёв, меньше сюрпризов */
}

/* На случай глобальных * { transition: opacity } */
.sliderX::before,
.sliderX::after{
  transition:none !important;
}

.sliderX::before,
.sliderX::after{
  content:"";
  position:absolute; inset:0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

  opacity:0;
  animation:slideX 6s infinite both linear;
  will-change:opacity;
  backface-visibility:hidden;
  transform:translateZ(0);
}

.sliderX::before{ background-image:url("/img/bw-smart-steklo-off.jpg"); }
.sliderX::after { background-image:url("/img/bw-smart-steklo-on.jpg"); animation-delay:3s; }

/* короткий перекрёстный фейд (почти «щелчок», без пустоты) */
@keyframes slideX{
  0%, 48%  { opacity:1; }
  52%,100% { opacity:0; }
}

/***************breadcrumbs*****************/
.category-breadcrumbs{
	margin: -10px 0 12px 12px;
}
.breadcrumbs {  -size: 0.8em; }
.breadcrumbs ol li a {border-bottom: 1px dotted var(--logo-red);}
.bc-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; align-items:center;
}
.bc-item{ display:inline-flex; align-items:center; }

/* разделитель */
.bc-item + .bc-item::before{
  content:"›";
  margin:0 .5em;
  color:#1a2d4b;
}

/* первый (Каталог) — жирный, без ссылки */
.bc-root .bc-text{ font-weight:400; color:var(--logo-red); }

/* ссылки остальных */
.bc-link{
  font-weight:400; color:var(--logo-red); text-decoration:none;
}
.bc-link:hover,
.bc-link:focus-visible{ border-bottom: 1px dashed var(--logo-red);}

/* текущая страница — без ссылки, цвет как у ссылок */
.bc-current .bc-current-text{
  font-weight:400; color:var(--logo-red);
}
@media only screen and (max-width: 767px){
.category-breadcrumbs{margin: -10px 0 16px 0;}
.breadcrumbs { font-size: 0.9em }
.productTitle{margin:0 auto 1.6em;}
}

/******************************/

/******** shower-panel-video ******/
.video-row{
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* четыре в ряд */
  gap: 12px;
}
.tile{
  width: 100%;
  max-width: 180px;
  aspect-ratio: 1 / 1;   
  object-fit: cover;      /* заполняет карточку без чёрных полос */
  display: block;
  /* отключаем любые глобальные эффекты */
  transition: none !important;
}

@media (max-width: 900px){
  .video-row{ grid-template-columns: repeat(2, 1fr); }
}
/******** shower-panel-img ******/

/* Внешний блок с боковыми паддингами 12px */
.wide-section, .shower-section{
  box-sizing: border-box;
  padding: 20px !important;
  background: transparent;
}

.wide-section a, .shower-section a{
	color: rgb(38, 66, 134);
	font-weight: 400;
}

/* Сетка изображений */
.shower-grid{
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, 1fr);  /* десктоп: 4 в ряд */
  gap: 30px;                               /* расстояние между ячейками */
  margin: 40px 0;
}

/* Ячейка */
.shower-item{
  box-sizing: border-box;
  background: #fff;                         /* фон белый */
  border: 1px solid var(--logo-blue-deep);                /* тонкая серая рамка */
  padding: 8px;                             /* внутренний отступ ячейки */
}

/* Заголовок внутри ячейки */
.shower-title{
  text-align: center;                       /* центрирование текста */
  padding: 10px 0;                           /* сверху и снизу по 6px */
  margin: 0;                                /* без внешних отступов */
  font-size: 1em;
  color: var(--logo-blue-deep);
  line-height: 1.2;
  font-weight: 400;
}

/* Картинка */
.shower-item img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;                      /* квадрат */
  object-fit: cover;                         /* аккуратное заполнение */
}

/* Мобильная раскладка: 2 в ряд */
@media (max-width: 768px){
  .shower-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/******** shower-panel-img ******/

/******** FAQ *********/
/* Общая стилизация секции */
.faq {
  max-width: 800px;
  margin: 4rem auto;
  padding: 0 1.5rem;
}

.faq h3 {
  text-align: center;
  font-size: 1.75rem;
  font-weight: 400;
  margin-bottom: 2.5rem;
  position: relative;
}

/* Подчёркивание заголовка — фирменный цвет */
.faq h3::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: var(--logo-red);
  margin: 0.75rem auto 0;
}

/* Стили для details */
.faq details {
  margin-bottom: 1.5rem;
  background: #f8fbff; /* очень светлый голубой оттенок от --logo-blue-deep */
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.faq details:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

/* Стили summary */
.faq summary {
  padding: 1.25rem 1.5rem;
  font-weight: 400;
  font-size: 1.1rem;
  cursor: pointer;
  outline: none;
  position: relative;
  user-select: none;
  background: #ffffff; /* светло-голубой фон */
  border-bottom: 2px solid var(--logo-blue-deep); /* акцентная линия */
  transition: background 0.2s ease;
}

.faq summary:hover {
  background: #f0f4f8; /* светло-серый при наведении */
}

/* Убираем стандартную стрелку */
.faq summary::marker,
.faq summary::-webkit-details-marker {
  display: none;
}

/* Кастомная стрелка — плюс/минус */
.faq summary::after {
  content: '+';
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: var(--logo-blue-deep);
  transition: color 0.3s ease;
  font-weight: normal;
}

.faq details[open] summary::after {
  content: '−';
  color: var(--logo-red);
}

/* Открытый контент */
.faq details[open] summary {
  background: #f8fbff;
  border-bottom: none;
}

.faq details p {
  padding: 1.25rem 1.5rem;
  margin: 0;
  line-height: 1.7;
  font-size: 1rem;
  border-top: 2px solid var(--logo-blue-deep); /* акцентная линия сверху */
  background: white; /* чистый фон для контента */
}

/* Стиль для ссылки в конце — оставляем как есть, без изменения цвета шрифта */
.faq + p {
  text-align: center;
  margin-top: 2rem;
  font-size: 1rem;
}

.faq + p a {
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
  transition: border-color 0.2s ease;
}

.faq + p a:hover {
  border-color: var(--logo-blue-deep);
}

/* Анимация открытия */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.faq details[open] p {
  animation: slideDown 0.4s ease forwards;
}

/* Адаптивность */
@media (max-width: 768px) {
  .faq {
    margin: 2rem 1rem;
  }

  .faq h3 {
    font-size: 1.5rem;
  }

  .faq summary,
  .faq details p {
    padding: 1rem;
    font-size: 1rem;
  }

  .faq summary::after {
    right: 1rem;
    font-size: 1.25rem;
  }
}

.navbar-nav.ms-auto{
  max-width: 100%; /* или любое значение, которое оставит место логотипу */
  flex-shrink: 0; /* Не давай списку сжиматься */
  margin-right: 0;
  margin-left:0;
}

.navbar-brand img.head-logo {
  max-width: none;
}

.wide-section h3{
	margin: 10px 0;
}

/*  Синее-красное меню*/
.categoryBlueLine li.active,
.categoryRedLine  li.active{
  background: #fff !important;
  box-shadow: 0 3px 6px rgba(0,0,0,.18);
  border-radius: 0;      /* pill 999px */
  padding: 0 10px;
}
.categoryBlueLine li.active, .categoryBlueLine li.active a{ color: #1a2d4b; font-weight: 600;} /* на синем фоне */
.categoryRedLine li.active{ color:var(--logo-red); } /* на красном фоне */

.g-10px{ --bs-gutter-x:10px; --bs-gutter-y:10px; }
/* Вспомогательный стиль для ячеек (для наглядности) */
.demo-cell{height: 80px; padding: 0; display:flex; align-items:center; font-weight:600; }
.icon-big {
  width: 80px;
  height: 80px;
}

/* По умолчанию прячем оба */
.show-desktop,
.show-mobile {
  display: none !important;
}

/* Мобильные и планшеты: < 992px */
@media (max-width: 991.98px) {
  .show-mobile {
    display: flex !important; /* или block/flex/inline-block — как нужно */
  }
  .m-center{
	justify-content: center;
	justify-items: center;
  }
}

/* Десктоп: ≥ 992px */
@media (min-width: 992px) {
  .show-desktop {
    display: flex !important; /* или block/flex/inline-block — как нужно */
  }

  .category-grid {display: flex; align-items: stretch;}
}

.galleryHeader{
	text-transform: uppercase;
	font-size: 1.3em;
	font-weight: 600;
	text-align: center;
	margin-bottom: 0.4em;
	color: var(--logo-red);
}
.galleryH::before {
  content: "Галерея продукции";
}
.galleryH {
  cursor: pointer;
}:root{
  --cp-gap: 6px;
  --cp-size: 52px;
  --cp-z: 5000;
  --cp-pad: 10px;

  --cp-bg: linear-gradient(180deg,#f6f7fb, #e9ecf5);
  --cp-shadow: 0 6px 12px rgba(74, 72, 72, 0.815);
  --cp-border: rgba(255,255,255,.6);

  --cp-color: #FFF; /* #1e1e1e;*/
  --cp-call: #ED3237; /*linear-gradient(180deg,#2ea6ff,#0b6dff);*/
  --cp-wa:   #078909; /*linear-gradient(180deg,#4de07a,#25d366);*/
  --cp-mail: #264286; /*linear-gradient(180deg,#ff9a76,#ff6a3d);*/
}

/* базовая сетка кнопок */
.contact-panel{
  position: fixed;                       /* мобильное поведение по умолчанию */
  right: max(var(--cp-gap), env(safe-area-inset-right));
  bottom: calc(var(--cp-gap) + env(safe-area-inset-bottom));
  z-index: var(--cp-z);
  display: flex;
  flex-direction: column;   /* горизонтально */
  gap: var(--cp-gap);
}

.cp-btn{
  width: var(--cp-size);
  height: var(--cp-size);
  border-radius: 50%;
  display: grid; place-items:center;
  background: var(--cp-bg);
  box-shadow: var(--cp-shadow);
  border: 1px solid var(--cp-border);
  color: var(--cp-color);
  text-decoration: none;
  position: relative;
  transition: transform .18s ease, filter .18s ease;
  will-change: transform;
  cursor: pointer;
}
.cp-btn:hover { transform: translateY(-2px); }
.cp-btn svg { display: block; width: 24px; height: 24px; }

/* фирменные заливки по типам */
.cp-call { order: 2; background: var(--logo-red);/*var(--cp-call);*/ color:#fff; }
.cp-wa   { order: 1; background: var(--cp-wa);   color:#0b4e2a; }
.cp-mail { order: 3; background: var(--logo-blue-deep);/*var(--cp-mail);*/ color:#fff; }

/* ровно для WhatsApp-кнопки */
.cp-btn svg { display:block; overflow:visible; } /* на всякий случай */
.cp-btn svg * {
  stroke: currentColor !important;
  stroke-width: 0.2 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;                         /* если контурная версия */
}

/* тултипы с текстом на десктопе */
.cp-label{
  position: absolute;
  right: calc(100% + 8px);
  top: 50%; transform: translateY(-50%);
  background: rgba(20,20,20,.9);
  color:#fff;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  opacity: 0; pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}
.cp-btn:hover .cp-label,
.cp-btn:focus-visible .cp-label{
  opacity: 1; transform: translate(-2px,-50%);
}

/* десктопное позиционирование */
@media (min-width: 992px){
  .contact-panel{
    bottom: auto;                        /* больше не у нижнего края */
    right: max(var(--cp-gap), env(safe-area-inset-right));
  }
  /* режим: в правом верхнем углу */
  .contact-panel.fixed-top-right{
    top: max(var(--cp-gap), env(safe-area-inset-top));
  }
  /* режим: ниже навигации (top задаём инлайном через JS) */
  .contact-panel.below-nav{
    top: var(--cp-top, 120px);
  }
}

/* (опционально) стек Glass: активируй заменой класса contact-theme-solid -> contact-theme-glass */
.contact-theme-glass .cp-btn{
  background: rgba(255,255,255,.25);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.35);
}

/* (опционально) минимализм Outline */
.contact-theme-outline .cp-btn{
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* 1) привязываем заливку иконки к текущему текстовому цвету элемента */
.contact-panel .cp-btn svg,
.contact-panel .cp-btn svg path {
  fill: currentColor;   /* для заливочных иконок */
}


/* если иконки контурные (stroke) , дополнительно */
.contact-panel .cp-btn svg *,
.contact-panel .cp-btn svg path {
  stroke: currentColor; /* для контурных иконок */
}

.contact-panel .cp-btn { color: #fff; }

/* по умолчанию считаем мобильным */
.cp-call--desktop { display: none; }
.cp-call--mobile  { display: grid; }  /* как у .cp-btn */

@media (min-width: 992px){
  .cp-call--desktop { display: grid; }
  .cp-call--mobile  { display: none; }
}


/********** Обратный звонок **********/
/* Блокируем прокрутку фона, когда модалка открыта */
html.modal-open, body.modal-open { overflow: hidden; }

/* База модалки */
.modal{ position: fixed; inset: 0; display: none; z-index: 2000; }
.modal.is-open{ display: block; }

.modal__backdrop{
  position: absolute; inset: 0; background: rgba(0,0,0,.45);
  opacity: 0; transition: opacity .2s ease;
}
.modal.is-open .modal__backdrop{ opacity: 1; }

.modal__dialog{
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%,-46%); /* чуть выше для оптики */
  width: min(92vw, 520px);
  background: #fff; 
  color: #111;
  border: none !important;
  border-radius: 0 !important; /*16px;*/
  outline: none;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 20px 20px 22px;
  opacity: 0; transition: opacity .2s ease, transform .2s ease;
}
.modal__dialog:focus:not(:focus-visible) { outline: none; }

/* аккуратная обводка для клавиатуры (можно убрать, если не нужна) */
.modal__dialog:focus-visible {
  outline: 2px solid rgba(0,0,0,.25);
  outline-offset: 4px;
}

.modal.is-open .modal__dialog{ opacity: 1; transform: translate(-50%,-50%); }

.modal__close{
  position: absolute; right: 10px; top: 10px;
  width: 36px; height: 36px; border-radius: 0; /*8px;*/
  background: #f2f2f2; border: none; cursor: pointer;
  font-size: 20px; line-height: 1; color: #333;
}
.modal__close:hover{ background:#e8e8e8; }
.modal__lead{ margin: 6px 0 16px; color:#666; }

/* Форма */
.form__row{ margin-bottom: 12px; }
.form__label{ display:block; font-size:14px; color:#333; margin-bottom: 6px; }
.form__input{
  width:100%; padding:12px 14px; border-radius:0; /*10px;*/
  border:1px solid #ddd; outline: none; font-size:16px;
}
.form__input:focus{ border-color:#264286; box-shadow:0 0 0 3px rgba(66,133,244,.15); }
.form__errors{ color:#ED3237; font-size: 14px; min-height: 1.2em; margin: 6px 0 10px; }

.btn-callback{ margin:0 auto; display:block; padding:10px 14px; border-radius:0; /*10px;*/ border:1px solid #ddd; background:#fff; }
.btn-primary{ background:#ED3237; color:#fff; border-color:#ED3237; }
.btn-primary:hover{ filter: brightness(1.05); }

/* Сообщение “успешно” */
.modal__success{ font-size:16px; color:#078909; margin-top: 6px; text-align: center; white-space: pre-line;}

.hp-field {
  position: absolute !important;
  left: -10000px !important; top: auto !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important; opacity: 0 !important;
}

/* Анимации off для reduced motion */
@media (prefers-reduced-motion: reduce){
  .modal__backdrop, .modal__dialog{ transition:none; }
}

/* 2 колонки 50/50 */
.form__row--2col{
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 50% / 50% */
  gap: 12px;
  margin-bottom: 12px;              /* как у .form__row */
}

/* убираем лишний отступ у внутренних label */
.form__row--2col > .form__label { margin-bottom: 0; }

/* на узких экранах — в колонку (опционально) */
@media (max-width: 575.98px){
  .form__row--2col{ grid-template-columns: 1fr; }
}



 /******************************************/
