/* Bundled: global, common, indents, header, footer, buttons, home, contacts, post, faq, services, 404, form, animations */

/* === global.css === */
/* ======================================= */
/* FONTS */
/* ======================================= */
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Ultralight.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Ultralight.woff") format("woff");font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Thin.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Thin.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Semibold.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Semibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Regular.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Medium.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Light.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Heavy.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Heavy.woff") format("woff");font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Bold.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"SFPRO";src:url("../fonts/SF-Pro-Display-Black.woff2") format("woff2"), url("../fonts/SF-Pro-Display-Black.woff") format("woff");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Megant";src:url("../fonts/Megant.woff2") format("woff2"), url("../fonts/Megant.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}

/* ======================================= */
/* VARIABLES */
/* ======================================= */
:root{
    --common: #171b33;
    --common-tr: rgba(23, 27, 51, 0.5);
    --light: #fff;
    --gray: #585858;
    --light-gray: #d9d9d9;
    --dark-gray: #9e9ea0;
    --dark: #b2b5bc;
    --bg: #eeefea;
    --disabled: #d1d3d7;
    --date-color: #737373;
    --warning: #ff6161;
    --section-bg: #c5c7d3;
    
    --font_meg: "Megant", Arial, sans-serif;
    --font: "SFPRO", Arial, sans-serif;
    
    --lh: 1.19335;
    
    --dur: 0.15s;
    
    
    --primary: #58aee6;
    --primary-hover: #268acb;
    --primary-dark: #366583;
    --black: #000;
    
    
    
    
    --dim: #dee9f1;
    --divider: #a1a1a1;
    --placeholder: #c2c2c2;
    
    --border: #e0e0e0;
    
    --checkbox-border: #f3f3f3;
    --date-disabled: #aaa;
    
    --app-width: 100vw;
}

/* ======================================= */
/* RESET */
/* ======================================= */
a, article, body, div, footer, form, fieldset, h1, h2, h3, h4, h5, h6, header, html, i, img, li, nav, ol, p, section, span, u, ul, input, textarea, dl, dt, table, tr, td, th, pre {
	margin: 0;
	padding: 0;
}

html,body{
	position: relative;
    height: 100%;
}

html.admin-bar{
    height: calc(100% - 32px);
}

@media screen and (max-width: 782px){
    html.admin-bar{
        height: calc(100% - 46px);
    }
}

body{   
    position: relative;
    
    color: var(--common);
    font: 400 26px/1.19335 var(--font);
    
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: none;
    
    background-color: var(--common);
    
    overflow-x: hidden;
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    body{
        font-size: calc(100vw / 1920 * 26);
    }
}

.bg{
    min-height: 1070px;

    overflow: hidden;

    z-index: 0;
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    .bg{
        min-height: calc(100vw / 1920 * 1070);
    }
}


.bg,
.bg:before{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
}

.bg:before{
    content: "";

    background: center top / cover no-repeat var(--common);

    z-index: 1;
}

@media screen and (min-width: 1025px){
    body:not(.page-template-contacts) .bg:before{
        animation: bg-moving 7s ease-in-out infinite;
    }
}

@keyframes bg-moving{
    0%{
        transform: translate3d(0, 0, 0) scale(1);
    }
    
    50%{
        transform: translate3d(-20px, -20px, 0) scale(1.05);
    }
    
    100%{
        transform: translate3d(0, 0, 0) scale(1);        
    }
}

li{
	list-style: none;
}

a{
	text-decoration: none;
    color: var(--common);
}

.svg{
    display: none;
}

.strong,
strong,
b{
    font-weight: 700;
}

svg,
use,
path{
    display: block;    
}

svg{
    pointer-events: none;
}

table{    
    border-collapse: collapse;
}

iframe{
    border: none;
}

.grecaptcha-badge{
    display: none!important;
}

@media screen and (max-width: 1024px){
    
}

input[type='text'],
input[type='text']:focus,
input[type='text']:active,
input[type='email'],
input[type='email']:focus,
input[type='email']:active,
input[type='tel'],
input[type='tel']:focus,
input[type='tel'],
input[type='submit'],
input[type='submit']:focus,
input[type='submit']:active,
textarea{
    -webkit-appearance: none;    
}

input:-webkit-autofill{    
    -webkit-text-fill-color: var(--light);
    -webkit-box-shadow: 0 0 0px 1000px var(--common) inset;
    background-color: transparent;
}

/* ======================================= */
/* COMMON ELEMS */
/* ======================================= */
@media screen and (max-width: 600px){
    #wpadminbar{
        position: fixed;
    }
}

.global-page{
    position: relative;
    
    min-height: 100%;
    
    background-color: rgba(23, 27, 51, 0.8);
    
    z-index: 1;
}

.page-body{
    position: relative;
    
    background-color: var(--bg);
}

.radius{
    border-radius: 20px;
}

.top-radius{
    border-radius: 20px 20px 0 0;
}

.bg-container{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
}

.bg-container > .container{
    height: 100%;
}

.floating-container{
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    
    height: 320px;
}

.container{
    position: relative;
    display: block;
    
    max-width: 1294px;
    padding: 0 60px;
    margin: 0 auto;
    
    z-index: 1;
}

.container.fw{
    max-width: none;    
}

.container.static{
    position: static;
}

.wide-container{
    position: relative;
    
    max-width: 1620px;
    margin: 0 auto;
}

.side-sticky-link{
    position: absolute;
    left: -168px;
    top: 0;
    
    padding-right: 75px;
    
    transform: rotate(-90deg) translateX(-100%) translateZ(0);
    transform-origin: left top;    
}

.img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: auto;
}

.relative{
    position: relative;
}

.ohb{
    overflow: hidden;
}

.center{
    text-align: center;
}

.lh0{
    line-height: 0;
}

@media screen and (max-width: 1379px){
    body{
        
    }
}

@media screen and (max-width: 1024px){
    body{
        font-size: 20px;
    }
    
    .container{
        padding: 0 30px;
    }
    
    .bg:before{
        background-size: 1024px;
    }
    
    .container.without-padding-mobile{
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 767px){
    .container{
        
    }
    
    .bg:before{
        background-size: 1324px;
    }
    
    @keyframes bg-moving{
        0%{
            transform: translate3d(0, 0, 0) scale(1);
        }
        
        50%{
            transform: translate3d(-15px, -15px, 0) scale(1.1);
        }
        
        100%{
            transform: translate3d(0, 0, 0) scale(1);        
        }
    }
}

/* === common.css === */
/* ======================================= */
/* COMMON */
/* ======================================= */
.logo:active,
.license-link:active,
.phone-link:active,
.menu-container a:active,
.accent-btn:active,
.icon-btn:active,
.secondary-btn-big:active,
.outline-btn:active,
.primary-btn:active,
.consultation-feed:active .consultation-feed__inside,
.primary-outline-btn:active,
.video-link:active,
.phone-btn:active,
.social__link:active,
.messagers__link:active,
a.contact-elem:active,
.promo-check-btn:not(.disabled):active,
.additional-menu a:active,
.dec-link:active,
.email-link:active,
.footer-link:active,
.messenger-link:active .messenger-link__icon,
.langs-panel a:active,
a.block-title.disabled:active,
.website-link:active,
.filter-item:active{
    transform: translateY(1px);
}

.js-filled-container{
    will-change: height;
    
    transition: height 0.4s ease-in-out;
}

.js-open-popup{
    cursor: pointer;
}

.db{
    display: block;
}

.block-title{
    display: block;
    
    font: 600 62px/1.1 var(--font);
}

.block-title.disabled{
    color: var(--disabled);
}

.block-title.dark{
    color: var(--dark);
}

.block-title.tr{
    opacity: 0.6;
}

.container-title{
    
}

.container-title strong,
.container-title b{
    
}

.container-title a{
    
}

@media screen and (min-width: 1025px){
    a.block-title.disabled{
        transition: color var(--dur) ease-in-out;
    }
    
    a.block-title.disabled:hover{
        color: var(--dark-gray);
    }
}

.section-title{
    font: 700 52px/1.1 var(--font);
}

.page-title,
.single-page-title{
    
}

.light{
    color: var(--light);
}

.block-img__elem{
    position: relative;
    
    display: block;
}

.text-block{
    font-size: 24px;
    line-height: 1.3;
}

.text{
    font: 400 16px/1.3 var(--font);
}

.upper-container{
    position: relative;
    
    z-index: 2;
}

.uppest-container{
    position: relative;
    
    z-index: 5;
}

.lower-container{
    position: relative;
    
    z-index: 1;
}

.page-anchor{
    position: relative;
    top: -140px;
}

.f20{
    font-size: 20px;
}

.fw400{
    font-weight: 400;
}

.fw500{
    font-weight: 500;
}

.fw600{
    font-weight: 600;
}

.uppercase{
    text-transform: uppercase;    
}

.break-word{
    word-break: break-word;
}

.inline{
    display: inline-block;
}

.price-elem{
    font: 700 32px/1.3 var(--font);
    white-space: nowrap;
}

.list-container{
    font: 400 16px/1.3 var(--font);
}

.list-container.right{
    text-align: right;
}

.list-container li{
    position: relative;
    
    padding-left: 18px;
}

.list-container p:not(:first-child),
.list-container ul:not(:first-child),
.list-container li:not(:first-child){
    margin-top: 20px;
}

.list-container.right li{
    padding-left: 0;
    padding-right: 18px;
}

.list-container li:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 8px;
    
    width: 14px;
    height: 7px;
    
    background: url("../images/icons/arrow.webp") center center / 100% no-repeat;
    
    transform: scale(-1, 1);
}

.list-container.right li:before{
    left: auto;
    right: 0;
    
    transform: none;
}

.title-list{
    font: 400 18px/1.3 var(--font);     
}

.title-list__elem:not(:first-child){
    padding-top: 20px;
}

.title-list__label{
    color: var(--primary);
    font-size: 24px;
    text-transform: uppercase;
}

.designed-list{
    font: 400 16px/1.3 var(--font);
}

.designed-list li{
    position: relative;
    
    padding-left: 38px;
}

.designed-list p:not(:first-child),
.designed-list ul:not(:first-child),
.designed-list li:not(:first-child){
    margin-top: 20px;
}

.designed-list li:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 1px;
    
    width: 22px;
    height: 22px;
    
    background: url("../images/icons/rocket.webp") center center / 100% no-repeat;
}

.common-bg{
    background-color: var(--common);
}

.primary-bg{
    background-color: var(--primary);
}

.gray-bg{
    background-color: var(--dim);
}

.light-bg{
    background-color: var(--light);
}

.light-content{
    color: var(--light);
}

.filled-img,
.img,
.full-filled{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
}

.filled-img,
.full-filled{    
    height: 100%;
}

.filled-img{
    object-fit: cover;
}

.text-container{
    font-size: 20px;
}

.text-container p:not(:first-child),
.text-container ul:not(:first-child),
.text-container ol:not(:first-child){
    margin-top: 10px;
}

.text-container h1:not(:first-child),
.text-container h2:not(:first-child),
.text-container h3:not(:first-child),
.text-container h4:not(:first-child),
.text-container h5:not(:first-child),
.text-container h6:not(:first-child){
    margin-top: 24px;
}

.text-container h1,
.text-container h2,
.text-container h3,
.text-container h4,
.text-container h5,
.text-container h6{
    text-transform: uppercase;
}

.text-container h1{
    font-size: 40px;
}

.text-container h2{
    font-size: 35px;
}

.text-container h3{
    font-size: 24px;
}

.text-container h4{
    font-size: 20px;
}

.text-container h5{
    font-size: 16px;
}

.text-container h6{
    font-size: 14px;
}

.text-container ul,
.text-container ol{
    padding-left: 24px;
}

.text-container ul li{
    list-style-position: outside;
    list-style-type: disc;
}

.text-container ol li{
    list-style-position: outside;
    list-style-type: decimal;
}

/* checklist: plain checkbox squares instead of the default disc bullet,
   so a literal checkbox glyph in the text doesn't double up with the bullet */
.text-container ul.checklist{
    padding-left: 0;
}

.text-container ul.checklist li{
    position: relative;
    padding-left: 32px;
    list-style-type: none;
}

.text-container ul.checklist li:before{
    content: '';
    position: absolute;
    left: 0;
    top: 4px;

    width: 18px;
    height: 18px;

    border: 2px solid var(--common);
    border-radius: 4px;
}

.text-container .checkbox-mock{
    display: inline-block;

    width: 16px;
    height: 16px;
    margin-right: 6px;

    border: 2px solid var(--common);
    border-radius: 4px;
    vertical-align: -3px;
}

.text-container ul li:not(:first-child),
.text-container ol li:not(:first-child){
    margin-top: 10px;
}

/* slogan */
.slogan-section,
.second-slogan-section{
    position: relative;    
    
    z-index: 5;
}

.slogan-section{
    top: -136px;
}

.second-slogan-section{
    top: -197px;
}

.slogan-container{
    height: 0;
}

.slogan{
    position: relative;
    display: block;

    color: var(--dark-gray);

    max-width: 1620px;
    margin: 0 auto;
    padding: 100px 162px;

    border-radius: 200px;
    background-color: var(--common);

    overflow: hidden;

    box-sizing: border-box;

    cursor: pointer;
}

.slogan:before/*,
.slogan:after*/{
    content: "";
    
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    background: linear-gradient(238deg, #171B33 30%, #3A3C53 49.38%, #171B33 70%);
    
    z-index: 0;
}

.slogan:before{
    transform: translateX(-100%);
    
    animation: blink 4s ease-in-out infinite;
}

@keyframes blink{
    0%{
        transform: translateX(-100%);
        
    }
    
    40%{
        transform: translateX(100%);
    }
    
    100%{
        transform: translateX(100%);
    }
}

.slogan__inside{
    position: relative;
    
    display: flex;
    align-items: center;
    
    z-index: 1;
}

.slogan__logo{
    display: inline-block;
    
    min-width: 196px;
    
    background: url("../images/logo-gray.webp") center center / 100% no-repeat;
}

.slogan__logo:before{
    content: "";
    
    display: block;
    padding-top: 89.28571428571429%;
}

.slogan__body{
    position: relative;

    font: 400 30px/1.85 var(--font);

    padding-left: 89px;
    margin-left: 89px;
}

.slogan__body:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -87px;
    
    height: 175px;
    
    border-left: 3px solid var(--dark-gray);    
}

/* send a question line */
.send-question{
    line-height: 0;
}

.send-question__inside{
    display: inline-flex;
    align-items: center;
    
    color: var(--light);
    font-size: 22px;
    line-height: var(--lh);
    
    margin-left: -3px;
}

.send-question__consultant,
.send-question__body{
   display: block; 
}

.send-question__preview{
    display: flex;
}

.send-question__consultants{
    display: flex;
}

.send-question__consultant,
.send-question__email{
    width: 80px;
    height: 80px;    
    
    border-radius: 50%;
    border: 3px solid var(--common);
    background-color: var(--common);
    
    overflow: hidden;
}

.send-question__consultant:not(:first-child),
.send-question__email{
    margin-left: -16px;
}

.send-question__consultant-img{
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.send-question__email{
    display: flex;
    justify-content: center;
    align-items: center;
}

.email-large-icon{
    width: 32px;
    height: 32px;
}

.email-large-icon.line{
    fill: var(--light)
}

.send-question__body{
    margin-left: 12px;
}

.send-question__body strong{
    position: relative;
    
    font-weight: 400;
}

.send-question__body strong:before,
.send-question__body strong:after{
    content: "";
    
    position: absolute;
    left: 0;
    top: 100%;
}

.send-question__body strong:before{    
    right: 0;
    
    border-top: 2px dotted var(--light);
}

.send-question__body strong:after{
    width: 0;
    border-top: 2px solid var(--light);
    
    opacity: 0;
}

@media screen and (min-width: 1025px){
    .send-question__body strong:after{
        transition: all var(--dur) ease-in-out;    
    }
    
    .send-question__inside:hover .send-question__body strong:after{
        opacity: 1;
        
        width: 100%;
    }
}

.send-question__arrow{
    position: relative;
    display: inline-block;
    
    margin-left: 12px;
}

.send-question__inside:active .send-question__arrow{
    left: 1px;
}

.send-question-icon{
    width: 21px;
    height: 9px;
}

.send-question-icon.line{
    fill: var(--light);
}
/* send a question line */

/* hint */
.title-with-hint{
    position: relative;
    
    display: inline-flex;
    align-items: center;
}

.hint-container{
    position: relative;
    
    display: block;
    
    color: var(--date-color);
    font: 400 16px/var(--lh) var(--font);
    white-space: nowrap;
    
    padding: 9px 15px;
    
    border-radius: 4px 4px 4px 0;
    box-shadow: -2px 0 12px 2px rgba(0, 0, 0, 0.1);
    background-color: var(--light);
}

.hint-container.gray{
    background-color: var(--bg);
}

.hint-container:before{
    content: "";
    
    position: absolute;
    right: 100%;
    bottom: 0;
    
    width: 0;
    height: 0;
    
    border-left: 3px solid transparent;
    border-top: 5px solid transparent;
    border-right: 4px solid var(--light);
    border-bottom: 6px solid var(--light);
}

.hint-container.gray:before{
    border-right: 4px solid var(--bg);
    border-bottom: 6px solid var(--bg);
}

/* link with arrow */
.link-arrow-wrapper{
    margin: -5px 0;
}

.link-arrow{    
    display: inline-flex;
    align-items: center;
    
    font: 400 20px / var(--lh) var(--font);
    
    padding: 5px 0;
}

.link-arrow__label{
    position: relative;
}

.link-arrow__label:before,
.link-arrow__label:after{
    content: "";
    
    position: absolute;
    left: 0;
    top: 100%;
}

.link-arrow__label:before{    
    right: 0;
    
    border-top: 2px dotted var(--common);
}

.link-arrow__label:after{
    width: 0;
    border-top: 2px solid var(--common);
    
    opacity: 0;
}

.link-arrow__icon{
    position: relative;
    
    display: inline-block;
    
    margin-left: 9px;
}

.link-arrow:active .link-arrow__icon{
    left: 1px;
}

.link-arrow-icon{
    width: 21px;
    height: 9px;
}

.link-arrow-icon.line{
    fill: var(--common);
}

.link-arrow.light{
    color: var(--light);
}

.link-arrow.light .link-arrow-icon.line{
    fill: var(--light);
}

.link-arrow.light .link-arrow__label:before{
    border-top-color: var(--light);
}

/* hide-show container styles */
.js-open-container-btn{
    cursor: pointer;
    
    user-select: none;
}

.js-opened-container{
    height: 0;
    opacity: 0;
    
    transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out;
    
    overflow: hidden;
}

.js-opened-container.opened{
    height: auto;
    opacity: 1;
}

@media screen and (min-width: 1025px){
    .round-btn{
        transition: color var(--dur) ease-in-out;
    }
    
    .round-btn:hover{
        color: var(--primary);
    }
    
    .round-btn:hover .round-btn__img.default{
        opacity: 0;
    }
    
    .round-btn:hover .round-btn__img.colored{
        opacity: 1;
    }
    
    .link-arrow__label:after{
        transition: all var(--dur) ease-in-out;    
    }
    
    .link-arrow:hover .link-arrow__label:after{
        opacity: 1;
        
        width: 100%;
    }    
}

.rounded__circle,
.rounded__inside{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.rounded__circle{
    animation: 24s linear 0s normal none infinite running rot;
}

.rounded__inside.e2{
    transform: scale(-1,-1);
}

.circle-svg.w260{
    width: 260px;
}

.circle-svg.w258{
    width: 258px;
}

.circle-svg.w224{
    width: 224px;
}

.circle-svg.w144{
    width: 144px;
}

.circle-svg.w110{
    width: 110px;
}

.circle-svg.line{
    fill: none;
    stroke: none;
}

.circle-svg-text{
    fill: var(--light);
    text-anchor: middle;
}

.circle-svg-text.dark{
    fill: var(--common);
}

.circle-svg-text.f20{
    font-size: 20px;
}

.circle-svg-text.f22{
    font-size: 22px;
}

.circle-svg-text.f30{
    font-size: 30px;
}

.c-l__icon{
    position: absolute;
    left: 50%;
    top: 50%;
}

.close-btn{
    position: absolute;
    right: -100px;
    top: -100px;
    
    display: block;
    width: 110px;
    height: 110px;
    
    user-select: none;
    cursor: pointer;
}

.close-btn:active{
    transition-duration: 0s;
    
    opacity: 0.9;
}

.close-btn__icon{
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
}

.close-btn__icon:before,
.close-btn__icon:after{
    content: "";
    
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -1px 0 0 -10px;
    
    width: 20px;
    height: 2px;
    
    border-radius: 10px;
    background-color: var(--light);
}

.close-btn__icon:before{
    transform: rotate(45deg);
}

.close-btn__icon:after{
    transform: rotate(-45deg);
}

@media screen and (min-width: 1025px){
    .c-l:hover .rounded__circle{
        animation-play-state: paused;
    }
    
    .c-l__icon{
        transition: transform var(--dur) ease-in-out;
    }
    
    .c-l:hover .c-l__icon{
        transform: scale(1.07);
    }
    
    .c-l:hover .close-btn__icon{
        transform: none;
    }    
}

@media screen and (max-width: 1279px){
    
}

@media screen and (max-width: 1024px){
    .block-title{
        font-size: 44px;
    }
    
    .slogan-section,
    .second-slogan-section{
        display: none;
    }
    
    .close-btn{
        right: 0;
        top: 0;
        
        width: 40px;
        height: 40px;
    }
    
    .close-btn:active{
        transform: scale(0.9);
    }
    
    .close-btn .rounded__circle{
        display: none;
    }
}

@media screen and (max-width: 767px){
    .block-title{
        font-size: 38px;
    }
    
    .circle-svg.w258{
        width: 185px;
    }
    
    .send-question__inside{
        display: block;
        
        font-size: 20px;
    }
    
    .send-question__body{
        margin: 26px 0 0;
    }
    
    .send-question__consultant, 
    .send-question__email{
        width: 50px;
        height: 50px;
    }
    
    .email-large-icon{
        width: 20px;
        height: 20px;
    }
    
    .mobile-carousel{
        margin: 0 -30px;
    }
    
    .mobile-carousel.swiper-container{
        position: relative;
        z-index: 1;
    }
    
    .mobile-carousel .swiper-wrapper{
        position: relative;
        width: 100%;
        
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
    
        transition-property: transform;
        box-sizing: content-box;
    
        z-index: 1;
    }
    
    .mobile-carousel .swiper-container-android .swiper-slide,
    .mobile-carousel .swiper-wrapper{
        transform: translate3d(0px, 0, 0);
    }
    
    .mobile-carousel .swiper-slide{
        position: relative;
    
        flex-shrink: 0;
    
        width: 100%;
    
        transition-property: transform;
    }
    
    .mobile-carousel .swiper-slide-invisible-blank{
        visibility: hidden;
    }
    
    .mobile-carousel .swiper-autoheight, 
    .mobile-carousel .swiper-autoheight .swiper-slide{
        height: auto;
    }
    
    .mobile-carousel .swiper-autoheight .swiper-wrapper{
        align-items: flex-start;
        transition-property: transform,height;
    }
    
    .mobile-carousel .swiper-fade .swiper-slide{
        pointer-events: none;
        transition-property: opacity;
    }
    
    .mobile-carousel .swiper-backface-hidden .swiper-slide{
        transform: translateZ(0);
        backface-visibility: hidden;
    }
    
    .close-btn{
        top: 14px;               
    }
}

@media screen and (min-width: 1025px) {
    .js-section .js-animation-2,
    .js-section .js-animation-3,
    .js-section .js-animation-child,
    .js-section .js-animation-elem,
    .js-section .js-animation-first,
    .js-section .js-animation-last{
        opacity: 0;
        transform: translate3d(0, 30px, 0);
        transition: opacity 1s ease, transform 1s ease;
    }

    .js-section.active .js-animation-2,
    .js-section.active .js-animation-3,
    .js-section.active .js-animation-elem,
    .js-section.active .js-animation-first,
    .js-section.active .js-animation-last {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .js-section .js-animation-2,
    .js-section .js-animation-elem{
        transition-delay: 0.3s
    }

    .js-section .js-animation-3{
        transition-delay: 0.6s
    }

    .js-section .js-animation-last{
        transition-delay: 1s
    }
}
/* === indents.css === */
.t4{padding-top:4px}.b4{padding-bottom:4px}.t6{padding-top:6px}.b6{padding-bottom:6px}.t8{padding-top:8px}.b8{padding-bottom:8px}.t10{padding-top:10px}.b10{padding-bottom:10px}.t12{padding-top:12px}.b12{padding-bottom:12px}.t14{padding-top:14px}.b14{padding-bottom:14px}.t16{padding-top:16px}.b16{padding-bottom:16px}.t18{padding-top:18px}.b18{padding-bottom:18px}.t20{padding-top:20px}.b20{padding-bottom:20px}.t22{padding-top:22px}.b22{padding-bottom:22px}.t24{padding-top:24px}.b24{padding-bottom:24px}.t26{padding-top:26px}.b26{padding-bottom:26px}.t28{padding-top:28px}.b28{padding-bottom:28px}.t30{padding-top:30px}.b30{padding-bottom:30px}.t32{padding-top:32px}.b32{padding-bottom:32px}.t34{padding-top:34px}.b34{padding-bottom:34px}.t36{padding-top:36px}.b36{padding-bottom:36px}.t38{padding-top:38px}.b38{padding-bottom:38px}.t40{padding-top:40px}.b40{padding-bottom:40px}.t42{padding-top:42px}.b42{padding-bottom:42px}.t44{padding-top:44px}.b44{padding-bottom:44px}.t46{padding-top:46px}.b46{padding-bottom:46px}.t48{padding-top:48px}.b48{padding-bottom:48px}.t50{padding-top:50px}.b50{padding-bottom:50px}.t52{padding-top:52px}.b52{padding-bottom:52px}.t54{padding-top:54px}.b54{padding-bottom:54px}.t56{padding-top:56px}.b56{padding-bottom:56px}.t58{padding-top:58px}.b58{padding-bottom:58px}.t60{padding-top:60px}.b60{padding-bottom:60px}.t62{padding-top:62px}.b62{padding-bottom:62px}.t64{padding-top:64px}.b64{padding-bottom:64px}.t66{padding-top:66px}.b66{padding-bottom:66px}.t68{padding-top:68px}.b68{padding-bottom:68px}.t70{padding-top:70px}.b70{padding-bottom:70px}.t72{padding-top:72px}.b72{padding-bottom:72px}.t74{padding-top:74px}.b74{padding-bottom:74px}.t76{padding-top:76px}.b76{padding-bottom:76px}.t78{padding-top:78px}.b78{padding-bottom:78px}.t80{padding-top:80px}.b80{padding-bottom:80px}.t82{padding-top:82px}.b82{padding-bottom:82px}.t84{padding-top:84px}.b84{padding-bottom:84px}.t86{padding-top:86px}.b86{padding-bottom:86px}.t88{padding-top:88px}.b88{padding-bottom:88px}.t90{padding-top:90px}.b90{padding-bottom:90px}.t92{padding-top:92px}.b92{padding-bottom:92px}.t94{padding-top:94px}.b94{padding-bottom:94px}.t96{padding-top:96px}.b96{padding-bottom:96px}.t98{padding-top:98px}.b98{padding-bottom:98px}.t100{padding-top:100px}.b100{padding-bottom:100px}.t102{padding-top:102px}.b102{padding-bottom:102px}.t104{padding-top:104px}.b104{padding-bottom:104px}.t106{padding-top:106px}.b106{padding-bottom:106px}.t108{padding-top:108px}.b108{padding-bottom:108px}.t110{padding-top:110px}.b110{padding-bottom:110px}.t112{padding-top:112px}.b112{padding-bottom:112px}.t114{padding-top:114px}.b114{padding-bottom:114px}.t116{padding-top:116px}.b116{padding-bottom:116px}.t118{padding-top:118px}.b118{padding-bottom:118px}.t120{padding-top:120px}.b120{padding-bottom:120px}@media screen and (max-width:1024px){.tt0{padding-top:0;}.tb0{padding-bottom:0}.tt4{padding-top:4px}.tb4{padding-bottom:4px}.tt6{padding-top:6px}.tb6{padding-bottom:6px}.tt8{padding-top:8px}.tb8{padding-bottom:8px}.tt10{padding-top:10px}.tb10{padding-bottom:10px}.tt12{padding-top:12px}.tb12{padding-bottom:12px}.tt14{padding-top:14px}.tb14{padding-bottom:14px}.tt16{padding-top:16px}.tb16{padding-bottom:16px}.tt18{padding-top:18px}.tb18{padding-bottom:18px}.tt20{padding-top:20px}.tb20{padding-bottom:20px}.tt22{padding-top:22px}.tb22{padding-bottom:22px}.tt24{padding-top:24px}.tb24{padding-bottom:24px}.tt26{padding-top:26px}.tb26{padding-bottom:26px}.tt28{padding-top:28px}.tb28{padding-bottom:28px}.tt30{padding-top:30px}.tb30{padding-bottom:30px}.tt32{padding-top:32px}.tb32{padding-bottom:32px}.tt34{padding-top:34px}.tb34{padding-bottom:34px}.tt36{padding-top:36px}.tb36{padding-bottom:36px}.tt38{padding-top:38px}.tb38{padding-bottom:38px}.tt40{padding-top:40px}.tb40{padding-bottom:40px}.tt42{padding-top:42px}.tb42{padding-bottom:42px}.tt44{padding-top:44px}.tb44{padding-bottom:44px}.tt46{padding-top:46px}.tb46{padding-bottom:46px}.tt48{padding-top:48px}.tb48{padding-bottom:48px}.tt50{padding-top:50px}.tb50{padding-bottom:50px}.tt52{padding-top:52px}.tb52{padding-bottom:52px}.tt54{padding-top:54px}.tb54{padding-bottom:54px}.tt56{padding-top:56px}.tb56{padding-bottom:56px}.tt58{padding-top:58px}.tb58{padding-bottom:58px}.tt60{padding-top:60px}.tb60{padding-bottom:60px}.tt62{padding-top:62px}.tb62{padding-bottom:62px}.tt64{padding-top:64px}.tb64{padding-bottom:64px}.tt66{padding-top:66px}.tb66{padding-bottom:66px}.tt68{padding-top:68px}.tb68{padding-bottom:68px}.tt70{padding-top:70px}.tb70{padding-bottom:70px}.tt72{padding-top:72px}.tb72{padding-bottom:72px}.tt74{padding-top:74px}.tb74{padding-bottom:74px}.tt76{padding-top:76px}.tb76{padding-bottom:76px}.tt78{padding-top:78px}.tb78{padding-bottom:78px}.tt80{padding-top:80px}.tb80{padding-bottom:80px}.tt82{padding-top:82px}.tb82{padding-bottom:82px}.tt84{padding-top:84px}.tb84{padding-bottom:84px}.tt86{padding-top:86px}.tb86{padding-bottom:86px}.tt88{padding-top:88px}.tb88{padding-bottom:88px}.tt90{padding-top:90px}.tb90{padding-bottom:90px}.tt92{padding-top:92px}.tb92{padding-bottom:92px}.tt94{padding-top:94px}.tb94{padding-bottom:94px}.tt96{padding-top:96px}.tb96{padding-bottom:96px}.tt98{padding-top:98px}.tb98{padding-bottom:98px}.tt100{padding-top:100px}.tb100{padding-bottom:100px}.tt102{padding-top:102px}.tb102{padding-bottom:102px}.tt104{padding-top:104px}.tb104{padding-bottom:104px}.tt106{padding-top:106px}.tb106{padding-bottom:106px}.tt108{padding-top:108px}.tb108{padding-bottom:108px}.tt110{padding-top:110px}.tb110{padding-bottom:110px}.tt112{padding-top:112px}.tb112{padding-bottom:112px}.tt114{padding-top:114px}.tb114{padding-bottom:114px}.tt116{padding-top:116px}.tb116{padding-bottom:116px}.tt118{padding-top:118px}.tb118{padding-bottom:118px}.tt120{padding-top:120px}.tb120{padding-bottom:120px}}@media screen and (max-width:767px){.mt0{padding-top:0;}.mb0{padding-bottom:0;}.mt4{padding-top:4px}.mb4{padding-bottom:4px}.mt6{padding-top:6px}.mb6{padding-bottom:6px}.mt8{padding-top:8px}.mb8{padding-bottom:8px}.mt10{padding-top:10px}.mb10{padding-bottom:10px}.mt12{padding-top:12px}.mb12{padding-bottom:12px}.mt14{padding-top:14px}.mb14{padding-bottom:14px}.mt16{padding-top:16px}.mb16{padding-bottom:16px}.mt18{padding-top:18px}.mb18{padding-bottom:18px}.mt20{padding-top:20px}.mb20{padding-bottom:20px}.mt22{padding-top:22px}.mb22{padding-bottom:22px}.mt24{padding-top:24px}.mb24{padding-bottom:24px}.mt26{padding-top:26px}.mb26{padding-bottom:26px}.mt28{padding-top:28px}.mb28{padding-bottom:28px}.mt30{padding-top:30px}.mb30{padding-bottom:30px}.mt32{padding-top:32px}.mb32{padding-bottom:32px}.mt34{padding-top:34px}.mb34{padding-bottom:34px}.mt36{padding-top:36px}.mb36{padding-bottom:36px}.mt38{padding-top:38px}.mb38{padding-bottom:38px}.mt40{padding-top:40px}.mb40{padding-bottom:40px}.mt42{padding-top:42px}.mb42{padding-bottom:42px}.mt44{padding-top:44px}.mb44{padding-bottom:44px}.mt46{padding-top:46px}.mb46{padding-bottom:46px}.mt48{padding-top:48px}.mb48{padding-bottom:48px}.mt50{padding-top:50px}.mb50{padding-bottom:50px}.mt52{padding-top:52px}.mb52{padding-bottom:52px}.mt54{padding-top:54px}.mb54{padding-bottom:54px}.mt56{padding-top:56px}.mb56{padding-bottom:56px}.mt58{padding-top:58px}.mb58{padding-bottom:58px}.mt60{padding-top:60px}.mb60{padding-bottom:60px}.mt62{padding-top:62px}.mb62{padding-bottom:62px}.mt64{padding-top:64px}.mb64{padding-bottom:64px}.mt66{padding-top:66px}.mb66{padding-bottom:66px}.mt68{padding-top:68px}.mb68{padding-bottom:68px}.mt70{padding-top:70px}.mb70{padding-bottom:70px}.mt72{padding-top:72px}.mb72{padding-bottom:72px}.mt74{padding-top:74px}.mb74{padding-bottom:74px}.mt76{padding-top:76px}.mb76{padding-bottom:76px}.mt78{padding-top:78px}.mb78{padding-bottom:78px}.mt80{padding-top:80px}.mb80{padding-bottom:80px}.mt82{padding-top:82px}.mb82{padding-bottom:82px}.mt84{padding-top:84px}.mb84{padding-bottom:84px}.mt86{padding-top:86px}.mb86{padding-bottom:86px}.mt88{padding-top:88px}.mb88{padding-bottom:88px}.mt90{padding-top:90px}.mb90{padding-bottom:90px}.mt92{padding-top:92px}.mb92{padding-bottom:92px}.mt94{padding-top:94px}.mb94{padding-bottom:94px}.mt96{padding-top:96px}.mb96{padding-bottom:96px}.mt98{padding-top:98px}.mb98{padding-bottom:98px}.mt100{padding-top:100px}.mb100{padding-bottom:100px}.mt102{padding-top:102px}.mb102{padding-bottom:102px}.mt104{padding-top:104px}.mb104{padding-bottom:104px}.mt106{padding-top:106px}.mb106{padding-bottom:106px}.mt108{padding-top:108px}.mb108{padding-bottom:108px}.mt110{padding-top:110px}.mb110{padding-bottom:110px}.mt112{padding-top:112px}.mb112{padding-bottom:112px}.mt114{padding-top:114px}.mb114{padding-bottom:114px}.mt116{padding-top:116px}.mb116{padding-bottom:116px}.mt118{padding-top:118px}.mb118{padding-bottom:118px}.mt120{padding-top:120px}.mb120{padding-bottom:120px}}
/* === header.css === */
/* ======================================= */
/* HEADER */
/* ======================================= */
.header{
    /*position: -webkit-sticky;
    position: sticky;
    top: 0;*/
    
    transition: background-color var(--dur) ease-in-out;
    
    z-index: 11;
}

/*.header.fixed{
    background-color: var(--common);
}*/

.admin-bar .header{
    top: 32px;
}

@media screen and (max-width: 782px){
    .admin-bar .header{
        top: 46px;
    }    
}

.header-inside{
    display: flex;
    align-items: center;
    
    padding: 40px 0;
    
    transition: padding var(--dur) ease-in-out;
}

.header-part{
    display: flex;
    align-items: center;
}

/*.header.fixed .header-inside{
    padding: 20px 0;
}*/

.logo-container{
    line-height: 0;
}

.logo{
    display: inline-block;
    
    width: 142px;
    
    background: url("../images/logo.webp") center center / 100% no-repeat;
}

.logo:before{
    content: "";
    
    display: block;
    padding-top: 90.14084507042254%;
}

.logo.dark{
    background-image: url("../images/logo-dark.webp");
}

.menu-btn-container{
    margin-left: auto;
}

.menu-btn{
    width: 110px;
    padding: 24px 0;
    
    user-select: none;
    cursor: pointer;
}

.menu-btn__row{
    position: relative;
    
    border-top: 3px solid var(--light-gray);
}

.menu-btn.dark .menu-btn__row{
    border-top-color: var(--common);
}

.menu-btn__row:not(:first-child){
    margin-top: 10px;
}

.menu-btn__row.r1{
    margin-right: 64px;
}

.menu-btn__row.r2{
    
}

.menu-btn__row.r3{
    margin-right: 41px;
}

@media screen and (min-width: 1025px){
    body.loaded .menu-btn__row.r1{
        animation: mr1 6s ease-in-out 1s infinite;
    }
    
    body.loaded .menu-btn__row.r2{
        animation: mr2 6s ease-in-out 1s infinite;
    }
    
    body.loaded .menu-btn__row.r3{
        animation: mr3 6s ease-in-out 1s infinite;
    }
}

@keyframes mr1 {
    0%{
        margin-right: 64px;  
    }
    
    8%{
        margin-right: 14px;
    }
    
    16%{
        margin-right: 64px;
    }
    
    100%{
        margin-right: 64px;
    }
}

@keyframes mr2 {
    0%{
        margin-right: 0;  
    }
    
    8%{
        margin-right: 50px;
    }
    
    16%{
        margin-right: 0;
    }
    
    100%{
        margin-right: 0;
    }
}

@keyframes mr3 {
    0%{
        margin-right: 41px;  
    }
    
    8%{
        margin-right: 20px;
    }
    
    16%{
        margin-right: 41px;
    }
    
    100%{
        margin-right: 41px;
    }
}

.menu-btn:active .menu-btn__row.r1{
    top: 1px;
}

.menu-btn:active .menu-btn__row.r3{
    top: -1px;
}

/*@media screen and (min-width: 1025px){
    .menu-btn:hover .menu-btn__row{
        animation-play-state: paused;
    }
}*/

@media screen and (min-width: 1025px){
    .langs-panel.mobile{
        display: none
    }
}

@media screen and (max-width: 1024px){
    .langs-panel.desktop{
        display: none
    }
}

.langs-panel{
    position: relative;
    top: -2px;
    
    display: flex;
    
    font: 400 22px/var(--lh) var(--font);
    
    margin-left: 105px;
}

.langs-panel .lang-item{
    display: flex;
    align-items: center;
}

.langs-panel .lang-item:not(:first-child):before{
    content: "";
    
    display: block;
    
    width: 1px;
    height: 18px;
    
    margin: 0 4px;
    
    background-color: var(--light);
    
    opacity: 0.6;
}

.langs-panel a{
    display: block;
    
    color: var(--light);
    text-transform: capitalize;
    
    padding: 5px;
    
    opacity: 0.6;
}

.langs-panel .current-lang a{
    opacity: 1;
}

.langs-panel.dark .lang-item:not(:first-child):before{
    background-color: var(--common);
}

.langs-panel.dark a{
    color: var(--common);
}

@media screen and (min-width: 1025px){
    .langs-panel a{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .langs-panel a:hover{
        opacity: 1;
    }
}

/* modal menu */
.modal-menu{
    display: none;
    
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    padding: 0 0 40px;
    
    background-color: var(--bg);
    
    z-index: 100;
    
    transform: translateY(-50%);
    opacity: 0;
    
    transition: all 0.4s ease-in-out;
}

.modal-menu > .container{
    height: 100%;
}

.modal-menu.active{
    display: block;
}

.modal-menu.visible{
    opacity: 1;
    transform: translateY(0);
}

.admin-bar .modal-menu{
    top: 32px;
}

@media screen and (max-width: 782px){
    .admin-bar .modal-menu{
        top: 46px;
    }
}

.modal-menu__inside{
    display: flex;
    flex-direction: column;
    
    height: 100%;
}

.header-container{
    width: 100%;
    max-width: 856px;
    margin: 0 auto;
}

.nav-container{
    line-height: 0;
    text-align: center;
    
    height: 100%;
    
    overflow: auto;
}

@media screen and (min-width: 1025px){
    .nav-container::-webkit-scrollbar{
    	width: 10px;
    	background-color: #F5F5F5;
    }
    
    .nav-container::-webkit-scrollbar-track{
      border-radius: 10px;
      background: rgba(0,0,0,0.1);
      border: 1px solid #ccc;
    }
    
    .nav-container::-webkit-scrollbar-thumb{
      border-radius: 10px;
      background: linear-gradient(left, #fff, #e4e4e4);
      border: 1px solid #aaa;
    }
    
    .nav-container::-webkit-scrollbar-thumb:hover{
      background: #fff;
    }
    
    .nav-container::-webkit-scrollbar-thumb:active{
      background: linear-gradient(left, #22ADD4, #1E98BA);
    }     
}

.nav-container .menu-item:not(:first-child){
    margin-top: 8px;
}

.nav-container a{
    display: inline-block;
    
    color: var(--common);
    font: 600 62px/1.1 var(--font);
    
        
}

@media screen and (min-width: 1025px){
    .nav-container a{
        transform: translateX(0);
    
        transition: all 0.4s cubic-bezier(.98,-0.58,0,1.56);
    }
    
    .nav-container a:hover{
        transform: translateX(10px);
    }    
}

.phones-wrapper{
    display: flex;
    justify-content: space-between;
    
    gap: 182px;
    padding-top: 52px;
}

@media screen and (min-width: 1025px) and (max-height: 930px){
    .modal-menu{
        padding-bottom: 20px;    
    }
    
    .nav-container a{
        font-size: 58px;
    }
    
    .phones-wrapper{
        padding-top: 32px;
    }
}

/* media styles */
@media screen and (max-width: 1024px){
    .header-inside{
        padding: 26px 0;
    }
    
    .logo{
        width: 70px;
    }
    
    .langs-panel{
        font-size: 18px;
        
        margin: 0 auto;
    }
    
    .langs-panel a{
        padding-left: 6px;
        padding-right: 6px;
    }
    
    .menu-btn-container{
        margin: 0;
    }
    
    .menu-btn{
        width: 60px;
        padding: 5px 0;
    }
    
    .menu-btn__row:not(:first-child){
        margin-top: 8px;
    }
    
    .menu-btn__row.r1{
        margin-right: 25px;
    }
    
    .menu-btn__row.r3{
        margin-right: 16px;
    }
    
    .nav-container{
        text-align: left;
        
        padding-top: 14px;
    }
    
    .nav-container a{
        font-size: 44px;
    }
    
    .nav-container a:active{
        transform: translateY(1px);
    }    

    .phones-wrapper{
        gap: 20px;
        
        padding-top: 32px;
    }
    
    
}

@media screen and (max-width: 767px){
    .nav-container a{
        font-size: 38px;
    }
    
    .phones-wrapper{
        display: block;
        
        padding-top: 24px;
    }
    
    .phone-col:not(:first-child){
        margin-top: 20px;
    }    
}

@media screen and (max-height: 760px){
    .nav-container a{
        font-size: 32px;
    }
}

@media screen and (max-height: 720px){
    .nav-container a{
        font-size: 28px;
    }
}
/* === footer.css === */
/* ======================================= */
/* FOOTER */
/* ======================================= */
.footer{
    color: var(--light);
    
    background-color: var(--common);
}

.footer-inside{
    max-width: 1294px;
    margin: 0 auto;
}

.footer-container{
    display: flex;
    align-items: flex-start;
}

.footer-picture{
    position: relative;

    max-width: 440px;
    width: 100%;

    border-radius: 260px 260px 0 0;
    background: url("../images/bg/footer-picture.webp") center center / cover no-repeat;
}

.footer-picture:before{
    content: "";
    
    display: block;
    padding-top: 125.9090909090909%;
}

.hand-link{
    position: absolute;
    right: -66px;
    top: 61px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    width: 140px;
    height: 140px;
    
    border-radius: 50%;
    background-color: var(--bg);
}

.hand-icon{
    width: 70px;
    height: 67px;
}

.hand-icon.line{
    fill: var(--common);
}

.footer-body{
    margin-left: 326px;
    padding-top: 12px;
    min-width: 528px;
}

/* footer menu */
.additional-menu{
    font: 600 26px/var(--lh) var(--font);
}

.additional-menu a{
    position: relative;
    
    display: inline-block;
    
    color: var(--light);
}

.additional-menu a:before{
    content: "";
    
    position: absolute;
    left: 0;
    bottom: -1px;
    
    width: 0;
    
    border-top: 2px solid var(--light);
}

@media screen and (min-width: 1025px){
    .additional-menu a:before{
        transition: width var(--dur) ease-in-out;
    }
    
    .additional-menu a:hover:before{
        transition: width 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55);
        width: 100%;
    }
}

.additional-menu .menu-item:not(:first-child){
    margin-top: 8px;
}

/* footer phones */
.phone-row:not(:first-child){
    margin-top: 14px;
}

.phone-link{
    position: relative;
    
    display: inline-block;
    
    color: var(--light);
    font: 400 36px/1.85 var(--font_meg);
    white-space: nowrap;
}

.phone-link:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    
    box-shadow: 0 0 24px 2px var(--light);
    
    opacity: 0;
}

.phone-link.dark:before{
    box-shadow: 0 0 24px 2px var(--common);
}

@media screen and (min-width: 1025px){
    .phone-link:before{
        transition: all var(--dur) ease-in-out;
    }
    
    .phone-link:hover:before{
        opacity: 0.4;
    }
}

.phone-link.dark{
    color: var(--common);
}

.phone-label-container{
    margin-top: -7px;
}

.dec-link{
    position: relative;
    
    display: inline-block;
    
    color: var(--light);
    font:  400 18px/var(--lh) var(--font);
    
    opacity: 0.5;
    
    user-select: none;
    cursor: pointer;
}

.dec-link.dark{
    color: var(--common);
    
    opacity: 1;
}

.dec-link.bigger{
    font-size: 20px;
}

.dec-link:before{
    
}

.dec-link:after,
.dec-link:before{
    content: "";
        
    position: absolute;
    left: 0;
    top: 100%;
}

.dec-link:after{
    right: 0;
    
    border-top: 2px dotted var(--light);
}

.dec-link:before{
    width: 0;
    
    border-top: 2px solid var(--light);    
}

.dec-link.dark:after,
.dec-link.dark:before{
    border-top-color: var(--common);
}


@media screen and (min-width: 1025px){
    .dec-link{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .dec-link:hover{
        opacity: 1;
    }
    
    .dec-link:before{
        transition: width var(--dur) ease-in-out;    
    }
    
    .dec-link:hover:before{
        width: 100%;
    }
}

/* email link */
.email-link{
    position: relative;
    
    display: inline-flex;
    align-items: center;
    
    color: var(--light);
    font: 300 22px/var(--lh) var(--font);
}

.email-link:before{
    content: "";
        
    position: absolute;
    left: 36px;
    bottom: -1px;
    
    width: 0;
    
    border-top: 2px solid var(--light);
}

@media screen and (min-width: 1025px){
    .email-link:before{
        transition: width var(--dur) ease-in-out;    
    }
    
    .email-link:hover:before{        
        width: calc(100% - 36px);
        
        transition: width 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.25);
    }
}

.email-link svg{
    margin-right: 12px;
}

.email-icon{
    width: 24px;
    height: 24px;
}

.email-icon.line{
    fill: var(--light);
}

/* messengers */
.messengers{
    display: flex;
    flex-wrap: wrap;
    
    margin: -4px;
}

.messengers__elem:not(:first-child){
    margin-left: 14px;
}

.messenger-link{
    display: block;
    
    padding: 4px;
}

.messenger-link__icon{
    display: block;
    
    width: 32px;
    height: 32px;
}

@media screen and (min-width: 1025px){
    .messenger-link{
        transition: transform var(--dur) ease-in-out;        
    }
    
    .messenger-link:hover{
        transform: scale(1.1);
    }
}

/* links in footer */
.footer-links{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 32px;

    line-height: normal;
}

.footer-links__elem{
    display: flex;
}

.footer-link{
    position: relative;
    display: inline-block;

    color: var(--light);
    font: 300 18px/var(--lh) var(--font);
    white-space: nowrap;

    opacity: 0.5;
}

.footer-link:before{
    content: "";
    
    position: absolute;
    left: 0;
    bottom: -2px;
    
    width: 0;
    
    border-top: 2px solid var(--light);
}

@media screen and (min-width: 1025px){
    .footer-link{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .footer-link:hover{
        opacity: 1;
    }
    
    .footer-link:before{
        transition: width var(--dur) ease-in-out;    
    }
    
    .footer-link:hover:before{        
        width: 100%;
        
        transition: width 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.25);
    }
}

@media screen and (max-width: 1024px){
    .footer-wrapper{
        position: relative;
        
        z-index: 10;
    }
    
    :not(.page-body) + .footer-wrapper .footer{
        margin-top: -20px;
        
        border-radius: 20px 20px 0 0;    
    }
    
    
    .footer-body{
        margin-left: auto;
        padding-left: 100px;
        min-width: 0;
    }
    
    .additional-menu,
    .dec-link,
    .email-link{
        font-size: 20px;
    }
    
    .phone-row:not(:first-child){
        margin-top: 20px;
    }
    
    .phone-label-container{
        margin-top: -5px;
    }
    
    .phone-link{
        font-size: 28px;
    }
    
    
    
    
}

@media screen and (max-width: 1023px){
    .footer-container{
        display: block;
    }
    
    .footer-picture{
        display: none;
    }
    
    .footer-body{
        margin-left: 0;
        padding: 0;
    }
    
    .logo-in-footer{
        width: 121px;
    }
    
    .footer-links{
        gap: 6px 24px;
    }
}

/* === buttons.css === */
/* ======================================= */
/* BUTTONS */
/* ======================================= */
.buttons-line{
    display: flex;
    
    line-height: 0;
}

.buttons-line__elem:not(:first-child){
    margin-left: 40px;
}

/* accent btn */
.accent-btn{
    position: relative;
    display: block;
    
    color: var(--light);
    font: 700 25px/1 var(--font);
    text-align: center;
    text-transform: uppercase;
    
    padding: 26px 92px;
    
    border-radius: 50px;
    border: none;
    background: var(--primary);
}

.accent-btn:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    border-radius: 50px;
    background: linear-gradient(180deg, var(--primary) 0%, var(--primary-hover) 100%);
    
    opacity: 0;
}

.accent-btn__label{
    position: relative;
    
    z-index: 1;
}

@media screen and (min-width: 1025px){
    .accent-btn:before{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .accent-btn:hover:before{
        opacity: 1;
    }
}

@media screen and (max-width: 767px){
    .accent-btn{
        padding-left: 0;
        padding-right: 0;
    }
}

/* icon btn */
.icon-btn{
    display: flex;
    align-items: center;
    
    color: var(--light);
    font: 500 24px/1 var(--font);
    
    padding: 5px;
    
    user-select: none;
}

.icon-btn__icon{
    margin-right: 21px;
}

.btn-icon{
    width: 32px;
    height: 32px;
}

.btn-icon.line{
    fill: var(--light);
}

@media screen and (min-width: 1025px){
    .icon-btn{
        transition: color var(--dur) ease-in-out;
    }
    
    .btn-icon.line{
        transition: all var(--dur) ease-in-out;
    }
    
    .icon-btn:hover{
        color: var(--primary);
    }
    
    .icon-btn:hover .btn-icon.line{
        fill: var(--primary);
    }
}

/* secondary big */
.secondary-btn-big{
    display: inline-block;
    
    color: var(--primary);
    font: 700 25px/1 var(--font);
    text-transform: uppercase;
    
    padding: 16px 26px;
    
    border-radius: 50px;
    border: none;
    background: var(--light);
    
    user-select: none;
}

@media screen and (min-width: 1025px){
    .secondary-btn-big{
        transition: color var(--dur) ease-in-out, background var(--dur) ease-in-out;
    }

    .secondary-btn-big:hover{
        color: var(--light);

        background-color: var(--common);
    }
}

/* secondary big, for use on a light page background (e.g. blog article body) —
   resting state is the dark-navy fill instead of the white pill meant for dark sections */
.secondary-btn-big.on-light{
    color: var(--light);
    background-color: var(--common);
}

@media screen and (min-width: 1025px){
    .secondary-btn-big.on-light:hover{
        color: var(--light);
        background-color: var(--primary);
    }
}

/* outline */
.outline-btn{
    display: inline-block;
    
    color: var(--light);
    font: 700 16px/1 var(--font);
    text-align: center;
    
    padding: 16px 26px;
    
    border-radius: 40px;
    border: none;
    box-shadow: inset 0 0 0 1px var(--light);
    background: none;
    
    user-select: none;    
}

@media screen and (min-width: 1025px){
    .outline-btn{
        transition: color var(--dur) ease-in-out, background var(--dur) ease-in-out;
    }
    
    .outline-btn:hover{
        color: var(--common);
        
        background-color: var(--light);
    }
}

/* primary */
.primary-btn{
    display: inline-block;
    
    color: var(--light);
    font: 700 14px/1 var(--font);
    text-align: center;
    text-transform: uppercase;
    
    padding: 10px 18px;
    
    border-radius: 15px;
    border: none;
    box-shadow: inset 0 0 0 1px var(--primary);
    background: var(--primary);
    
    user-select: none;
    cursor: pointer;    
}

@media screen and (min-width: 1025px){
    .primary-btn{
        transition: color var(--dur) ease-in-out, background var(--dur) ease-in-out;
    }
    
    .primary-btn:hover{
        color: var(--primary);
        
        background-color: var(--light);
    }
}

/* primary outline */
.primary-outline-btn{
    display: inline-block;
    
    color: var(--primary);
    font: 700 14px/1 var(--font);
    text-align: center;
    text-transform: uppercase;
    
    padding: 10px 18px;
    
    border-radius: 15px;
    border: none;
    box-shadow: inset 0 0 0 1px var(--primary);
    background: none;
    
    user-select: none;    
}

@media screen and (min-width: 1025px){
    .primary-outline-btn{
        transition: color var(--dur) ease-in-out, background var(--dur) ease-in-out;
    }
    
    .primary-outline-btn:hover{
        color: var(--light);
        
        background-color: var(--primary);
    }
}


@media screen and (max-width: 1024px){
    
}

@media screen and (max-width: 767px){
    
}
/* === home.css === */
/* ======================================= */
/* HOME PAGE */
/* ======================================= */
.home-page{
    
}

/* intro */
.main-intro{
    color: var(--light);
    
    margin-top: -16px;
}

.intro-title{
    font: 700 200px/var(--lh) var(--font);    
}

.intro-title__line1{
    
}

@media screen and (min-width: 1025px){
    .intro-title__line2{
        margin: -64px 0 0 100px;
    }
    
    .intro-title__line3{
        margin: -64px 0 0 260px;
    }
}

.intro-text{
    font: 400 32px/var(--lh) var(--font);
    margin-left: 270px;
}

.intro-link{
    position: absolute;
    right: 70px;
    top: 48px;
}

.info-link{
    position: relative;
    display: block;
    
    width: 258px;
    height: 258px;
    margin: 0 auto;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
}

.info-link__icon{
    margin: -50px 0 0 -50px;
}

.laptop-icon{
    width: 100px;
    height: 100px;
}

.laptop-icon.line{
    fill: var(--light);
}


@keyframes rot{
    0% {
        transform: rotate(0deg) translateZ(0);
    }
    
    100% {    
        transform: rotate(360deg) translateZ(0);
    }
}

@keyframes appiring{
    0% {
        opacity: 0;
    }
    
    100% {    
        opacity: 1;
    }
}

@media screen and (max-width: 1024px){
    .main-intro{
        overflow: hidden;
    }
    
    .intro-title{
        font-size: 100px;
    }
    
    .intro-title__line2,
    .intro-title__line3{
        margin-top: -20px;
    }
    
    .intro-text{
        font-size: 20px;
        
        margin: 0;
    }
    
    .intro-link{
        right: 30px;
    }
}

@media screen and (max-width: 767px){
    .intro-title{
        font-size: 80px;
    }
    
    .intro-link{
        position: relative;
        right: auto;
        top: auto;
        
        margin-top: 60px;
    }
    
    .info-link{
        letter-spacing: 1px;
        
        width: 185px;
        height: 185px;
    }
    
    .info-link__icon{
        margin: -31px 0 0 -31px;
    }
    
    .laptop-icon{
        width: 62px;
        height: 62px;
    }
}

@media screen and (max-width: 480px){
    .intro-title{
        font-size: 66px;
    }
}

/* services section */
.company-services{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;

    line-height: 0;

    margin-top: -55px;
}

.company-services__col{
    width: 25%;
    padding-top: 55px;
    padding-right: clamp(16px, 2.2vw, 32px);
    box-sizing: border-box;
}

.icon-link{
    position: relative;
    display: block;
    max-width: 100%;
    box-sizing: border-box;

    color: var(--common);
    font-size: 26px;
    line-height: var(--lh);;
}

.icon-link__picture{
    position: relative;
    display: block;
    
    line-height: 0;
}

.icon-link__img{
    width: 60px;
    height: auto;
}

.icon-link__img.i2{
    position: absolute;
    left: 0;
    top: 0;
    
    opacity: 0;
    transform: scale(1.03);
}

.icon-link__label{
    display: block;
}

.icon-link__label:before{
    content: attr(data-title);
    
    display: block;
    
    font-weight: 500;
    
    height: 0;
    
    overflow: hidden;
    visibility: hidden;
}

.icon-link__arrow{
    display: none;
}

.icon-link__description{
    display: block;
    margin-top: 12px;
    max-width: 100%;
    font-size: clamp(13px, 1.05vw, 15px);
    line-height: 1.45;
    font-weight: 400;
    color: var(--gray);
}

/* ---------- pain points marquee ---------- */
.pain-marquee{
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1vw, 16px);
    overflow: hidden;
}

.pain-marquee__row{
    overflow: hidden;
    width: 100%;
}

.pain-marquee__track{
    display: inline-flex;
    align-items: center;
    gap: clamp(8px, 0.9vw, 14px);
    width: max-content;
    will-change: transform;
}

/* offset each row horizontally so pills never line up into vertical columns */
.pain-marquee__row:nth-child(2) .pain-marquee__track{
    margin-left: clamp(30px, 4vw, 70px);
}

.pain-marquee__row:nth-child(3) .pain-marquee__track{
    margin-left: clamp(60px, 8vw, 140px);
}

.pain-marquee__row--right .pain-marquee__track{
    animation: pain-marquee-right 276s linear infinite;
}

.pain-marquee__row--left .pain-marquee__track{
    animation: pain-marquee-left 276s linear infinite;
}

.pain-marquee__row--right:nth-child(3) .pain-marquee__track{
    animation-duration: 312s;
}

@keyframes pain-marquee-right{
    from{ transform: translateX(-50%); }
    to{ transform: translateX(0); }
}

@keyframes pain-marquee-left{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
}

.pain-marquee__pill{
    flex: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(12px, 1.15vw, 18px) clamp(18px, 1.8vw, 28px);
    border: 1px solid var(--common);
    border-radius: 999px;
    background: transparent;
    font-weight: 400;
}

.pain-marquee__pill-text{
    position: relative;
    display: block;
    white-space: nowrap;
    font-size: clamp(13px, 1.1vw, 16px);
    color: var(--common);
    font-weight: inherit;
}

/* full duplicate copies of the same text, stacked on top of the base layer and
   invisible at rest — used only during the glitch so a horizontal slice never
   reveals empty space: each band shows a clipped slice of a FULL text copy,
   so a shift within the band exposes more of the same continuous text. */
.pain-marquee__pill-text:before,
.pain-marquee__pill-text:after{
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    white-space: nowrap;
    color: inherit;
    font: inherit;
    opacity: 0;
    pointer-events: none;
}

/* ---------- freeze/glitch accent (triggered by JS on a single random pill at a time) ---------- */
.pain-marquee__pill.is-glitching{
    animation: pain-pill-jitter 0.45s ease-in-out;
    filter: blur(0.4px);
}

.pain-marquee__pill.is-glitching.is-glitching-right{
    filter:
        blur(0.4px)
        drop-shadow(-4px 0 0 rgba(23, 27, 51, 0.12))
        drop-shadow(-8px 0 0 rgba(23, 27, 51, 0.06));
}

.pain-marquee__pill.is-glitching.is-glitching-left{
    filter:
        blur(0.4px)
        drop-shadow(4px 0 0 rgba(23, 27, 51, 0.12))
        drop-shadow(8px 0 0 rgba(23, 27, 51, 0.06));
}

.pain-marquee__pill.is-glitching .pain-marquee__pill-text{
    animation: pain-pill-slice-top 0.45s ease-in-out;
}

.pain-marquee__pill.is-glitching .pain-marquee__pill-text:before{
    animation: pain-pill-slice-mid 0.45s ease-in-out;
}

.pain-marquee__pill.is-glitching .pain-marquee__pill-text:after{
    animation: pain-pill-slice-bottom 0.45s ease-in-out;
}

@keyframes pain-pill-jitter{
    0%, 100%{ transform: translateX(0); }
    18%{ transform: translateX(-2px); }
    36%{ transform: translateX(1.5px); }
    52%{ transform: translateX(-1.5px); }
    68%{ transform: translateX(1px); }
    84%{ transform: translateX(-0.5px); }
}

/* top third of the glyph height stays on the base text layer */
@keyframes pain-pill-slice-top{
    0%, 100%{ clip-path: inset(0 0 0 0); transform: translateX(0); }
    2%, 92%{ clip-path: inset(0 0 66% 0); transform: translateX(-3px); }
    50%{ clip-path: inset(0 0 66% 0); transform: translateX(2px); }
}

/* middle third rides on the :before duplicate layer */
@keyframes pain-pill-slice-mid{
    0%, 100%{ opacity: 0; }
    2%, 92%{ opacity: 1; clip-path: inset(33% 0 33% 0); transform: translateX(3px); }
    50%{ opacity: 1; clip-path: inset(33% 0 33% 0); transform: translateX(-2px); }
}

/* bottom third rides on the :after duplicate layer */
@keyframes pain-pill-slice-bottom{
    0%, 100%{ opacity: 0; }
    2%, 92%{ opacity: 1; clip-path: inset(67% 0 0 0); transform: translateX(-2px); }
    50%{ opacity: 1; clip-path: inset(67% 0 0 0); transform: translateX(3px); }
}

@media (prefers-reduced-motion: reduce){
    .pain-marquee__track{
        animation: none !important;
    }

    .pain-marquee__pill.is-glitching{
        animation: none !important;
        filter: none !important;
    }

    .pain-marquee__pill.is-glitching .pain-marquee__pill-text,
    .pain-marquee__pill.is-glitching .pain-marquee__pill-text:before,
    .pain-marquee__pill.is-glitching .pain-marquee__pill-text:after{
        animation: none !important;
    }
}

@media screen and (min-width: 1025px){
    .icon-link:hover{
        font-weight: 500;
    }
    
    .icon-link__img.i2{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .icon-link:hover .icon-link__img.i2{
        opacity: 1;
    }
}

@media screen and (max-width: 1024px){
    .icon-link{
        font-size: 20px;
    }
}

@media screen and (max-width: 1023px){
    .company-services__col{
        width: 33.33333333%;
    }
}

@media screen and (max-width: 767px){
    .company-services{
        display: block;
        
        margin: -8px 0;    
    }
    
    .company-services__col{
        width: auto;
        padding: 18px 0;
        border-bottom: 1px solid rgba(23, 27, 51, 0.1);
    }

    .company-services__col:last-child{
        border-bottom: none;
    }

    .icon-link{
        padding: 8px 26px 8px 0;
    }
    
    .icon-link__picture,
    .icon-link__label br{
        display: none;
    }
    
    .icon-link__label:before{
        display: none;
    }
    
    .icon-link__arrow{
        display: block;
        
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -13px;
        
        opacity: 0;
    }
    
    .to-right-arrow{
        width: 22px;
        height: 22px;
    }
    
    .to-right-arrow.line{
        fill: var(--common);
    }
    
    .icon-link:active .icon-link__arrow{
        opacity: 1;
    }
}

/*  */
.half-bg{
    color: var(--light);
    
    background-color: var(--common);
}

/* advantages section */
.advantages-section{
    background: url("../images/bg/city-bg.webp") center center / 100% no-repeat;
}

.advantages-section-inside{
    position: relative;

    padding: 420px 0 220px;

    background-color: rgba(23, 27, 51, 0.8);
}

.advantages-section-inside:before{
    content: "";
    
    position: absolute;
    left: 0;
    right: 0;    
    bottom: -100px;
    
    height: 290px;
    
    background: linear-gradient(180deg, rgba(23, 27, 51, 0) 0%, var(--common) 50.17%, var(--common) 100%);
}

.advantages-container{
    position: relative;
    
    display: flex;
    justify-content: space-between;
    
    font-size: 20px;
    
    margin: -20px;
    
    opacity: 0.7;
    
    z-index: 10;
}

.advantages-container__col{
    max-width: 320px;
    padding: 20px;    
}

.advantage-elem{
    
}

.advantage-elem__title{
    font: 700 62px/1.1 var(--font);
}

.advantage-elem__text{
    line-height: 1.6;
}

@media screen and (max-width: 1024px){
    .advantages-section{
        display: none;
    }
}

/* benefits */
.benefits-section{
    
}

.benefits-container{
    position: relative;
        
}

.benefits-container__body{
    width: 100%;
    max-width: 57.34157650695518%;
}

.icon-list{
    display: flex;
    flex-wrap: wrap;
    
    font-size: 22px;
    
    margin: -12px -10px;
    padding-right: 10%;
}

.icon-list__row{
    width: 50%;
    padding: 12px 10px;
    
    box-sizing: border-box;
}

.icon-list__elem{
    display: flex;
    align-items: center;
}

.icon-list__picture{
    line-height: 0;
    
    margin-right: 12px;
}

.icon-list__img{
    width: 40px;
    height: auto;
}

.icon-list__label{
    
}

.benefits-container__preview{
    position: absolute;
    right: 0;
    top: -2px;
    
    max-width: 32.1483771251932%;
    min-width: 32.1483771251932%;    
}

@media screen and (min-width: 1025px){
    .benefits-container__picture{
        animation: phone 12s ease-in-out infinite;
        
        transform-origin: center bottom;
    }    
}


@keyframes phone{
    0%{
        transform: scale(1);
    }
    
    41%{
        transform: scale(1.15);
    }
    
    59%{
        transform: scale(1.15);
    }
    
    100%{
        transform: scale(1);
    }
}

.benefits-container__img{
    
}

@media screen and (max-width: 1024px){
    .half-bg{
        margin-top: -20px;
        
        border-radius: 20px 20px 0 0;
        
        overflow: hidden;    
    }
    
    .benefits-section{
        position: relative;
        
        background: url("../images/bg/city-bg.webp") center top / 100% no-repeat;
        
        overflow: hidden;
    }
    
    .benefits-section:before{
        content: "";
        
        position: absolute;
        top: 80px;
        left: 0;
        right: 0;
        
        height: 330px;
        
        background: linear-gradient(180deg, rgba(23, 27, 51, 0) 0%, var(--common) 50.17%, var(--common) 100%);
    }
    
    .benefits-section:after{
        content: "";
        
        position: absolute;
        top: 410px;
        left: 0;
        bottom: 0;
        right: 0;
        
        background-color: var(--common);
    }
    
    .benefits-section-inside{
        position: relative;
        
        padding: 40px 0 60px;
        
        background-color: rgba(23, 27, 51, 0.8);
    }
    
    .icon-list{
        font-size: 20px;
    }
}

@media screen and (max-width: 1023px){
    .icon-list{
        display: block;
        
        margin: -13px 0;
    }
    
    .icon-list__row{
        width: auto;
        padding: 13px 0;
    }
}

@media screen and (max-width: 767px){
    .half-bg{
        overflow: visible;    
    }
    
    .benefits-section{
        margin-bottom: -235px;
    }
    
    .benefits-section-inside{
        padding-bottom: 0;
    }
    
    .benefits-container__body{
        max-width: none;
    }
    
    .benefits-container__preview{
        position: relative;
        top: auto;
        right: auto;
        
        margin: 64px auto 0;
        max-width: 248px;
        min-width: 0;
        width: 100%;
        
    }
}

/* cases section */
.cases-section{
    position: relative;
    
    background-color: var(--bg);
}

.cases-line-1{
    position: absolute;
    right: 0;
    top: -15px;
    
    pointer-events: none;
}

.cases-line-1-icon{
    width: 924px;
}

.cases-line-3-icon{
    width: 796px;
}

.cases-line-1-icon.line,
.cases-line-2-icon.line,
.cases-line-3-icon.line,
.posts-line-1-icon.line,
.posts-line-2-icon.line{
    fill: none;
    stroke: var(--common);
    stroke-width: 30;
    stroke-linecap: round;
    
    stroke-dasharray: 1560;
    stroke-dashoffset: 1560;
    
}

.js-section.active .cases-line-1-icon.line,
.js-section.active .cases-line-3-icon.line{
    animation: li1 2s ease-in-out both;
}

@keyframes li1{
    0%{
        stroke-dashoffset: 1560;
    }
    
    100%{
        stroke-dashoffset: 0;
    }
}
    
.cases-line-2{
    position: absolute;
    left: -10px;
    bottom: -45px;
    
    pointer-events: none;
}

.cases-line-2-icon{
    width: 1295px;
}

.js-section.active .cases-line-2-icon.line{
    animation: li1 2s ease-in-out 1.4s both;
}

.posts-line-1{
    position: absolute;
    right: 0;
    top: -15px;
    
    pointer-events: none;
}

.posts-line-1-icon{
    width: 924px;   
}

.js-section.active .posts-line-1-icon.line,
.category-blog.loaded .posts-line-1-icon.line,
.category-cases.loaded .cases-line-3-icon.line,
body.loaded .case-page-container .posts-line-1-icon.line{
    animation: li1 2s ease both;
}

.posts-line-2{
    position: absolute;
    left: 0;
    bottom: -15px;
    
    pointer-events: none;
}

.posts-line-2-icon{
    width: 743px;    
}

.js-section.active .posts-line-2-icon.line{
    animation: li1 2s ease-in-out 1.5s both;
}

.cases-wrapper{
    position: relative;
    max-width: 1620px;
    margin: 0 auto;
}

.cases-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    margin: -20px -12px;
}

.cases-container__elem{
    width: 50%;
    padding: 20px 12px;

    box-sizing: border-box;
}

.case-link{
    display: block;
    
    color: var(--common);
    font-size: 22px;
}

.case-link__picture{
    position: relative;
    display: block;
    
    border-radius: 20px;
    background-color: var(--light-gray);
    
    overflow: hidden; 
}

.case-link__picture:before{
    content: "";
    
    display: block;
    padding-top: 70.61068702290076%;
}

.case-link__picture > img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
    
    z-index: 0;
}

.case-link__info{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    /*background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0.58) 40.13%, #737373 100%);*/
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.68) 100%);
    
    opacity: 0;

    z-index: 1;
}

.case-link__info-inside{
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    
    line-height: 0;
    
    height: 100%;
    padding: 40px 20px;
    
    box-sizing: border-box;
}

.case-link__tag{
    position: relative;
    display: inline-block;
    
    color: var(--light);
    font: 400 18px/var(--lh) var(--font);
    
    padding-left: 32px;
    
    opacity: 0;
    transform: translateY(10px);
}

.case-link__tag:not(:first-child){
    margin-top: 8px;
}

@media screen and (min-width: 1025px){
    .case-link__tag,
    .case-link__info{
        transition: all var(--dur) ease-in-out;
    }
    
    .case-link:hover .case-link__tag{
        opacity: 1;
        transform: translateY(0);
    }
    
    .case-link:hover .case-link__info{
        opacity: 1;
    }
}

.case-link__tag-icon{
    position: absolute;
    top: 0;
    left: 0;
    
    width: 22px;    
}

.case-link__title{
    display: block;
    
    font-weight: 500;
    
    padding-top: 24px;
    padding-right: 31%;
}

.case-link__label{
    display: block;
    
    padding-top: 10px;
}

.to-top-btn{
    position: fixed;
    right: 45px;
    bottom: 45px;
    
    display: block;
    
    width: 60px;
    height: 60px;
    
    user-select: none;
    cursor: pointer;
    
    opacity: 0;
    transform: translateY(10px);

    /* was 0.2s — a touch slower so the fade in/out (now driven by scroll
       activity rather than just scroll position) reads as a deliberate,
       smooth transition rather than a quick snap */
    transition: all 0.4s ease-in-out;

    z-index: 5;
}

.to-top-btn.visible{
    opacity: 1;
    transform: translateY(0);
}

.to-top-btn__inside{
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: 100%;

    border-radius: 50%;
    background-color: var(--common);

    /* soft, delicate light glow so the dark circle lifts slightly off the
       dark background — low opacity, no bright color, so it reads as a
       gentle separation rather than a neon highlight */
    box-shadow: 0 0 20px 4px rgba(255, 255, 255, 0.12);
}

.to-top-btn:active .to-top-btn__inside{
    transform: translateY(-1px);
}

.to-top-icon{
    /* was 24x34 — ~17% smaller, it previously read a bit large for the circle */
    width: 20px;
    height: 28px;
}

.to-top-icon.line{
    fill: var(--light);
}

@media screen and (min-width: 768px){
    .cases-nav{
        display: none;
    }
}

@media screen and (max-width: 1024px){
     .home-cases-line-1,
     .home-cases-line-2,
     .cases-line-1,
     .posts-line-4{
        display: none;  
     }
     
     .case-link__title,
     .case-link__label{
        font-size: 20px;
     }
     
     .case-link__title{
        padding-right: 0;
     }
     
     .to-top-btn{
        right: 30px;
        bottom: 30px;
     }
}

@media screen and (max-width: 1023px){
    .cases-container__elem{
        width: 50%;
    }
}

@media screen and (max-width: 767px){
    .cases-section{
        padding-top: 252px;    
    }    
    
    .to-top-btn{
        
     }
     
    .cases-wrapper{
        margin: 0 -30px;
    }
    
    .cases-container{
        flex-wrap: nowrap;
        
        margin: 0;
    }
    
    .cases-container__elem{
        width: auto;
        padding: 0;
    }
    
    .cases-section .swiper-container{
        position: relative;
        z-index: 1;
    }
    
    .cases-section .swiper-wrapper{
        position: relative;
        width: 100%;
        
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
    
        transition-property: transform;
        box-sizing: content-box;
    
        z-index: 1;
    }
    
    .cases-section .swiper-container-android .swiper-slide,
    .cases-section .swiper-wrapper{
        transform: translate3d(0px, 0, 0);
    }
    
    .cases-section .swiper-slide{
        position: relative;
    
        flex-shrink: 0;
    
        width: 100%;
    
        transition-property: transform;
    }
    
    .cases-section .swiper-slide-invisible-blank{
        visibility: hidden;
    }
    
    .cases-section .swiper-autoheight, 
    .cases-section .swiper-autoheight .swiper-slide{
        height: auto;
    }
    
    .cases-section .swiper-autoheight .swiper-wrapper{
        align-items: flex-start;
        transition-property: transform,height;
    }
    
    .cases-section .swiper-fade .swiper-slide{
        pointer-events: none;
        transition-property: opacity;
    }
    
    .cases-section .swiper-backface-hidden .swiper-slide{
        transform: translateZ(0);
        backface-visibility: hidden;
    }
    
    .case-link__picture{
        border-radius: 0;
    }
    
    .case-link__title,
    .case-link__label{
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .cases-nav{
        position: relative;
        
        display: flex;
        
        padding: 16px 30px 0;
        margin-bottom: -10px;
        
        z-index: 2;
    }
    
    .cases-nav__arrow{
        padding: 10px 0;
    }
    
    .cases-nav__arrow.disabled{
        opacity: 0.3;
        pointer-events: none;
    }
    
    .cases-nav__arrow.prev{
        margin-right: 22px;
    }
    
    .cases-nav__arrow.prev:active{
        transform: translateX(-1px);
    }
    
    .cases-nav__arrow.next{
        transform: scale(-1, 1);
    }
    
    .cases-nav__arrow.next:active{
        transform: translateX(1px) scale(-1, 1);
    }
    
    .cases-nav-icon{
        width: 22px;
        height: 9px;
    }
    
    .cases-nav-icon.line{
        fill: var(--common);
    }
}

/* partners section */
.partners-section{
    background: url("../images/bg/partners-bg.webp") center center / 100% no-repeat;
}

.partners-section__inside{
    position: relative;
    
    padding: 110px 0 120px;
    background-color: rgba(23, 27, 51, 0.8);
}

.partners-section__inside:before{
    content: "";
    
    position: absolute;
    left: 0;
    right: 0;    
    bottom: -100px;
    
    height: 290px;
    
    background: linear-gradient(180deg, rgba(23, 27, 51, 0) 0%, var(--common) 50.17%, var(--common) 100%);
}

.partners-wrapper{
    position: relative;
    max-width: 1620px;
    margin: 0 auto;
}

@media screen and (min-width: 1025px){
    .side-link-container{
        position: absolute;
        left: 0;
        top: 0;
        
        transform: rotate(-90deg)translateX(-100%)  translateZ(0);
        transform-origin: left top;
    }    
}


.side-link-posts{
    position: absolute;
    left: 0;
    top: 65px;
    
    transform: rotate(-90deg)translateX(-100%)  translateZ(0);
    transform-origin: left top;
}

.side-link-wrapper{
    position: relative;
    
    line-height: 0;
    
    margin: -5px 0;
    
    z-index: 2;
}

.side-link{
    display: inline-block;
    
    font: 400 20px/var(--lh) var(--font);
    
    padding: 5px 0;
}

@media screen and (min-width: 1025px){
    .side-link{
        transition: transform var(--dur) ease-in-out;
    }
    
    .side-link-wrapper:hover .side-link{
        transform: translateX(10px);
    }
}

.side-link.light{
    color: var(--light);    
}

.side-link__arrow{
    position: relative;
    top: -1px;
    
    display: inline-block;
    
    margin-left: 6px;
}

.side-link:active .side-link__arrow{
    left: 1px;
}

.right-arrow-icon{
    width: 21px;
    height: 9px;
}

.right-arrow-icon.line{
    fill: var(--common);
}

.side-link.light .right-arrow-icon.line{
    fill: var(--light);
}

.partners-container{
    
}

.partners-container__inside{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    
    text-align: center;
    
    margin: -10px;
}

.partners-container__elem{
    width: 20%;
    padding: 10px;
    
    box-sizing: border-box;
}

.partner-logo{
    display: block;
    
    line-height: 0;
    
    padding: 10px;
}

.partner-logo__picture{
    display: block;
    height: 40px;
}

.partner-logo__img{
    display: block;

    width: 100%;
    height: 100%;
    max-width: 100%;

    object-fit: contain;
}

@media screen and (max-width: 1024px){
    .partners-made-section{        
        border-radius: 20px 20px 0 0;
        
        overflow: hidden;    
    }
    
    .partners-section{
        background-position: center top;    
    }
    
    .partners-section__inside{
        padding: 40px 0;
    }
}

@media screen and (max-width: 1023px){
    .partners-container__elem{
        width: 25%;
    }
}

@media screen and (max-width: 767px){
    .partners-container__inside{
        flex-wrap: nowrap;
        
        margin: 0;
    }
    
    .partners-container__elem{
        width: auto;
        padding: 0;
    }
    
    .partners-section .swiper-container{
        position: relative;
        z-index: 1;
    }
    
    .partners-section .swiper-wrapper{
        position: relative;
        width: 100%;
        
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
    
        transition-property: transform;
        box-sizing: content-box;
    
        z-index: 1;
    }
    
    .partners-section .swiper-container-android .swiper-slide,
    .partners-section .swiper-wrapper{
        transform: translate3d(0px, 0, 0);
    }
    
    .partners-section .swiper-slide{
        position: relative;
    
        flex-shrink: 0;
    
        width: 100%;
    
        transition-property: transform;
    }
    
    .partners-section .swiper-slide-invisible-blank{
        visibility: hidden;
    }
    
    .partners-section .swiper-autoheight, 
    .partners-section .swiper-autoheight .swiper-slide{
        height: auto;
    }
    
    .partners-section .swiper-autoheight .swiper-wrapper{
        align-items: flex-start;
        transition-property: transform,height;
    }
    
    .partners-section .swiper-fade .swiper-slide{
        pointer-events: none;
        transition-property: opacity;
    }
    
    .partners-section .swiper-backface-hidden .swiper-slide{
        transform: translateZ(0);
        backface-visibility: hidden;
    }
    
    .partner-logo__picture{
        height: 60px;
    }
}

/* made for */
.made-for-section{
    color: var(--light);
    
    background-color: var(--common);
}

.made-for{
    display: flex;
    flex-wrap: wrap;    
    justify-content: space-between;
    
    font-size: 22px;
    
    margin: -10px -20px;
}

.made-for__col{
    min-width: 33.333333%;
    max-width: 33.333333%;
    padding: 10px 20px;
    
    box-sizing: border-box;
}

.made-for-elem{
    position: relative;
    padding-left: 52px;
}

.made-for-elem__picture{
    position: absolute;
    left: 0;
    top: 0;
}

.made-for-elem__img{
    width: 40px;
    height: auto;
}

.made-for-elem__text{
    
}

@media screen and (max-width: 1024px){
    .made-for__col{
        min-width: 50%;
        max-width: 50%;
    }
}

@media screen and (max-width: 767px){
    .made-for{
        display: block;
        
        margin: -13px 0;
    }
    
    .made-for__col{
        min-width: 0;
        max-width: none;
        padding: 13px 0;
    }
    
    .made-for-elem{
        display: flex;
        align-items: center;
        
        padding: 0;
    }
    
    .made-for-elem__picture{
        position: relative;
        
        line-height: 0;
        
        margin-right: 10px;
    }
}

/* information link in body */
.body-info{
    background: url("../images/bg/city-bg.webp") center top / 100% no-repeat;
}

.body-info-inside{
    position: relative;
    
    padding: 100px 0 295px;
    
    background-color: rgba(23, 27, 51, 0.8);
}

.body-info-inside:before{
    content: "";
    
    position: absolute;
    left: 0;
    right: 0;    
    top: -100px;
    
    height: 290px;
    
    background: linear-gradient(180deg, rgba(23, 27, 51, 0) 0%, var(--common) 50.17%, var(--common) 100%);
    transform: scale(1, -1);    
}

@media screen and (max-width: 1024px){
    .body-info-inside{
        padding: 60px 0
    }
}

@media screen and (max-width: 767px){
    .body-info{
        background-size: cover;
        background-position: center bottom;
    }
    
    .body-info-inside:before{
        /*top: auto;
        bottom: 30px;
        
        height: 174px;*/
    }
}

/* home posts section */
.home-posts-section{
    position: relative;
    
    padding: 280px 0 100px;
    
    background-color: var(--light);
}

.home-posts-wrapper{
    position: relative;
    
    max-width: 1620px;
    margin: 0 auto;
}

@media screen and (min-width: 1025px){
    .home-posts{
        display: flex;        
    }
    
    .home-posts__content{
        
    }
    
    .home-posts__body{
        margin-left: 24px;
        min-width: 66.15146831530139%;
        max-width: 66.15146831530139%;
    }
    
    .home-posts__grid{
        position: relative;
        
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        
        margin: -12px;
    }
    
    .home-post-elem{
        width: 50%;
        padding: 12px;
        
        box-sizing: border-box;
    }
    
    .home-post-elem:nth-child(2){
        position: absolute;
        right: 0;
        top: 0;
    }
    
    .home-post-elem:first-child .home-post__picture:before{
        padding-top: 139%;
    }
}

.home-posts__text{
    font-size: 22px;
    
    max-width: 308px;
}

.home-post{
    position: relative;
    
    display: block;
}

.home-post__picture{
    position: relative;
    display: block;
    
    border-radius: 20px;
    background-color: var(--light-gray);
    
    overflow: hidden;
}

.home-post__picture:before{
    content: "";
    
    display: block;
    padding-top: 57.45192307692308%;
}

.home-post__picture img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.home-post__label{
    font-size: 22px;
    
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-read-wrapper{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    display: flex;    
    align-items: center;
    justify-content: center;
    
    background-color: rgba(23, 27, 51, 0.8);
    
    opacity: 0; 
}

.post-read-wrapper:active{
    background-color: rgba(23, 27, 51, 0.9);
}

.post-read{
    position: relative;
    display: block;
    
    width: 144px;
    height: 144px;
    margin: 0 auto;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
}

.post-read__icon{    
    margin: -20px 0 0 -20px;
}

.search-icon{
    width: 40px;
    height: 40px;
}

.search-icon.line{
    fill: none;
    stroke: var(--light);
    stroke-width: 2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@media screen and (min-width: 1025px){
    .post-read-wrapper{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .home-post:hover .post-read-wrapper{
        opacity: 1;
    }
    
    .random-links-container:not(.hover) .home-post.hover .post-read-wrapper{
        opacity: 1;
    }
}

@media screen and (max-width: 1024px){
    .posts-line-1,
    .posts-line-2{
        display: none;
    }
    
    .home-posts-section{
        padding: 40px 0 60px;
    }
    
    .side-link-posts.desktop{
        display: none;
    }
    
    .home-posts__grid{
        display: flex;
        flex-wrap: wrap;
        
        margin: -20px -12px;
    }
    
    .home-post-elem{
        width: 50%;
        padding: 20px 12px;
        
        box-sizing: border-box;
    }
    
    .home-posts__text{
        font-size: 20px;
        max-width: none;
    }
    
    .home-post__label{
        font-size: 20px;
    }    
}

@media screen and (max-width: 767px){
    .home-post-elem{
        width: 100%;
    }
    
    .home-post{
        margin: 0 -30px;
    }
    
    .home-post__picture{
        border-radius: 0;
    }
    
    .home-post__picture:before{
        padding-top: 74.4%;
    }
    
    .home-post__label{
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* contacts line section */
.contacts-line-section{
    
}

.contacts-line{
    background-color: var(--bg);
}

@media screen and (min-width: 1024px){
    .contacts-line__head{
        display: flex;
        align-items: center;
    }
    
    .contacts-line__text{
        font-size: 22px;
        
        min-width: 59.50540958268934%;
        max-width: 59.50540958268934%;
        padding-left: 8.50077279752705%;
    }
    
    .contacts-line__body:before{
        content: "";
        
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        
        border-top: 1px solid var(--common);
        
        opacity: 0;
        
        transition: opacity 1s ease 1.5s;
    }
    
    .js-section.active .contacts-line__body:before{
        opacity: 1;
    }
    
    .contacts-line__body{
        position: relative;
        
        display: flex;    
        justify-content: space-between;
        
        margin: 0 -55px;
    }
    
    .contacts-line__col{
        position: relative;
        
        padding: 0 55px;
        
        background-color: var(--bg);
        
        z-index: 1;
    }
    
    .contacts-link{
        display: none;
    }
}

.contacts-circle{
    
}

.contacts-circle{
    position: relative;
    display: block;
    
    width: 224px;
    height: 224px;
    margin: 0 auto;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
}
.contacts-circle__icon{
    margin: -52px 0 0 -52px;
}

.contacts-circle__img{
    width: 104px;
}

@media screen and (max-width: 1024px){
    .contacts-line{
        margin-top: -20px;
        
        border-radius: 20px 20px 0 0;        
    }
}

@media screen and (max-width: 1023px){
    .contacts-line__text{
        padding-top: 26px;
    }
    
    .contacts-circle{
        display: none;
    }
    
    .contacts-line__col:not(:first-child){
        margin-top: 16px;
    }
    
    .contacts-link{
        display: flex;
        align-items: center;
        
        font-size: 20px;
    }
    
    .contacts-link__icon{
        line-height: 0;
        
        margin-right: 12px;
    }
    
    .contacts-link__img{
        width: 40px;
    }
    
    .contacts-link__label{
        position: relative;
    }
    
    .contacts-link__label:before{
        content: "";
        
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        
        border-top: 2px dotted var(--common);
    }
}
/* === contacts.css === */
/* ======================================= */
/* CONTACTS PAGE */
/* ======================================= */
.page-template-contacts .bg{
    min-height: 100vh;
}

.admin-bar.page-template-contacts .bg{
    min-height: calc(100vh - 32px);
}

.page-template-contacts .bg:before{
    background-size: cover;
    background-attachment: fixed;    
}

@media screen and (min-width: 768px){
    .contacts-page{
        display: flex;
        
        font-size: 22px;
        
        max-width: 970px;
        margin: 0 auto;
    }
    
    
    .contacts-page__link{
        order: -1;
    }
    
    .contacts-page__body{
        width: 54.63917525773196%;
        margin-left: 18.8659793814433%;
    }
}

.contacts-page{
    color: var(--light);
}

.contacts-page__content p:not(:first-child){
    margin-top: 8px;
}

.contacts-page__note{
    opacity: 0.5;
}

@media screen and (min-width: 768px) and (max-width: 1024px){
    .contacts-page__body{
        width: 65%;
        margin-left: 10%;
    }
}

@media screen and (max-width: 767px){
    body.page-template-contacts{
        height: auto;
    }
}
.contacts-page__content h1{
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    line-height: inherit;
}

/* === post.css === */
.blog-page{
    position: relative;
    
    border-radius: 20px 20px 0 0;
    background-color: var(--light);
}

@media screen and (min-width: 1025px){
    /* Dense auto-placement instead of fixed grid-row-start/grid-column-start
       per post-nN class: those were absolute grid coordinates, so every AJAX
       "load more" batch re-used post-n1..post-n9 and landed its cards on the
       exact same grid cells as the first batch, overlapping them. Every 3rd
       card (by actual DOM position) spans 2 rows; "dense" lets the grid weave
       the short cards into the gaps automatically, so the same masonry look
       now works for any number of appended batches, not just the first 9. */
    .posts-page{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: row dense;
        gap: 24px;
    }

    .posts-page__elem:nth-child(3n+1){
        grid-row: span 2 / span 2;
    }
}

.post-link,
.post-link__picture,
.post-link__title{
    display: block;
}

@media screen and (min-width: 1025px){
    .post-link:hover .post-read-wrapper{
        opacity: 1;
    }    
}

.post-link__picture{
    position: relative;
    
    border-radius: 20px;
    background-color: var(--bg);
    
    overflow: hidden;
}

.post-link__picture:before{
    content: "";
    
    display: block;
}

@media screen and (min-width: 1025px){
    .post-link__picture:before{
        padding-top: 57.45192307692308%;    
    }
    
    .posts-page__elem:nth-child(3n+1) .post-link__picture:before{
        padding-top: 120.6730769230769%;
    }
}


.post-link__picture.empty:after,
.case-link__picture.empty:after{
    content: "";
    
    position: absolute;
    left: -100px;
    top: 0;
    right: -100px;
    bottom: 0;
    
    opacity: 0.5;
    
    z-index: 0;
    
    transform: translateX(-100%);
    
    animation: blink 2.5s ease-in-out infinite;
}

.post-link__picture.empty:after{
    background: linear-gradient(238deg, var(--bg) 30%, var(--light) 49.38%, var(--bg) 70%);
}

.case-link__picture.empty:after{
    background: linear-gradient(238deg, var(--light-gray) 30%, var(--light) 49.38%, var(--light-gray) 70%);
}

.post-link__picture img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.post-link__title{
    font-size: 22px;
    
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.empty-post-title{
    display: block;
    
    color: transparent;
    
    border-radius: 20px;
    background-color: var(--bg);
    
    opacity: 0.5;
}

.empty-post-title.ct{
    background-color: var(--light-gray);
}

.post-container__title{
    max-width: 880px;
}

@media screen and (min-width: 1024px){
    .post-container{
        display: flex;
        align-items: flex-start;
        
        font-size: 22px;
    }

    .post-container__picture{
        position: -webkit-sticky;
        position: sticky;
        top: 60px;
        
        min-width: 34.00309119010819%;
        max-width: 34.00309119010819%;
        margin-right: 8.50077279752705%;
        
        border-radius: 20px;
        background-color: var(--bg);
        
        transform: translateZ(0);
        
        overflow: hidden;
    }
    
    .admin-bar .post-container__picture{
        top: 92px;
    } 
    
    .post-container__picture:before{
        content: "";
        
        display: block;
        padding-top: 115.4545454545455%;
    }    
}

.post-container__picture img{
    position: absolute;
    left: 0;
    top: 0;
    
    height: 100%;
    width: 100%;
    
    object-fit: cover;
}

.news-container__body{
    width: 100%;
}

.post-container__date{
    color: var(--date-color);
    font-size: 18px;
}

.post-container__note{
    font-weight: 500;
}

.page-body-container{
    max-width: 970px;
}

.page-title-element{
    padding-right: 50px;
}

.posts-line-3,
.posts-line-4{
    position: absolute;
    left: 0;
    
    pointer-events: none;
}

.posts-line-3{
    bottom: -15px;
}

.posts-line-4{
    bottom: -45px;
}

.posts-line-3-icon{
    width: 1207px;    
}

.posts-line-4-icon{
    width: 1164px;
}

.posts-line-3-icon.line,
.posts-line-4-icon.line{
    fill: none;
    stroke: var(--common);
    stroke-width: 30;
    stroke-linecap: round;
    
    stroke-dasharray: 1800;
    stroke-dashoffset: 1800;
    
}

.category-blog.loaded .posts-line-3-icon.line,
.category-cases.loaded .posts-line-4-icon.line{
    animation: li3 2s ease-in-out 0.5s both;
}

@keyframes li3{
    0%{
        stroke-dashoffset: 1800;
    }
    
    100%{
        stroke-dashoffset: 0;
    }
}

@media screen and (min-width: 1025px){
    .side-blog-link{
        position: absolute;
        left: 0;
        top: 335px;
        
        transform: rotate(-90deg) translateX(-100%) translateZ(0);
        transform-origin: left top;
    }
    
    .side-blog-link.mobile{
        display: none;
    }
}

.blog-hint-container,
.post-hint-container{
    position: absolute;
    left: 100%;
    
    margin-left: 32px;
    
    opacity: 0;   
    
    animation: blog-hint-appears 0.5s ease-in-out 2s both;
}

.blog-hint-container{    
    top: 10px;
}

.post-hint-container{
    bottom: 0;
    
    margin-bottom: 10px;
}

@keyframes blog-hint-appears{
    0%{
        opacity: 0;
        transform: translateX(10px);
    }
    
    100%{
        opacity: 1;
        transform: translateX(0);
    }
}

@media screen and (min-width: 768px){
    .related-posts-container{
        display: flex;
        
        margin: 0 -12px;
    }
    
    .related-posts__elem{
        width: 33.333333333333%;
        padding: 0 12px;
        
        box-sizing: border-box;
    }    
}


.related-post,
.related-post__picture{
    display: block;
}

.related-post{
    
}

.related-post__picture{
    position: relative;
    
    background-color: var(--bg);
    
    overflow: hidden;
}

.related-post__picture:before{
    content: "";
    
    display: block;
    padding-top: 74.27884615384615%;
}

.related-post__picture img{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.related-post__title{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    
    color: var(--common);
    font: 500 20px/var(--lh) var(--font);
    text-overflow: ellipsis;
    
    padding-left: 30px;
    padding-right: 30px;
    
    overflow: hidden;
}

@media screen and (min-width: 1025px){
    .related-post:hover .post-read-wrapper{
        opacity: 1;
    }
}

/* cases */
@media screen and (min-width: 1024px){
    .case-head{
        display: flex;
        align-items: center;
    }
    
    .case-head__body{
        padding-right: 110px;
    }
    
    .case-head__preview{
        min-width: 636px;
        max-width: 636px;
        
        margin-left: auto;
        padding-top: 22px;
    }
    
    .case-head__preview.mobile{
        display: none;
    }
}


@media screen and (min-width: 1024px) and (max-width: 1024px){
    .case-head__body{
        padding-right: 40px;
    }
    
    .case-head__preview{
        min-width: 450px;
        max-width: 450px;
    }
}

.case-preview{
    position: relative;
}

.case-preview:before{
    content: "";
    
    position: relative;
    
    display: block;
    padding-top: 57.54716981132075%;
    
    background: url("../images/bg/laptop.webp") center center / 100% no-repeat;
    
    z-index: 1;
}

.case-preview__inside{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    
    padding: 2% 11.9% 6.7%;
    
    z-index: 0;
}

.case-preview-img{
    width: 100%;
    height: 100%;
    
    object-fit: cover;
}

.website-link{
    display: inline-flex;
    align-items: center;
    
    color: var(--common);
    font: 500 22px/var(--lh) var(--font);
}

.website-link__icon{
    margin-right: 10px;
}

.link-icon{
    width: 18px;
    height: 18px;
}

.link-icon.line{
    fill: var(--common);
}

.website-link__label{
    position: relative;
}

.website-link__label:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 100%;
    
    width: 0;
    
    border-top: 2px dotted var(--common);
}

@media screen and (min-width: 1025px){
    .website-link__label:before{
        transition: width var(--dur) ease-in-out;
    }
    
    .website-link:hover .website-link__label:before{
        width: 100%;
    }
}

.case-preview-text{
    font: 500 22px/var(--lh) var(--font);
}

.case-text{
    font-size: 22px;
}

.case-text p:not(:first-child){
    margin-top: 26px;
}

.case-screenshots{
    background-color: var(--common);
}

.case-img{
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1024px){
    .case-preview-text,
    .case-text{
        font-size: 20px;
    }
    
    .blog-hint-container.case-hint-container{
        top: -30px;
    }
}

@media screen and (max-width: 1023px){
    .case-head__preview{
        max-width: 636px;
        margin: 0 auto 60px;
    }
    
    .case-head__preview.desktop{
        display: none;
    }
}

/* cases filter */
.filters-container{ 
    transition: all var(--dur) ease-in-out;
}

body.loading .filters-container{ 
    opacity: 0.5;
    pointer-events: none;
}

.filters-row:not(:first-child){
    margin-top: 40px;
}

@media screen and (min-width: 1025px){
    .filters-element{
        display: flex;
        flex-wrap: wrap;
        
        margin: -20px -40px;
    }
    
    .filters-element__col{
        width: 25%;
        padding: 20px 40px;
        
        box-sizing: border-box;
    }
    
    .filter-item{
        position: relative;
        display: inline-flex;
        align-items: center;
        
        color: var(--common);
        font-size: 26px;
        line-height: var(--lh);
    }
    
    .filter-item__picture{
        position: relative;
        display: block;
        
        line-height: 0;
    }
    
    .ifilter-item__img{
        width: 60px;
        height: auto;
    }
    
    .filter-item__img.i2{
        position: absolute;
        left: 0;
        top: 0;
        
        opacity: 0;
        transform: scale(1.03);
    }
    
    .filter-item__label{
        display: block;
        
        margin-left: 20px;
    }
    
    .filter-item__img.i2{
        transition: opacity var(--dur) ease-in-out;
    }
    
    .filter-item.active .filter-item__img.i2{
        opacity: 1;
    }
    
    .filter-item__arrow{
        display: none;
    }
    
    .filter-item__label:before{
        content: attr(data-title);
        
        display: block;
        
        font-weight: 500;
        
        height: 0;
        
        overflow: hidden;
        visibility: hidden;
    }
}

.filter-item.active{
    font-weight: 500;
}

@media screen and (min-width: 1025px){
    .filter-item:hover{
        font-weight: 500;
    }
        
    .filter-item:hover .filter-item__img.i2{
        opacity: 1;
    }
}

.js-show-filters{
    cursor: pointer;
}

@media screen and (max-width: 1024px){
    .filters-element{
        
    }
    
    .filters-element__col:not(:first-child){
        margin-top: 16px;
    }
    
    .filter-item{
        position: relative;
        
        display: inline-block;
        font-size: 20px;
        
        padding-left: 28px;
    }
    
    .filter-item__picture{
        display: none;
    }
    
    .filter-item__label{
        
    }
    
    .clear-filter-item br{
        display: none;
    }
    
    .filter-item__arrow{
        position: absolute;
        left: 0;
        top: -2px;
        
        opacity: 0;
        
        transition: opacity var(--dur) ease-in-out;
    }
    
    .filter-item.active .filter-item__arrow{
        opacity: 1;
    }
}

@media screen and (max-width: 767px){
    .cases-page-hint{
        display: none;
    }
}

@media screen and (max-width: 500px){
    .cases-page-body{
        padding-top: 128px;
    }
}

/* cases container */
body.loading .js-posts,
body.loading .js-posts-nav{ 
    opacity: 0.5;
    pointer-events: none;
}

@media screen and (min-width: 1025px){
    .js-cases-page{
        margin: -20px 0;
    }
    
    .cases-block{
        display: flex;
        flex-wrap: wrap;        
        
        margin: 0 -57px;
    }
    
    .cases-block__elem{
        width: 33.333333333333333%;
        padding: 20px 57px;
    }
}

.cases-block{
    transition: all var(--dur) ease-in-out;
}

.cases-block__elem{
    box-sizing: border-box;
}


@media screen and (min-width: 501px){
    .mobile-curve-container{
        display: none;
    }
}

@media screen and (max-width: 1024px){
    .side-blog-link.desktop,
    .posts-line-3{
        display: none;
    }
    
    .page-title-element{
        hyphens: auto;
        
        padding: 0;
    }
    
    .blog-hint-container{
        top: -10px;
    }
    
    .blog-page{
        overflow: hidden;
    }
    
    
}

@media screen and (max-width: 1023px){
    
}

@media screen and (min-width: 768px) and (max-width: 1024px){
    .posts-page{
        display: flex;
        flex-wrap: wrap;
        
        margin: -20px -12px;
    }
    
    .posts-page__elem{
        padding: 20px 12px;
        
        box-sizing: border-box;
    }
    
    .post-link__picture:before{
        padding-top: 74.27884615384615%;
    }
    
    .cases-block{
        display: flex;
        flex-wrap: wrap;
        
        margin: 0 -12px;
    }
    
    .cases-block__elem{
        padding: 20px 12px;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1024px){
    .posts-page__elem,
    .cases-block__elem{
        width: 33.333333333333%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px){
    .posts-page__elem,
    .cases-block__elem{
        width: 50%;
    }
}

@media screen and (max-width: 1023px){
    .post-container__picture{
        position: relative;
        
        margin: 0 -30px 40px;
        
        background-color: var(--bg);
        
        overflow: hidden;
    }
    
    .post-container__picture:before{
        content: "";
        
        display: block;
        padding-top: 74.93333333333333%;
    }
    
    .related-post__title{
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 767px){
    .related-post__title{
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .posts-page,
    .js-cases-page{
        margin: -13px -30px;
    }
    
    .posts-page__elem,
    .cases-block__elem{
        padding: 13px 0;
    }
    
    .post-link__picture{
        border-radius: 0;
    }
    
    .post-link__picture:before{
        padding-top: 74.4%;
    }
    
    .post-link__title{
        font-size: 20px;
        
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media screen and (max-width: 500px){
    .mobile-curve-container{
        position: absolute;
        left: 0;
        top: 0;
        
        width: 100%;
    }
    
    .mobile-curve-container.case-mobile-curve{
        top: 20px;
    }
    
    .mobile-curve-container.bottom{
        top: auto;
        bottom: 20px;
    }
    
    .mobile-curve{
        width: 100%;
    }
    
    svg.mobile-curve{
        margin-left: -5px;
        width: calc(100% + 5px);
    }
    
    .mobile-curve.line{
        fill: none;
        stroke: var(--common);
        stroke-width: 20;
        stroke-linecap: round;        
    }
    
    .blog-page{
        padding-top: 94px;
    }
    
    .blog-page.common-blog-page{
        padding-top: 128px;
        padding-bottom: 238px;
        
        overflow: hidden;
    }
}
/* === faq.css === */
/* ======================================= */
/* FAQ */
/* ======================================= */
.faq-page-body{
    margin-bottom: -20px;    
}

.faq-item-row:not(:first-child){
    margin-top: 60px;
}

.faq-contacts-row{
    position: relative;
    
    z-index: 10;
}

.faq-item__text{
    max-width: 750px;
}

.common-question,
.common-question__answers{
    display: flex;
    align-items: center;
}

.common-question{
    position: relative;
}

.common-question__label,
.common-question__answers{
    transition: opacity var(--dur) ease-in-out;
}

.common-question__label,
.common-question__result{
    font-size: 18px;
    line-height: 27px;
}

.common-question__label{
    padding-right: 60px;
}

.common-question__answers{
    gap: 60px;
}

.common-question__answer{
    
}

.common-question.hidden .common-question__label,
.common-question.hidden .common-question__answers{
    opacity: 0;
}

.common-question__result{
    position: absolute;
    left: 0;
    top: 0;
    
    white-space: nowrap;
    
    width: 0;
    
    background-color: var(--bg);
    
    opacity: 0;
    
    z-index: 2;
    
    overflow: hidden;
    
    animation: result-appear 0.5s ease-in-out both;
}

@keyframes result-appear{
    0%{
        width: 0;
        opacity: 0;
    }
    
    100%{
        width: 100%;
        opacity: 1;
    }
}

@media screen and (min-width: 1025px){
    .faq-question-link{
        display: none;
    }
}

@media screen and (max-width: 1024px){
    .faq-page-body{
        margin-bottom: 0;    
    }

    .faq-sticky-link{
        display: none;
    }
    
    .faq-contacts-row{
        border-radius: 0;
    }
    
    .faq-question-link{
        margin-bottom: -20px;
    }
}

@media screen and (max-width: 767px){
    .common-question{
        display: block;
    }
    
    .common-question__label{
        padding: 0 0 4px;
    }
    
    .common-question__answer{
        line-height: 30px;
    }
}
/* === services.css === */
/* ======================================= */
/* SERVICES PAGE */
/* ======================================= */
@media screen and (min-width: 1025px){
    .services-intro-link{        
        position: absolute;
        left: 0;
        top: 76px;
        
        transform: rotate(-90deg) translateX(-100%) translateZ(0);
        transform-origin: left top;
    }
    
    .services-intro-link.mobile{
        display: none;
    }
    
    .services-intro{
        padding: 24px 0 170px;
    }
    
    .services-intro__subtitle{
        margin-top: -8px;
    }
    
    .services-intro__text{
        max-width: 776px;
    }
}

.services-intro{
    color: var(--light);
}

@media screen and (max-width: 1024px){
    .services-intro-link.desktop{
        display: none;
    }
    
    .services-intro{        
        padding: 12px 0 60px;
    }
    
    .services-intro__subtitle{
        margin-top: -5px;
    }
}

/* sections */
.services-section:not(:first-child){
    margin-top: -20px;
}

.services-section{
    border-radius: 20px 20px 0 0;
    
    overflow: hidden;
}

.services-section:nth-child(3n+1){
    background-color: var(--bg);
}

.services-section:nth-child(3n+2){
    background-color: var(--section-bg);
}

.services-section:nth-child(3n+3){
    color: var(--light);
    
    background-color: var(--common);
}

.services-text{
    max-width: 925px;
}

.services-section:nth-child(3n+3) .services-section-link{
    color: var(--light);
}

.services-description-wrapper{
    position: relative;
    
    max-width: 966px;
}

@media screen and (min-width: 1025px){
    .services-description{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        
        margin: -25px -20px;
    }
    
    .services-description__col{
        width: 33.33333333333333%;
        padding: 25px 20px;
        
        box-sizing: border-box;
    }
}

.service-description{
    display: flex;
    align-items: center;
}

.service-description__icon{
    line-height: 0;
    
    margin-right: 32px;
}

.service-description__img{
    width: 60px;
}

.more-circle-link{
    position: relative;
    display: block;
    
    color: var(--common);
    font-weight: 500;
    font-size: 22px;
    text-transform: lowercase;
    
    width: 260px;
    height: 260px;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
}

.more-circle-link__inside{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
}

.more-circle-link__label{
    position: absolute;
    left: 50%;
    top: 0;
    
    display: block;
}

.more-circle-link__label.l2{
    top: auto;
    left: auto;    
    bottom: 0;
    right: 50%;
    
    transform: scale(-1,-1);
}

.more-circle-link__icon{
    margin: -40px 0 0 -41px;
}

.clip-icon{
    width: 80px;
    height: 82px;
}

.clip-icon.line{
    fill: none;
    stroke: var(--common);
    stroke-linecap: round; 
    stroke-linejoin: round;
    stroke-miterlimit: 10; 
    stroke-width: 2.5;
}

.services-section:nth-child(3n+3) .more-circle-link{
    color: var(--light);
}

.services-section:nth-child(3n+3) .clip-icon.line{
    stroke: var(--light);
}

.services-section:nth-child(3n+3) .circle-svg-text{
    fill: var(--light);
    
}

@media screen and (min-width: 1025px){
    .to-services-description-page{
        position: absolute;
        bottom: 4px;
        left: 100%;
        
        margin-left: 40px;
    }
    
    .to-services-description-page.mobile{
        display: none;
    }
}

@media screen and (max-width: 1024px){
    .to-services-description-page.desktop{
        display: none;
    }
    
    .services-section:nth-child(3n+3) .link-arrow{
        color: var(--light);
    }
    
    .services-section:nth-child(3n+3) .link-arrow-icon.line{
        fill: var(--light);
    }
    
    .services-section:nth-child(3n+3) .link-arrow__label:before{
        border-top-color: var(--light);
        
    }
    
    .service-description__icon{
        margin-right: 10px;
    }
    
    .service-description__img{
        width: 40px;
    }
}

@media screen and (max-width: 767px){
    .services-description__col:not(:first-child){
        margin-top: 26px;
    }
}

/* services page */
.service-page-body{
    position: relative;
    
    background-color: var(--bg);
}

@media screen and (min-width: 1025px){
    .service-intro-link{
        position: absolute;
        left: 0;
        top: 3px;
        
        transform: rotate(-90deg) translateX(-100%) translateZ(0);
        transform-origin: left top;
    }    
    
    .service-intro-link.mobile{
        display: none;
    }
}

@media screen and (min-width: 1024px){
    .service-intro-description{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        
        margin: -25px -20px;
    }
    
    .service-intro-description__col{
        width: 25%;
        padding: 25px 20px;
        
        box-sizing: border-box;
    }
}

@media screen and (max-width: 1024px){
    .service-intro-link.desktop{
        display: none;
    }
    
    .service-intro-description__col:not(:first-child){
        margin-top: 26px;
    }
}

/* toggled list */
.toggled-list{
    
}

.toggled-list__row{
    box-shadow: 0 2px 10px 0 rgba(23, 27, 51, 0.03);
    background-color: var(--light);
    
    cursor: pointer;
}

.toggled-list__row:last-child{
    box-shadow: 0 4px 11px 0 rgba(23, 27, 51, 0.07);
}

@media screen and (min-width: 1025px){
    .toggled-list__row{
        transition: box-shadow var(--dur) ease-in-out;
    }
    
    .toggled-list__row:hover,
    .toggled-list__row:last-child:hover{
        box-shadow: 0 2px 12px 0 rgba(23, 27, 51, 0.08);
    }
}

.toggled-list__row:not(:first-child){
    margin-top: 8px;
}

@media screen and (min-width: 1025px){
    .toggled-container__title{
        font-size: 22px;
    }
}

@media screen and (min-width: 1024px){
    .toggled-container{
        display: flex;        
    }
    
    .toggled-container__title{
        width: 33.15301391035549%;
        padding-right: 20px;
        
        box-sizing: border-box;
    }
    
    .toggled-container__text{
        width: 49.84544049459042%;
        padding-bottom: 20px;
    }
}

.toggled-container{
    position: relative;
    
    padding: 20px 0;
}

.toggled-container__text{
    color: var(--common-tr);
    font-size: 20px;
}

.toggled-container__text-inside{
    height: 0;
    opacity: 0;
    overflow: hidden;
    
    transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    
    transform: translateZ(0);    
}

.toggled-container.active .toggled-container__text-inside{
    height: auto;
    opacity: 1;
}

.toggled-container__icon{
    position: absolute;
    right: 0;
    top: 30px;
    
    transform-origin: left top;
    
    transition: transform 0.3s ease-in-out;
}

.toggled-container.active .toggled-container__icon{
    transform: rotate(45deg);
}

.toggled-icon{
    width: 21px;
    height: 9px;
}

.toggled-icon.line{
    fill: var(--common);
}

@media screen and (max-width: 1024px){
    .toggled-container{
        padding: 19px 0;
        
        transition: padding 0.3s ease-in-out;
    }
    
    .toggled-container__title{
        font-size: 20px;
    }
}

@media screen and (max-width: 1023px){
    .toggled-container__text{
        
    }
    
    .toggled-container,
    .toggled-container__title{
        transition: padding 0.3s ease-in-out;
    }
    
    .toggled-container.active{
        padding-bottom: 40px;
    }
    
    .toggled-container.active .toggled-container__title{
        padding-bottom: 20px;
    }
    
    .toggled-container__icon{
        top: 28px;
    }
}

/* about service */
.service-about-section{
    position: relative;
    
    padding: 120px 0 270px;
    
    overflow: hidden;
}

@media screen and (min-width: 1024px){
    .service-about-wrapper{
        position: relative;
        
        max-width: 856px;
    }
    
    .service-about{
        display: flex;
        justify-content: space-between;
        
        font-size: 22px;
    }
    
    .service-about__col{
        max-width: 196px;
    }    
}

@media screen and (min-width: 1025px){
    .fast-start-container{
        position: absolute;
        top: -52px;
        left: 100%;
        
        margin-left: 180px;
    }
    
    .fast-start-link{
        width: 260px;
        height: 260px;
    }
}

.fast-start-link{
    position: relative;
    display: block;
    
    text-transform: lowercase;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
}

.fast-start-link__icon{
    margin: -30px 0 0 -30px;
}

.pencil-icon{
    width: 60px;
    height: 60px;
}

.pencil-icon.line{
    fill: var(--common);    
}

.services-line-1{
    position: absolute;
    right: 0;
    top: 0;
    
    pointer-events: none;
}

.services-line-1-icon{
    width: 808px;
}

.services-line-1-icon.line,
.services-line-2-icon.line{
    fill: none;
    stroke: var(--common);
    stroke-width: 30;
    stroke-linecap: round;
}

.services-line-2{
    position: absolute;
    left: 0;
    bottom: 0;

    pointer-events: none;
}

.services-line-2-icon{
    width: 792px;
}

@media screen and (max-width: 1024px){
    .services-line-1,
    .services-line-2{
        display: none;
    }
    
    .service-about-section{
        position: relative;
        
        padding: 60px 0;
    }
    
    .fast-start-link{
        width: 180px;
        height: 180px;
        margin: 0 auto;
    }
    
    .fast-start-link .circle-svg.w260{
        width: 180px;
    }
    
    .fast-start-link .circle-svg-text.f22{
        font-size: 24px;
    }
    
    .service-about{
        font-size: 20px;
    }
    
    .service-about__col:not(:first-child){
        margin-top: 26px;
    }
}

@media screen and (max-width: 500px){
    .service-about-section{
        padding-top: 160px;
    }
}

/* service description */
.service-description-section{
    position: relative;

    color: var(--light);

    background: center top / cover no-repeat var(--common);

    overflow: hidden;
}

.service-description-section:before{
    content: "";

    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background: center top / cover no-repeat var(--common);

    z-index: 1;
}


@media screen and (min-width: 1025px){
    .service-description-section:before{
        animation: bg-moving 7s ease-in-out infinite;
    }
}

.service-description-section__inside{
    position: relative;

    background-color: rgba(23, 27, 51, 0.8);

    z-index: 2;
}

/* cases section */
.service-cases-section{
    position: relative;
    
    padding: 100px 0;
    margin-top: -20px;
    
    border-radius: 20px 20px 0 0;
    background-color: var(--light);
    
    overflow: hidden;
}

@media screen and (max-width: 1024px){
    .cases-line-2{
        display: none;
    }
    
    .service-cases-section{
        padding: 60px 0 96px;        
    }
}

@media screen and (max-width: 767px){
    .service-hint-container{
        display: none;
    }
}

@media screen and (max-width: 500px){
    .service-cases-section{
        padding-top: 252px;
    }
    
    .service-cases-section .mobile-curve-container{
        top: 46px
    }
}
/* === 404.css === */
/* ======================================= */
/* 404 PAGE */
/* ======================================= */
.page-404{
    position: relative;

    text-align: center;
}

.page-404__status{
    font-size: 200px;
    line-height: 1;
}

.page-404__text{
    max-width: 650px;
    margin: 0 auto;
}

@media screen and (max-width: 1024px){
    .page-404__status{
        font-size: 100px;
    }
}
/* === form.css === */
/* ======================================= */
/* POPUP */
/* ======================================= */
.site-popup{
    display: none;
    
    position: fixed;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    overflow: hidden;
    
    background-color: var(--common);
    z-index: 101;
    
    box-sizing: border-box;
    
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

.admin-bar .site-popup{
    top: 32px;
    height: calc(100% - 32px);
}

@media screen and (max-width: 782px){
    .admin-bar .site-popup{
        top: 46px;
        height: calc(100% - 46px);
    }
}

.site-popup.active{
    display: block;
}

.site-popup.visible{
    opacity: 1;
}

.inside-popup{
    height: 100%;
    width: 100%;
    
    
    box-sizing: border-box;
    
    display: none;
    
    opacity: 0;
    transform: translateY(30px) translateZ(0);
    transition: opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
    
    overflow: auto;
}

.inside-popup.active{
    display: block;
}

.inside-popup.visible{
    opacity: 1;
    transform: translateY(0) translateZ(0);
}

.inside-popup > .container{
    height: 100%;
}


/* popup form */
.form-popup{
    display: flex;
    flex-direction: column;
    
    color: var(--light);
    
    height: 100%;
    padding: 130px 0;
    
    box-sizing: border-box;
}

.form-popup__inside,
.form-popup__container{
    position: relative;
}

@media screen and (min-width: 1025px){
    .form-popup__text{
        font-size: 22px;
    }
}

@media screen and (min-width: 768px){
    .form-popup__inside{
        text-align: center;
        
        max-width: 636px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1024px){
    .form-popup{
        padding: 60px 0;
    }
    
    .form-popup__title{
        padding-right: 50px;
    }
}


@media screen and (max-width: 767px){
    .form-popup__inside{
        padding-top: 14px;
        padding-bottom: 60px;
    }
}

/* ======================================= */
/* FORM */
/* ======================================= */
.form-popup .wpcf7-form{
    display: flex;
    flex-wrap: wrap;
    
    margin: -13px -22px;
}

.form-row{
    width: 100%;
    padding: 13px 22px;
    
    box-sizing: border-box;
}

.form-row.select-row{
    position: relative;
    
    z-index: 5;
}

@media screen and (min-width: 768px){
    .form-row.half{
        width: 50%;
    }
}

.form-label-wrap,
.wpcf7-form-control-wrap{
    position: relative;
    
    display: block;
}

.form-field{
    display: block;
    
    color: var(--light);
    font: 400 18px/21px var(--font);
    
    width: 100%;
    padding: 0 14px 8px;    
    
    border: none;
    border-bottom: 2px solid var(--light);
    
    background: transparent;
    
    box-sizing: border-box;
    
    outline: none;
    
    transition: border var(--dur) ease-in-out;
}

.form-field::placeholder{
    color: var(--light);
}

.form-field.textarea{
    height: 90px;
    padding-top: 8px;

    resize: none;
}

.file-field-label,
.form-row-file{
    display: block;
    position: relative;
    
    line-height: 0;
}

.form-row-file{
    text-align: left;
}

.file-field-note{
    position: relative;
    
    font-size: 18px;
    line-height: 1.5;
    
    padding-left: 34px;    
}

.file-field-note:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: 0;
    
    width: 24px;
    height: 24px;
    
    background: url("../images/icons/clip.svg") center center / 100% no-repeat;
}

.file-field-label.filled .file-field-note{
    display: none;
}

.file-field-label .wpcf7-form-control-wrap{
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    height: 100%;
    
    cursor: pointer;
}

.file-field{
    display: block;
    
    width: 100%;
    height: 100%;
    
    cursor: pointer;
    
    opacity: 0;
}

.file-preview{
    display: inline-flex;
    align-items: center;
    
    color: var(--common);
    font: 400 14px/27px var(--font);
    white-space: nowrap;
    
    max-width: 100%;
    padding: 0 10px;
    border-radius: 20px;
    background-color: var(--light);
    
    user-select: none;
    cursor: pointer;
    
    box-sizing: border-box;
}

.file-preview:before{
    content: "";
    
    position: relative;
    
    width: 16px;
    height: 16px;
    margin-right: 4px;
    
    background: url("../images/icons/clip-dark.svg") center center / 100% no-repeat;
}

.file-preview:after{
    content: "";
    
    position: relative;
    
    
    width: 16px;
    height: 16px;
    margin-left: 4px;
    
    background: url("../images/icons/delete-icon.svg") center center / 100% no-repeat;
}

.file-preview__name{
    text-overflow: ellipsis;
    
    width: 100%;
    
    overflow: hidden;
}

.file-field-label.filled .file-field,
.file-field-label.filled .wpcf7-form-control-wrap{
    display: none;
    pointer-events: none;
}

.submit-btn{
    display: block;
    
    color: var(--common);
    font: 500 22px/26px var(--font);
    text-align: center;
    
    width: 100%;
    padding: 16px 0;
    
    border: none;
    border-radius: 30px;
    background-color: rgba(255,255,255,0.7);
    
    user-select: none;
    outline: none;
    cursor: pointer;
}

.submit-btn.light{
    background-color: var(--light);
}

.submit-btn:not(:disabled):active{
    transform: translateY(1px);
}

@media screen and (min-width: 1025px){
    .submit-btn{
        transition: background-color var(--dur) ease-in-out;
    }
    
    .submit-btn:not(:disabled):hover{
        background-color: var(--light);
    }
    
    .submit-btn.light:not(:disabled):hover{
        background-color: rgba(255,255,255,0.9);
    }
}

/* form checkbox */
.form-note{
    font-size: 18px;
    line-height: 1.5;

    padding: 8px 22px 22px;
}

/* Two consent checkboxes in a row should read as one group, not two
   separate form rows — tighten the gap between them without touching
   each note's own click target (horizontal padding stays put). */
.form-note:has(+ .form-note){
    padding-bottom: 6px;
}

.form-note + .form-note{
    padding-top: 2px;
}

@media screen and (min-width: 768px){
    .form-note{
        margin-right: -40px;
    }
}

.form-note .dec-link{
    opacity: 1;
}

@media screen and (max-width: 1024px){
    .form-note .dec-link{
        font-size: 18px;
    }
}

.wpcf7-acceptance{
    line-height: 0;
    text-align: left;
}

.wpcf7-acceptance label{
    position: relative;
    display: inline-block;
    
    
    padding: 5px 0;
}

.wpcf7-acceptance input{
    position: absolute;
    left: 0;
    top: 0;
    
    opacity: 0;
    font-size: 0;    
}

.wpcf7-acceptance .wpcf7-list-item-label{
    position: relative;
    
    line-height: 1.5;
    
    padding-left: 34px;
    
    cursor: pointer;
}

.wpcf7-acceptance .wpcf7-list-item-label:before{
    content: "";
    
    position: absolute;
    left: 0;
    top: -2px;
    
    display: block;
    
    min-width: 22px;
    width: 22px;
    height: 22px;
    margin-right: 12px;
    
    border: 1px solid var(--bg);
    border-radius: 4px;
}

.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
    background: url("../images/icons/checked.svg") center center / 22px no-repeat;    
}

/* === */

.wpcf7 br{
    display: none;
}

.wpcf7-not-valid-tip{
    position: absolute;
    left: 0;
    top: 100%;
    
    color: var(--warning);
    font-size: 13px;
    line-height: 1;
    
    margin-top: 2px;
}

.screen-reader-response,
.wpcf7-response-output{
    display: none;
}

.form-popup .wpcf7-form:before,
.submit-container:before{
    content: "";
    
    position: absolute;
    
    width: 24px;
    height: 24px;
    
    border-radius: 50%;
    border: 2px solid var(--common);
    border-left-color: var(--light);
    
    opacity: 0;
    transition: opacity 0.05s ease-in-out;
    
    box-sizing: border-box;
    
    z-index: 10;
}

.form-popup .wpcf7-form:before{    
    left: 50%;
    top: -20px;
    
    margin-left: -14px;
}

.form-button-row{
    position: relative;
}


.form-popup .wpcf7-form.submitting .form-row,
.form-popup .wpcf7-form.submitting .agree-row,
.form-popup .wpcf7-form.submitting .radio-row,
.form-popup .wpcf7-form.submitting .form-button,
.form-popup .wpcf7-form.submitting .promo-check-row,
.wpcf7-form.submitting .form-fields-container,
.wpcf7-form.submitting .checkbox-label,
.wpcf7-form.submitting .form-title,
.wpcf7-form.submitting .steps-line{
    opacity: 0.7;
    pointer-events: none;
}

.form-popup .wpcf7-form.submitting:before,
.reg-form-container .wpcf7-form.submitting .submit-container:before{
    opacity: 1;
    animation: loading 0.8s linear infinite;
}

@keyframes loading{
    0%{
        transform: rotate(0deg);
    }
    
    100%{
        transform: rotate(360deg);
    }
}

@keyframes showing{
    0%{
        opacity: 0;
    }
    
    100%{
        opacity: 1;
    }
}

.wpcf7-form{
    position: relative;
}

.wpcf7-form.sent .wpcf7-response-output{
    display: none;
}

.wpcf7-form-control.hidden{
    position: absolute;
    left: -100vw;
    top: 0;
    
    font-size: 0;
    line-height: 0;
    
    width: 0;
    height: 0;
    padding: 0;
    
    border: none;
    background: none;
    
    opacity: 0;
    visibility: hidden;
}


.wpcf7 .wpcf7-submit:disabled{
    cursor: not-allowed;
}

@media screen and (max-width: 767px){
    .form-button-row{
        padding-top: 14px;
    }
    
    .submit-btn{
        font-size: 20px;
        line-height: 24px;
    }
}

/* form submitting */
.form-popup__container-inside{
    transition: all 0.3s ease-in-out;
}

.form-popup__answer{
    display: none;
    
    position: absolute;
    left: 0;
    top: 0;
    
    width: 100%;
    
    background-color: var(--common);
    
    opacity: 0;
    transform: translateY(10px);
    
    transition: all 0.3s ease-in-out;
    
    z-index: 10;
}

.js-popup-form-body.sent .form-popup__answer{
    display: block;
}

.js-popup-form-body.active .form-popup__answer{
    opacity: 1;
    transform: translateY(0);
}

.js-popup-form-body.active .form-popup__container-inside{
    opacity: 0;
}

/* custom select element */
.select{
    position: relative;    
}

.select .select--selected{
    position: relative;
    
    color: var(--light);
    font: 400 18px / 21px var(--font);
    text-align: left;
    
    padding: 0 14px 8px;
    
    border: none;
    border-bottom: 2px solid var(--light);
    
    cursor: pointer;
}

.select .select--selected:before{
    content: "";
    
    position: absolute;
    right: 10px;
    top: 4px;
    
    width: 18px;
    height: 18px;
    
    background: url("../images/icons/chevron.svg") center center / 100% no-repeat;
    
    transform: rotate(180deg);
    
    transition: transform var(--dur) ease-in-out;
}

.select .select--selected.opened:before{
    transform: rotate(0deg);
}

.select__options{
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 5px;
    
    color: var(--common);
    font: 400 16px/1 var(--font);
    text-align: left;
        
    width: 100%;
    padding: 5px 0;
    
    border-radius: 16px;
    background-color: var(--light);
    
    transition: all var(--dur) ease-in-out;    
}

.select__options.hidden{
    opacity: 0;
    visibility: hidden;
}

.select__option{
    padding: 8px 14px;
    
    cursor: pointer;
}

.select__option:first-child{
    display: none;
}

.select__option:active{
    transform: translateY(1px);
}

@media screen and (min-width: 1025px){
    .select__option:after{
        content: attr(data-title);
        display: block;
        
        font-weight: 500;
        
        height: 0;
        
        visibility: hidden;
        overflow: hidden;
    }

    .select__option:hover{
        font-weight: 500;
    }
}
/* === animations.css === */
/* ======================================= */
/* ANIMATIONS */
/* ======================================= */
@media screen and (min-width: 0px){
    .js-section .js-section-title,
    .js-section .js-animation-elem,
    .js-section .js-animation-container,
    .js-section .js-animation-first,
    .js-section .js-animation-2,
    .js-section .js-animation-3,
    .js-section .js-animation-4,
    .js-section .js-animation-last,
    .js-loaded-animation-parent .js-animation-child,
    .js-section .js-animation-child,
    .js-visible-section .js-fast-appear-1,
    .js-visible-section .js-fast-appear-2,
    .js-visible-section .js-fast-appear-3,
    .js-loaded-animation-1,
    .js-loaded-animation-2,
    .js-loaded-animation-3,
    .js-loaded-animation-4,
    .js-loaded-animation-5,
    .js-loaded-animation-6,    
    .js-loaded-animation-7,
    .js-animation-element.bottom-appearing{
        opacity: 0;
        -webkit-transform: translate3d(0, 30px, 0);
        transform: translate3d(0, 30px, 0);

        transition: opacity 1s ease, transform 1s ease;
    }
    
    .js-visible-section .js-just-appear-4,
    .js-visible-section .js-just-appear-5,
    .js-animation-element,
    .js-loaded-appear-2,
    .js-loaded-appear-3{
        opacity: 0;

        transition: opacity 1s ease;
    }
    
    .js-section.active .js-section-title,
    .js-section.active .js-animation-elem,
    .js-section.active .js-animation-container,
    .js-section.active .js-animation-first,
    .js-section.active .js-animation-2,
    .js-section.active .js-animation-3,
    .js-section.active .js-animation-4,
    .js-section.active .js-animation-last,
    .js-section.active .js-animation-child,
    .js-visible-section.active .js-fast-appear-1,
    .js-visible-section.active .js-fast-appear-2,
    .js-visible-section.active .js-fast-appear-3,
    .js-visible-section.active .js-just-appear-4,
    .js-visible-section.active .js-just-appear-5,
    body.loaded .js-loaded-animation-1,
    body.loaded .js-loaded-animation-2,
    body.loaded .js-loaded-animation-3,
    body.loaded .js-loaded-animation-4,
    body.loaded .js-loaded-animation-5,
    body.loaded .js-loaded-animation-6,
    body.loaded .js-loaded-animation-7,
    body.loaded .js-loaded-appear-2,
    body.loaded .js-loaded-appear-3,
    body.loaded .js-loaded-animation-parent .js-animation-child,
    .js-animation-element.active{
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .js-section .js-animation-elem,
    .js-section .js-animation-2,
    .js-loaded-animation-2,
    .js-loaded-appear-2{
        transition-delay: 0.3s;
    }

    .js-section .js-animation-3,
    .js-loaded-animation-3,
    .js-loaded-appear-3{
        transition-delay: 0.6s;
    }
    
    .js-loaded-animation-4,
    .js-section .js-animation-4{
        transition-delay: 0.9s;
    }
    
    .js-loaded-animation-5{
        transition-delay: 1.2s;
    }
    
    .js-loaded-animation-6{
        transition-delay: 1.5s;
    }
    
    .js-loaded-animation-7{
        transition-delay: 1.8s;
    }

    .js-section .js-animation-last{
        transition-delay: 1s;
    }
    
    .js-visible-section .js-fast-appear-2{
        transition-delay: 0.25s;
    }
    
    .js-visible-section .js-fast-appear-3{
        transition-delay: 0.55s;
    }
    
    .js-visible-section .js-just-appear-4,
    .js-visible-section .js-just-appear-5{
        
    }
    
    .js-visible-section .js-just-appear-4{
        transition-delay: 0.85s;
    }
    
    .js-visible-section .js-just-appear-5{
        transition-delay: 1s;
    }
    
    /*.js-visible-section .js-just-appear-5{
        transition-delay: 0.6s;
    }*/    
}

/*@media screen and (max-width: 767px){
    .js-animation-child{
        transition-delay: 0s!important;
    }
}*/

/* === ../style.css === */
﻿/*
Theme Name: MADEIN
Author: Vadim
Description:  ma de in's Site
Version: 1.0
*/

/* ======================================= */

/* ======================================= */
/* FONT */
/* ======================================= */
/* ======================================= */
/* VARIABLES */
/* ======================================= */
/* ======================================= */
/* RESET */
/* ======================================= */
/* ======================================= */
/* COMMON */
/* ======================================= */
/* ======================================= */
/* HEADER */
/* ======================================= */
/* ======================================= */
/* FOOTER */
/* ======================================= */
/* ======================================= */
/* BUTTONS */
/* ======================================= */
/* ======================================= */
/* HOME PAGE */
/* ======================================= */
/* ======================================= */
/* 404 PAGE */
/* ======================================= */
/* ======================================= */
/* FORM */
/* ======================================= */

/* ======================================= */
/* CAlENDAR */
/* ======================================= */

@media screen and (min-width: 1025px) and (max-width: 1900px){

    /* padding: 0 calc(100vw / 1920 * 20); */

    .bg{
        min-height: calc(100vw / 1920 * 1070);
    }
    
    @keyframes bg-moving{
        0%{
            transform: translate3d(0, 0, 0) scale(1);
        }
        
        50%{
            transform: translate3d(calc(100vw / 1920 * -20), calc(100vw / 1920 * -20), 0) scale(1.05);
        }
        
        100%{
            transform: translate3d(0, 0, 0) scale(1);        
        }
    }
    
    .radius{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .top-radius{
        border-radius: calc(100vw / 1920 * 20) calc(100vw / 1920 * 20) 0 0;
    }
    
    .floating-container{
        height: calc(100vw / 1920 * 320);
    }
    
    .container{
        max-width: calc(100vw / 1920 * 1294);
        padding: 0 calc(100vw / 1920 * 60);
    }
    
    .wide-container{
        max-width: calc(100vw / 1920 * 1620);
    }
    
    .side-sticky-link{
        left: calc(100vw / 1920 * -168);
    
        padding-right: calc(100vw / 1920 * 75);
        
    }
    
    /*----------------------------------------*/
    .block-title{
        font-size: calc(100vw / 1920 * 62);
    }
    
    .section-title{
        font-size: calc(100vw / 1920 * 52);
    }
    
    .text-block{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .text{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .page-anchor{
        top: calc(100vw / 1920 * -140);
    }
    
    .f20{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .price-elem{
        font-size: calc(100vw / 1920 * 32);
    }
    
    .list-container{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .list-container li{
        padding-left: calc(100vw / 1920 * 18);
    }
    
    .list-container p:not(:first-child),
    .list-container ul:not(:first-child),
    .list-container li:not(:first-child){
        margin-top: calc(100vw / 1920 * 20);
    }
    
    .list-container.right li{
        padding-right: calc(100vw / 1920 * 18);
    }
    
    .list-container li:before{
        top: calc(100vw / 1920 * 8);
        
        width: calc(100vw / 1920 * 14);
        height: calc(100vw / 1920 * 7);        
    }
    
    .title-list{
        font-size: calc(100vw / 1920 * 18);     
    }
    
    .title-list__elem:not(:first-child){
        padding-top: calc(100vw / 1920 * 20);
    }
    
    .title-list__label{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .designed-list{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .designed-list li{        
        padding-left: calc(100vw / 1920 * 38);
    }
    
    .designed-list p:not(:first-child),
    .designed-list ul:not(:first-child),
    .designed-list li:not(:first-child){
        margin-top: calc(100vw / 1920 * 20);
    }
    
    .designed-list li:before{
        width: calc(100vw / 1920 * 22);
        height: calc(100vw / 1920 * 22);        
    }
    
    .text-container{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .text-container p:not(:first-child),
    .text-container ul:not(:first-child),
    .text-container ol:not(:first-child){
        margin-top: calc(100vw / 1920 * 10);
    }
    
    .text-container h1:not(:first-child),
    .text-container h2:not(:first-child),
    .text-container h3:not(:first-child),
    .text-container h4:not(:first-child),
    .text-container h5:not(:first-child),
    .text-container h6:not(:first-child){
        margin-top: calc(100vw / 1920 * 24);
    }
    
    .text-container h1{
        font-size: calc(100vw / 1920 * 40);
    }
    
    .text-container h2{
        font-size: calc(100vw / 1920 * 35);
    }
    
    .text-container h3{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .text-container h4{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .text-container h5{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .text-container h6{
        font-size: calc(100vw / 1920 * 14);
    }
    
    .text-container ul,
    .text-container ol{
        padding-left: calc(100vw / 1920 * 24);
    }
    
    .text-container ul li:not(:first-child),
    .text-container ol li:not(:first-child){
        margin-top: calc(100vw / 1920 * 10);
    }
    
    .slogan-section{
        top: calc(100vw / 1920 * -136);
    }
    
    .second-slogan-section{
        top: calc(100vw / 1920 * -197);
    }
    
    .slogan{
        max-width: calc(100vw / 1920 * 1620);
        padding: calc(100vw / 1920 * 100) calc(100vw / 1920 * 162);    
        
        border-radius: calc(100vw / 1920 * 200);        
    }
    
    .slogan__logo{
        min-width: calc(100vw / 1920 * 196);        
    }
    
    .slogan__body{
        font-size: calc(100vw / 1920 * 30);

        padding-left: calc(100vw / 1920 * 89);
        margin-left: calc(100vw / 1920 * 89);
    }
    
    .slogan__body:before{
        margin-top: calc(100vw / 1920 * -87);
        
        height: calc(100vw / 1920 * 175);
        
        border-left-width: calc(100vw / 1920 * 3);    
    }
    
    .send-question__inside{
        font-size: calc(100vw / 1920 * 22);
        
        margin-left: calc(100vw / 1920 * -3);
    }
    
    .send-question__consultant,
    .send-question__email{
        width: calc(100vw / 1920 * 80);
        height: calc(100vw / 1920 * 80);    
        
        border-width: calc(100vw / 1920 * 3);
    }
    
    .send-question__consultant:not(:first-child),
    .send-question__email{
        margin-left: calc(100vw / 1920 * -16);
    }
    
    .email-large-icon{
        width: calc(100vw / 1920 * 32);
        height: calc(100vw / 1920 * 32);
    }
    
    .send-question__body{
        margin-left: calc(100vw / 1920 * 12);
    }
    
    .send-question__body strong:before{    
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .send-question__body strong:after{
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .send-question__arrow{
        margin-left: calc(100vw / 1920 * 12);
    }
    
    .send-question-icon{
        width: calc(100vw / 1920 * 21);
        height: calc(100vw / 1920 * 9);
    }
    
    .circle-svg.w260{
        width: calc(100vw / 1920 * 260);
    }
    
    .circle-svg.w258{
        width: calc(100vw / 1920 * 258);
    }
    
    .circle-svg.w224{
        width: calc(100vw / 1920 * 224);
    }
    
    .circle-svg.w144{
        width: calc(100vw / 1920 * 144);
    }
    
    .circle-svg-text.f20{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .circle-svg-text.f22{
        font-size: calc(100vw / 1920 * 22);
    }
    
    /* hint */
    .hint-container{
        font-size: calc(100vw / 1920 * 16);
        
        padding: calc(100vw / 1920 * 9) calc(100vw / 1920 * 15);
        
        border-radius: calc(100vw / 1920 * 4) calc(100vw / 1920 * 4) calc(100vw / 1920 * 4) 0;        
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    
    .hint-container:before{
        border-left-width: calc(100vw / 1920 * 3);
        border-top-width: calc(100vw / 1920 * 5);
        border-right-width: calc(100vw / 1920 * 4);
        border-bottom-width: calc(100vw / 1920 * 6);
    }
    
    .hint-container.gray:before{
        border-right-width: calc(100vw / 1920 * 4);
        border-bottom-width: calc(100vw / 1920 * 6);
    }
    
    /* link with arrow */
    .link-arrow-wrapper{
        margin: calc(100vw / 1920 * -5) 0;
    }
    
    .link-arrow{    
        font-size: calc(100vw / 1920 * 20);
        
        padding: calc(100vw / 1920 * 5) 0;
    }
    
    .link-arrow__label:before{    
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .link-arrow__label:after{        
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .link-arrow__icon{
        margin-left: calc(100vw / 1920 * 9);
    }
    
    .link-arrow-icon{
        width: calc(100vw / 1920 * 21);
        height: calc(100vw / 1920 * 9);
    }
    
    .header-inside{
        padding: calc(100vw / 1920 * 40) 0;
    }
    
    .logo{
        width: calc(100vw / 1920 * 142);
        
    }
    
    .menu-btn{
        width: calc(100vw / 1920 * 110);
        padding: calc(100vw / 1920 * 24) 0;
        
    }
    
    .menu-btn__row{
        border-top-width: calc(100vw / 1920 * 3);
    }
    
    .menu-btn__row:not(:first-child){
        margin-top: calc(100vw / 1920 * 10);
    }
    
    .menu-btn__row.r1{
        margin-right: calc(100vw / 1920 * 64);
    }
        
    .menu-btn__row.r3{
        margin-right: calc(100vw / 1920 * 41);
    }
    
    @keyframes mr1 {
        0%{
            margin-right: calc(100vw / 1920 * 64);  
        }
        
        8%{
            margin-right: calc(100vw / 1920 * 14);
        }
        
        16%{
            margin-right: calc(100vw / 1920 * 64);
        }
        
        100%{
            margin-right: calc(100vw / 1920 * 64);
        }
    }
    
    @keyframes mr2 {
        0%{
            margin-right: 0;  
        }
        
        8%{
            margin-right: calc(100vw / 1920 * 50);
        }
        
        16%{
            margin-right: 0;
        }
        
        100%{
            margin-right: 0;
        }
    }
    
    @keyframes mr3 {
        0%{
            margin-right: calc(100vw / 1920 * 41);  
        }
        
        8%{
            margin-right: calc(100vw / 1920 * 20);
        }
        
        16%{
            margin-right: calc(100vw / 1920 * 41);
        }
        
        100%{
            margin-right: calc(100vw / 1920 * 41);
        }
    }
    
    .langs-panel{
        top: calc(100vw / 1920 * -2);
        
        font-size: calc(100vw / 1920 * 22);
        
        margin-left: calc(100vw / 1920 * 105);
    }
    
    .langs-panel .lang-item:not(:first-child):before{
        height: calc(100vw / 1920 * 18);
        
        margin: 0 calc(100vw / 1920 * 4);
    }
    
    .langs-panel a{
        padding: calc(100vw / 1920 * 5);
    }
    
    
    /* modal menu */
    .modal-menu{        
        padding: 0 0 calc(100vw / 1920 * 40);
    }
    
    .header-container{
        max-width: calc(100vw / 1920 * 856);
    }
    
    .nav-container .menu-item:not(:first-child){
        margin-top: calc(100vw / 1920 * 8);
    }
    
    .nav-container a{
        font-size: calc(100vw / 1920 * 62);            
    }
    
    .phones-wrapper{
        gap: calc(100vw / 1920 * 182);
        padding-top: calc(100vw / 1920 * 52);
    }
    
    /* ======================================= */
    /* FOOTER */
    /* ======================================= */
    .footer-inside{
        max-width: calc(100vw / 1920 * 1294);
    }
    
    .footer-picture{
        max-width: calc(100vw / 1920 * 440);
        border-radius: calc(100vw / 1920 * 260) calc(100vw / 1920 * 260) 0 0;
    }
    
    .hand-link{
        right: calc(100vw / 1920 * -66);
        top: calc(100vw / 1920 * 61);
        
        width: calc(100vw / 1920 * 140);
        height: calc(100vw / 1920 * 140);
    }
    
    .hand-icon{
        width: calc(100vw / 1920 * 70);
        height: calc(100vw / 1920 * 67);
    }
    
    .footer-body{
        margin-left: calc(100vw / 1920 * 326);
        padding-top: calc(100vw / 1920 * 12);
        min-width: calc(100vw / 1920 * 528);
    }
    
    /* footer menu */
    .additional-menu{
        font-size: calc(100vw / 1920 * 26);
    }
    
    .additional-menu a:before{
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .additional-menu .menu-item:not(:first-child){
        margin-top: calc(100vw / 1920 * 8);
    }
    
    /* footer phones */
    .phone-row:not(:first-child){
        margin-top: calc(100vw / 1920 * 14);
    }
    
    .phone-link{
        font-size: calc(100vw / 1920 * 36);
    }
    
    .phone-label-container{
        margin-top: calc(100vw / 1920 * -7);
    }
    
    .dec-link{
       font-size: calc(100vw / 1920 * 18);
    }
    
    .dec-link.bigger{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .dec-link:after{
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .dec-link:before{
        border-top-width: calc(100vw / 1920 * 2);  
    }
    
    /* email link */
    .email-link{
        font-size: calc(100vw / 1920 * 22);
    }
    
    .email-link:before{
        left: calc(100vw / 1920 * 36);
        
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .email-link svg{
        margin-right: calc(100vw / 1920 * 12);
    }
    
    .email-icon{
        width: calc(100vw / 1920 * 24);
        height: calc(100vw / 1920 * 24);
    }
    
    /* messengers */
    .messengers{
        margin: calc(100vw / 1920 * -4);
    }
    
    .messengers__elem:not(:first-child){
        margin-left: calc(100vw / 1920 * 14);
    }
    
    .messenger-link{
        padding: calc(100vw / 1920 * 4);
    }
    
    .messenger-link__icon{
        width: calc(100vw / 1920 * 32);
        height: calc(100vw / 1920 * 32);
    }
    
    /* links in footer */
    .footer-link{
        font-size: calc(100vw / 1920 * 18);
    }
    
    .footer-link:before{
        bottom: calc(100vw / 1920 * -2);
        
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    /* ======================================= */
    /* BUTTONS */
    /* ======================================= */
    .buttons-line__elem:not(:first-child){
        margin-left: calc(100vw / 1920 * 40);
    }
    
    /* accent btn */
    .accent-btn{
        font-size: calc(100vw / 1920 * 25);
        
        padding: calc(100vw / 1920 * 26) calc(100vw / 1920 * 92);
        
        border-radius: calc(100vw / 1920 * 50);
    }
    
    .accent-btn:before{
        border-radius: calc(100vw / 1920 * 50);        
    }
    
    /* icon btn */
    .icon-btn{
        font-size: calc(100vw / 1920 * 24);
        
        padding: calc(100vw / 1920 * 5);
    }
    
    .icon-btn__icon{
        margin-right: calc(100vw / 1920 * 21);
    }
    
    .btn-icon{
        width: calc(100vw / 1920 * 32);
        height: calc(100vw / 1920 * 32);
    }
    
    /* secondary big */
    .secondary-btn-big{
        font-size: calc(100vw / 1920 * 25);
        
        padding: calc(100vw / 1920 * 16) calc(100vw / 1920 * 26);
        
        border-radius: calc(100vw / 1920 * 50);
    }
    
    /* outline */
    .outline-btn{
        font-size: calc(100vw / 1920 * 16);
        
        padding: calc(100vw / 1920 * 16) calc(100vw / 1920 * 26);
        
        border-radius: calc(100vw / 1920 * 40);            
    }
    
    /* primary */
    .primary-btn{
        font-size: calc(100vw / 1920 * 14);
        
        padding: calc(100vw / 1920 * 10) calc(100vw / 1920 * 18);
        
        border-radius: calc(100vw / 1920 * 15);   
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    
    /* primary outline */
    .primary-outline-btn{
        font-size: calc(100vw / 1920 * 14);
        
        padding: calc(100vw / 1920 * 10) calc(100vw / 1920 * 18);
        
        border-radius: calc(100vw / 1920 * 15);
            
    }
    
    /* ======================================= */
    /* HOME PAGE */
    /* ======================================= */
    
    /* intro */
    .main-intro{
        margin-top: calc(100vw / 1920 * -16);
    }
    
    .intro-title{
        font-size: calc(100vw / 1920 * 200);    
    }
    
    .intro-title__line2{
        margin: calc(100vw / 1920 * -64) 0 0 calc(100vw / 1920 * 100);
    }
    
    .intro-title__line3{
        margin: calc(100vw / 1920 * -64) 0 0 calc(100vw / 1920 * 260);
    }
    
    .intro-text{
        font-size: calc(100vw / 1920 * 32);
        margin-left: calc(100vw / 1920 * 270);
    }
    
    .intro-link{
        right: calc(100vw / 1920 * 70);
        top: calc(100vw / 1920 * 48);
    }
    
    .info-link{
        width: calc(100vw / 1920 * 258);
        height: calc(100vw / 1920 * 258);        
    }
    
    .info-link__icon{
        margin: calc(100vw / 1920 * -50) 0 0 calc(100vw / 1920 * -50);
    }
    
    .laptop-icon{
        width: calc(100vw / 1920 * 100);
        height: calc(100vw / 1920 * 100);
    }
    
    /* services section */
    .company-services{
        margin-top: calc(100vw / 1920 * -55);
    }
    
    .company-services__col{
        padding-top: calc(100vw / 1920 * 55);
    }
    
    .icon-link{
        font-size: calc(100vw / 1920 * 26);        
    }
    
    .icon-link__img{
        width: calc(100vw / 1920 * 60);
    }
    
    .advantages-section-inside{
        padding: calc(100vw / 1920 * 420) 0 calc(100vw / 1920 * 220);
    }
    
    .advantages-section-inside:before{
        bottom: calc(100vw / 1920 * -100);
        
        height: calc(100vw / 1920 * 290);
    }
    
    .advantages-container{
        font-size: calc(100vw / 1920 * 20);
        
        margin: calc(100vw / 1920 * -20);
    }
    
    .advantages-container__col{
        max-width: calc(100vw / 1920 * 320);
        padding: calc(100vw / 1920 * 20);    
    }
    
    .advantage-elem__title{
        font-size: calc(100vw / 1920 * 62);
    }
    
    .icon-list{
        font-size: calc(100vw / 1920 * 22);
        
        margin: calc(100vw / 1920 * -12) calc(100vw / 1920 * -10);
    }
    
    .icon-list__row{
        padding: calc(100vw / 1920 * 12) calc(100vw / 1920 * 10);
    }
    
    .icon-list__picture{
        margin-right: calc(100vw / 1920 * 12);
    }
    
    .icon-list__img{
        width: calc(100vw / 1920 * 40);
    }
    
    .benefits-container__preview{
        top: calc(100vw / 1920 * -2);
        
    }
    
    /* cases section */
    .cases-line-1{
        top: calc(100vw / 1920 * -15);
        
    }
    
    .cases-line-1-icon{
        width: calc(100vw / 1920 * 924);
    }
    
    .cases-line-3-icon{
        width: calc(100vw / 1920 * 796);
    }
    
    .cases-line-1-icon.line,
    .cases-line-2-icon.line,
    .cases-line-3-icon.line,
    .posts-line-1-icon.line,
    .posts-line-2-icon.line{
        stroke-width: calc(100vw / 1920 * 30);
        
    }
        
    .cases-line-2{
        left: calc(100vw / 1920 * -10);
        bottom: calc(100vw / 1920 * -45);
    }
    
    .cases-line-2-icon{
        width: calc(100vw / 1920 * 1295);
    }
    
    .posts-line-1{
        top: calc(100vw / 1920 * -15);
    }
    
    .posts-line-1-icon{
        width: calc(100vw / 1920 * 924);   
    }
    
    .posts-line-2{
        bottom: calc(100vw / 1920 * -15);
    }
    
    .posts-line-2-icon{
        width: calc(100vw / 1920 * 743);    
    }
    
    .cases-wrapper{
        max-width: calc(100vw / 1920 * 1620);
    }
    
    .cases-container{
        margin: calc(100vw / 1920 * -20) calc(100vw / 1920 * -12);
    }
    
    .cases-container__elem{
        padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 12);
    }
    
    .case-link{
        font-size: calc(100vw / 1920 * 22);
    }
    
    .case-link__picture{
        border-radius: calc(100vw / 1920 * 20);
         
    }
    
    .case-link__info-inside{
        
        padding: calc(100vw / 1920 * 40) calc(100vw / 1920 * 20);
        
    }
    
    .case-link__tag{
        font-size: calc(100vw / 1920 * 18);
        
        padding-left: calc(100vw / 1920 * 32);
        
        
        transform: translateY(calc(100vw / 1920 * 10));
    }
    
    .case-link__tag:not(:first-child){
        margin-top: calc(100vw / 1920 * 8);
    }
    
    .case-link__tag-icon{
        width: calc(100vw / 1920 * 22);
        
    }
    
    .case-link__title{
        padding-top: calc(100vw / 1920 * 24);
        
    }
    
    .case-link__label{
        
        padding-top: calc(100vw / 1920 * 10);
    }
    
    .to-top-btn{
        right: calc(100vw / 1920 * 45);
        bottom: calc(100vw / 1920 * 45);
        
        width: calc(100vw / 1920 * 60);
        height: calc(100vw / 1920 * 60);
    }
    
    .to-top-icon{
        width: calc(100vw / 1920 * 20);
        height: calc(100vw / 1920 * 28);
    }
    
    .partners-section__inside{
        padding: calc(100vw / 1920 * 110) 0 calc(100vw / 1920 * 120);
    }
    
    .partners-section__inside:before{
        bottom: calc(100vw / 1920 * -100);
        
        height: calc(100vw / 1920 * 290);
        
    }
    
    .partners-wrapper{
        max-width: calc(100vw / 1920 * 1620);
        
    }
    
    .side-link-posts{
        top: calc(100vw / 1920 * 65);
        
    }
    
    .side-link-wrapper{
        margin: calc(100vw / 1920 * -5) 0;
    }
    
    .side-link{
        font-size: calc(100vw / 1920 * 20);
        
        padding: calc(100vw / 1920 * 5) 0;
    }
    
    .side-link__arrow{
        margin-left: calc(100vw / 1920 * 6);
    }
    
    .right-arrow-icon{
        width: calc(100vw / 1920 * 21);
        height: calc(100vw / 1920 * 9);
    }
    
    .partners-container__inside{
        margin: calc(100vw / 1920 * -10);
    }
    
    .partners-container__elem{
        padding: calc(100vw / 1920 * 10);
    }
    
    .partner-logo{
        padding: calc(100vw / 1920 * 10);
    }

    .partner-logo__picture{
        height: calc(100vw / 1920 * 40);
    }


    /* made for */
    .made-for{
        font-size: calc(100vw / 1920 * 22);
        
        margin: calc(100vw / 1920 * -10) calc(100vw / 1920 * -20);
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    
    .made-for__col{
        padding: calc(100vw / 1920 * 10) calc(100vw / 1920 * 20);
    }
    
    .made-for-elem{
        padding-left: calc(100vw / 1920 * 52);
    }
    
    .made-for-elem__img{
        width: calc(100vw / 1920 * 40);
    }
    
    /* information link in body */
    .body-info-inside{
        padding: calc(100vw / 1920 * 100) 0 calc(100vw / 1920 * 295);
    }
    
    .body-info-inside:before{
        top: calc(100vw / 1920 * -100);
        
        height: calc(100vw / 1920 * 290);
    }
    
    /* home posts section */
    .home-posts-section{
        padding: calc(100vw / 1920 * 280) 0 calc(100vw / 1920 * 100);
        
    }
    
    .home-posts-wrapper{
        max-width: calc(100vw / 1920 * 1620);
    }
    
    .home-posts__text{
        font-size: calc(100vw / 1920 * 22);
        
        max-width: calc(100vw / 1920 * 308);
    }
    
    .home-posts__body{
        margin-left: calc(100vw / 1920 * 24);
    }
    
    .home-posts__grid{
        margin: calc(100vw / 1920 * -12);
    }
    
    .home-post-elem{
        padding: calc(100vw / 1920 * 12);
    }
    
    
    .home-post__picture{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .home-post__label{
        font-size: calc(100vw / 1920 * 22);
        
    }
    
    .post-read{
        width: calc(100vw / 1920 * 144);
        height: calc(100vw / 1920 * 144);        
    }
    
    .post-read__icon{
        margin: calc(100vw / 1920 * -20) 0 0 calc(100vw / 1920 * -20);
    }
    
    .search-icon{
        width: calc(100vw / 1920 * 40);
        height: calc(100vw / 1920 * 40);
    }
    
    .search-icon.line{
        stroke-width: calc(100vw / 1920 * 2);        
    }
    
    .contacts-line__text{
        font-size: calc(100vw / 1920 * 22);        
    }
    
    .contacts-line__body{
        margin: 0 calc(100vw / 1920 * -55);
    }
    
    .contacts-line__col{
        padding: 0 calc(100vw / 1920 * 55);
    }
    
    .contacts-circle{
        width: calc(100vw / 1920 * 224);
        height: calc(100vw / 1920 * 224);        
    }
    
    .contacts-circle__icon{
        margin: calc(100vw / 1920 * -52) 0 0 calc(100vw / 1920 * -52);
    }
    
    .contacts-circle__img{
        width: calc(100vw / 1920 * 104);
    }
    
    /* ======================================= */
    /* CONTACTS PAGE */
    /* ======================================= */
    .contacts-page{
        font-size: calc(100vw / 1920 * 22);
        
        max-width: calc(100vw / 1920 * 970);
    }
    
    .contacts-page__content p:not(:first-child){
        margin-top: calc(100vw / 1920 * 8);
    }
    
    .blog-page{
        border-radius: calc(100vw / 1920 * 20) calc(100vw / 1920 * 20) 0 0;
    }
    
    .posts-page{   
        gap: calc(100vw / 1920 * 24);
    }
    
    .post-link__picture{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .post-link__picture.empty:after,
    .case-link__picture.empty:after{
        left: calc(100vw / 1920 * -100);
        right: calc(100vw / 1920 * -100);        
    }
    
    .post-link__title{
        font-size: calc(100vw / 1920 * 22);
    }
    
    .empty-post-title{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .post-container__title{
        max-width: calc(100vw / 1920 * 880);
    }
    
    .post-container{        
        font-size: calc(100vw / 1920 * 22);
    }
    
    .post-container__picture{
        top: calc(100vw / 1920 * 60);
        
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .admin-bar .post-container__picture{
        top: calc(100vw / 1920 * 60px + 32px);
    }
        
    
    .post-container__date{
        font-size: calc(100vw / 1920 * 18);
    }
    
    .page-body-container{
        max-width: calc(100vw / 1920 * 970);
    }
    
    .page-title-element{
        padding-right: calc(100vw / 1920 * 50);
    }
    
    .posts-line-3{
        bottom: calc(100vw / 1920 * -15);
    }
    
    .posts-line-4{
        bottom: calc(100vw / 1920 * -45);
    }
    
    .posts-line-3-icon{
        width: calc(100vw / 1920 * 1207);    
    }
    
    .posts-line-4-icon{
        width: calc(100vw / 1920 * 1164);
    }
    
    .posts-line-3-icon.line,
    .posts-line-4-icon.line{
        stroke-width: calc(100vw / 1920 * 30);
        
    }
    
    .side-blog-link{
        top: calc(100vw / 1920 * 335);
    }
    
    .blog-hint-container,
    .post-hint-container{
        margin-left: calc(100vw / 1920 * 32);
    }
    
    .blog-hint-container{    
        top: calc(100vw / 1920 * 10);
    }
    
    .post-hint-container{        
        margin-bottom: calc(100vw / 1920 * 10);
    }
    
    .related-posts-container{
        margin: 0 calc(100vw / 1920 * -12);
    }
    
    .related-posts__elem{
        padding: 0 calc(100vw / 1920 * 12);
    }
        
    .related-post__title{
        font-size: calc(100vw / 1920 * 20);
        
        padding-left: calc(100vw / 1920 * 30);
        padding-right: calc(100vw / 1920 * 30);
    }
    
    /* cases */    
    .case-head__body{
        padding-right: calc(100vw / 1920 * 110);
    }
    
    .case-head__preview{
        min-width: calc(100vw / 1920 * 636);
        max-width: calc(100vw / 1920 * 636);
        
        padding-top: calc(100vw / 1920 * 22);
    }
    
    .website-link{
        font-size: calc(100vw / 1920 * 22);
    }
    
    .website-link__icon{
        margin-right: calc(100vw / 1920 * 10);
    }
    
    .link-icon{
        width: calc(100vw / 1920 * 18);
        height: calc(100vw / 1920 * 18);
    }
    
    .website-link__label:before{
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .case-preview-text,
    .case-text{
        font-size: calc(100vw / 1920 * 22);
    }
    
    .case-text p:not(:first-child){
        margin-top: calc(100vw / 1920 * 26);
    }
    
    /* cases filter */
    .filters-row:not(:first-child){
        margin-top: calc(100vw / 1920 * 40);
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    
    .filters-element{
        margin: calc(100vw / 1920 * -20) calc(100vw / 1920 * -40);
    }
    
    .filters-element__col{
        padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 40);
    }
    
    .filter-item{
        font-size: calc(100vw / 1920 * 26);
    }
    
    .ifilter-item__img{
        width: calc(100vw / 1920 * 60);
    }
    
    .filter-item__label{
        margin-left: calc(100vw / 1920 * 20);
    }
    
    /* cases container */
    .js-cases-page{
        margin: calc(100vw / 1920 * -20) 0;
    }
    
    .cases-block{
        margin: 0 calc(100vw / 1920 * -57);
    }
    
    .cases-block__elem{
        padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 57);
    }
    
    /* ======================================= */
    /* FAQ */
    /* ======================================= */
    .faq-page-body{
        margin-bottom: calc(100vw / 1920 * -20);    
    }
    
    .faq-item-row:not(:first-child){
        margin-top: calc(100vw / 1920 * 60);
    }
    
    .faq-item__text{
        max-width: calc(100vw / 1920 * 750);
    }
    
    .common-question__label,
    .common-question__result{
        font-size: calc(100vw / 1920 * 18);
        line-height: calc(100vw / 1920 * 27);
    }
    
    .common-question__label{
        padding-right: calc(100vw / 1920 * 60);
    }
    
    .common-question__answers{
        gap: calc(100vw / 1920 * 60);
    }
    
    /* ======================================= */
    /* SERVICES PAGE */
    /* ======================================= */
    .services-intro-link{
        top: calc(100vw / 1920 * 76);
    }
    
    .services-intro{        
        padding: calc(100vw / 1920 * 24) 0 calc(100vw / 1920 * 170);
    }
    
    .services-intro__subtitle{
        margin-top: calc(100vw / 1920 * -8);
    }
    
    .services-intro__text{
        max-width: calc(100vw / 1920 * 776);
    }
    
    /* sections */
    .services-section:not(:first-child){
        margin-top: calc(100vw / 1920 * -20);
    }
    
    .services-section{
        border-radius: calc(100vw / 1920 * 20) calc(100vw / 1920 * 20) 0 0;
    }
    
    .services-text{
        max-width: calc(100vw / 1920 * 925);
    }
    
    .services-description-wrapper{
        max-width: calc(100vw / 1920 * 966);
    }
    
    .services-description{        
        margin: calc(100vw / 1920 * -25) calc(100vw / 1920 * -20);
    }
    
    .services-description__col{
        padding: calc(100vw / 1920 * 25) calc(100vw / 1920 * 20);        
    }
    
    .service-description__icon{
        margin-right: calc(100vw / 1920 * 32);
    }
    
    .service-description__img{
        width: calc(100vw / 1920 * 60);
    }
    
    .to-services-description-page{
        bottom: calc(100vw / 1920 * 4);
        
        margin-left: calc(100vw / 1920 * 40);
    }
    
    .more-circle-link{
        font-size: calc(100vw / 1920 * 22);
        
        width: calc(100vw / 1920 * 260);
        height: calc(100vw / 1920 * 260);
    }
    
    
    .more-circle-link__icon{
        margin: calc(100vw / 1920 * -40) 0 0 calc(100vw / 1920 * -41);
    }
    
    .clip-icon{
        width: calc(100vw / 1920 * 80);
        height: calc(100vw / 1920 * 82);
    }
    
    .clip-icon.line{
        stroke-width: calc(100vw / 1920 * 2);
    }
    
    
    
    /* services page */
    .service-intro-link{
        top: calc(100vw / 1920 * 3);
    }
    
    .service-intro-description{        
        margin: calc(100vw / 1920 * -25) calc(100vw / 1920 * -20);
    }
    
    .service-intro-description__col{
        padding: calc(100vw / 1920 * 25) calc(100vw / 1920 * 20);
    }
    
    /* toggled list */        
    .toggled-list__row:not(:first-child){
        margin-top: calc(100vw / 1920 * 8);
    }
    
    .toggled-container{        
        padding: calc(100vw / 1920 * 20) 0;
    }
    
    .toggled-container__title{
        font-size: calc(100vw / 1920 * 22);
        
        padding-right: calc(100vw / 1920 * 20);
    }
    
    .toggled-container__text{
        font-size: calc(100vw / 1920 * 20);
        
        padding-bottom: calc(100vw / 1920 * 20);
    }
    
    
    .toggled-container__icon{
        top: calc(100vw / 1920 * 30);
    }
    
    .toggled-icon{
        width: calc(100vw / 1920 * 21);
        height: calc(100vw / 1920 * 9);
    }
    
    /* about service */
    .service-about-section{                
        padding: calc(100vw / 1920 * 120) 0 calc(100vw / 1920 * 270);
    }
    
    .service-about-wrapper{        
        max-width: calc(100vw / 1920 * 856);
    }
    
    .service-about{        
        font-size: calc(100vw / 1920 * 22);
    }
    
    .service-about__col{
        max-width: calc(100vw / 1920 * 196);
    }
    
    .fast-start-container{
        top: calc(100vw / 1920 * -52);
        
        margin-left: calc(100vw / 1920 * 180);
    }
    
    .fast-start-link{        
        width: calc(100vw / 1920 * 260);
        height: calc(100vw / 1920 * 260);
    }
    
    .fast-start-link__icon{
        margin: calc(100vw / 1920 * -30) 0 0 calc(100vw / 1920 * -30);
    }
    
    .pencil-icon{
        width: calc(100vw / 1920 * 60);
        height: calc(100vw / 1920 * 60);
    }
        
    .services-line-1-icon{
        width: calc(100vw / 1920 * 808);
    }
    
    .services-line-1-icon.line,
    .services-line-2-icon.line{
        stroke-width: calc(100vw / 1920 * 30);
        
    }
    
    .services-line-2-icon{
        width: calc(100vw / 1920 * 792);
    }
    
    /* cases section */
    .service-cases-section{
        margin-top: calc(100vw / 1920 * -20);
        
        border-radius: calc(100vw / 1920 * 20) calc(100vw / 1920 * 20) 0 0;
    }
    
    /* ======================================= */
    /* POPUP */
    /* ======================================= */
    
    
    
    /* popup form */
    .form-popup{
        padding: calc(100vw / 1920 * 130) 0;
    }
    
    .form-popup__inside{        
        max-width: calc(100vw / 1920 * 636);
    }
    
    .form-popup__text{
        font-size: calc(100vw / 1920 * 22);
    }
    
    /* ======================================= */
    /* FORM */
    /* ======================================= */
    .form-popup .wpcf7-form{        
        margin: calc(100vw / 1920 * -13) calc(100vw / 1920 * -22);
    }
    
    .form-row{
        padding: calc(100vw / 1920 * 13) calc(100vw / 1920 * 22);
    }
    
    .form-field{
        font-size: calc(100vw / 1920 * 18);
        line-height: calc(100vw / 1920 * 21);
        
        padding: 0 calc(100vw / 1920 * 14) calc(100vw / 1920 * 8);
        
        border-bottom-width: calc(100vw / 1920 * 2);
    }
    
    .form-field.textarea{
        height: calc(100vw / 1920 * 90);
        padding-top: calc(100vw / 1920 * 8);
    }
    
    .file-field-note{        
        font-size: calc(100vw / 1920 * 18);
        
        padding-left: calc(100vw / 1920 * 34);    
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    
    .file-field-note:before{        
        width: calc(100vw / 1920 * 24);
        height: calc(100vw / 1920 * 24);
    }
    
    .file-preview{
        font-size: calc(100vw / 1920 * 14);
        line-height: calc(100vw / 1920 * 27);
        
        padding: 0 calc(100vw / 1920 * 10);
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .file-preview:before{
        width: calc(100vw / 1920 * 16);
        height: calc(100vw / 1920 * 16);
        margin-right: calc(100vw / 1920 * 4);
    }
    
    .file-preview:after{    
        width: calc(100vw / 1920 * 16);
        height: calc(100vw / 1920 * 16);
        margin-left: calc(100vw / 1920 * 4);
    }
    
    .submit-btn{
        font-size: calc(100vw / 1920 * 22);
        line-height: calc(100vw / 1920 * 26);
        
        padding: calc(100vw / 1920 * 16) 0;
        
        border-radius: calc(100vw / 1920 * 30);
    }
    
    .wpcf7-not-valid-tip{
        font-size: calc(100vw / 1920 * 13);
    }
    
    /**/
    .form-note{
        font-size: calc(100vw / 1920 * 18);

        padding: calc(100vw / 1920 * 8) calc(100vw / 1920 * 22) calc(100vw / 1920 * 22);
        margin-right: calc(100vw / 1920 * -40);
    }

    .form-note:has(+ .form-note){
        padding-bottom: calc(100vw / 1920 * 6);
    }

    .form-note + .form-note{
        padding-top: calc(100vw / 1920 * 2);
    }


    .wpcf7-acceptance label{
        padding: calc(100vw / 1920 * 5) 0;
    }
    
    .wpcf7-acceptance .wpcf7-list-item-label{        
        padding-left: calc(100vw / 1920 * 34);
    }
    
    .wpcf7-acceptance .wpcf7-list-item-label:before{
        top: calc(100vw / 1920 * -2);
                
        min-width: calc(100vw / 1920 * 22);
        width: calc(100vw / 1920 * 22);
        height: calc(100vw / 1920 * 22);
        margin-right: calc(100vw / 1920 * 12);
        
        border-radius: calc(100vw / 1920 * 4);
    }
    
    .wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
        background-size: calc(100vw / 1920 * 22);    
    }
    
    /**/
    
    
    .form-popup .wpcf7-form:before,
    .submit-container:before{
        width: calc(100vw / 1920 * 24);
        height: calc(100vw / 1920 * 24);
        
        border-width: calc(100vw / 1920 * 2);
    }
    
    .form-popup .wpcf7-form:before{
        top: calc(100vw / 1920 * -20);
        
        margin-left: calc(100vw / 1920 * -14);
    }
    
    .select .select--selected{
        font-size: calc(100vw / 1920 * 18);
        line-height: calc(100vw / 1920 * 21);
        
        padding: 0 calc(100vw / 1920 * 14) calc(100vw / 1920 * 8);
        
        border-bottom-width: calc(100vw / 1920 * 2);
    }
    
    .select .select--selected:before{
        right: calc(100vw / 1920 * 10);
        top: calc(100vw / 1920 * 4);
        
        width: calc(100vw / 1920 * 18);
        height: calc(100vw / 1920 * 18);        
    }
    
    .select__options{
        margin-top: calc(100vw / 1920 * 5);
        
        font-size: calc(100vw / 1920 * 16);
            
        padding: calc(100vw / 1920 * 5) 0;
        
        border-radius: calc(100vw / 1920 * 16);    
    }
    
    .select__option{
        padding: calc(100vw / 1920 * 8) calc(100vw / 1920 * 14);
    }
    
    .circle-svg.w110{
        width: calc(100vw / 1920 * 110);
    }
    
    .circle-svg-text.f30{
        font-size: calc(100vw / 1920 * 30);
    }
    
    .close-btn{
        right: calc(100vw / 1920 * -100);
        top: calc(100vw / 1920 * -100);
        
        width: calc(100vw / 1920 * 110);
        height: calc(100vw / 1920 * 110);
    }
    
    .close-btn__icon{
        width: calc(100vw / 1920 * 40);
        height: calc(100vw / 1920 * 40);
        margin: calc(100vw / 1920 * -20) 0 0 calc(100vw / 1920 * -20);
    }
    
    .close-btn__icon:before,
    .close-btn__icon:after{
        margin: calc(100vw / 1920 * -1) 0 0 calc(100vw / 1920 * -10);
        
        width: calc(100vw / 1920 * 20);
        height: calc(100vw / 1920 * 2);
        
    }

}

@media screen and (min-width: 1025px) and (max-width: 1900px) {
    .js-section .js-animation-2,
    .js-section .js-animation-3,
    .js-section .js-animation-child,
    .js-section .js-animation-elem,
    .js-section .js-animation-first,
    .js-section .js-animation-last{
        transform: translate3d(0, 30px, 0);
    }

    .js-section.active .js-animation-2,
    .js-section.active .js-animation-3,
    .js-section.active .js-animation-elem,
    .js-section.active .js-animation-first,
    .js-section.active .js-animation-last {
        transform: translate3d(0, 0, 0);
    }    
}

@media screen and (min-width: 1025px) and (max-width: 1900px){

    /* padding: 0 calc(100vw / 1920 * 20); */

    
    @keyframes bg-moving{
        0%{
            transform: translate3d(0, 0, 0) scale(1);
        }
        
        50%{
            transform: translate3d(calc(100vw / 1920 * -20), calc(100vw / 1920 * -20), 0) scale(1.05);
        }
        
        100%{
            transform: translate3d(0, 0, 0) scale(1);        
        }
    }
    
    .radius{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .top-radius{
        border-radius: calc(100vw / 1920 * 20) calc(100vw / 1920 * 20) 0 0;
    }
    
    .floating-container{
        height: calc(100vw / 1920 * 320);
    }
    
    .container{
        max-width: calc(100vw / 1920 * 1294);
        padding: 0 calc(100vw / 1920 * 60);
    }
    
    .wide-container{
        max-width: calc(100vw / 1920 * 1620);
    }
    
    .side-sticky-link{
        left: calc(100vw / 1920 * -168);
    
        padding-right: calc(100vw / 1920 * 75);
        
    }
    
    /*----------------------------------------*/
    .block-title{
        font-size: calc(100vw / 1920 * 62);
    }
    
    .section-title{
        font-size: calc(100vw / 1920 * 52);
    }
    
    .text-block{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .text{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .page-anchor{
        top: calc(100vw / 1920 * -140);
    }
    
    .f20{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .price-elem{
        font-size: calc(100vw / 1920 * 32);
    }
    
    .list-container{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .list-container li{
        padding-left: calc(100vw / 1920 * 18);
    }
    
    .list-container p:not(:first-child),
    .list-container ul:not(:first-child),
    .list-container li:not(:first-child){
        margin-top: calc(100vw / 1920 * 20);
    }
    
    .list-container.right li{
        padding-right: calc(100vw / 1920 * 18);
    }
    
    .list-container li:before{
        top: calc(100vw / 1920 * 8);
        
        width: calc(100vw / 1920 * 14);
        height: calc(100vw / 1920 * 7);        
    }
    
    .title-list{
        font-size: calc(100vw / 1920 * 18);     
    }
    
    .title-list__elem:not(:first-child){
        padding-top: calc(100vw / 1920 * 20);
    }
    
    .title-list__label{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .designed-list{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .designed-list li{        
        padding-left: calc(100vw / 1920 * 38);
    }
    
    .designed-list p:not(:first-child),
    .designed-list ul:not(:first-child),
    .designed-list li:not(:first-child){
        margin-top: calc(100vw / 1920 * 20);
    }
    
    .designed-list li:before{
        width: calc(100vw / 1920 * 22);
        height: calc(100vw / 1920 * 22);        
    }
    
    .text-container{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .text-container p:not(:first-child),
    .text-container ul:not(:first-child),
    .text-container ol:not(:first-child){
        margin-top: calc(100vw / 1920 * 10);
    }
    
    .text-container h1:not(:first-child),
    .text-container h2:not(:first-child),
    .text-container h3:not(:first-child),
    .text-container h4:not(:first-child),
    .text-container h5:not(:first-child),
    .text-container h6:not(:first-child){
        margin-top: calc(100vw / 1920 * 24);
    }
    
    .text-container h1{
        font-size: calc(100vw / 1920 * 40);
    }
    
    .text-container h2{
        font-size: calc(100vw / 1920 * 35);
    }
    
    .text-container h3{
        font-size: calc(100vw / 1920 * 24);
    }
    
    .text-container h4{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .text-container h5{
        font-size: calc(100vw / 1920 * 16);
    }
    
    .text-container h6{
        font-size: calc(100vw / 1920 * 14);
    }
    
    .text-container ul,
    .text-container ol{
        padding-left: calc(100vw / 1920 * 24);
    }
    
    .text-container ul li:not(:first-child),
    .text-container ol li:not(:first-child){
        margin-top: calc(100vw / 1920 * 10);
    }
    
    .slogan-section{
        top: calc(100vw / 1920 * -136);
    }
    
    .second-slogan-section{
        top: calc(100vw / 1920 * -197);
    }
    
    .slogan{
        max-width: calc(100vw / 1920 * 1620);
        padding: calc(100vw / 1920 * 100) calc(100vw / 1920 * 162);    
        
        border-radius: calc(100vw / 1920 * 200);        
    }
    
    .slogan__logo{
        min-width: calc(100vw / 1920 * 196);        
    }
    
    .slogan__body{
        font-size: calc(100vw / 1920 * 30);

        padding-left: calc(100vw / 1920 * 89);
        margin-left: calc(100vw / 1920 * 89);
    }
    
    .slogan__body:before{
        margin-top: calc(100vw / 1920 * -87);
        
        height: calc(100vw / 1920 * 175);
        
        border-left-width: calc(100vw / 1920 * 3);    
    }
    
    .send-question__inside{
        font-size: calc(100vw / 1920 * 22);
        
        margin-left: calc(100vw / 1920 * -3);
    }
    
    .send-question__consultant,
    .send-question__email{
        width: calc(100vw / 1920 * 80);
        height: calc(100vw / 1920 * 80);    
        
        border-width: calc(100vw / 1920 * 3);
    }
    
    .send-question__consultant:not(:first-child),
    .send-question__email{
        margin-left: calc(100vw / 1920 * -16);
    }
    
    .email-large-icon{
        width: calc(100vw / 1920 * 32);
        height: calc(100vw / 1920 * 32);
    }
    
    .send-question__body{
        margin-left: calc(100vw / 1920 * 12);
    }
    
    .send-question__body strong:before{    
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .send-question__body strong:after{
        border-top-width: calc(100vw / 1920 * 2);
    }
    
    .send-question__arrow{
        margin-left: calc(100vw / 1920 * 12);
    }
    
    .send-question-icon{
        width: calc(100vw / 1920 * 21);
        height: calc(100vw / 1920 * 9);
    }
    
    .circle-svg.w260{
        width: calc(100vw / 1920 * 260);
    }
    
    .circle-svg.w258{
        width: calc(100vw / 1920 * 258);
    }
    
    .circle-svg.w224{
        width: calc(100vw / 1920 * 224);
    }
    
    .circle-svg.w144{
        width: calc(100vw / 1920 * 144);
    }
    
    .circle-svg-text.f20{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .circle-svg-text.f22{
        font-size: calc(100vw / 1920 * 22);
    }
    
    /* hint */
    .hint-container{
        font-size: calc(100vw / 1920 * 16);
        
        padding: calc(100vw / 1920 * 9) calc(100vw / 1920 * 15);
        
        border-radius: calc(100vw / 1920 * 4) calc(100vw / 1920 * 4) calc(100vw / 1920 * 4) 0;        
    }
}
@media screen and (min-width: 1025px) and (max-width: 1900px){
    .t0 {
        padding-top: calc(100vw/1920*0)
    }
    
    .b0 {
        padding-bottom: calc(100vw/1920*0)
    }
    
    .t4 {
        padding-top: calc(100vw/1920*4)
    }
    
    .b4 {
        padding-bottom: calc(100vw/1920*4)
    }
    
    .t8 {
        padding-top: calc(100vw/1920*8)
    }
    
    .b8 {
        padding-bottom: calc(100vw/1920*8)
    }
    
    .t12 {
        padding-top: calc(100vw/1920*12)
    }
    
    .b12 {
        padding-bottom: calc(100vw/1920*12)
    }
    
    .t16 {
        padding-top: calc(100vw/1920*16)
    }
    
    .b16 {
        padding-bottom: calc(100vw/1920*16)
    }
    
    .t20 {
        padding-top: calc(100vw/1920*20)
    }
    
    .b20 {
        padding-bottom: calc(100vw/1920*20)
    }
    
    .t24 {
        padding-top: calc(100vw/1920*24)
    }
    
    .b24 {
        padding-bottom: calc(100vw/1920*24)
    }
    
    .t28 {
        padding-top: calc(100vw/1920*28)
    }
    
    .b28 {
        padding-bottom: calc(100vw/1920*28)
    }
    
    .t32 {
        padding-top: calc(100vw/1920*32)
    }
    
    .b32 {
        padding-bottom: calc(100vw/1920*32)
    }
    
    .t36 {
        padding-top: calc(100vw/1920*36)
    }
    
    .b36 {
        padding-bottom: calc(100vw/1920*36)
    }
    
    .t40 {
        padding-top: calc(100vw/1920*40)
    }
    
    .b40 {
        padding-bottom: calc(100vw/1920*40)
    }
    
    .t44 {
        padding-top: calc(100vw/1920*44)
    }
    
    .b44 {
        padding-bottom: calc(100vw/1920*44)
    }
    
    .t48 {
        padding-top: calc(100vw/1920*48)
    }
    
    .b48 {
        padding-bottom: calc(100vw/1920*48)
    }
    
    .t52 {
        padding-top: calc(100vw/1920*52)
    }
    
    .b52 {
        padding-bottom: calc(100vw/1920*52)
    }
    
    .t56 {
        padding-top: calc(100vw/1920*56)
    }
    
    .b56 {
        padding-bottom: calc(100vw/1920*56)
    }
    
    .t60 {
        padding-top: calc(100vw/1920*60)
    }
    
    .b60 {
        padding-bottom: calc(100vw/1920*60)
    }
    
    .t64 {
        padding-top: calc(100vw/1920*64)
    }
    
    .b64 {
        padding-bottom: calc(100vw/1920*64)
    }
    
    .t68 {
        padding-top: calc(100vw/1920*68)
    }
    
    .b68 {
        padding-bottom: calc(100vw/1920*68)
    }
    
    .t72 {
        padding-top: calc(100vw/1920*72)
    }
    
    .b72 {
        padding-bottom: calc(100vw/1920*72)
    }
    
    .t76 {
        padding-top: calc(100vw/1920*76)
    }
    
    .b76 {
        padding-bottom: calc(100vw/1920*76)
    }
    
    .t80 {
        padding-top: calc(100vw/1920*80)
    }
    
    .b80 {
        padding-bottom: calc(100vw/1920*80)
    }
    
    .t84 {
        padding-top: calc(100vw/1920*84)
    }
    
    .b84 {
        padding-bottom: calc(100vw/1920*84)
    }
    
    .t88 {
        padding-top: calc(100vw/1920*88)
    }
    
    .b88 {
        padding-bottom: calc(100vw/1920*88)
    }
    
    .t92 {
        padding-top: calc(100vw/1920*92)
    }
    
    .b92 {
        padding-bottom: calc(100vw/1920*92)
    }
    
    .t96 {
        padding-top: calc(100vw/1920*96)
    }
    
    .b96 {
        padding-bottom: calc(100vw/1920*96)
    }
    
    .t100 {
        padding-top: calc(100vw / 1920 * 100)
    }
    
    .b100 {
        padding-bottom: calc(100vw/1920*100)
    }
    
    .t104 {
        padding-top: calc(100vw/1920*104)
    }
    
    .b104 {
        padding-bottom: calc(100vw/1920*104)
    }
    
    .t108 {
        padding-top: calc(100vw/1920*108)
    }
    
    .b108 {
        padding-bottom: calc(100vw/1920*108)
    }
    
    .t112 {
        padding-top: calc(100vw/1920*112)
    }
    
    .b112 {
        padding-bottom: calc(100vw/1920*112)
    }
    
    .t116 {
        padding-top: calc(100vw/1920*116)
    }
    
    .b116 {
        padding-bottom: calc(100vw/1920*116)
    }
    
    .t120 {
        padding-top: calc(100vw/1920*120)
    }
    
    .b120 {
        padding-bottom: calc(100vw/1920*120)
    }
}

/* cookie notification */
.cookie-notification{
    position: fixed;
    right: 40px;
    bottom: 40px;

    max-width: 420px;
    padding: 32px;

    border-radius: 24px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.2);
    background-color: var(--bg);

    transition: all 0.3s ease-in-out;

    box-sizing: border-box;

    z-index: 101;
}

.cookie-notification.hidden{
    opacity: 0;
    visibility: hidden;
}

.cookie-notification__text{
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
}

.cookie-notification__text a{
    position: relative;
}

.cookie-notification__text a:before,
.cookie-notification__text a:after{
    content: "";

    position: absolute;
    left: 0;
    top: 100%;
}

.cookie-notification__text a:before{
    width: 0;

    border-top: 2px solid var(--common);
}

.cookie-notification__text a:after{
    right: 0;

    border-top: 2px dotted var(--common);
}

@media screen and (min-width: 1025px){
    .cookie-notification__text a:before{
        transition: width var(--dur) ease-in-out;
    }

    .cookie-notification__text a:hover:before{
        width: 100%;
    }
}

.cookie-notification__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 20px;
}

.cookie-notification__accept-btn,
.cookie-notification__settings-btn{
    flex: 1 1 auto;

    padding: 12px 18px;

    border: 1px solid var(--common);
    border-radius: 30px;

    font-size: 14px;
    text-transform: uppercase;
    text-align: center;

    cursor: pointer;
}

.cookie-notification__accept-btn{
    background-color: var(--common);
    color: var(--bg);
}

.cookie-notification__settings-btn{
    background: none;
    color: var(--common);
}

@media screen and (min-width: 1025px){
    .cookie-notification__accept-btn,
    .cookie-notification__settings-btn{
        transition: opacity var(--dur) ease-in-out;
    }

    .cookie-notification__accept-btn:hover,
    .cookie-notification__settings-btn:hover{
        opacity: 0.7;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    .cookie-notification{
        right: calc(100vw / 1920 * 40);
        bottom: calc(100vw / 1920 * 40);

        max-width: calc(100vw / 1920 * 420);
        padding: calc(100vw / 1920 * 32);

        border-radius: calc(100vw / 1920 * 24);
    }

    .cookie-notification__text{
        font-size: calc(100vw / 1920 * 16);
    }

    .cookie-notification__text a:before{
        border-top-width: calc(100vw / 1920 * 2);
    }

    .cookie-notification__text a:after{
        border-top-width: calc(100vw / 1920 * 2);
    }

    .cookie-notification__actions{
        gap: calc(100vw / 1920 * 12);
        margin-top: calc(100vw / 1920 * 20);
    }

    .cookie-notification__accept-btn,
    .cookie-notification__settings-btn{
        padding: calc(100vw / 1920 * 12) calc(100vw / 1920 * 18);
    }
}

@media screen and (max-width: 1024px){
    .cookie-notification{
        right: 30px;
        bottom: 30px;
    }
}

@media screen and (max-width: 767px){
    .cookie-notification{
        left: 20px;
        right: 20px;
        bottom: 20px;

        padding: 24px 20px;
        max-width: none;
    }

    .cookie-notification__text{
        font-size: 14px;
    }
}

.hidden-fields-container{
    height: 0;
    width: 0;
    border: none;
    padding: 0;
}

/* 404 */
.section-404{
    position: relative;
    
    border-radius: 20px;
    background-color: var(--bg);
    
    overflow: hidden;
}

.cats-elem{
    position: absolute;
    left: 0;
    top: 40px;
    
    width: 610px;
    
    pointer-events: none;
}

.title-404{
    width: 100%;
    max-width: 453px;
    margin: 0 auto;
    
    background: url("images/bg/404.webp") center center / 100% no-repeat;
}

.title-404:before{
    content: "";
    
    display: block;
    padding-top: 46.79911699779249%;
}

@media screen and (min-width: 1025px){
    .content-404{
        text-align: center;
    }
    
    .content-404-inside{
        display: inline-block;
        
        text-align: left;
        
        padding-left: 154px;
    }
    
    .subtitle-404{
        padding-top: 40px;
    }
}

.text-404{
    font-size: 20px;
}

.rounded__inside.e3 {
    transform: rotate(60deg);
}

.rounded__inside.e4 {
    transform: rotate(-60deg);
}

.rounded__inside.e5 {
    transform: scale(-1,-1) rotate(60deg);
}

.rounded__inside.e6 {
    transform: scale(-1,-1) rotate(-60deg);
}

.circle-svg.w700{
    width: 760px;
}

.home-404-link{
    position: relative;
    
    display: block;
    
    width: 760px;
    height: 760px;
    
    margin-left: auto;
    margin-right: -120px;
    margin-top: -260px;
    margin-bottom: -38px;
    
    opacity: 0;
    
    animation: appiring 0.3s ease-in-out both 0.4s;
    
    z-index: 10;
}

.circle-svg-text.dark{
    fill: var(--common);
}

.circle-svg-text.f18{
    font-weight: 600;
    font-size: 18px;
}

.down-arrow-icon{
    width: 100px;
    height: 100px;
}

.down-arrow-icon.line{
    fill: var(--common);
}

@media screen and (min-width: 1025px) and (max-width: 1900px){
    .section-404{
        border-radius: calc(100vw / 1920 * 20);
    }
    
    .title-404{    
        max-width: calc(100vw / 1920 * 453);
    }
    
    .content-404-inside{        
        padding-left: calc(100vw / 1920 * 154);
    }
    
    .subtitle-404{
        padding-top: calc(100vw / 1920 * 40);
    }
    
    .text-404{
        font-size: calc(100vw / 1920 * 20);
    }
    
    .circle-svg.w700{
        width: calc(100vw / 1920 * 760);
    }
    
    .home-404-link{        
        width: calc(100vw / 1920 * 760);
        height: calc(100vw / 1920 * 760);
        
        margin-right: calc(100vw / 1920 * -120);
        margin-top: calc(100vw / 1920 * -260);
        margin-bottom: calc(100vw / 1920 * -38);
    }
    
    .circle-svg-text.f18{
        font-size: calc(100vw / 1920 * 18);
    }
    
    .down-arrow-icon{
        width: calc(100vw / 1920 * 100);
        height: calc(100vw / 1920 * 100);
    }
    
    .cats-elem{
        top: calc(100vw / 1920 * 40);
        
        width: calc(100vw / 1920 * 610);
    }
}

@media screen and (min-width: 1025px) and (max-width: 1360px){
    .circle-svg-text.f18{
        font-size: calc(100vw / 1920 * 26);
    }
}

@media screen and (max-width: 1024px){
    .section-404{
        position: relative;
        
        margin-bottom: 20px;
        
        z-index: 11;
    }
    .circle-svg.w700{
        width: 400px;
    }
    
    .home-404-link{        
        width: 400px;
        height: 400px;
        
        margin-right: -54px;
        margin-top: 100px;
        margin-bottom: 100px;
    }
    
    .circle-svg-text.dark{
        fill: var(--common);
    }
    
    .circle-svg-text.f18{
        font-size: 16px;
    }
    
    .home-404-link .info-link__icon{
        margin: -19px 0 0 -19px;
    }
    
    .down-arrow-icon{
        width: 38px;
        height: 38px;
    }
    
    .content-404-body{
        display: flex;
        flex-direction: column;
    }
    
    .content-404{
        order: -1;
        
        padding-bottom: 40px;
    }
    
    .cats-elem{
        top: 310px;
        width: 300px;
    }
}

@media screen and (max-width: 767px){
    .circle-svg.w700{
        width: 245px;
    }
    
    .home-404-link{        
        width: 245px;
        height: 245px;
    }
    
    .title-404{
        max-width: 245px;
    }
    
    .cats-elem {
        top: 290px;
        width: 230px;
    }
}

/* Hide the "Контекст, таргет и роботы" service promo wherever it's listed
   (home "Что мы делаем" cards, services hub sections, lead-form service
   dropdown) without touching the underlying markup or the service's own
   page, which stays reachable directly. */
.company-services__col:has(a[href*="kontekst-target-i-roboty"]),
.services-section:has(a[href*="kontekst-target-i-roboty"]){
    display: none !important;
}

option[value="Контекст, таргет и роботы"]{
    display: none;
}
/* Cookie consent settings panel (Accept-all / Settings toggle) */
.cookie-notification__settings-link{
    display: inline-block;
    margin-top: 12px;
    font-size: 15px;
    text-decoration: underline dotted;
    cursor: pointer;
    color: var(--common);
}

.cookie-notification__settings{
    margin-top: 18px;
}

.cookie-notification__settings.hidden{
    display: none;
}

.cookie-notification__settings-row{
    margin-bottom: 14px;
}

.cookie-toggle{
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

.cookie-toggle input{
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.cookie-toggle__track{
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    min-width: 40px;
    border-radius: 11px;
    background-color: rgba(0, 0, 0, 0.15);
    transition: background-color 0.2s ease-in-out;
    flex-shrink: 0;
}

.cookie-toggle__track:before{
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: transform 0.2s ease-in-out;
}

.cookie-toggle input:checked + .cookie-toggle__track{
    background-color: var(--common);
}

.cookie-toggle input:checked + .cookie-toggle__track:before{
    transform: translateX(18px);
}

.cookie-toggle input:disabled + .cookie-toggle__track{
    opacity: 0.5;
    cursor: default;
}

.cookie-toggle__label{
    font-size: 15px;
    line-height: 1.3;
}

.cookie-notification__settings-save{
    display: inline-block;
    margin-top: 4px;
    padding: 10px 24px;

    border: 1px solid var(--common);
    border-radius: 30px;

    font-size: 14px;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
}

/* Company legal requisites — small muted text under the footer legal links */
.footer-requisites{
    display: block;
    margin-top: 16px;

    color: var(--light);
    font: 300 14px/1.5 var(--font);
    opacity: 0.4;
}

/* Дублирующий блок: браузер не парсит первый под-блок гигантского @media(1025-1900px) в контексте полного bundle.css (см. историю проекта) — правила из него продублированы здесь, где парсинг доказанно работает */
