/* ==========================================================
   VOSTOK LOGISTIKA
   GLOBAL FOOTER FINAL
   ========================================================== */


/* СТАРЫЙ FOOTER BRIDGE НЕ ПОКАЗЫВАЕМ */

html body .footer_top_holder,
html body .footer_bottom_holder,
html body footer.footer_border_columns,
html body .footer_inner > .footer_top_holder,
html body .footer_inner > .footer_bottom_holder{
    display:none !important;
}


/* ROOT */

.vlfinal{
    --vf-blue:#176B87;
    --vf-blue-light:#58C3D9;
    --vf-dark:#08131B;
    --vf-dark-2:#0D1B24;
    --vf-text:#E8F0F3;
    --vf-muted:#8FA0A8;
    --vf-line:rgba(255,255,255,.095);

    position:relative;

    width:100%;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden;

    color:var(--vf-text);

    background:
        linear-gradient(
            135deg,
            #08131B 0%,
            #0B1821 50%,
            #0D1D27 100%
        );

    font-family:'Montserrat',Arial,sans-serif;
}


/* BACKGROUND */

.vlfinal-bg{
    position:absolute;
    inset:0;

    pointer-events:none;
}

.vlfinal-grid{
    position:absolute;
    inset:0;

    opacity:.14;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:54px 54px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.85),
            transparent 86%
        );
}

.vlfinal-glow{
    position:absolute;

    width:430px;
    height:430px;

    border-radius:50%;

    filter:blur(100px);

    opacity:.11;
}

.vlfinal-glow-a{
    top:-260px;
    left:5%;

    background:#58C3D9;
}

.vlfinal-glow-b{
    right:-180px;
    bottom:-300px;

    background:#176B87;
}


/* TOP SIGNAL */

.vlfinal-accent{
    position:relative;
    z-index:2;

    width:100%;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(88,195,217,.25),
            transparent
        );
}

.vlfinal-accent span{
    position:absolute;

    left:50%;
    top:-1px;

    width:92px;
    height:2px;

    transform:translateX(-50%);

    border-radius:20px;

    background:#58C3D9;

    box-shadow:
        0 0 18px rgba(88,195,217,.38);
}


/* SHELL */

.vlfinal-shell{
    position:relative;
    z-index:2;

    width:min(1320px,calc(100% - 64px));

    margin:0 auto;

    padding:68px 0 28px;
}


/* MAIN */

.vlfinal-main{
    display:grid;

    grid-template-columns:
        minmax(270px,1.42fr)
        minmax(130px,.66fr)
        minmax(235px,1fr)
        minmax(215px,.92fr);

    gap:clamp(34px,4vw,72px);

    align-items:start;
}


/* BRAND */

.vlfinal-brand{
    max-width:385px;
}

.vlfinal-logo{
    width:250px;
    max-width:100%;

    display:block;

    text-decoration:none !important;
}

.vlfinal-logo img{
    width:100%;
    height:auto;

    display:block;

    filter:brightness(0) invert(1);

    opacity:.97;
}

.vlfinal-logo-text{
    display:flex;
    flex-direction:column;

    color:#fff;

    font-size:27px;
    line-height:.95;

    letter-spacing:-.045em;
}

.vlfinal-logo-text strong{
    font-weight:800;
}

.vlfinal-logo-text span{
    margin-top:5px;

    font-size:12px;
    font-weight:500;

    letter-spacing:.18em;
}

.vlfinal-tagline{
    margin:22px 0 0 !important;

    color:#fff !important;

    font-size:15px !important;
    line-height:1.55 !important;

    font-weight:650 !important;

    letter-spacing:-.02em !important;
}

.vlfinal-description{
    max-width:375px;

    margin:10px 0 0 !important;

    color:#8FA0A8 !important;

    font-size:12.5px !important;
    line-height:1.7 !important;

    font-weight:450 !important;
}

.vlfinal-company{
    margin-top:20px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:8px;

    color:#C7D2D7;

    font-size:10.5px;
    line-height:1.4;

    font-weight:600;

    letter-spacing:.02em;
}

.vlfinal-company span{
    padding:5px 8px;

    border:
        1px solid rgba(255,255,255,.08);

    border-radius:7px;

    color:#87969D;

    background:
        rgba(255,255,255,.025);
}


/* COLUMN */

.vlfinal-title{
    margin:4px 0 20px;

    color:#778A93;

    font-size:9px;
    line-height:1;

    font-weight:700;

    letter-spacing:.15em;

    text-transform:uppercase;
}

.vlfinal-links{
    display:flex;
    flex-direction:column;

    gap:11px;
}

.vlfinal-links a{
    width:max-content;
    max-width:100%;

    position:relative;

    color:#DCE5E9 !important;

    font-size:12.5px !important;
    line-height:1.5 !important;

    font-weight:550 !important;

    text-decoration:none !important;

    transition:
        color .25s ease,
        transform .25s ease;
}

.vlfinal-links a:hover{
    color:#64CADF !important;

    transform:translateX(3px);
}


/* OFFICE */

.vlfinal-office-city{
    color:#fff;

    font-size:18px;
    line-height:1.25;

    font-weight:700;

    letter-spacing:-.035em;
}

.vlfinal-office address{
    margin:9px 0 0;

    color:#9BADB5;

    font-size:12px;
    line-height:1.65;

    font-weight:450;

    font-style:normal;
}

.vlfinal-map{
    width:max-content;

    margin-top:15px;

    display:inline-flex;
    align-items:center;

    gap:7px;

    color:#66C7DB !important;

    font-size:10.5px !important;
    line-height:1 !important;

    font-weight:650 !important;

    text-decoration:none !important;
}

.vlfinal-map svg{
    width:13px;
    height:13px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;

    transition:
        transform .25s ease;
}

.vlfinal-map:hover svg{
    transform:
        translate(2px,-2px);
}


/* CONTACTS */

.vlfinal-contacts{
    min-width:0;
}

.vlfinal-contact-item{
    margin-bottom:16px;
}

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

.vlfinal-contact-item small{
    margin-bottom:4px;

    display:block;

    color:#6E828C;

    font-size:8px;
    line-height:1;

    font-weight:700;

    letter-spacing:.13em;
}

.vlfinal-contact-item a{
    display:inline-block;

    color:#F3F7F8 !important;

    font-size:13px !important;
    line-height:1.45 !important;

    font-weight:600 !important;

    letter-spacing:-.025em !important;

    text-decoration:none !important;

    transition:
        color .25s ease;
}

.vlfinal-contact-item a:hover{
    color:#64CADF !important;
}


/* LEGAL */

.vlfinal-legal{
    margin-top:52px;
    padding:22px 0;

    display:grid;

    grid-template-columns:
        170px
        minmax(0,1fr);

    gap:28px;

    border-top:
        1px solid var(--vf-line);

    border-bottom:
        1px solid var(--vf-line);
}

.vlfinal-legal-title{
    padding-top:2px;

    color:#71858E;

    font-size:9px;
    line-height:1.3;

    font-weight:700;

    letter-spacing:.14em;

    text-transform:uppercase;
}

.vlfinal-legal-links{
    display:flex;
    flex-wrap:wrap;

    gap:9px 25px;
}

.vlfinal-legal-links a{
    color:#9DADB4 !important;

    font-size:10.5px !important;
    line-height:1.5 !important;

    font-weight:500 !important;

    text-decoration:none !important;

    transition:
        color .25s ease;
}

.vlfinal-legal-links a:hover{
    color:#EAF3F6 !important;
}


/* BOTTOM */

.vlfinal-bottom{
    min-height:64px;

    display:grid;

    grid-template-columns:
        auto
        1fr
        auto;

    align-items:center;

    gap:26px;
}

.vlfinal-copy{
    color:#71838B;

    font-size:9.5px;
    line-height:1.4;

    font-weight:500;
}

.vlfinal-requisites{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:8px;

    color:#627680;

    font-size:8.5px;
    line-height:1.4;

    font-weight:550;

    letter-spacing:.03em;
}

.vlfinal-requisites span{
    width:2px;
    height:2px;

    display:block;

    border-radius:50%;

    background:#50656F;
}

.vlfinal-up{
    display:inline-flex;
    align-items:center;

    gap:9px;

    color:#9CACB3 !important;

    font-size:9.5px !important;
    line-height:1 !important;

    font-weight:600 !important;

    text-decoration:none !important;
}

.vlfinal-up i{
    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:
        1px solid rgba(255,255,255,.11);

    border-radius:50%;

    background:
        rgba(255,255,255,.025);

    transition:
        border-color .25s ease,
        background .25s ease;
}

.vlfinal-up svg{
    width:13px;
    height:13px;

    fill:none;

    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vlfinal-up:hover i{
    border-color:
        rgba(88,195,217,.28);

    background:
        rgba(88,195,217,.07);
}


/* ==========================================================
   LEGAL PAGES
   ========================================================== */

.vllegal{
    width:min(1040px,calc(100% - 48px));

    margin:0 auto;

    padding:
        72px
        0
        90px;

    color:#27343A;

    font-family:'Montserrat',Arial,sans-serif;
}

.vllegal-head{
    max-width:820px;

    margin-bottom:46px;
}

.vllegal-kicker{
    margin-bottom:13px;

    display:flex;
    align-items:center;

    gap:8px;

    color:#176B87;

    font-size:9px;
    line-height:1;

    font-weight:700;

    letter-spacing:.15em;

    text-transform:uppercase;
}

.vllegal-kicker::before{
    content:"";

    width:18px;
    height:2px;

    border-radius:10px;

    background:#58C3D9;
}

.vllegal h1{
    margin:0 !important;

    color:#0B1620 !important;

    font-size:clamp(30px,4vw,48px) !important;
    line-height:1.08 !important;

    font-weight:760 !important;

    letter-spacing:-.05em !important;
}

.vllegal-intro{
    max-width:780px;

    margin:18px 0 0 !important;

    color:#66777F !important;

    font-size:14px !important;
    line-height:1.75 !important;
}

.vllegal-card{
    margin-top:14px;
    padding:22px 24px;

    border:
        1px solid #E5EAED;

    border-radius:16px;

    background:#F9FBFC;
}

.vllegal-card strong{
    color:#10202A;
}

.vllegal section{
    margin-top:38px;
}

.vllegal h2{
    margin:0 0 14px !important;

    color:#10202A !important;

    font-size:20px !important;
    line-height:1.3 !important;

    font-weight:700 !important;

    letter-spacing:-.035em !important;
}

.vllegal h3{
    margin:20px 0 8px !important;

    color:#172931 !important;

    font-size:15px !important;
    line-height:1.4 !important;

    font-weight:680 !important;
}

.vllegal p,
.vllegal li{
    color:#52636B !important;

    font-size:13px !important;
    line-height:1.78 !important;

    font-weight:450 !important;
}

.vllegal p{
    margin:0 0 10px !important;
}

.vllegal ul,
.vllegal ol{
    margin:
        10px
        0
        0
        20px !important;
}

.vllegal li{
    margin-bottom:6px !important;
}

.vllegal a{
    color:#176B87 !important;

    text-decoration:none !important;

    border-bottom:
        1px solid rgba(23,107,135,.22);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1050px){

    .vlfinal-shell{
        width:min(100% - 40px,900px);
    }

    .vlfinal-main{
        grid-template-columns:
            1.35fr
            .7fr
            1fr;

        gap:42px 34px;
    }

    .vlfinal-contacts{
        grid-column:2 / 4;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px){

    .vlfinal-shell{
        width:calc(100% - 30px);

        padding:
            46px
            0
            18px;
    }

    .vlfinal-main{
        display:block;
    }

    .vlfinal-brand{
        max-width:none;

        padding-bottom:31px;

        border-bottom:
            1px solid var(--vf-line);
    }

    .vlfinal-logo{
        width:215px;
    }

    .vlfinal-tagline{
        margin-top:18px !important;

        font-size:14px !important;
    }

    .vlfinal-description{
        max-width:440px;

        font-size:12px !important;
    }

    .vlfinal-column{
        padding:
            25px
            0;

        border-bottom:
            1px solid var(--vf-line);
    }

    .vlfinal-title{
        margin:
            0
            0
            16px;
    }

    .vlfinal-links{
        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:11px 18px;
    }

    .vlfinal-links a{
        width:auto;

        font-size:12px !important;
    }

    .vlfinal-office-city{
        font-size:17px;
    }

    .vlfinal-office address{
        font-size:12px;
    }

    .vlfinal-contact-item{
        margin-bottom:13px;
    }

    .vlfinal-contact-item a{
        font-size:14px !important;
    }

    .vlfinal-legal{
        margin-top:0;
        padding:25px 0;

        display:block;

        border-top:0;
    }

    .vlfinal-legal-title{
        margin-bottom:15px;
    }

    .vlfinal-legal-links{
        display:flex;
        flex-direction:column;

        gap:9px;
    }

    .vlfinal-legal-links a{
        font-size:10.5px !important;
    }

    .vlfinal-bottom{
        padding:
            20px
            0
            6px;

        display:flex;
        flex-wrap:wrap;

        gap:13px 20px;
    }

    .vlfinal-copy{
        width:100%;
    }

    .vlfinal-requisites{
        justify-content:flex-start;

        flex:1 1 240px;
    }

    .vlfinal-up{
        margin-left:auto;
    }


    /* LEGAL PAGES */

    .vllegal{
        width:calc(100% - 30px);

        padding:
            50px
            0
            65px;
    }

    .vllegal-head{
        margin-bottom:34px;
    }

    .vllegal h1{
        font-size:31px !important;
    }

    .vllegal-intro{
        font-size:13px !important;
    }

    .vllegal-card{
        padding:
            18px
            17px;
    }

    .vllegal section{
        margin-top:31px;
    }

    .vllegal h2{
        font-size:18px !important;
    }

    .vllegal p,
    .vllegal li{
        font-size:12.5px !important;
    }

}
