/*@font-face {font-family: 'Inter';src: url('Inter.ttf') format('truetype');font-weight: normal;font-style: normal;}*/
@font-face {
    font-family: 'Grtsk Exa';
    src: local('Grtsk Exa Regular'), local('Grtsk-Exa-Regular'),
        url('GrtskExa-Regular.woff2') format('woff2'),
        url('GrtskExa-Regular.woff') format('woff'),
        url('GrtskExa-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
  }
html, body {margin: 0px; padding: 0px; width:100%; height:100%}
/*body {font-family: 'Overpass', sans-serif !important; font-size:2vh;}*/

body {font-family: 'Grtsk Exa', sans-serif !important; font-size:2vh;}
a{text-decoration:none;color:#000;}
.a-0:hover{text-decoration:none;color:#000;}
.a-1:hover{text-decoration:none;color:#FFF;}
.autoscrolly{overflow-y:auto;}

.bg-1{background:linear-gradient(to top, #F4F4F4, #f5f5f500);}

.bgc-0{background-color:#000000;}
.bgc-1{background-color:#FFFFFF;}
.bgc-2{background-color:#224482;}
.bgc-3{background-color:#42485a;}
.bgc-4{background-color:#e9e9e9;}
.bgc-5{background-color:#f8f9fb;}
.bgc-6{background-color:#e9ecef;}
.bgc-7{background-color:#1483B3;}
.bgc-8{background-color:#b9d5fd;}
.bgc-9{background-color:#F00F00;}
.bgc-10{background-color:#16213f;}


.bgca-0-25{background-color:rgb(0 0 0 / 25%);}

.bgca-0-50{background-color:rgb(0 0 0 / 50%);}

.bgca-0-65{background-color:rgb(0 0 0 / 65%);}

.bgca-0-95{background-color:rgb(0 0 0 / 95%);}

.bgca-1-20{background-color:rgb(255 255 255 / 20%);}
.bgca-1-50{background-color:rgb(255 255 255 / 50%);}

.bgca-1-65{background-color:rgb(255 255 255 / 65%);}

.bgca-1-95{background-color:rgb(255 255 255 / 95%);}



.bgi-1{background-repeat:no-repeat; background-size:cover;background-position:center;}

.bgi-2{background-repeat:no-repeat; background-size:contain;background-position:top;}

.bgi-3{background-repeat:no-repeat; background-size:cover;background-position:top center;}

.bgi-4{background-repeat:no-repeat; background-size:cover;background-position:top center;background-attachment: fixed;}

.bgi-5{background-repeat:no-repeat; background-size:contain;background-position:center;}



.blur-10{backdrop-filter: blur(10px);}



.brd-1{border-top: 1px solid #FFC41A;}

.brd-2{border: 1px solid #66c05d;}



.anim-1{transition: all .4s ease;box-shadow: 0px 30px 40px rgb(0 0 0 / 0%);}

.anim-2{animation: bounce 2s infinite;}



.arr{color:#FFFFFF; right:0%; top:35%;animation: arr 1s linear infinite;}



@keyframes arr{0% {right:0;top: 35%;} 50% {right:10px;top: 35%;} 100% {right:0;top: 35%;}}



.blink {

  -webkit-animation: 3s linear infinite condemned_blink_effect; /* for Safari 4.0 - 8.0 */

  animation: 3s linear infinite condemned_blink_effect;

}



/* for Safari 4.0 - 8.0 */

@-webkit-keyframes condemned_blink_effect {

  0% {opacity: 0;}

  10% {opacity: 1;}

  90% {opacity: 1;}

  100% {opacity: 0;}

}



@keyframes condemned_blink_effect {

  0% {opacity: 0;}

  10% {opacity: 1;}

  90% {opacity: 1;}

  100% {opacity: 0;}

}



@keyframes bounce {

      0%, 20%, 50%, 80%, 100% { transform: translateY(0); }

      40% { transform: translateY(-10px); }

      60% { transform: translateY(-5px); }

    }



.box-centr{top:50%; left:50%; transform:translate(-50%, -50%);}



.clr-0{color:#000000;}
.clr-1{color:#FFFFFF;}
.clr-2{color:#224482;}
.clr-3{color:#42485a;}
.clr-4{color:#1483B3;}
.clr-5{color:#1e7804;}
.clr-6{color:#b5b5b5;}
.clr-7{color:#66c05d;transition: all .3s ease;}
.clr-8{color:#F00F00;}
.clr-9{color:#fce815;}
.clr-10{color:#26b8c5;}
.clr-11{color:#c9d0e2;}
.clr-12{color:#7f97d6;}


.cur{cursor:pointer;}



.dspno{display:none;}



.focus-border-remove:focus-visible {border-color: transparent}



.fs-vw-3{font-size: 3vw;}
.fs-vh-3{font-size: 3vh;}
.fs-12{font-size:1.5vh;}
.fs-18{font-size:2vh;}
.fs-12px{font-size:12px;}
.fs-12px{font-size:13px;}
.fs-15px{font-size:15px;}
.fs-22px{font-size:22px;}



.hov-1{transition: background-color 1s ease-in-out;}
.hov-1:hover{background-color: #FFC41A;}

.hov-2{transition: background-color 0.5s ease-in-out, color 0.2s ease-in-out, box-shadow 0.6s ease-in-out;}
.hov-2:hover{color:#FFFFFF; background-color:#224482;box-shadow: 0 0 67px #9cbfff; box-shadow: 0 0 67px #9cbfff;}

.hov-3{background-color: transparent;transition: background-color 1s ease-in-out, color 1s ease-in-out;}
.hov-3:hover{background-color: #1483B3; color:#FFFFFF;}

.hov-4{transition: transform 0.3s ease;}
.hov-4:hover{transform: scale(1.2); transition-timing-function: cubic-bezier(0.47,2.02,.31,-.36); color:#FFFFFF;}

.hov-5 .bgi-1{transition: transform 0.3s ease;}
.hov-5:hover .bgi-1{transform: scale(0.95);}

.hov-6:hover{background-color: #1483B3;}

.hov-7 {transition: transform 0.3s ease, border-color 0.3s ease; border-bottom: 2px solid #ccc;}
.hov-7:hover{color:#224482;border-color: var(--bs-primary);}

.hov-8{transition: background .18s ease, transform .18s ease;}
.hov-8:hover{background:#2a447e; transform: translateY(-2px);}

.hov-9{transition: background-color .5s ease-in-out;}
.hov-9:hover{background-color: #ededed;}

.active-list{border-color: var(--bs-primary);color:#224482;}

.h-20-vh{height: 20vh;}
.h-80-vh{height: 80vh;}

.line-height-1{line-height:1.17}
.line-height-2{line-height:1.55}
.line-height-3{line-height:1.1}

.mt-vh-8{margin-top: 8vw;}

.noclk{pointer-events: none;}

.puls-green {animation: glowing 5000ms infinite;}

@keyframes glowing {
0% { background-color: #224482; box-shadow: 0 0 5px #224482; }
50% { background-color: #4E7DD3; box-shadow: 0 0 20px #4E7DD3; }
100% { background-color: #224482; box-shadow: 0 0 5px #224482; }
}

.puls-red {animation: reds 3000ms infinite;}
@keyframes reds {
0% {}
50% {transform: scale(1.1);}
100% {}
}

.ts-1{text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.51);}

.top-25{top:25%}

.vh-5 { height: 5vh; }
.vh-10 { height: 10vh; }
.vh-15 { height: 15vh; }
.vh-20 { height: 20vh; }
.vh-25 { height: 25vh; }
.vh-30 { height: 30vh; }
.vh-35 { height: 35vh; }
.vh-40 { height: 40vh; }
.vh-45 { height: 45vh; }
.vh-50 { height: 50vh; }
.vh-55 { height: 55vh; }
.vh-60 { height: 60vh; }
.vh-65 { height: 65vh; }
.vh-70 { height: 70vh; }
.vh-75 { height: 75vh; }
.vh-80 { height: 80vh; }
.vh-85 { height: 85vh; }
.vh-90 { height: 90vh; }
.vh-95 { height: 95vh; }

.w-vw-8{width: 8vh;}

.zind-1{z-index:50;}

#modal_form{solid #000;opacity:0;z-index:2001;transform:translate(-50%, -50%);top:50%; left:50%;}
#overlay{z-index:2000;opacity:0.8;filter:alpha(opacity=80);top:0;left:0;}

/* ===== Мобильная версия (экраны до 768px): плашки разделов, кнопки, карточки, формы ===== */
@media (max-width:768px){
  html,body{overflow-x:hidden}
  img{max-width:100%;height:auto}
  /* плашки разделов: по 2 в ряд, текст по размеру плашки */
  .px-5:has(a.hov-5){padding-left:6px !important;padding-right:6px !important}
  .row:has(> div > a.hov-5){padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}
  div[class*="col-"]:has(> a.hov-5){flex:0 0 50% !important;max-width:50% !important;width:50% !important;padding-left:6px !important;padding-right:6px !important;margin-left:0 !important;margin-right:0 !important}
  div.col-12:has(> a.hov-5){flex:0 0 100% !important;max-width:100% !important;width:100% !important}
  a.hov-5{width:100% !important;max-width:100% !important;height:auto !important;min-height:150px;aspect-ratio:1/1;overflow:hidden}
  div.col-12:has(> a.hov-5) > a.hov-5{aspect-ratio:auto;min-height:160px}
  a.hov-5 .h2,a.hov-5 .h3,a.hov-5 h2,a.hov-5 h3{font-size:14px !important;line-height:1.25 !important;padding:12px 8px !important;margin:0 !important;overflow-wrap:break-word;word-break:normal}
  /* кнопки «Назад», «На главную», «Вернуться к списку» */
  .col-6 > a.d-block.col-6{width:100% !important;font-size:16px !important;line-height:1.25;padding:10px 6px !important;overflow-wrap:break-word}
  /* карточка товара: фото и описание друг под другом */
  .row.mx-auto.py-5 > .col-6.position-relative,.row.mx-auto.py-5 > .col-6.text-start{flex:0 0 100% !important;max-width:100% !important;width:100% !important}
  .row.mx-auto.py-5 > .col-6.text-start > .col-6.mx-auto{width:100% !important;max-width:320px}
  .row.mx-auto.py-5 .carousel-item{height:300px !important}
  .row.mx-0 > .col-4 > .col-12.text-center{font-size:13px;padding-left:4px;padding-right:4px}

  /* всплывающие формы (заявка на расчёт, параметры, сообщение): в одну колонку */
  #modal_form{left:0 !important;right:0 !important;top:0 !important;width:100% !important;max-width:100% !important;max-height:100% !important;height:100% !important;margin:0 !important;padding:12px !important;border-radius:0 !important;transform:none !important;box-sizing:border-box}
  #modal_form .row{margin-left:0 !important;margin-right:0 !important}
  #modal_form [class*="col-"]{flex:0 0 100% !important;max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important}
  #modal_form h1,#modal_form .h1,#modal_form h2,#modal_form .h2,#modal_form .display-4,#modal_form .display-5,#modal_form .fs-1{font-size:20px !important;line-height:1.25 !important}
  #modal_form h3,#modal_form .h3,#modal_form h4,#modal_form .h4,#modal_form .fs-2,#modal_form .fs-3{font-size:18px !important;line-height:1.3 !important}
  #modal_form .fs-4,#modal_form .fs-5,#modal_form label{font-size:16px !important;line-height:1.35 !important}
  #modal_form input:not([type="checkbox"]):not([type="radio"]),#modal_form textarea,#modal_form select{width:100% !important;max-width:100% !important;font-size:16px !important;box-sizing:border-box}
  #modal_form input[type="checkbox"]{flex:none;width:20px !important;height:20px !important}
  #modal_form button,#modal_form [type="submit"],#modal_form .btn{max-width:100%;white-space:normal}
  #modal_form *{overflow-wrap:break-word}

  /* пока открыта форма — прячем кнопку виджета и бегунок */
  body:has(#modal_form[style*="display: block"]) .vp-ct,body:has(#modal_form[style*="display:block"]) .vp-ct,body:has(#overlay[style*="display: block"]) .vp-ct,body:has(#modal_form:not(.dspno)) .vp-ct{display:none !important}

  /* заголовки и таблицы */
  h1.ps-5{padding-left:16px !important;padding-right:16px !important}
  .vp-tbl{font-size:14px}
  .vp-tbl th{width:45%}
  .vp-tbl td,.vp-tbl th{padding:6px 8px;overflow-wrap:break-word}
}