/*
 ________  __       __       __    __  _____      __
|   __   ||  |     /  \     |  |  |  ||  __ \    |  |
|  |__|  ||  |    /    \    |  |\ |  || |__) |   |  |
|   _____||  |   /  /\  \   |  | \|  ||      /   |  |____ ___      ___
|  |      |  |  /  /__\  \  |  |\ |  ||  __  \   |  ___  |\  \    /  /
|  |      |  | /  /    \  \ |  | \|  || |__)  |_ | |___| | \  \__/  /
|__|      |__|/__/      \__\|__|  |__||_______(_)|_______|  \      /
                                                            _|    /
                                                           |     /
                                                           |____/
*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,meter,nav,object,ol,output,p,pre,progress,q,rp,rt,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video,xmp{border:0;margin:0;padding:0;font-size:100%}body,html{height:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}b,strong{font-weight:700}img{color:transparent;font-size:0;vertical-align:middle;max-width:100%;max-height:100%;width:auto;height:auto;-ms-interpolation-mode:bicubic}ol,ul{list-style:none}li{display:list-item}table{border-collapse:collapse;border-spacing:0}caption,td,th{font-weight:400;vertical-align:top;text-align:left}q{quotes:none}q:after,q:before{content:'';content:none}small,sub,sup{font-size:75%}sub,sup{line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg{overflow:hidden}.clear,.clr{display:block;clear:both;overflow:hidden;line-height:0!important;height:0!important;font-size:0;margin:0;padding:0}.clearfix:after,.clearfix:before{content:"";display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both}.clearfix{zoom:1}html{overflow-x:hidden}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}address,dl,fieldset,figure,hr,ol,p,pre,table,ul{margin-top:0}video,iframe{max-width: 100%;}

/* Show Once ---------------------- */
    *[data-show-once-id]:not(.hystmodal) {display: none;}


/* HYST MODAL ---------------------- */
    .hystmodal img { width: auto;height: auto; }
    /* right & left orientation ---------------------- */
        .hystmodal-right .hystmodal__window, 
        .hystmodal-left .hystmodal__window{margin: 0;}
        
        .hystmodal-right .hystmodal__wrap {align-items: end;}
        .hystmodal-right .hystmodal__close {left: -40px;}
        
        .hystmodal-left .hystmodal__wrap {align-items: start;}
    
    /* wide ---------------------- */
        #myModal-wide .hystmodal__window {width: 1000px;}
        #modal-order-confirmation .hystmodal__window {width: 650px;}
    
    /* custom view & animaion ---------------------- */
        /* default ---------------------- */
            .hystmodal__wrap {perspective: 1000px;}
            .hystmodal:not(.hystmodal-right):not(.hystmodal-left) .hystmodal__window {transform: rotateX(10deg) translate(0, 50px) scale(.9);transition: .5s;}
            .hystmodal--active:not(.hystmodal-right):not(.hystmodal-left) .hystmodal__window {transform: translate(0, 0);}
        
        /* right & left ---------------------- */
            .hystmodal-right .hystmodal__window {transform: translate(100px, 0); opacity: 1;}
            .hystmodal-left .hystmodal__window {transform: translate(-100px, 0); opacity: 1;}
            .hystmodal-right.hystmodal--active .hystmodal__window,
            .hystmodal-left.hystmodal--active .hystmodal__window{transform: translate(0, 0)}

/* PlanB Modal ---------------------- */
    /*behavior*/
        .fon_modal {z-index: 10001;top: 0;left: 0;bottom: 0;right: 0;position: fixed;display: none;}
        .modalwrapper {-webkit-overflow-scrolling: touch;perspective: 1000px;overflow-y: scroll;z-index: 1000;top: 0;right: 0;width: 100%;height: 100%;display: none;position: fixed;}
        .modal {left: 50%;transform: translate(-50%, 0%) rotateX(50deg) scale(.6);bottom: auto;opacity: 0;z-index: 10002;box-sizing: border-box;transition: 1s;display: none;position: absolute;}
        .modal.poehali {transform: translate(-50%, -50%);opacity: 1;margin-top: 0;}
        .modal .close_modal {position: absolute;z-index: 999999;text-align: center;cursor: pointer;transition: .5s;}

    /*modal width & position*/
        .modal {width: 600px;top: 50%;}
        .modal.poehali {transform: translate(-50%, -50%);opacity: 1;margin-top: 0;}

    /*style*/
        .modalwrapper {-webkit-backdrop-filter: blur(18px);backdrop-filter: blur(18px);background: rgb(0 0 0 / 15%);}
        .modal {background: #fff;border-radius: 5px;padding: 40px;}
        .modal .close_modal {right: 10px;top: 10px;color: var(--textcolor);background: transparent;width: 35px;height: 35px;line-height: 35px;font-size: 30px;border-radius: 5px;}
        .modal .close_modal:hover {transform: rotate(90deg);}
        .modal h3 {font-weight: 700;font-size: 20px;text-transform: uppercase;line-height: 24px;padding: 20px 0 0;}
        .modal h3, .modal p {color: var(--textcolor)}
        .fon_image img {max-height: 200px;width: auto;display: block;margin: 0 auto;border-radius: 10px;}

/* Список - галочки  ---------------------- */
    ul.check-list {margin: 15px 0}
    ul.check-list li {list-style-type: none;padding-left: 40px;position: relative;margin-bottom: 5px;margin-left: 0;}
    ul.check-list li:before {background: url(/assets/images/icons/check_black.png) 50% 50%/15px no-repeat;left: 12px;top: 7px;width: 15px;height: 15px;position: absolute;content: "";display: inline-block;}
    
/* Список кружочки  ---------------------- */
    ul.circle-list {margin: 15px 0}
    .circle-list li {list-style-type: none;margin-bottom: 8px;position: relative;}
    .circle-list li:before {right: calc(100% + 10px);top: 10px;border: 2px solid var(--maincolor);width: 8px;height: 8px;border-radius: 100px;position: absolute;display: block;content: '';}

/* ol li customization ---------------------- */
    ol.numbered {counter-reset: myCounter;margin: 15px 0}
    ol.numbered li {margin-bottom: 5px;list-style-type: none;padding-left: 10px;position: relative;}
    ol.numbered li:before {background:var(--maincolor);color: #fff;counter-increment:myCounter;content:counter(myCounter);position:absolute;left: -30px;top:-2px;display:inline-block;text-align:center;margin:5px 10px;width:17px;height:17px;line-height:17px;border-radius:20px;font-size:.7em}

/* Fancybox  ---------------------- */  
    a[data-fancybox] {position: relative;display: block;}
    a[data-fancybox]:after {background: url(/assets/images/icons/zoom_white.png) 50% 50%/20px no-repeat, #00000024;display: block;content:"";position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;transition:.5s;}
    a[data-fancybox]:hover:after {opacity: 1;}

/* Breadcrumbs  ---------------------- */  
    ul.breadcrumb {font-size: .8em;width: 100%;margin: 0;padding: 10px 0;box-sizing: border-box;margin-top: 5px;}
    .breadcrumb li {display: inline-block;line-height: 1.2;list-style-type: none;padding-left: 0 !important;margin-bottom: 0 !important;margin-left: 0 !important;margin-right: 3px;color: #464646;}
    .breadcrumb li a {color: #464646;}


/* OWL Carousel  ---------------------- */  
    /* arrows 1 */
        .owl-arrows1 .owl-nav button {width: 30px !important;height: 30px !important;line-height: 30px !important;font-size: 0 !important;border-radius: 50px;top: 50%;transform: translateY(-50%);outline: none;position: absolute;}
        .owl-arrows1 .owl-nav .owl-prev {left: 5px;background: url(/assets/images/icons/arrow_left_black.png) 50% 50%/100% no-repeat !important;}
        .owl-arrows1 .owl-nav .owl-next {right: 5px;background: url(/assets/images/icons/arrow_right_black.png) 50% 50%/100% no-repeat !important;}

    /* arrows 2 */
        .owl-arrows2 {padding: 0 40px;margin: 0;box-sizing: border-box;}
        .owl-arrows2 .owl-prev, 
        .owl-arrows2 .owl-next {background: var(--maincolor2) !important;color: #fff !important;height: 30px;width: 30px;border-radius: 100px;padding: 0;box-sizing: border-box;font-size: 0;position: absolute;transition: 0.3s;top: 50%;transform: translateY(-50%);outline: none;}
        .owl-arrows2 .owl-prev {left: 0px}
        .owl-arrows2 .owl-next {right: 0px;}
        
        .owl-arrows2 .owl-next.disabled,
        .owl-arrows2 .owl-prev.disabled {background: var(--grey) !important;}
    
    /* arrows 3 */
        .owl-arrows3 .owl-nav {top: -50px;right: 0;position: absolute;}
        .owl-arrows3 .owl-nav button {width: 40px;height: 40px;line-height: 40px !important;background: var(--maincolor2) !important;color: #222 !important;border-radius: 5px;margin-left: 10px;outline: none;}
        .owl-arrows3 .owl-nav button.disabled {background: var(--grey) !important;color: #222 !important;cursor: initial;}
        
    /* dots 1 */
        .owl-dots1 .owl-dots {margin-top: 10px;text-align: center;}
        .owl-dots1 .owl-dots button {background: var(--grey) !important;width: 10px;height: 10px;margin: 0 4px;border-radius: 30px;transition: .2s;outline: none;display: inline-block;}
        .owl-dots1 .owl-dots button.active, 
        .owl-dots1 .owl-dots button:hover {background: var(--maincolor) !important}
    
    /* dots 2 */
        .owl-dots2-wrapper {text-align: center;line-height: 10px;}
        .owl-dots2 .owl-dots {border-radius: 25px;text-align: center;line-height: 0;position: absolute;z-index: 1;bottom: 15px;left: 50%;transform: translateX(-50%);}
        .owl-dots2 button {right: 0;transform: none;top: 0;height: 100%;background: var(--maincolor2) !important;width: 50px;opacity: 0.5;transition: .5s;z-index: 2;}
        .owl-dots2 button.active, 
        .owl-dots2 button:hover {background: var(--maincolor) !important;}
    
/* TABLE  ---------------------- */  
    .table{max-width:100%;overflow-x:auto;width: 100%;}
    .table table {width: 100%}
    .table::-webkit-scrollbar {width: 5px;height: 5px;background: var(--maincolor);}
    .table::-webkit-scrollbar-track {background: transparent;}
    .table::-webkit-scrollbar-thumb {background-color: var(--grey);border-radius: 10px;}
    
    .table tr {border-bottom: 1px solid #f3f4f4;text-align: center;}
    .table tr:last-child {border: none;}
    .table td {padding: 5px 10px;color: var(--textcolor);vertical-align: middle;text-align: left;width: auto !important;height: auto !important;}
    .table td:last-child, .table th:last-child {text-align: right;}
    .table tr th {font-weight: 600;padding: 5px 10px;background: var(--maincolor);color: #fff;}

/* TABS  ---------------------- */  
    .tabs__content {display: none;}
    .tabs__content.active {display: block;width: 100%;}
    .tabs__content ul.colors_ral li {list-style: none;margin-left: 0;}
    .tabs__caption {margin-bottom: 0;list-style-type: none;overflow: hidden;border-bottom: 1px solid var(--sky)}
    .tabs__caption>li {font-weight: 400;padding: 15px 0;display: inline-block;margin: 0;border-right: 1px solid var(--sky);position: relative;text-align: center;box-sizing: border-box;cursor: pointer;transition: .5s;}
    .tabs__caption>li:last-child {border-right: none;}
    .tabs__caption>li.active {background: var(--maincolor);color: #fff;}
    .tabs__caption>li:nth-child(2) {margin-right: 0;}
    .tabs__caption>li:hover {background: var(--maincolor);color: #fff;}
    

    .tabs__content {padding: 20px;box-sizing: border-box;}
    .tabs__caption {display: table;width: 100%;}
    .tabs__caption > li {display: table-cell;}
    
    .slides .owl-stage-outer, .showmore .owl-stage-outer {padding: 8px 0;}
    
/* Icons Docs pdf docx xls  ---------------------- */     
a[href$=".pdf"].icon-file, 
a[href$=".doc"].icon-file, 
a[href$=".docx"].icon-file,
a[href$=".xls"].icon-file{position: relative;font-size:1.5rem;color: var(--maincolor2);font-weight: 600;border-radius: 10px;display: inline-block;margin-bottom: 20px;padding: 20px 40px 20px 60px;background: var(--grey) url(/assets/images/icons/files/pdf-file.png) 15px/30px no-repeat;background-size: 30px 30px;transition: .5s;}
a[href$=".doc"].icon-file, 
a[href$=".docx"].icon-file  {background: var(--grey) url(/assets/images/icons/files/docx-file.png) 15px 25px/30px no-repeat;background-size: 30px 30px;}
a[href$=".xls"].icon-file  {background: var(--grey) url(/assets/images/icons/files/xls-file.png) 15px 25px/30px no-repeat;background-size: 30px 30px;}

/* Before Line  ---------------------- */ 
    .before-line {position: relative;color: var(--hcolor);padding: 0 0 0 130px;}
    .before-line:before {display: inline-block;height: 2px;width: 100px;background: var(--hcolor);content: "";position:  absolute;top: 50%;transform: translateY(-50%);left: 0;}

/* Full width block  ---------------------- */ 
    .fw {position: relative;}
    .fw:before,.fw:after {content: '';display: block;background: inherit;position: absolute;height: 100%;width: 10000px;top: 0;}
    .fw:before{right: 100%;} .fw:after{left: 100%;}
    
/* HR Shadow  ---------------------- */     
    .hr-shadow{position:relative;overflow:hidden;height:25px}.hr-shadow:after{position:absolute;content:'';z-index:1;height:20px;top:-20px;left:50%;width:100%;margin-left:-50%;-webkit-border-radius:200px/10px;-moz-border-radius:200px/10px;border-radius:200px/10px;box-shadow:0 0 30px rgba(0,0,0,.28)}

/* Sweet Alert  ---------------------- */  
    .swal2-container {width: 35rem !important;}
    .swal2-popup.swal2-toast {padding: 2rem !important;font-size: 2rem !important;}
    h2#swal2-title {font-size: 1.5rem;line-height: 1.5rem !important;}
    .swal2-html-container {font-size: 1.5rem !important;line-height: 1.5rem !important;}
    html.swal2-shown,body.swal2-shown {height: auto!important;}
    
/* Gridzy  ---------------------- */  
    .gridzyItem img {width: 100%;}

    #scrollup {width: 45px;height: 45px;right: 20px;bottom: 20px;position: fixed;border-radius: 5px;opacity: 0;visibility: hidden;background: var(--maincolor2);cursor: pointer;text-align: center;display: flex;justify-content: center;align-items: center;transition: 0.5s;transform: rotate(180deg);z-index: 10;}



/* ---------------------------------------------- */
/* ---------------------------------------------- */
/*                      COMMON                    */
/* ---------------------------------------------- */
/* ---------------------------------------------- */


:root {
    /* font */
    --fontfamily: 'Raleway', sans-serif;
    --fontsize: 1.65rem;
    --lineheight: 3rem;
    
    
    /* colors */
    --maincolor: #2980b9;
    --maincolor2: #333333;
    --textcolor: #3B3B3B;
    --hcolor: #333333;
    
    --red:    #ff541c;
    --blue:   #93B7BE;
    --green:  #048A81;
    --yellow: #fff8cc;
    --grey:   #f0f0f0;
    --grey2:  #dbdbdb;
    --grey3:  #b3b3b3;
    --grey4:  #888888;
    
    --sky:   #DCEAFD;
    --dark:  #c3c2c2;
    --white: #fff;
    --black: #000;
    
    --footerbg: #111;
    
    
    /* decoration */
    --boxshadow: 5px 5px 20px #cecece;
    --gradient: linear-gradient(0deg,#5caf5d,#9ee670);
    
    
    /* sizes */
    --top-header-height: 50px;
    --header-height: 80px;
    --header-plus-menu-height: 130px;
    --header-height-min: 50px;
    
    --mainmenu-height: 50px;
    --mainmenu-border-left-color: #88adcb;
    --mainmenu-border-right-color: #096898;
    
    /* buttons */
    --smallbuttonheight: 25px;
    --buttonheight: 40px;
    --bigbuttonheight: 50px;
}

body::-webkit-scrollbar {width: 6px;background: transparent;}
body::-webkit-scrollbar-track {background: transparent;}
body::-webkit-scrollbar-thumb {background-color: var(--maincolor);border-radius: 10px;}
::selection {background: var(--maincolor2);color: #fff;}

html {font-size: 10px;}
body {font-size: var(--fontsize);line-height: var(--lineheight);font-family: var(--fontfamily);font-feature-settings: "pnum" on,"lnum" on;font-weight: 400;color: var(--textcolor);}

a {color: var(--maincolor);outline: none;text-decoration: none;}
p {margin-bottom: 20px;}
h1, .h1 {font-size: clamp(3rem, 5vw, 5rem); line-height: clamp(3.5rem, 5.5vw, 5.5rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}
h2, .h2 {font-size: clamp(2.5rem, 4vw, 4rem); line-height: clamp(3rem, 4.5vw, 4.5rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}
h3, .h3 {font-size: clamp(2.3rem, 3.5vw, 3rem); line-height: clamp(2.8rem, 4vw, 3.6rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}
h4, .h4 {font-size: clamp(2rem, 3vw, 2.8rem); line-height: clamp(2.5rem, 3.5vw, 3.2rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}
h5, .h5 {font-size: clamp(1.8rem, 2.5vw, 2.4rem); line-height: clamp(2.2rem, 3vw, 2.8rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}
h6, .h6 {font-size: clamp(1.7rem, 2vw, 2rem); line-height: clamp(2rem, 2.5vw, 2.5rem); font-weight: 700; margin-bottom: 1em; color: var(--hcolor);}



.maincolor {color: var(--maincolor)}
.maincolor2 {color: var(--maincolor2)}
.textcolor {color: var(--textcolor)}
.hcolor {color: var(--hcolor)}
.red {color: var(--red)}
.blue {color: var(--blue)}
.green {color: var(--green)}
.yellow {color: var(--yellow)}
.grey {color: var(--grey)}
.grey2 {color: var(--grey2)}
.grey3 {color: var(--grey3)}
.grey4 {color: var(--grey4)}
.sky {color: var(--sky)}
.white {color: var(--white)}
.dark {color: var(--dark)}
.boxshadow, .bshad {box-shadow: var(--boxshadow)}

.border-grey {border: 1px solid var(--grey);}


.bg-maincolor {background: var(--maincolor);}
.bg-maincolor2 {background: var(--maincolor2);}
.bg-textcolor {background: var(--textcolor);}
.bg-hcolor {background: var(--hcolor);}
.bg-red {background: var(--red);}
.bg-blue {background: var(--blue);}
.bg-green {background: var(--green);}
.bg-yellow {background: var(--yellow);}
.bg-grey {background: var(--grey);}
.bg-sky {background: var(--sky);}
.bg-white {background: var(--white);}
.bg-dark {background: var(--dark);}
.bg-maincolor2 {background: var(--maincolor2);}


/* useful classes */
.main {max-width: 1260px;clear: both;box-sizing: border-box;margin: 0 auto;padding: 0 20px;position: relative;}
.small {font-size: .85em;line-height: 1.5em;}
.url  {border-bottom: 1px dotted;display:inline-block;text-decoration:none;}
.warning {background-color: #FDF7DF;border: 1px solid #FEEC6F;color: #C9971C;font-weight: 700;padding: 10px 20px;border-radius: 10px;}
.maxwidth600 {margin: 0 auto;max-width: 600px;}
.maxwidth700 {margin: 0 auto;max-width: 700px;}
.maxwidth800 {margin: 0 auto;max-width: 800px;}
.maxwidth900 {margin: 0 auto;max-width: 900px;}
.maxwidth1000 {margin: 0 auto;max-width: 1000px;}
.maxwidth1200 {margin: 0 auto;max-width: 1200px;}
.curp {cursor: pointer;}
[data-copy-to-clipboard] {cursor: pointer;}

/* FORM  ---------------------- */

    /* inputs  ---------------------- */  
        input[type="text"],
        input[type="email"],
        input[type="date"],
        input[type="tel"],
        input[type="time"],
        input[type="password"],
        textarea {line-height: 50px;padding: 0 20px;color: var(--textcolor);border-radius: 5px;width: 100%;margin: 0 0 10px 0;background: var(--grey);border: 0;font-family: var(--fontfamily);font-size: var(--fontsize);outline: none;box-sizing: border-box;display: block;transition: background .5s, resize 0s;}
        input[type="text"].error {background-color: #f7ebeb;}
        input[type="date"], input[type="time"] {-webkit-appearance: textfield;-moz-appearance: textfield; color: #757575;}
        input[type="date"]:not(.has-value):before, input[type="time"]:not(.has-value):before {color: #757575;content: attr(placeholder );margin-right: 10px;}
        textarea {line-height: 30px;line-height: 30px;padding: 20px;display: block;width: 100%;max-width: none !important;font-family: inherit;font-size: inherit;color: #000;resize: vertical;}
        input:focus, textarea:focus {background: #e0e2e8;}
        select {border: 1px solid var(--maincolor2);line-height: 50px;border-radius: 30px;outline: none;padding: 0 13px;background: #fff;display: block;font-family: inherit;width: 100%;cursor: pointer;font-size: inherit;background: url(/assets/images/icons/arrow_down_black.png) no-repeat calc(100% - 15px) 50% #fff;background-size: 12px 12px;-webkit-appearance: none;}
        input[name="workemail"] {display: none !important;}

        /* icons  ---------------------- */  
            input.icon-receiver,
            input.icon-phone,
            input.icon-email,
            input.icon-text_address, input.icon-address,
            input.icon-login,
            input.icon-password {padding-left: 55px;background-position: 15px 50%;background-size: 20px;background-repeat: no-repeat;}
            
            input.icon-receiver {background-image: url(/assets/images/icons/forms/receiver_grey.png)}
            input.icon-phone {background-image: url(/assets/images/icons/forms/phone_grey.png)}
            input.icon-email {background-image: url(/assets/images/icons/forms/email_grey.png)}
            input.icon-text_address, input.icon-address {background-image: url(/assets/images/icons/forms/address_grey.png)}
            input.icon-login {background-image: url(/assets/images/icons/forms/login_grey.png)}
            input.icon-password {background-image: url(/assets/images/icons/forms/password_grey.png)}
    
    
    /* file  ---------------------- */  
        .labelFile{padding:0;line-height:40px;text-align: center;font-size: 15px;max-width:200px;margin: 10px 0;display:block;border: 1px solid var(--maincolor2);position: relative;border-radius: 20px;}
        .input-file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}
        .input-file + .labelFile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;cursor:pointer}
        .labelFile:before {content: "";background: url(/assets/images/icons/upload.png) 50% 50%/100% no-repeat;color: var(--maincolor2);font-family: 'FontAwesome';display: inline-block;left: 10px;width: 13px;height: 13px;margin-right: 5px}
    /* checkboxes  ---------------------- */  
        input[type=checkbox] {position: relative;background: #fff;border-radius: 2px;cursor: pointer;line-height: 0;margin: 0 0.6em 0 0;outline: 0;padding: 0 !important;vertical-align: text-top;height: 20px;width: 20px;-webkit-appearance: none;border: 1px solid var(--maincolor)}
        input[type=checkbox] + label {cursor: pointer;margin-right: 20px}
        input[type=checkbox]:checked:before {border: solid var(--maincolor);border-width: 0 2px 2px 0;margin: -1px -1px 0 -1px;width: 4px;height: 10px;content: '';position: absolute;right: 50%;top: 50%;transform: rotate(45deg) translate(-50%, -50%);z-index: 2;}
        
        input.checkbox + label {cursor: pointer}
        input.checkbox {vertical-align: top;width: 17px;height: 17px;margin: 0 3px 0 0}
        input.checkbox:not(checked) {position: absolute;opacity: 0}
        input.checkbox:not(checked) + label {position: relative;padding: 0 0 0 60px}
        input.checkbox:not(checked) + label:before {content: '';position: absolute;top: -4px;left: 0;width: 50px;height: 26px;border-radius: 13px;background: #CDD1DA;box-shadow: inset 0 2px 3px rgba(0,0,0,.2)}
        input.checkbox:not(checked) + label:after {content: '';position: absolute;top: -2px;left: 2px;width: 22px;height: 22px;border-radius: 10px;background: #FFF;box-shadow: 0 2px 5px rgba(0,0,0,.3);transition: all .2s}
        input.checkbox:checked + label:before {background: #9FD468}
        input.checkbox:checked + label:after {left: 26px}

    /* radio  ---------------------- */  
       /*  input[type="radio"] {display: none;}
       input[type="radio"] + label {position: relative;padding-left: 25px;display: block;cursor: pointer;}
       input[type="radio"] + label:before {left: 0;top: 7px;border: 1px solid var(--maincolor);width: 15px;height: 15px;border-radius: 50%;cursor: pointer;box-sizing: border-box;line-height: 0;position: absolute;display: block;content: "";}
       input[type="radio"] + label:after {top: 11px;left: 3.5px;width: 8px;height: 8px;background: var(--maincolor);position: absolute;display: block;content: "";transition: .2s;transform:scale(0);border-radius: 50%;}
       input[type="radio"]:checked + label:after {transform:scale(1);}
       
       input[type="radio"][disabled] + label {color: #ccc;}
       input[type="radio"][disabled] + label:before,
       input[type="radio"][disabled] + label:after {border-color: #ccc;} */
        
        
        input[type=radio] {position: relative;background: #fff;border-radius: 2px;cursor: pointer;line-height: 0;margin: 0 0.6em 0 0;outline: 0;padding: 0 !important;vertical-align: text-top;height: 20px;width: 20px;-webkit-appearance: none;border: 1px solid var(--maincolor)}
        input[type=radio] + label {cursor: pointer;}
        input[type=radio]:before {background: var(--maincolor);width: 12px;height: 12px;content: '';position: absolute;left: 3.5px;top: 3.5px;transform: scale(0);z-index: 2;transition: .2s;}
        input[type=radio]:checked:before {transform: scale(1);}
        
        
        
        
    /* Super Select  ---------------------- */
        .super-select {color: var(--grey4);background: var(--grey);border-radius: 5px;margin: 0;line-height: 50px;width: 100%;box-sizing: border-box;position: relative;white-space: nowrap;}
        
        /* decoration line  ---------------------- */
            .super-select:before {background: #31afbb;background: linear-gradient(90deg,#31afbb,#673ab7);content: "";width: 0;border-radius: 5px 5px 0 0;height: 3px;position: absolute;top: 0px;left: 50%;transition: .3s;z-index: 2;}
            .super-select:hover:before {left: 0;width: calc(100% + 1px);}
        
        /* overlay  ---------------------- */
            .super-select .super-select-overlay {padding: 0 20px;cursor: pointer;}
            .super-select .super-select-overlay .super-select-overlay-selected {color: #000;font-size: .8em;margin-left: 20px;display: inline-block;text-overflow: ellipsis;overflow: hidden;vertical-align: middle;max-width: 150px;}
            .super-select .arrow {right: 15px;height: 30%;top: 50%;transform: translateY(-50%);position: absolute;}
            .super-select.open .arrow {transform-origin: 50% 50%;transform: scale(1,-1) translateY(50%);}
        
        /* options  ---------------------- */
        
            .super-select .super-select-wrapper {color: #000;max-height: 300px;overflow: auto;background: #fff;width: 100%;left: 0;top: 100%;z-index: 20;position: absolute;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;transform: scale(0);transition: .1s linear;transform-origin: 50% 0;}
            .super-select.open .super-select-wrapper {transform: scale(1);transition: .4s cubic-bezier(0, 0.97, 0.37, 0.96);}   
            
            .super-select .super-select-wrapper::-webkit-scrollbar {width: 5px;background: transparent;}
            .super-select .super-select-wrapper::-webkit-scrollbar-track {background: transparent;}
            .super-select .super-select-wrapper::-webkit-scrollbar-thumb {background-color: var(--maincolor2);border-radius: 10px;}
            
            .super-select .super-select-wrapper > * ,
            .super-select .super-select-wrapper > * {padding: 0 20px;display: block;cursor: pointer;}
            .super-select .super-select-wrapper > *  span {display: inline-block;/* border-bottom: 1px solid var(--grey);line-height: 40px */}
            .super-select .super-select-wrapper > *  i {display: none;}
    
            .super-select .super-select-wrapper > *:hover {background: var(--grey);}
        

    /* Buttons  ---------------------- */
        .smallbutton, 
        .button, 
        .bigbutton {border-radius: 10px;color: #fff;font-weight: 700;background: var(--maincolor);white-space: nowrap;cursor: pointer;font-family: var(--fontfamily);font-size: var(--fontsize);border: 0;outline: none;display: inline-block;text-align: center;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
        
        .smallbutton {line-height: var(--smallbuttonheight);padding: 0 15px;border-radius: 5px;}
        .button {line-height: var(--buttonheight);padding: 0 30px;}
        .bigbutton {line-height: var(--bigbuttonheight);padding: 0 50px;}
        
            /* colors  ---------------------- */  
                .smallbutton.red, .button.red, .bigbutton.red {background: var(--red);}
                .smallbutton.grey, .button.grey, .bigbutton.grey {background: var(--grey4);}
        
            /* full width  ---------------------- */  
                .smallbutton.db, 
                .bigbutton.db, 
                .button.db {width: 100%;padding-left: 5px;padding-right: 5px;}
        
            /* image  ---------------------- */  
                .smallbutton img {width: 10px;margin-right: 5px;transform:translateY(-1px);vertical-align: middle;display: inline-block;}
                .button img {width: 15px;margin-right: 5px;transform:translateY(-2px);vertical-align: middle;display: inline-block;}
                .bigbutton img {width: 15px;margin-right: 7px;transform:translateY(-3px)}
                
            /* effect  ---------------------- */  
                .effect{position:relative;overflow:hidden;vertical-align: top;}
                .effect:before{content:'';width:100%;height:60px;display:block;position:absolute;z-index:3;border-left:100px solid rgba(255,255,255,.3);box-shadow:-20px 30px 30px rgba(255,255,255,.3);background:0 0;top:0;left:-100px;margin-left:-1px;transition:all 0s ease-in-out;transform:translate(0,0)}
                .effect:hover:before{-webkit-transition:all .4s ease-in-out;-moz-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out;-webkit-transform:translate(115%,0);-moz-transform:translate(115%,0);-ms-transform:translate(115%,0);-o-transform:translate(115%,0);transform:translate(115%,0)}
                .effect[disabled]:before {display: none;}
            
            /* disabled  ---------------------- */  
                .smallbutton[disabled],
                .button[disabled],
                .bigbutton[disabled] {background: var(--grey);color: #000;cursor: not-allowed;}




/* ---------------------------------------------- */
/* ---------------------------------------------- */
/*            THE GYM / ТВОЙ ТРЕНЕР               */
/* ---------------------------------------------- */
/* ---------------------------------------------- */

/* palette & type ---------------------- */
    :root {
        --fontfamily:  'Golos Text', system-ui, sans-serif;
        --fontfamily2: 'Onest', sans-serif;
        --fontsize:   1.6rem;
        --lineheight: 2.6rem;

        --maincolor:  #0F6E6E;
        --maincolor2: #0A4F4F;
        --textcolor:  #1E3735;
        --hcolor:     #13201F;

        --cream: #F6F2E9;
        --panel: #EFEADE;
        --card:  #FBF8F1;
        --line:  #E7E0D2;
        --sand:  #DAD2C0;
        --brass: #A9824C;
        --mint:  #2E9C97;
        --dark:  #1E3735;

        --grey:  #EFEADE;
        --grey2: #DAD2C0;
        --grey3: #CFC6B0;
        --grey4: #5c6b69;

        --header-height: 104px;
        --buttonheight: 48px;
        --bigbuttonheight: 54px;
    }

    html { scroll-behavior: smooth; scroll-padding-top: 124px; }
    body { background: var(--cream); }
    h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { font-family: var(--fontfamily2); font-weight: 800; letter-spacing: -.015em; margin-bottom: .5em; }
    h3,h4,h5,h6 { font-weight: 700; }
    a:hover { color: var(--brass); }
    p:last-child { margin-bottom: 0; }
    
    #mainmenu {margin: 0 0 0 auto; min-width: 0; overflow-x: auto; scrollbar-width: none;}

/* Material Symbols helper ---------------------- */
    .mi { font-family: 'Material Symbols Outlined'; font-weight: 300; font-size: 2.1rem; line-height: 1; display: inline-block; flex: none; vertical-align: middle; }
    .mi18 { font-size: 1.8rem } .mi20 { font-size: 2rem } .mi24 { font-size: 2.4rem } .mi28 { font-size: 2.8rem }

/* списки без картиночных иконок ---------------------- */
    ul.check-list li:before { background: none; border: 2px solid var(--maincolor); border-top: 0; border-right: 0; border-radius: 1px; transform: rotate(-45deg); width: 12px; height: 7px; left: 12px; top: 11px; }
    ul.check-list li { margin-bottom: 10px; line-height: 1.55; }
    .circle-list li { margin-left: 30px; line-height: 1.55; }

/* FAQ без картиночной стрелки ---------------------- */
    .q { font-family: var(--fontfamily2); font-weight: 700; font-size: 1.9rem; line-height: 1.35; color: var(--hcolor); border-bottom-color: var(--sand); }
    .q:hover { color: var(--maincolor); }
    .q:after { background: none; width: 10px; height: 10px; border: 2px solid var(--maincolor2); border-left: 0; border-top: 0; transform: translateY(-70%) rotate(45deg); }
    .q.open:after { transform: translateY(-30%) rotate(225deg); top: 50%; }
    .a { line-height: 1.65; color: #3c4a48; }

/* таблица ---------------------- */
    .table tr { text-align: left; }
    .table tr th { background: var(--maincolor2); font-family: var(--fontfamily2); }
    .table td { border-bottom: 1px solid var(--line); }

/* табы ---------------------- */
    .tabs__caption { border-bottom-color: var(--sand); }
    .tabs__caption > li { font-family: var(--fontfamily2); font-weight: 600; font-size: 1.5rem; border-right-color: var(--sand); }

/* кнопки ---------------------- */
    .button, .bigbutton, .smallbutton { border-radius: 12px; font-family: var(--fontfamily2); font-size: 1.5rem; }
    .button.brass, .bigbutton.brass { background: var(--brass); color: var(--hcolor); }
    .button.brass:hover, .bigbutton.brass:hover { background: var(--sand); }
    .button.deep, .bigbutton.deep { background: var(--maincolor2); }
    .button.night, .bigbutton.night { background: var(--dark); color: #fff; }
    .button.night:hover, .bigbutton.night:hover { background: var(--maincolor); }
    .button.outline, .bigbutton.outline { background: rgba(19,32,31,.35); border: 1px solid rgba(218,210,192,.5); color: var(--cream); font-weight: 600; }
    .button.outline:hover, .bigbutton.outline:hover { background: var(--maincolor2); border-color: var(--mint); }
    .button, .bigbutton, .smallbutton { color: #fff; }
    .button.brass, .bigbutton.brass, .smallbutton.brass { color: var(--hcolor); }
    .button .mi, .bigbutton .mi { margin-right: 8px; transform: translateY(-2px); }

/* секции ---------------------- */
    .section { padding: 88px 0; }
    .section-sm { padding: 56px 0; }
    .section-cream { background: var(--cream); }
    .section-panel { background: var(--panel); }
    .section-dark { background: var(--dark); color: var(--cream); }
    .section-deep { background: var(--maincolor2); color: var(--cream); }
    .section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark h5,
    .section-deep h1,.section-deep h2,.section-deep h3,.section-deep h4,.section-deep h5 { color: var(--cream); }
    .section-dark a:not([class*="button"]), .section-deep a:not([class*="button"]) { color: var(--cream); }
    .section-dark a:not([class*="button"]):hover, .section-deep a:not([class*="button"]):hover { color: var(--brass); }
    .section-line { border-top: 1px solid var(--sand); }

    .eyebrow { display: block; font-size: 1.2rem; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase; color: var(--maincolor2); }
    .section-dark .eyebrow, .section-deep .eyebrow { color: var(--sand); }
    .lead { font-size: 1.7rem; line-height: 1.6; color: #3c4a48; }
    .section-dark .lead, .section-deep .lead,
    .hero .lead, .pagebanner .lead, .card-dark .lead, .panel-dark .lead,
    .hero .muted, .pagebanner .muted, .card-dark .muted, .panel-dark .muted,
    .card-dark .textcolor, .section-dark .textcolor, .section-deep .textcolor { color: var(--sand); }
    .hero .eyebrow, .pagebanner .eyebrow, .card-dark .eyebrow, .panel-dark .eyebrow { color: var(--sand); }
    .hero h1, .hero h2, .hero h3,
    .pagebanner h1, .pagebanner h2, .pagebanner h3,
    .card-dark h1, .card-dark h2, .card-dark h3, .card-dark h4, .card-dark h5,
    .panel-dark h2, .panel-dark h3, .panel-dark h4 { color: var(--cream); }
    .hero .hand, .pagebanner .hand, .card-dark .hand, .panel-dark .hand,
    .section-dark .hand, .section-deep .hand { color: var(--mint); }
    .hero a:not([class*="button"]), .pagebanner a:not([class*="button"]), .card-dark a:not([class*="button"]), .panel-dark a:not([class*="button"]) { color: var(--cream); }
    .hero a:not([class*="button"]):hover, .pagebanner a:not([class*="button"]):hover, .card-dark a:not([class*="button"]):hover, .panel-dark a:not([class*="button"]):hover { color: var(--brass); }
    .card-dark .price, .panel-dark .price, .hero .price, .pagebanner .price { color: var(--cream); }
    .card-dark .tl-year, .panel-dark .tl-year, .section-dark .tl-year { color: var(--mint); }
    .card-light .lead, .card-light .muted, .card-sand .lead, .card-sand .muted { color: #3c4a48; }
    .card-light h3, .card-light h4, .card-light h5, .card-sand h3, .card-sand h4 { color: var(--hcolor); }
    .card-light a:not([class*="button"]), .card-sand a:not([class*="button"]) { color: var(--maincolor2); }
    .card-light a:not([class*="button"]):hover, .card-sand a:not([class*="button"]):hover { color: var(--brass); }
    .muted { color: #3c4a48; }
    .cream { color: var(--cream) }
    .sand  { color: var(--sand) }
    .brass { color: var(--brass) }
    .mint  { color: var(--mint) }
    .bg-cream { background: var(--cream) }
    .bg-sand  { background: var(--sand) }
    .bg-panel { background: var(--panel) }
    .bg-night { background: var(--dark) }
    .section-dark .muted, .section-deep .muted { color: var(--sand); }
    .section-dark .card-light .muted, .section-deep .card-light .muted,
    .section-dark .card-sand .muted, .section-deep .card-sand .muted,
    .section-dark .card-light .lead, .section-deep .card-light .lead { color: #3c4a48; }
    .section-dark .card-light .eyebrow, .section-deep .card-light .eyebrow { color: var(--maincolor2); }
    .section-dark .card-light a:not([class*="button"]), .section-deep .card-light a:not([class*="button"]) { color: var(--maincolor2); }
    .hand { font-family: 'Caveat', cursive; font-size: 2.2rem; line-height: 1.3; color: var(--maincolor); }
    .quote-line { border-left: 2px solid var(--mint); padding-left: 20px; }
    .divider-l { border-left: 1px solid rgba(218,210,192,.2); padding-left: 40px; }

/* карточки ---------------------- */
    .card { background: var(--card); border: 1px solid var(--line); border-radius: 26px; box-shadow: 0 2px 12px rgba(30,55,53,.05); overflow: hidden; display: flex; flex-direction: column; transition: .3s; }
    .card:hover { border-color: var(--maincolor); box-shadow: 0 14px 30px rgba(30,55,53,.1); transform: translateY(-4px); }
    .card__head { display: flex; align-items: center; gap: 16px; padding: 22px 26px; background: var(--panel); }
    .card__body { padding: 26px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
    .card__foot { margin-top: auto; padding-top: 18px; border-top: 1px solid #EDE7DA; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 1.35rem; color: var(--maincolor2); }
    .card h3, .card h4, .card h5 { margin-bottom: 5px; }
    .card__head > div, .card__body > div, .card__foot > * { min-width: 0; }
    .tag, .card__head h3, .card__head h4 { overflow-wrap: anywhere; }

    .card-dark { background: var(--dark); color: var(--cream); border: 0; box-shadow: 0 8px 24px rgba(30,55,53,.16); }
    .card-dark:hover { transform: none; box-shadow: 0 8px 24px rgba(30,55,53,.16); }
    .card-dark .card__head { background: rgba(246,242,233,.07); border-bottom: 1px solid rgba(46,156,151,.45); }
    .card-dark .card__foot { border-top-color: rgba(218,210,192,.22); color: var(--sand); }
    .card-dark h3, .card-dark h4, .card-dark h5 { color: var(--cream); }
    .card-sand { background: #E7E0D0; border: 0; border-radius: 26px; box-shadow: none; }
    .card-sand:hover { transform: none; box-shadow: none; }
    .card-light { background: var(--cream); color: var(--textcolor); border: 0; box-shadow: 0 10px 28px rgba(10,79,79,.22); }
    .card-light:hover { transform: none; box-shadow: 0 10px 28px rgba(10,79,79,.22); }

    .panel { background: var(--panel); border-radius: 30px; padding: 40px; }
    .panel-dark { background: rgba(246,242,233,.07); border: 1px solid rgba(218,210,192,.2); border-radius: 20px; padding: 22px 24px; }

    .tile { background: var(--card); border-radius: 18px; padding: 20px 22px; display: flex; gap: 12px; align-items: flex-start; font-size: 1.5rem; line-height: 1.5; }
    .tile-bordered { border: 1px solid var(--line); }

     .mobile-mainmenu-button, .mobile-mainmenu-outer {display: none;}
/* иконки-кружки ---------------------- */
    .ico { width: 54px; height: 54px; border-radius: 50%; background: var(--maincolor2); color: var(--cream); display: flex; align-items: center; justify-content: center; flex: none; }
    .ico-lg { width: 58px; height: 58px; }
    .ico-sm { width: 34px; height: 34px; background: transparent; border: 1px solid rgba(218,210,192,.35); }
    .card-dark .ico, .section-dark .ico { background: var(--maincolor); }
    .tag { display: block; font-size: 1.1rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; color: var(--maincolor2); }
    .card-dark .tag { color: var(--sand); }

/* чипы ---------------------- */
    .chip { display: inline-block; background: var(--card); border: 1px solid var(--line); color: var(--textcolor); padding: 11px 20px; border-radius: 999px; font-size: 1.45rem; line-height: 1.3; }
    .chip-dark { background: rgba(246,242,233,.12); border-color: transparent; color: var(--cream); padding: 7px 14px; font-size: 1.3rem; }
    .chip-teal { background: #DCE6E0; border-color: transparent; color: var(--maincolor2); font-weight: 600; padding: 7px 14px; font-size: 1.3rem; }
    .chip-accent { background: rgba(246,242,233,.12); border: 1px solid rgba(218,210,192,.3); color: var(--cream); display: flex; gap: 14px; align-items: baseline; }
    .chip-link { display: flex; align-items: center; gap: 8px; background: rgba(246,242,233,.1); border: 1px solid rgba(218,210,192,.28); color: var(--cream); padding: 9px 17px; border-radius: 999px; font-size: 1.35rem; line-height: 1.3; }
    .chip-link:hover { background: var(--maincolor); border-color: var(--maincolor); color: var(--cream); }
    .chip-link .mi { font-size: 1.8rem }
    .crumbs { display: flex; align-items: center; gap: 10px; font-size: 1.3rem; line-height: 1.4; color: var(--sand); }
    .crumbs .mi { color: var(--mint); font-size: 1.7rem }
    .crumbs a { color: var(--sand) }
    .num { font-family: var(--fontfamily2); font-weight: 600; font-size: 1.2rem; letter-spacing: .12em; color: var(--brass); display: block; }
    .card-dark .num, .section-dark .num, .section-deep .num { color: #C79A5C }
    .link-underline { border-bottom: 1px solid rgba(246,242,233,.5); }
    .avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; min-width: 0; }
    .avatar-lg { width: 92px; height: 92px; }
    .tl-row { display: flex; gap: 20px; }
    .tl-mark { display: flex; flex-direction: column; align-items: center; flex: none; }
    .tl-dot { width: 14px; height: 14px; border-radius: 50%; background: var(--maincolor); flex: none; margin-top: 5px; }
    .tl-dot.last { background: var(--brass); }
    .tl-line { flex: 1; width: 2px; background: var(--sand); margin: 6px 0; }
    .tl-year { font-family: var(--fontfamily2); font-weight: 700; font-size: 1.6rem; color: var(--maincolor2); margin-bottom: 6px; }
    .fact { display: flex; gap: 12px; align-items: flex-start; }
    .fact + .fact { border-top: 1px solid var(--sand); padding-top: 14px; margin-top: 14px; }
    .panel-dark .fact + .fact { border-top-color: rgba(218,210,192,.2); }
    .fact .mi { color: var(--maincolor2); }
    .panel-dark .fact .mi, .card-dark .fact .mi { color: var(--mint); }
    .fact__label { display: block; font-size: 1.1rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; color: var(--maincolor2); margin: 0; }
    .panel-dark .fact__label, .card-dark .fact__label { color: var(--sand); }
    .fact p + p { margin: 5px 0 0; font-size: 1.5rem; line-height: 1.5; }
    .section-dark .check-list li:before, .section-deep .check-list li:before, .card-dark .check-list li:before { border-color: var(--mint); }
    .dayrow { display: flex; align-items: center; gap: 12px; padding: 13px 4px; border-bottom: 1px solid #EDE7DA; }
    .dayrow:last-child { border-bottom: 0; }
    .dayrow .day { width: 44px; flex: none; font-family: var(--fontfamily2); font-weight: 700; font-size: 1.4rem; color: var(--maincolor2); }
    .dayrow .day.we { color: var(--brass); }
    .dayrow .hours { flex: 1; font-size: 1.5rem; }
    .contact-row { display: flex; align-items: center; gap: 16px; background: rgba(246,242,233,.07); border: 1px solid rgba(218,210,192,.22); border-radius: 22px; padding: 20px 22px; }
    a.contact-row:hover { border-color: var(--mint); background: var(--maincolor2); color: var(--cream); }
    .contact-row .ico { width: 46px; height: 46px; background: var(--maincolor); }
    .contact-row .sub { display: block; font-size: 1.25rem; line-height: 1.5; color: var(--sand); }
    .contact-row .val { display: block; font-family: var(--fontfamily2); font-weight: 700; font-size: 2.1rem; line-height: 1.3; margin-top: 3px; }
    .contact-row .val-sm { font-size: 1.7rem; font-weight: 400; font-family: var(--fontfamily); }
    .slot { background: rgba(246,242,233,.08); border: 1px solid rgba(218,210,192,.35); color: var(--cream); padding: 10px 18px; border-radius: 999px; font-size: 1.4rem; line-height: 1.3; cursor: pointer; }
    .slot:hover, .slot.active { border-color: var(--mint); }
    .slot.on { background: var(--maincolor); border-color: var(--maincolor); }
    .bigcontact { display: flex; flex-direction: column; gap: 16px; padding: 32px 30px; }
    .bigcontact .label { display: block; font-size: 1.1rem; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; color: var(--maincolor2); }
    .card-dark .bigcontact .label { color: var(--sand); }
    .bigcontact .val { display: block; font-family: var(--fontfamily2); font-weight: 700; font-size: 2.5rem; line-height: 1.25; margin-top: 8px; }
    .bigcontact .val-md { font-size: 2.2rem; }
    .bigcontact .val-sm { font-size: 2rem; word-break: break-word; }
    .map-ph-light { background: repeating-linear-gradient(135deg,#EDE7DA 0 12px,#E4DCCB 12px 24px); border-color: var(--sand); color: var(--maincolor2); flex-direction: column; gap: 12px; aspect-ratio: auto; min-height: 380px; }

/* прайс-строки ---------------------- */
    .price-row { display: flex; align-items: baseline; gap: 10px; }
    .price-row.aic { align-items: center; }
    .price-row .dots { flex: 1; border-bottom: 2px dotted var(--grey3); }
    .card-dark .price-row .dots, .section-dark .price-row .dots { border-bottom-color: rgba(218,210,192,.45); }
    .price { font-family: var(--fontfamily2); font-weight: 700; font-size: 2.4rem; line-height: 1.2; white-space: nowrap; }
    .price-sm { font-size: 2.1rem; }
    .price small { font-size: 1.3rem; font-weight: 600; }

/* баннер главной ---------------------- */
    .hero { position: relative; background: var(--dark); color: var(--cream); min-height: 640px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
    .hero__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; }
    .hero__shade { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(100deg,#1E3735 0,rgba(30,55,53,.94) 34%,rgba(30,55,53,.55) 62%,rgba(30,55,53,.35) 100%); }
    .hero__content { position: relative; padding: 150px 0 72px; }
    .hero__content > .main { padding: 0 20px; }
    .hero h1 { color: var(--cream); font-size: clamp(4rem,6vw,7.6rem); line-height: .98; letter-spacing: -.025em; margin-bottom: 28px; }
    .hero h1 .mint { color: var(--mint); }
    .hero__note { position: absolute; top: 44px; right: 36px; margin: 0; font-family: 'Caveat', cursive; font-size: 2.8rem; line-height: 1.25; color: var(--sand); text-align: right; z-index: 2; }
    .hero__facts { position: relative; border-top: 1px solid rgba(218,210,192,.18); background: rgba(19,32,31,.55); font-size: 1.35rem; line-height: 1.5; color: #F0EBDE; padding: 22px 0; }
    .hero__facts .mi { color: var(--mint); }

/* внутренний баннер страницы ---------------------- */
    .pagebanner {position: relative;background: var(--dark);color: var(--cream);padding: 70px 0 0;overflow: hidden;}
    .pagebanner .eyebrow { color: var(--sand); }
    .pagebanner h1 { color: var(--cream); margin-bottom: 20px; text-transform: uppercase; }

/* шапка ---------------------- */
    #header { position: fixed; top: 0; left: 0; width: 100%; z-index: 50; height: var(--header-height); background: rgba(246,242,233,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--sand); }
    #header .main { height: 100%; display: flex; align-items: center; gap: 18px; flex-wrap: nowrap; }
    #header .logo { position: static; left: auto; height: auto; flex: none; display: flex; align-items: center; }
    #header .logo img { height: 84px; width: auto; max-height: none; }
    .header-spacer { height: var(--header-height); }
    .header-addr { flex: none; display: flex; flex-direction: column; gap: 7px; padding-left: 18px; border-left: 1px solid var(--sand); font-size: 1.3rem; line-height: 1.2; white-space: nowrap; }
    .header-addr .row { display: flex; align-items: center; gap: 8px; }
    .header-addr .mi { color: var(--maincolor); }
    .header-addr .area { color: var(--grey4); }
    .header-phone { font-family: var(--fontfamily2); font-weight: 600; font-size: 1.5rem; color: var(--maincolor2); white-space: nowrap; flex: none; }
    

    ul.topnav { display: flex; gap: 16px; flex-wrap: nowrap; white-space: nowrap; margin: 0 0 0 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; font-size: 1.4rem; line-height: 1.4; }
    ul.topnav::-webkit-scrollbar { display: none; }
    ul.topnav li { margin: 0; list-style: none; }
    ul.topnav a { color: var(--textcolor); }
    ul.topnav a:hover { color: var(--maincolor); }
    ul.topnav li.active a { color: var(--maincolor2); font-weight: 600; border-bottom: 2px solid var(--maincolor); padding-bottom: 2px; }

/* формы на тёмном ---------------------- */
    .form-dark label { display: block; margin-bottom: 8px; font-size: 1.3rem; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); }
    .form-dark input, .form-dark select, .form-dark textarea { background: transparent; border: 1px solid rgba(218,210,192,.35); color: var(--cream); border-radius: 12px; line-height: 48px; }
    .form-dark select { background: var(--dark); border-radius: 12px; }
    .form-dark input:focus, .form-dark textarea:focus { background: rgba(246,242,233,.06); }
    .form-dark input::placeholder { color: rgba(218,210,192,.55); }
    .form-note { font-size: 1.25rem; line-height: 1.5; color: rgba(218,210,192,.7); }
    .form-ok { background: var(--maincolor2); border: 1px solid var(--maincolor); border-radius: 22px; padding: 28px 26px; }

/* фото и карта ---------------------- */
    .photo { display: block; width: 100%; height: auto; min-width: 0; max-width: none; max-height: none; object-fit: cover; border-radius: 22px; }
    .flex > img, .flex > .photo { min-width: 0; }
    .photo-34 { aspect-ratio: 3/4; }
    .photo-43 { aspect-ratio: 4/3; }
    .photo-11 { aspect-ratio: 1/1; }
    .photo-fill { width: 100%; height: 100%; align-self: stretch; min-height: 280px; border-radius: 0; }
    .map-ph { aspect-ratio: 16/10; background: repeating-linear-gradient(135deg,#27403D 0 12px,#223734 12px 24px); border: 1px solid rgba(218,210,192,.18); border-radius: 22px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.35rem; color: var(--sand); padding: 12px; }

/* подвал ---------------------- */
    #footer { background: var(--dark); color: var(--cream); text-align: left; padding: 0; }
    #footer a { color: var(--cream); }
    #footer a:hover { color: var(--brass); }
    .footer-top { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; padding: 30px 0; }
    .footer-col { display: flex; align-items: center; gap: 12px; padding-right: 32px; border-right: 1px solid rgba(218,210,192,.22); font-size: 1.4rem; line-height: 1.5; }
    .footer-col.no-border { border-right: 0; padding-right: 0; }
    .footer-logo img { height: 104px; width: auto; max-height: none; display: block; }
    .footer-phone { margin-left: auto; font-family: var(--fontfamily2); font-weight: 700; font-size: 1.9rem; }
    .footer-bottom { border-top: 1px solid rgba(218,210,192,.15); text-align: center; padding: 20px 0; font-size: 1.15rem; line-height: 1.8; letter-spacing: .26em; text-transform: uppercase; color: var(--sand); }

/* добавленные утилиты ---------------------- */
    .block55 { width: 55% }
    .pr { position: relative }
    .gap12 { gap: 12px }
    .fs13 { font-size: 1.3rem }
    .fs15 { font-size: 1.5rem }
    .fs17 { font-size: 1.7rem }
    .fs19 { font-size: 1.9rem }
    .maxwidth470 { max-width: 470px }
    .button.bordered, .bigbutton.bordered { background: transparent; border: 1px solid #C9BFA6; color: var(--textcolor); }
    .button.bordered:hover, .bigbutton.bordered:hover { border-color: var(--maincolor); background: var(--panel); color: var(--textcolor); }
    .card-sand .button.bordered, .card-sand .bigbutton.bordered { border-color: #B9AE93 }
    .card-sand .button.bordered:hover, .card-sand .bigbutton.bordered:hover { background: var(--cream) }

/* адаптив проектных блоков ---------------------- */
    @media all and (max-width: 1440px) { body .main { width: auto; max-width: 1420px; } }
    @media all and (max-width: 1290px) { .header-addr { display: none; } }
    @media all and (max-width: 1040px) { .header-phone { display: none; } }
    @media all and (max-width: 1220px) { body .main { width: auto; max-width: 990px; } }
    @media all and (max-width: 980px)  { body .main { width: auto; max-width: 770px; } }
    @media all and (max-width: 768px) {
        .block55 { width: 100% }
        body .main { width: auto; max-width: none; padding: 0 15px; }
        :root { --header-height: 84px; }
        #header .logo img { height: 66px; }
        .section { padding: 56px 0; }
        .hero { min-height: 520px; }
        .hero__content { padding: 60px 0 40px; }
        .hero__note { display: none; }
        .panel { padding: 24px; border-radius: 24px; }
        .divider-l { border-left: 0; padding-left: 0; }
        .footer-col { border-right: 0; padding-right: 0; }
        .footer-phone { margin-left: 0; }
        .photo-fill { min-height: 240px; }
    }

    /* фото в карточке перестаёт быть колонкой и встаёт над card__body (s-block100) */
    @media all and (max-width: 576px) {
        .photo-fill {
            height: auto;
            min-height: 400px;
            align-self: flex-start;
            border-radius: 22px 22px 0 0;
        }

        /* длинные подписи не помещаются в 50px паддингов — разрешаем перенос */
        .bigbutton {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            max-width: 100%;
            padding: 12px 24px;
            line-height: 1.25;
            min-height: var(--bigbuttonheight);
            white-space: normal;
        }
    }

@media all and (max-width: 1440px) {
    /* header  ---------------------- */  
        #header .header-contacts {right: 175px;}
        #header .header-socials > a {display: block;}
        #header .header-contacts img {width: 22px;}
        
    /* map  ---------------------- */  
        #map_box .contacts {transform: translate(-150px, -50%);}
}

@media all and (max-width: 1220px) {
 .main {width: 990px;}
    
    /* header  ---------------------- */  
        #header {-webkit-backdrop-filter: none; backdrop-filter: none;}
        #header .logo {left: 50px;}
        #header .header-search {left: 225px;width: 390px;}
        #top_header .top_header_time {left: 300px;}


    /* mobile menu  ---------------------- */  
        #header #mainmenu {border: none;left: auto;top: auto;height: 100%;transform: none;position: initial;}
        #mainmenu .catalog-menu-wrapper, #mainmenu .desktop-mainmenu, #mainmenu .catalog-menu-button {display: none !important;}

        /* button  ---------------------- */  
            .mobile-mainmenu-button {position: relative;display: block;/* top: 50%; *//* transform: translateY(-50%); *//* left: 10px; *//* right: auto; */width: 30px;transition: .5s;z-index: 95;cursor: pointer;}
            .mobile-mainmenu-button img {width: 100% !important;}
        
        /* wrapper  ---------------------- */  
            .mobile-mainmenu-outer {top: 0;width: 290px;left: -330px;transition: .5s;height: 100%;z-index: 1000;position: fixed;display: block;background: var(--cream);box-shadow: 5px 5px 10px #00000063;overflow-y: auto;box-sizing: border-box;}
            .mobile-mainmenu-active .mobile-mainmenu-outer {left: 0;}
                /* close  ---------------------- */  
                    .mobile-mainmenu-close {width: 18px;padding: 10px; right: 0px;top: 0;cursor:  pointer;position: absolute;}
                	.mobile-mainmenu-close img {width: 100%}
                	.mobile-mainmenu-close:hover {transform:rotate(180deg); transition: .7s;}
                /* top block  ---------------------- */  
                    .mobile-mainmenu-topBlock {margin-bottom: 30px;text-align: center;display: block;position: relative;}
                	.mobile-mainmenu-topBlock .logo_m {margin: 45px auto 25px; display: block;}
                	.mobile-mainmenu-topBlock a.tel_m {font-size: 2.2rem;font-weight: 700;display: block;margin-bottom: 8px;text-decoration: none;}
                	.mobile-mainmenu-topBlock .adres_m {text-decoration: none;padding: 0 15px;color: #222;display: block;}
                	.mobile-mainmenu-topBlock .socials-url > img {width: 26px;}
                	.mobile-mainmenu-topBlock .address_m > img {width: 25px;transform: translateY(-3px);}
                    .mobile-mainmenu-topBlock .logo_m img {width: 140px;}
                /* common */
                    .mobile-mainmenu ul {margin: 0;}
                    .mobile-mainmenu li {border-bottom: 1px solid #48484830;margin: 0;list-style: none;}
                    .mobile-mainmenu li:last-child {border: none;}
                    .mobile-mainmenu li a {color: #222;padding: 12px 20px;font-size: 14px;line-height: 20px;text-decoration: none;display: block;}
                    .mobile-mainmenu li.active > a {color: var(--color-red);font-weight: 600;}
                    
                    /* parent */
                    .mobile-mainmenu li.parent {position: relative;}
                    .mobile-mainmenu li.parent > a {padding-right: 40px;}
                    
                    .submenu-toggle {position: absolute;right: 0;top: 0;width: 44px;height: 44px;cursor: pointer;display: flex;align-items: center;justify-content: center;}
                    .submenu-toggle::after {width: 10px;height: 10px;filter: brightness(0) saturate(100%) invert(94%) sepia(9%) saturate(18%) hue-rotate(26deg) brightness(107%) contrast(101%);background: url(/assets/images/icons/plus_black.png) 50% 50%/100% no-repeat;display: block;content: '';}
                    .submenu-toggle.opened::after {background-image: url(/assets/images/icons/minus_black.png);}
    
                    /* submenu */
                    .mobile-submenu {padding-left: 10px;}
    /* map  ---------------------- */  
        #map_box .contacts {transform: translate(-50px, -50%);}
} 

@media all and (max-width: 980px) {
    .main {width:770px;}
    
    /* homepage  ---------------------- */  
    
        /* slider  ---------------------- */  
            .homepage_slide {height: 300px;}    
            .homepage_slide img {height: 100%;object-fit: cover;}
    
    
    /* header  ---------------------- */  
        /* search  ---------------------- */  
            #header .search-icon {right: 390px;width: 30px;height: 30px;margin:0;box-sizing:border-box;padding: 5px;vertical-align:middle;top: 50%;transform: translateY(-50%);position: absolute;cursor: pointer;display: block !important;}
            #header .header-block .msearch2  {display: none;}
            #header .header-search {left: auto;right: 0;top: 105px;width: 100%;z-index: 2;}
            #header .header-search input {border-radius: 0;}
    
    /* map  ---------------------- */  
        #map_box .contacts {transform: translate(50px, -50%);}

}

@media all and (max-width: 768px) {
    .main {width: 100%;padding: 0 10px;}
    /* header  ---------------------- */  
        /* logo  ---------------------- */

        /* search-icon   ---------------------- */
            #header .search-icon {right: 360px;}
    #header .logo img {height: 50px;}
    /* homepage  ---------------------- */  
        /* slider */
            .homepage_slide .homepage_slide_content {left: 30px;}
    
        
    /* map box */
        #map_box {height: 100%;padding-bottom: 0;}
        #map_box .contacts img {margin: 10px auto 20px;}
        #map_box .contacts {transform: none;text-align: center;padding: 15px 35px 15px 5px;position:relative;padding: 50px 15px;right: auto;top: auto;width: 98%;border-radius: 0;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
        #map {height: 300px !important;}

    
    /* Mobile Bottom Iconbar ---------------------- */
        #mobile_bottom_iconbar {position: fixed;bottom: 0;height: 55px;background: var(--grey);left: 0;width: 100%; z-index: 5}
        #mobile_bottom_iconbar > .main {padding: 0;}
        #mobile_bottom_iconbar img {width: 20px;}
        .iconbar-search-input  {display: none;}
        #mobile_bottom_iconbar .msMiniCart a, #mobile_bottom_iconbar .wrapper-cart {display: block !important;}
        #mobile_bottom_iconbar .cart_count {right: 30px;top: 4px;color: #fff;position: absolute;background: var(--maincolor);border-radius: 100px;width: 15px;height: 15px;text-align: center;font-size: 12px;font-weight:500;line-height: 15px;}
        #mobile_bottom_iconbar .msMiniCart .ms2_total_cost {font-size: 14px;transform: translateY(-4px);}
        #mobile_bottom_iconbar .msMiniCart .currency {font-size: 12px;margin-left: 0;transform: translateY(-4px);}
        #mobile_bottom_iconbar input {padding: 0 110px 0 20px;background: #fff;margin: 0}
        #mobile_bottom_iconbar button {background: var(--maincolor);border-radius: 5px;color: white;outline: none;padding: 0 30px;line-height: 35px;right: 5px;position: absolute;top: 50%;margin: 0;transform: translateY(-50%);border: 0;cursor: pointer;}
        #mobile_bottom_iconbar .msearch2 {position: absolute;bottom: 60px;left: 0;box-shadow: 0px -5px 5px #0000002b;width: 100%;}
    /* Modal ---------------------- */
        .modal {padding: 20px;left: 0;top: 0;transform: none !important;width: 100%;min-height: 100%;border-radius: 0;}
        .modal .close_modal {top: 5px;right: 5px;}
        .modal {text-align: left;}
        
    .hystmodal-right .hystmodal__close {left: auto;}
}

@media all and (max-width: 570px) {
    .main {width: auto;padding: 0 10px;}
    :root {--header-height: 60px;}
    /* header  ---------------------- */
        /* search-icon   ---------------------- */
        #header .search-icon {right: 170px;}
        
        .two-buttons {flex-direction: column;}
        
        
    /* mobile menu  ---------------------- */
    .mobile-mainmenu li.id16 {border-top: 1px solid #f3f3f3;}
    
    /* uslugi  ---------------------- */
        /* banner  ---------------------- */ 
            .uslugi_banner {padding: 35px 0;background-attachment: initial;}

    /* Pages  ---------------------- */
        /* Contacts  ---------------------- */
        .contact-info {transform: none;}
        .pagebanner {padding: 50px 0 0;}
        .crumbs {display: none;}
    /* Tabs  ---------------------- */    
    .tabs__content {padding: 15px 0;}
    
    
    /* Checkbox  ---------------------- */    
    input.checkbox {width: 17px;height: 17px;margin: 0 3px 0 0}
    input.checkbox:not(checked) + label {padding: 0 0 0 45px;display: block;margin: 0;/* align-items: center; */}
    input.checkbox:not(checked) + label:before {top: 5px;left: 0;width: 40px;height: 18px;}
    input.checkbox:not(checked) + label:after {top: 8px;left: 2px;width: 11px;height: 11px;}
    input.checkbox:checked + label:after {left: 26px;}
    #scrollup {width: 35px;height: 35px;right: 5px;bottom: 20px;}

    
    
}
/* --- TT: request-form success shown only after successful submit --- */
[data-request-success] { display: none; }
[data-request-box].sent form { display: none; }
[data-request-box].sent [data-request-success] { display: block; }

/* --- TT: контактный телефон в блоке записи --- */
.phone-lg {
    font-family: 'Onest', sans-serif;
    font-size: 2.4rem;
}

/* --- TT: карта в блоке записи --- */
#zapis #map-zapis {
    width: 100%;
    height: 300px;
}

/* --- TT: карточки тренеров — фото во всю высоту карточки --- */
#trenery .card > .flex {
    flex: 1;
    align-items: stretch;
}

#trenery .card > .flex > .photo-fill {
    height: auto;
    align-self: stretch;
}

@media all and (max-width: 576px) {
    #trenery .card > .flex > .photo-fill {
        height: auto;
        min-height: 400px;
        align-self: flex-start;
    }
}
