/* ==========================================
   RESET
========================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:#fff;
    color:#111;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

img{
    display:block;
    max-width:100%;
}

button{
    font-family:inherit;
}

/* ==========================================
   CONTAINER
========================================== */

.container{
    width:min(1400px,calc(100% - 80px));
    margin:auto;
}

/* ==========================================
   HEADER
========================================== */

.header{

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

    z-index:1000;

    transition:.35s ease;

}

.header.scrolled{

    position:fixed;

    background:rgba(4,18,38,.94);

    backdrop-filter:blur(18px);

    box-shadow:0 10px 35px rgba(0,0,0,.25);

}

/* ==========================================
   ROW
========================================== */

.header .container{

    height:100px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

/* ==========================================
   LOGO
========================================== */

.header-logo{

    display:flex;

    align-items:center;

    flex-shrink:0;

}

.header-logo img{

    height:74px;

    width:auto;

}

/* ==========================================
   NAVIGATION
========================================== */

.header-nav{

    display:flex;

    align-items:center;

    gap:52px;

}

.header-nav a{

    position:relative;

    color:#fff;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.06em;

    transition:.3s;

}

.header-nav a:hover{

    color:#ffd200;

}

.header-nav a::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-18px;

    transform:translateX(-50%);

    width:0;

    height:3px;

    border-radius:20px;

    background:#ffd200;

    transition:.3s;

}

.header-nav a:hover::after{

    width:42px;

}

.header-nav a.active{

    color:#fff;

}

.header-nav a.active::after{

    width:52px;

}

/* ==========================================
   RIGHT
========================================== */

.header-right{

    display:flex;

    align-items:center;

    gap:24px;

}

/* ==========================================
   JOIN BUTTON
========================================== */

.join-btn{

    height:48px;

    padding:0 28px;

    border-radius:100px;

    background:#ffd200;

    color:#071d3b;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:800;

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:.05em;

    transition:.3s;

    box-shadow:

        0 8px 24px rgba(255,210,0,.35);

}

.join-btn:hover{

    transform:translateY(-2px);

    background:#ffe55c;

    box-shadow:

        0 16px 35px rgba(255,210,0,.45);

}

/* ==========================================
   SOCIALS
========================================== */

.socials{

    display:flex;

    align-items:center;

    gap:16px;

}

.socials a{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

}

.socials a:hover{

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

    transform:translateY(-2px);

}

.socials img{

    width:19px;

    height:19px;

    object-fit:contain;

    filter:brightness(0) invert(1);

}

/* ==========================================
   BURGER
========================================== */

.burger{

    display:none;

    width:46px;

    height:46px;

    border:none;

    background:none;

    cursor:pointer;

}

.burger span{

    display:block;

    width:28px;

    height:3px;

    margin:5px auto;

    background:#fff;

    border-radius:20px;

    transition:.3s;

}

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

@media(max-width:1200px){

    .header-nav{

        gap:34px;

    }

}

@media(max-width:1024px){

    .header .container{

        height:90px;

    }

    .burger{

        display:block;

    }

    .header-nav{

        position:fixed;

        top:90px;

        right:-100%;
        left:auto;

        width:300px;

        height:calc(100vh - 90px);

        background:#041226;

        flex-direction:column;

        align-items:flex-start;

        gap:0;

        padding:35px;

        transition:.35s;

    }

    .header-nav.active{

        right:0;

    }

    .header-nav a{

        width:100%;

        padding:18px 0;

    }

    .header-nav a::after{

        display:none;

    }

    .join-btn{

        display:none;

    }

}

@media(max-width:768px){

    .container{

        width:calc(100% - 40px);

    }

    .header-logo img{

        height:58px;

    }

    .socials{

        display:none;

    }

}

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}
.header{

    z-index:999;

}
body.menu-open{

    overflow:hidden;

}
.burger.active span:nth-child(1){

    transform:translateY(8px) rotate(45deg);

}

.burger.active span:nth-child(2){

    opacity:0;

}

.burger.active span:nth-child(3){

    transform:translateY(-8px) rotate(-45deg);

}
.join-btn{

    position:relative;

    overflow:hidden;

}

.join-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-130%;

    width:60%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform:skewX(-25deg);

}

.join-btn:hover::before{

    left:170%;

    transition:.7s;

}


/* =====================================================
   HERO
===================================================== */

.hero{

    position:relative;

    width:100%;

    height:100vh;

    min-height:780px;

    overflow:hidden;

    background:#041226;

}

.hero-slider{

    width:100%;

    height:100%;

}

.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide{

    width:100%;
    height:100%;

}

.hero-slider .swiper-slide{

    position:relative;

    overflow:hidden;

}

/* =====================================================
   BACKGROUND
===================================================== */

.hero-image{

    position:absolute;

    inset:0;

    background-position:center;

    background-repeat:no-repeat;

    background-size:cover;

    transition:transform 8s linear;

}

.hero-image{

    animation:heroZoom 12s linear forwards;

}

@keyframes heroZoom{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.12);

    }

}
/* =====================================================
   DARK OVERLAY
===================================================== */

.hero-overlay{

    position:absolute;

    inset:0;

    z-index:2;

    background:
        linear-gradient(
            90deg,
            rgba(2,10,24,.95) 0%,
            rgba(2,10,24,.88) 20%,
            rgba(2,10,24,.55) 45%,
            rgba(2,10,24,.18) 72%,
            rgba(2,10,24,.55) 100%
        );

}

/* =====================================================
   CONTENT
===================================================== */

.hero-content{

    position:absolute;

    inset:0;

    z-index:10;

    display:flex;

    align-items:center;

}

.hero-content .container{

    width:100%;

}

.hero-box{

    width:640px;

    padding-top:90px;

}

/* =====================================================
   SUBTITLE
===================================================== */

.hero-subtitle{

    display:inline-flex;

    align-items:center;

    gap:14px;

    color:#FFD200;

    font-size:14px;

    font-weight:700;

    letter-spacing:.18em;

    text-transform:uppercase;

    margin-bottom:28px;

}

.hero-subtitle::before{

    content:"";

    width:60px;

    height:2px;

    background:#FFD200;

}

/* =====================================================
   TITLE
===================================================== */

.hero h1,
.hero h2{

    margin:0;

    color:#fff;

    font-size:96px;

    font-weight:900;

    line-height:.95;

    letter-spacing:-3px;

    text-transform:uppercase;

}

.hero h1 span,
.hero h2 span{

    display:block;

    color:#FFD200;

    margin-top:10px;

}
.hero h1 span,
.hero h2 span{

    margin-top:18px;

}

/* =====================================================
   TEXT
===================================================== */

.hero p{

    margin-top:42px;

    width:560px;

    font-size:23px;

    line-height:1.8;

    color:rgba(255,255,255,.88);

}

/* =====================================================
   BUTTON
===================================================== */

.hero-button{

    margin-top:50px;

    display:inline-flex;

    align-items:center;

    gap:18px;

    height:64px;

    padding:0 34px;

    background:#0057B8;

    border-radius:8px;

    color:#fff;

    font-size:16px;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

    transition:.35s;

    box-shadow:

        0 18px 40px rgba(0,87,184,.35);

}
.hero-button{

    height:70px;

    padding:0 42px;

    border-radius:6px;

    font-size:15px;

    letter-spacing:.08em;

}
.hero-button:hover{

    background:#0A6AD9;

    transform:translateY(-3px);

}

.hero-button svg{

    width:22px;

    height:22px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.4;

    transition:.3s;

}

.hero-button:hover svg{

    transform:translateX(5px);

}

/* =====================================================
   TRIDENT
===================================================== */

.hero-trident{

    position:absolute;

    right:60px;

    bottom:-70px;

    z-index:4;

    opacity:.18;

    pointer-events:none;

}

.hero-trident img{

    width:340px;

    height:auto;

}
/* =====================================================
   SWIPER PAGINATION
===================================================== */

.hero-pagination{

    position:absolute;

    left:50% !important;

    bottom:45px !important;

    transform:translateX(-50%);

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    z-index:20;

}

.hero-pagination .swiper-pagination-bullet{

    width:55px;

    height:4px;

    border-radius:20px;

    margin:0 !important;

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

    opacity:1;

    transition:.35s;

}

.hero-pagination .swiper-pagination-bullet-active{

    width:90px;

    background:#FFD200;

}

/* ==========================================
   HERO NAVIGATION
========================================== */

.hero-prev,
.hero-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    z-index:30;

    cursor:pointer;

    transition:.3s ease;

    user-select:none;

}

.hero-prev{

    left:40px;

}

.hero-next{

    right:40px;

}

.hero-prev img,
.hero-next img{

    width:30px;


    display:block;

    opacity:.75;

    transition:.3s ease;

    filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));

}

.hero-prev:hover img,
.hero-next:hover img{

    opacity:1;

    transform:scale(1.08);

    filter:
        drop-shadow(0 0 10px rgba(255,210,0,.55))
        drop-shadow(0 0 22px rgba(255,210,0,.35));

}

.hero-prev:active img,
.hero-next:active img{

    transform:scale(.92);

}

/* =====================================================
   CONTENT ANIMATION
===================================================== */

.hero-subtitle,
.hero h1,
.hero h2,
.hero p,
.hero-button{

    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .9s ease,
        transform .9s ease;

}

.swiper-slide-active .hero-subtitle{

    opacity:1;

    transform:none;

    transition-delay:.25s;

}

.swiper-slide-active h1,
.swiper-slide-active h2{

    opacity:1;

    transform:none;

    transition-delay:.45s;

}

.swiper-slide-active p{

    opacity:1;

    transform:none;

    transition-delay:.7s;

}

.swiper-slide-active .hero-button{

    opacity:1;

    transform:none;

    transition-delay:.95s;

}

/* =====================================================
   SMALL SHADOW
===================================================== */

.hero h1,
.hero h2{

    text-shadow:

        0 12px 40px rgba(0,0,0,.45);

}

.hero p{

    text-shadow:

        0 4px 16px rgba(0,0,0,.45);

}

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

@media(max-width:1400px){

    .hero-box{

        width:560px;

    }

    .hero h1,
    .hero h2{

        font-size:72px;

    }

}

@media(max-width:1200px){

    .hero{

        min-height:720px;

    }

    .hero-box{

        width:100%;

        max-width:620px;

    }

    .hero h1,
    .hero h2{

        font-size:64px;

    }

    .hero p{

        width:100%;

        max-width:520px;

        font-size:22px;

    }

}

@media(max-width:992px){

    .hero{

        min-height:680px;

    }

    .hero-content{

        text-align:center;

    }

    .hero-box{

        margin:auto;

        padding-top:70px;

    }

    .hero-subtitle{

        justify-content:center;

    }

    .hero-subtitle::before{

        display:none;

    }

    .hero p{

        margin-inline:auto;

    }

    .hero-button{

        margin-inline:auto;

    }

    .hero-prev,
    .hero-next{

        display:none;

    }

    .hero-trident{

        display:none;

    }

}

@media(max-width:768px){

    .hero{

        min-height:620px;

    }

    .hero h1,
    .hero h2{

        font-size:46px;

        letter-spacing:-1px;

    }

    .hero p{

        font-size:18px;

        line-height:1.6;

        margin-top:28px;

    }

    .hero-button{

        height:56px;

        padding:0 26px;

        font-size:14px;

        margin-top:38px;

    }

    .hero-pagination{

        bottom:28px !important;

    }

    .hero-pagination .swiper-pagination-bullet{

        width:38px;

    }

    .hero-pagination .swiper-pagination-bullet-active{

        width:70px;

    }

}

@media(max-width:576px){

    .hero{

        min-height:560px;

    }

    .hero-box{

        padding-top:40px;

    }

    .hero h1,
    .hero h2{

        font-size:38px;

    }

    .hero-subtitle{

        font-size:12px;

        letter-spacing:.15em;

    }

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        radial-gradient(circle at top right,
            rgba(255,210,0,.08),
            transparent 35%),

        radial-gradient(circle at bottom left,
            rgba(0,87,184,.14),
            transparent 45%);

}
.hero-box{

    position:relative;

    padding-left:34px;

}

.hero-box::before{

    content:"";

    position:absolute;

    left:0;

    top:8px;

    width:5px;

    height:220px;

    border-radius:30px;

    background:#FFD200;

}
.hero::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:140px;

    z-index:5;

    background:

        linear-gradient(

            to top,

            rgba(0,0,0,.4),

            rgba(255,255,255,0)

        );

}
.hero-pagination .swiper-pagination-bullet{

    width:46px;

    height:2px;

}

.hero-pagination .swiper-pagination-bullet-active{

    width:90px;

}
.hero{

    height:92vh;

    min-height:760px;

}

.hero-prev{

    left:20px;

}

.hero-next{

    right:20px;

}
.hero-content{
    z-index: 9999;
    position: relative;
}
.hero::after{

    pointer-events:none;

}
.hero-button{

    position:relative;

    z-index:100;

}


/* =====================================================
   HOME NEWS
===================================================== */

.home-news{

    position:relative;

    background:#fff;

    padding:120px 0;

}

.home-news__wrapper{

    display:grid;

    grid-template-columns:1fr 360px;

    gap:60px;

    align-items:start;

}

/* =====================================================
   SECTION HEAD
===================================================== */

.section-head{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:40px;

}

.section-title{

    display:flex;

    align-items:center;

    gap:18px;

}

.section-title span{

    width:46px;

    height:4px;

    border-radius:20px;

    background:#FFD200;

}

.section-title h2{

    margin:0;

    color:#071A34;

    font-size:42px;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:-1px;

}

.section-link{

    display:flex;

    align-items:center;

    gap:12px;

    color:#0057B8;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

    transition:.3s;

}

.section-link svg{

    width:18px;

    height:18px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.3;

    transition:.3s;

}

.section-link:hover{

    color:#FFD200;

}

.section-link:hover svg{

    transform:translateX(5px);

}

/* =====================================================
   NEWS GRID
===================================================== */

.news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

/* =====================================================
   CARD
===================================================== */

.news-card{

    display:flex;

    flex-direction:column;

    background:#fff;

    border-radius:14px;

    overflow:hidden;

    transition:.35s;

    box-shadow:

        0 12px 40px rgba(10,25,55,.06);

    border:1px solid #EEF2F6;

}

.news-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 30px 60px rgba(10,25,55,.12);

}

/* =====================================================
   IMAGE
===================================================== */

.news-card__image{

    display:block;

    overflow:hidden;

    aspect-ratio:16/10;

    background:#ddd;

}

.news-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .5s;

}

.news-card:hover img{

    transform:scale(1.12) rotate(.8deg);

}

/* =====================================================
   BODY
===================================================== */

.news-card__body{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

.news-card__date{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-bottom:18px;

    color:#6B7688;

    font-size:14px;

    font-weight:600;

}

.news-card__date::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#FFD200;

}

.news-card h3{

    margin:0;

    margin-bottom:18px;

    line-height:1.35;

    font-size:20px;

    font-weight:800;

}

.news-card h3 a{

    color:#071A34;

    transition:.3s;

}

.news-card:hover h3 a{

    color:#0057B8;

}

.news-card p{

    margin:0;

    color:#66758A;

    font-size:15px;

    line-height:1.8;

    flex:1;

}

/* =====================================================
   MORE
===================================================== */

.news-card__more{

    margin-top:28px;

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:#0057B8;

    font-weight:700;

    font-size:15px;

    text-transform:uppercase;

}

.news-card__more svg{

    width:18px;

    height:18px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.4;

    transition:.3s;

}

.news-card:hover .news-card__more svg{

    transform:translateX(6px);

}

/* =====================================================
   MATCHES
===================================================== */

.matches{

    background:#061C3B;

    border-radius:18px;

    overflow:hidden;

    color:#fff;

    padding:36px;

    box-shadow:
        0 25px 70px rgba(4,17,40,.18);

}

.matches__head{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:35px;

}

.matches__head span{

    width:46px;

    height:4px;

    border-radius:20px;

    background:#FFD200;

}

.matches__head h2{

    margin:0;

    font-size:34px;

    font-weight:800;

    text-transform:uppercase;

}

/* =====================================================
   MATCH
===================================================== */

.match{

    padding:26px 0;

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

    transition:.3s;

}

.match:first-of-type{

    border-top:none;

    padding-top:0;

}

.match:hover{

    transform:translateX(6px);

}

.match__date{

    margin-bottom:26px;

    color:#FFD200;

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

}

/* =====================================================
   TEAMS
===================================================== */

.match__teams{

    display:grid;

    grid-template-columns:90px 1fr 90px;

    align-items:center;

    gap:20px;

}

.team{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:12px;

    text-align:center;

}

.team img{

    width:54px;

    height:54px;

    object-fit:cover;

    border-radius:50%;

    box-shadow:
        0 6px 20px rgba(0,0,0,.25);

}

.team span{

    font-size:15px;

    font-weight:600;

    line-height:1.4;

}

/* =====================================================
   INFO
===================================================== */

.match__info{

    text-align:center;

}

.match__info strong{

    display:block;

    margin-bottom:10px;

    color:#fff;

    font-size:34px;

    font-weight:800;

}

.match__info small{

    display:block;

    color:rgba(255,255,255,.7);

    font-size:14px;

    line-height:1.6;

}

/* =====================================================
   BUTTON
===================================================== */

.matches__button{

    margin-top:30px;

    height:62px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    border-radius:10px;

    background:#0057B8;

    color:#fff;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

    transition:.3s;

}

.matches__button svg{

    width:18px;

    height:18px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.4;

    transition:.3s;

}

.matches__button:hover{

    background:#0A6AD9;

}

.matches__button:hover svg{

    transform:translateX(5px);

}

.match__score{

    display:block;

    margin:8px 0;

    color:#FFD200;

    font-size:12px;

    font-weight:700;

    letter-spacing:.15em;

}

/* =====================================================
   1600px
===================================================== */

@media(max-width:1600px){

    .home-news__wrapper{

        grid-template-columns:1fr 400px;

        gap:40px;

    }

}

/* =====================================================
   1400px
===================================================== */

@media(max-width:1400px){

    .news-grid{

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

    }

}

/* =====================================================
   1200px
===================================================== */

@media(max-width:1200px){

    .home-news{

        padding:90px 0;

    }

    .home-news__wrapper{

        grid-template-columns:1fr;

    }

    .matches{

        margin-top:50px;

    }

}

/* =====================================================
   992px
===================================================== */

@media(max-width:992px){

    .section-head{

        flex-direction:column;

        align-items:flex-start;

        gap:20px;

    }

    .section-title h2{

        font-size:34px;

    }

}

/* =====================================================
   768px
===================================================== */

@media(max-width:768px){

    .news-grid{

        grid-template-columns:1fr;

    }

    .matches{

        padding:26px;

    }

    .matches__head h2{

        font-size:28px;

    }

}

/* =====================================================
   576px
===================================================== */

@media(max-width:576px){

    .match__teams{

        grid-template-columns:1fr;

        gap:24px;

    }

    .match__info{

        order:-1;

    }

}

.news-card{

    height:100%;

}
.news-card h3{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:3;

    overflow:hidden;

}
.news-card p{

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:3;

    overflow:hidden;

}


.news-card{

    position:relative;

}


.news-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:#FFD200;

    transform:scaleX(0);

    transition:.35s;

    transform-origin:left;

}

.news-card:hover::before{

    transform:scaleX(1);

}

.match{

    border-radius:10px;

    padding:26px 18px;

}

.match{

    border-radius:10px;

    padding:26px 18px;

}
.matches__head{

    position:relative;

    padding-bottom:20px;

}
.matches__head::after{

    content:"";

    position:absolute;

    left:0px;

    bottom:0;

    width:55px;

    height:3px;

    background:#FFD200;

}


/* =====================================================
   RESULTS
===================================================== */

.results{

    padding:90px 0 120px;

    background:#fff;

}

.results-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:26px;

}

/* =====================================================
   CARD
===================================================== */

.result-card{

    position:relative;

    padding:28px;

    background:#fff;

    border-radius:14px;

    border:1px solid #EEF2F6;

    box-shadow:

        0 10px 35px rgba(12,30,55,.06);

    transition:.35s;

    overflow:hidden;

}

.result-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:#FFD200;

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.result-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 30px 70px rgba(12,30,55,.12);

}

.result-card:hover::before{

    transform:scaleX(1);

}

/* =====================================================
   DATE
===================================================== */

.result-card__date{

    color:#8A97A8;

    font-size:14px;

    font-weight:600;

    margin-bottom:16px;

}

/* =====================================================
   TITLE
===================================================== */

.result-card h3{

    margin:0;

    color:#071A34;

    font-size:28px;

    line-height:1.35;

    font-weight:800;

    margin-bottom:34px;

}

.result-card h3 small{

    display:block;

    margin-top:4px;

    color:#0057B8;

    font-size:18px;

    font-weight:700;

}

/* =====================================================
   SCORE
===================================================== */

.result-score{

    display:grid;

    grid-template-columns:90px 1fr 90px;

    align-items:center;

    gap:18px;

}

/* =====================================================
   TEAM
===================================================== */

.result-team{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    gap:12px;

}

.result-team img{

    width:56px;

    height:56px;

    object-fit:cover;

    border-radius:50%;

    box-shadow:

        0 8px 22px rgba(0,0,0,.12);

    transition:.35s;

}

.result-card:hover .result-team img{

    transform:scale(1.08);

}

.result-team span{

    color:#5C697A;

    font-size:15px;

    font-weight:600;

}

/* =====================================================
   RESULT
===================================================== */

.result-value{

    text-align:center;

    color:#071A34;

    font-size:58px;

    font-weight:900;

    letter-spacing:-2px;

    transition:.35s;

}

.result-card:hover .result-value{

    color:#FFD200;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1500px){

    .results-grid{

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

    }

}

@media(max-width:992px){

    .results{

        padding:70px 0;

    }

}

@media(max-width:768px){

    .results-grid{

        grid-template-columns:1fr;

    }

    .result-card{

        padding:24px;

    }

    .result-card h3{

        font-size:24px;

    }

    .result-value{

        font-size:46px;

    }

    .result-score{

        grid-template-columns:80px 1fr 80px;

    }

}

@media(max-width:480px){

    .result-score{

        grid-template-columns:1fr;

        gap:24px;

    }

    .result-value{

        order:-1;

    }

}


/* =====================================================
   TEAMS
===================================================== */

.teams-section{

    padding:110px 0;

    background:#fff;

}

.teams-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

/* =====================================================
   CARD
===================================================== */

.team-card{

    position:relative;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    border:1px solid #EEF2F6;

    box-shadow:
        0 12px 35px rgba(12,30,55,.06);

    transition:.35s;

}

.team-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:#FFD200;

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.team-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 30px 70px rgba(12,30,55,.14);

}

.team-card:hover::before{

    transform:scaleX(1);

}

/* =====================================================
   IMAGE
===================================================== */

.team-card__image{

    display:block;

    overflow:hidden;

    aspect-ratio:16/11;

    background:#ddd;

}

.team-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.team-card:hover .team-card__image img{

    transform:scale(1.1);

}

/* =====================================================
   CONTENT
===================================================== */

.team-card__content{

    padding:28px;

}

.team-card__category{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-bottom:18px;

    color:#0057B8;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.team-card__category::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#FFD200;

}

.team-card h3{

    margin:0;

    margin-bottom:28px;

    color:#071A34;

    font-size:38px;

    line-height:1.15;

    font-weight:800;

    letter-spacing:-1px;

    min-height:92px;

}

.team-card:hover h3{

    color:#0057B8;

}

/* =====================================================
   BUTTON
===================================================== */

.team-card__more{

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:#0057B8;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

}

.team-card__more svg{

    width:18px;

    height:18px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.3;

    transition:.3s;

}

.team-card:hover .team-card__more svg{

    transform:translateX(6px);

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1500px){

    .teams-grid{

        grid-template-columns:repeat(4,1fr);

    }

}

@media(max-width:768px){

    .teams-section{

        padding:80px 0;

    }

    .teams-grid{

        grid-template-columns:1fr;

    }

    .team-card h3{

        font-size:30px;

        min-height:auto;

    }

}

/* =====================================================
   MEDIA SECTION
===================================================== */

.media-section{

    padding:110px 0;

    background:#fff;

}

.media-grid{

    display:grid;

    grid-template-columns:430px 1fr;

    gap:35px;

    align-items:stretch;

}

/* =====================================================
   COMMON CARD
===================================================== */

.documents-card,
.gallery-card{

    background:#fff;

    border-radius:18px;

    border:1px solid #EEF2F6;

    box-shadow:
        0 15px 45px rgba(12,30,55,.06);

    padding:34px;

}

/* =====================================================
   DOCUMENTS
===================================================== */

.documents-list{

    margin-top:35px;

}

.document-item{

    display:flex;

    align-items:center;

    gap:20px;

    padding:20px 0;

    border-bottom:1px solid #EDF1F5;

    transition:.3s;

}

.document-item:hover{

    transform:translateX(8px);

}

.document-item:last-child{

    border-bottom:none;

}

.document-item__icon{

    flex:0 0 60px;

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    background:#F4F8FC;

}

.document-item__icon img{

    width:34px;

}

.document-item__content{

    flex:1;

}

.document-item__content h3{

    margin:0;

    margin-bottom:6px;

    color:#071A34;

    font-size:20px;

    font-weight:800;

    transition:.3s;

}

.document-item:hover h3{

    color:#0057B8;

}

.document-item__content p{

    margin:0;

    color:#7E8B9B;

    font-size:15px;

}

.document-item__type{

    color:#0057B8;

    font-weight:800;

    font-size:14px;

    letter-spacing:.08em;

}

/* =====================================================
   BUTTON
===================================================== */

.documents-more{

    margin-top:28px;

    display:inline-flex;

    align-items:center;

    gap:14px;

    color:#0057B8;

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

}

.documents-more svg{

    width:18px;

    height:18px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.4;

    transition:.3s;

}

.documents-more:hover svg{

    transform:translateX(6px);

}

/* =====================================================
   GALLERY
===================================================== */

.gallery-grid{

    margin-top:35px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    grid-auto-rows:180px;

    gap:15px;

}

/* =====================================================
   ITEMS
===================================================== */

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:14px;

}

.gallery-item--large{

    grid-column:span 2;

    grid-row:span 2;

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.55s;

}

.gallery-item:hover img{

    transform:scale(1.1);

}

/* =====================================================
   OVERLAY
===================================================== */

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    padding:24px;

    background:linear-gradient(

        to top,

        rgba(0,0,0,.65),

        transparent 60%

    );

    opacity:0;

    transition:.35s;

}

.gallery-item:hover .gallery-overlay{

    opacity:1;

}

.gallery-overlay span{

    color:#fff;

    font-size:22px;

    font-weight:700;

}

/* =====================================================
   GALLERY BUTTON
===================================================== */

.gallery-more{

    background:#071A34;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    transition:.35s;

}

.gallery-more:hover{

    background:#0057B8;

}

.gallery-more div{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:20px;

}

.gallery-more h3{

    margin:0;

    color:#fff;

    font-size:26px;

    line-height:1.35;

    text-transform:uppercase;

}

.gallery-more svg{

    width:26px;

    height:26px;

    stroke:#FFD200;

    fill:none;

    stroke-width:2.4;

    transition:.3s;

}

.gallery-more:hover svg{

    transform:translateX(6px);

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1400px){

    .media-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:992px){

    .gallery-grid{

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

    }

    .gallery-item--large{

        grid-column:span 2;

    }

}

@media(max-width:768px){

    .media-section{

        padding:80px 0;

    }

    .gallery-grid{

        grid-template-columns:1fr;

        grid-auto-rows:220px;

    }

    .gallery-item--large{

        grid-column:auto;

        grid-row:auto;

    }

    .documents-card,
    .gallery-card{

        padding:24px;

    }

}

@media(max-width:480px){

    .document-item{

        gap:14px;

    }

    .document-item__icon{

        width:48px;

        height:48px;

        flex:0 0 48px;

    }

    .document-item__icon img{

        width:26px;

    }

    .document-item__content h3{

        font-size:17px;

    }

}


/* =====================================================
   PARTNERS
===================================================== */

.partners{

    padding:110px 0;

    background:#fff;

}

.partnersSwiper{

    margin-top:45px;

    overflow:visible;

}

.partnersSwiper .swiper-slide{

    height:130px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:#fff;

    border:1px solid #EEF2F6;

    transition:.35s;

}

.partnersSwiper .swiper-slide:hover{

    transform:translateY(-6px);

    box-shadow:
        0 18px 45px rgba(8,28,58,.08);

}

.partnersSwiper img{

    max-width:180px;

    max-height:70px;

    width:auto;

    height:auto;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.7;

    transition:.35s;

}

.partnersSwiper .swiper-slide:hover img{

    filter:none;

    opacity:1;

}


/* =====================================================
   FOOTER
===================================================== */

.footer{

    position:relative;

    padding:90px 0 35px;

    background:linear-gradient(
        135deg,
        #041326 0%,
        #071C36 100%
    );

    overflow:hidden;

}

.footer::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(circle at left top,
        rgba(0,87,184,.18),
        transparent 45%),

        radial-gradient(circle at right bottom,
        rgba(255,210,0,.08),
        transparent 45%);

    pointer-events:none;

}

.footer .container{

    position:relative;

    z-index:2;

}

/* =====================================================
   GRID
===================================================== */

.footer-grid{

    display:grid;

    grid-template-columns:

        1.4fr

        1fr

        1fr

        1.3fr;

    gap:70px;

}

/* =====================================================
   LOGO
===================================================== */

.footer-logo{

    display:inline-block;

    margin-bottom:30px;

}

.footer-logo img{

    width:270px;

    display:block;

}

.footer-about p{

    max-width:320px;

    color:rgba(255,255,255,.78);

    font-size:17px;

    line-height:1.8;

}

/* =====================================================
   SOCIAL
===================================================== */

.footer-social{

    display:flex;

    gap:18px;

    margin-top:35px;

}

.footer-social a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

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

    transition:.35s;

}

.footer-social a:hover{

    background:#FFD200;

    transform:translateY(-4px);

}

.footer-social img{

    width:22px;

    filter:brightness(0) invert(1);

    transition:.3s;

}

.footer-social a:hover img{

    filter:none;

}

/* =====================================================
   TITLES
===================================================== */

.footer h3{

    margin:0 0 30px;

    color:#fff;

    font-size:26px;

    font-weight:800;

}

/* =====================================================
   NAV
===================================================== */

.footer-nav ul{

    margin:0;

    padding:0;

    list-style:none;

}

.footer-nav li{

    margin-bottom:18px;

}

.footer-nav a{

    color:rgba(255,255,255,.75);

    font-size:17px;

    transition:.3s;

}

.footer-nav a:hover{

    color:#FFD200;

    padding-left:8px;

}

/* =====================================================
   CONTACTS
===================================================== */

.footer-contact ul{

    margin:0;

    padding:0;

    list-style:none;

}

.footer-contact li{

    display:flex;

    gap:18px;

    align-items:flex-start;

    margin-bottom:24px;

}

.footer-contact img{

    width:22px;

    filter:brightness(0) invert(1);

    opacity:.9;

}

.footer-contact span{

    color:rgba(255,255,255,.78);

    font-size:17px;

    line-height:1.7;

}

/* =====================================================
   NEWSLETTER
===================================================== */

.footer-newsletter p{

    color:rgba(255,255,255,.78);

    line-height:1.8;

    margin-bottom:24px;

}

.footer-newsletter form{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.footer-newsletter input{

    height:58px;

    padding:0 20px;

    border:none;

    border-radius:10px;

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

    color:#fff;

    font-size:16px;

    transition:.3s;

}

.footer-newsletter input::placeholder{

    color:rgba(255,255,255,.45);

}

.footer-newsletter input:focus{

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

    outline:none;

}

.footer-newsletter button{

    height:58px;

    border:none;

    border-radius:10px;

    background:#FFD200;

    color:#071A34;

    font-size:16px;

    font-weight:800;

    text-transform:uppercase;

    cursor:pointer;

    transition:.35s;

}

.footer-newsletter button:hover{

    background:#fff;

    transform:translateY(-2px);

}

/* =====================================================
   BOTTOM
===================================================== */

.footer-bottom{

    margin-top:80px;

    padding-top:28px;

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

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

}

.footer-bottom span{

    color:rgba(255,255,255,.45);

    font-size:15px;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1400px){

    .footer-grid{

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

        gap:55px;

    }

}

@media(max-width:900px){

    .footer-grid{

        grid-template-columns:1fr;

    }

    .footer-bottom{

        flex-direction:column;

        text-align:center;

    }

}

@media(max-width:768px){

    .footer{

        padding:70px 0 30px;

    }

    .footer-logo img{

        width:220px;

    }

    .footer h3{

        font-size:22px;

    }

}
.footer{

    clip-path:polygon(
        0 40px,
        100% 0,
        100% 100%,
        0 100%
    );

    margin-top:-40px;

}



/* =====================================================
   INNER PAGE HERO
===================================================== */

.page-hero{
    position:relative;
    height:390px;
    overflow:hidden;
    background:#06182d;
}

/* =====================================================
   BACKGROUND
===================================================== */

.page-hero__bg{
    position:absolute;
    inset:0;

    background-image:
        linear-gradient(
            90deg,
            rgba(3,18,36,.98) 0%,
            rgba(3,18,36,.90) 25%,
            rgba(3,18,36,.55) 52%,
            rgba(3,18,36,.18) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3,18,36,.72) 0%,
            transparent 60%
        ),
        url('/assets/images/hero/contacts.jpg');

    background-size:cover;

    /*
       Важливо:
       зміщуємо фото вправо,
       щоб воно не забирало простір
       у заголовка
    */
    background-position:top right;

}

/* =====================================================
   CONTENT
===================================================== */

.page-hero .container{
    position:relative;
    height:100%;
    z-index:2;
}

.page-hero__content{

    position:absolute;

    left:0;
    bottom:72px;

    display:flex;
    flex-direction:column;
    align-items:flex-start;

}

/* =====================================================
   YELLOW LINE
===================================================== */

.page-hero__line{

    display:block;

    width:55px;
    height:4px;

    margin-bottom:22px;

    background:#FFD200;

}

/* =====================================================
   TITLE
===================================================== */

.page-hero h1{

    margin:0;

    color:#fff;

    font-size:64px;

    line-height:1;

    font-weight:900;

    text-transform:uppercase;

    letter-spacing:-1.5px;

}

/* =====================================================
   BREADCRUMBS
===================================================== */

.page-hero__breadcrumbs{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:26px;

    font-size:17px;

    line-height:1;

}

.page-hero__breadcrumbs a{

    color:rgba(255,255,255,.65);

    text-decoration:none;

    transition:.3s;

}

.page-hero__breadcrumbs a:hover{

    color:#fff;

}

.page-hero__breadcrumbs span{

    color:#fff;

}

.page-hero__breadcrumbs span:nth-child(2){

    color:#FFD200;

    font-size:25px;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1200px){

    .page-hero{
        height:360px;
    }

    .page-hero__content{
        bottom:60px;
    }

    .page-hero h1{
        font-size:56px;
    }

}

@media(max-width:768px){

    .page-hero{
        height:320px;
    }

    .page-hero__bg{

        background-position:
            65% center;

    }

    .page-hero__content{
        bottom:45px;
    }

    .page-hero h1{
        font-size:44px;
    }

    .page-hero__breadcrumbs{
        font-size:15px;
        margin-top:20px;
    }

}

@media(max-width:480px){

    .page-hero{
        height:290px;
    }

    .page-hero__content{
        bottom:35px;
    }

    .page-hero h1{
        font-size:38px;
    }

}


/* =====================================================
   CONTACTS
   GOVERNING BODIES + LEADERSHIP
===================================================== */


/* =====================================================
   COMMON SECTION HEADING
===================================================== */

.section-heading{

    margin-bottom:32px;

}

.section-heading__line{

    display:block;

    width:56px;

    height:4px;

    background:#FFD200;

    margin-top:14px;

    margin-bottom:14px;

}

.section-heading h2{

    margin:0;

    color:#071A34;

    font-size:32px;

    line-height:1.15;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:-.5px;

}


/* =====================================================
   GOVERNING SECTION
===================================================== */

.governing-section{

    padding:72px 0 50px;

    background:#fff;

}


/* =====================================================
   GOVERNING GRID
===================================================== */

.governing-grid{

    display:grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap:28px;

}


/* =====================================================
   GOVERNING CARD
===================================================== */

.governing-card{

    position:relative;

    min-height:205px;

    display:flex;

    gap:22px;

    padding:28px;

    background:#fff;

    border:1px solid #E8EDF3;

    border-radius:10px;

    box-shadow:
        0 8px 30px rgba(7,26,52,.045);

    overflow:hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;

}


.governing-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:3px;

    height:0;

    background:#FFD200;

    transition:.35s;

}


.governing-card:hover{

    transform:translateY(-5px);

    border-color:#DCE5EF;

    box-shadow:
        0 18px 45px rgba(7,26,52,.09);

}


.governing-card:hover::before{

    height:100%;

}


/* =====================================================
   GOVERNING ICON
===================================================== */

.governing-card__icon{

    flex:0 0 64px;

    width:64px;

    height:64px;

    display:flex;

    align-items:center;

    justify-content:center;

}


.governing-card__icon img{

    width:58px;

    height:58px;

    object-fit:contain;

    transition:.3s;

}


.governing-card:hover
.governing-card__icon img{

    transform:scale(1.08);

}


/* =====================================================
   GOVERNING CONTENT
===================================================== */

.governing-card__content{

    flex:1;

}


.governing-card__content h3{

    margin:4px 0 14px;

    color:#071A34;

    font-size:18px;

    line-height:1.2;

    font-weight:800;

    text-transform:uppercase;

}


.governing-card__content p{

    margin:0;

    color:#69778A;

    font-size:15px;

    line-height:1.65;

}


/* =====================================================
   LEADERSHIP SECTION
===================================================== */

.leadership-section{

    padding:45px 0 100px;

    background:#fff;

}


/* =====================================================
   LEADERSHIP GRID
===================================================== */

.leadership-grid{

    display:grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap:28px;

}


/* =====================================================
   LEADER CARD
===================================================== */

.leader-card{

    min-height:390px;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    padding:30px 25px 26px;

    background:#fff;

    border:1px solid #E8EDF3;

    border-radius:10px;

    box-shadow:
        0 8px 30px rgba(7,26,52,.045);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;

}


.leader-card:hover{

    transform:translateY(-7px);

    border-color:#D8E2ED;

    box-shadow:
        0 20px 50px rgba(7,26,52,.10);

}


/* =====================================================
   PHOTO
===================================================== */

.leader-card__photo{

    width:150px;

    height:150px;

    margin-bottom:20px;

    overflow:hidden;

    border-radius:50%;

    background:#EEF1F4;

/*    border:5px solid #F2F3F4;*/

}


.leader-card__photo img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s;

}


.leader-card:hover
.leader-card__photo img{

    transform:scale(1.06);

}


/* =====================================================
   LEADER INFO
===================================================== */

.leader-card__info{

    width:100%;

}


.leader-card__position{

    display:block;

    min-height:40px;

    margin-bottom:12px;

    color:#68778B;

    font-size:15px;

    line-height:1.3;

    font-weight:500;

}


.leader-card h3{

    min-height:54px;

    margin:0 0 20px;

    color:#063C82;

    font-size:20px;

    line-height:1.3;

    font-weight:800;

}


/* =====================================================
   CONTACTS
===================================================== */

.leader-card__contacts{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

}


.leader-card__contacts a{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    color:#35679D;

    font-size:14px;

    line-height:1.3;

    text-decoration:none;

    transition:.25s;

}


.leader-card__contacts a:hover{

    color:#0057B8;

}


.leader-card__contacts img{

    width:17px;

    height:17px;

    object-fit:contain;

}


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

@media(max-width:1300px){

    .governing-grid,
    .leadership-grid{

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

    }

}


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

@media(max-width:768px){

    .governing-section{

        padding:55px 0 30px;

    }

    .leadership-section{

        padding:30px 0 70px;

    }

    .section-heading h2{

        font-size:27px;

    }

    .governing-grid,
    .leadership-grid{

        grid-template-columns:1fr;

        gap:18px;

    }

    .governing-card{

        min-height:auto;

        padding:24px;

    }

    .leader-card{

        min-height:auto;

    }

}


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

@media(max-width:480px){

    .section-heading{

        margin-bottom:24px;

    }

    .section-heading h2{

        font-size:23px;

    }

    .section-heading__line{

        width:45px;

        height:3px;

    }

    .governing-card{

        gap:15px;

        padding:20px;

    }

    .governing-card__icon{

        flex:0 0 48px;

        width:48px;

        height:48px;

    }

    .governing-card__icon img{

        width:46px;

        height:46px;

    }

    .governing-card__content h3{

        font-size:16px;

    }

    .governing-card__content p{

        font-size:14px;

    }

    .leader-card{

        padding:25px 18px;

    }

    .leader-card__photo{

        width:135px;

        height:135px;

    }

}


/* =====================================================
   CONTACT MAIN
===================================================== */

.contact-main-section{

    padding:70px 0 55px;

    background:#fff;

}


/* =====================================================
   MAIN GRID
===================================================== */

.contact-main-grid{

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:70px;

    align-items:start;

}


/* =====================================================
   SECTION HEADING
===================================================== */

.contact-main-section .section-heading,
.contact-social-section .section-heading{

    margin-bottom:30px;

}

.contact-main-section .section-heading h2,
.contact-social-section .section-heading h2{

    font-size:30px;

}


/* =====================================================
   CONTACT INFORMATION
===================================================== */

.contact-info-layout{

    display:grid;

    grid-template-columns:
        1fr 310px;

    gap:28px;

    align-items:stretch;

}


/* =====================================================
   CONTACT DETAILS
===================================================== */

.contact-details{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    gap:24px;

}


.contact-detail{

    display:flex;

    align-items:flex-start;

    gap:18px;

}


.contact-detail__icon{

    flex:0 0 52px;

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

}


.contact-detail__icon img{

    width:42px;

    height:42px;

    object-fit:contain;

}


/* =====================================================
   CONTACT TEXT
===================================================== */

.contact-detail__content{

    padding-top:2px;

}


.contact-detail__content h3{

    margin:0 0 5px;

    color:#071A34;

    font-size:17px;

    font-weight:800;

}


.contact-detail__content p{

    margin:0;

    color:#5D6D81;

    font-size:15px;

    line-height:1.55;

}


.contact-detail__content a{

    color:#35679D;

    font-size:15px;

    text-decoration:none;

    transition:.25s;

}


.contact-detail__content a:hover{

    color:#0057B8;

}


/* =====================================================
   MAP
===================================================== */

.contact-map{

    width:100%;

    min-height:290px;

}


.contact-map__placeholder{

    position:relative;

    width:100%;

    height:100%;

    min-height:290px;

    overflow:hidden;

    border-radius:10px;

    background:#EEF2F5;

}


.contact-map__placeholder img{

    display:block;

    width:100%;

    height:100%;

    min-height:290px;

    object-fit:cover;

}


.contact-map__marker{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

}


.contact-map__marker img{

    width:48px;

    height:48px;

    object-fit:contain;

}


/* =====================================================
   FEEDBACK FORM
===================================================== */

.feedback-form{

    display:flex;

    flex-direction:column;

    gap:16px;

}


.feedback-form__row{

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:16px;

}


.form-field{

    width:100%;

}


.form-field input,
.form-field textarea{

    width:100%;

    box-sizing:border-box;

    border:1px solid #E1E7EE;

    border-radius:7px;

    background:#fff;

    color:#071A34;

    font-family:inherit;

    font-size:15px;

    outline:none;

    transition:

        border-color .25s,

        box-shadow .25s;

}


.form-field input{

    height:54px;

    padding:0 18px;

}


.form-field textarea{

    min-height:170px;

    padding:17px 18px;

    resize:vertical;

    line-height:1.5;

}


.form-field input::placeholder,
.form-field textarea::placeholder{

    color:#8C99A8;

}


.form-field input:focus,
.form-field textarea:focus{

    border-color:#0057B8;

    box-shadow:
        0 0 0 3px rgba(0,87,184,.08);

}


/* =====================================================
   SUBMIT
===================================================== */

.feedback-form__submit{

    align-self:flex-start;

    height:54px;

    padding:0 28px;

    border:none;

    border-radius:5px;

    background:#FFD200;

    color:#071A34;

    font-family:inherit;

    font-size:15px;

    font-weight:800;

    text-transform:uppercase;

    cursor:pointer;

    display:flex;

    align-items:center;

    gap:20px;

    transition:

        background .3s,

        transform .3s,

        box-shadow .3s;

}


.feedback-form__submit span{

    font-size:22px;

    line-height:1;

}


.feedback-form__submit:hover{

    background:#FFC400;

    transform:translateY(-2px);

    box-shadow:
        0 8px 20px rgba(255,210,0,.22);

}


/* =====================================================
   SOCIAL SECTION
===================================================== */

.contact-social-section{

    padding:45px 0 100px;

    background:#fff;

}


.contact-social-grid{

    display:grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap:28px;

}


/* =====================================================
   SOCIAL CARD
===================================================== */

.contact-social-card{

    min-height:165px;

    display:flex;

    align-items:flex-start;

    gap:22px;

    padding:26px;

    background:#fff;

    border:1px solid #E8EDF3;

    border-radius:9px;

    text-decoration:none;

    box-shadow:
        0 7px 25px rgba(7,26,52,.035);

    transition:

        transform .3s,

        box-shadow .3s,

        border-color .3s;

}


.contact-social-card:hover{

    transform:translateY(-5px);

    border-color:#D9E2EC;

    box-shadow:
        0 16px 40px rgba(7,26,52,.09);

}


/* =====================================================
   SOCIAL ICON
===================================================== */

.contact-social-card__icon{

    flex:0 0 48px;

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

}


.contact-social-card__icon img{

    width:40px;

    height:40px;

    object-fit:contain;

    transition:.3s;

}


.contact-social-card:hover
.contact-social-card__icon img{

    transform:scale(1.08);

}


/* =====================================================
   SOCIAL CONTENT
===================================================== */

.contact-social-card__content{

    min-width:0;

}


.contact-social-card__content h3{

    margin:0 0 7px;

    color:#071A34;

    font-size:18px;

    font-weight:800;

}


.contact-social-card__content p{

    margin:0 0 12px;

    color:#6C7B8E;

    font-size:14px;

    line-height:1.5;

}


.contact-social-card__content span{

    color:#0057B8;

    font-size:15px;

    font-weight:700;

}


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

@media(max-width:1250px){

    .contact-main-grid{

        grid-template-columns:1fr;

        gap:60px;

    }

    .contact-social-grid{

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

    }

}


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

@media(max-width:900px){

    .contact-info-layout{

        grid-template-columns:1fr;

    }

    .contact-map{

        min-height:300px;

    }

    .contact-map__placeholder{

        min-height:300px;

    }

}


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

@media(max-width:650px){

    .contact-main-section{

        padding:55px 0 35px;

    }

    .contact-social-section{

        padding:35px 0 70px;

    }

    .contact-main-section .section-heading h2,
    .contact-social-section .section-heading h2{

        font-size:24px;

    }

    .feedback-form__row{

        grid-template-columns:1fr;

    }

    .contact-social-grid{

        grid-template-columns:1fr;

    }

    .contact-social-card{

        min-height:auto;

    }

}


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

@media(max-width:480px){

    .contact-detail{

        gap:12px;

    }

    .contact-detail__icon{

        flex:0 0 44px;

        width:44px;

        height:44px;

    }

    .contact-detail__icon img{

        width:36px;

        height:36px;

    }

    .contact-detail__content h3{

        font-size:16px;

    }

    .contact-detail__content p,
    .contact-detail__content a{

        font-size:14px;

    }

    .feedback-form__submit{

        width:100%;

        justify-content:center;

    }

}


/* =====================================================
   COMPETITIONS PAGE HERO
===================================================== */

.page-hero--competitions{

    position:relative;

    height:390px;

    overflow:hidden;

    background:#06182d;

}


/* =====================================================
   BACKGROUND
===================================================== */

.page-hero--competitions .page-hero__bg{

    position:absolute;

    inset:0;

    z-index:0;

    background-image:

        linear-gradient(
            90deg,
            rgba(3,18,36,.98) 0%,
            rgba(3,18,36,.90) 25%,
            rgba(3,18,36,.58) 52%,
            rgba(3,18,36,.22) 100%
        ),

        linear-gradient(
            0deg,
            rgba(3,18,36,.68) 0%,
            transparent 60%
        ),

        url('/assets/images/hero/competitions.jpg');

    background-size:cover;

    background-position:top right;

}


/* =====================================================
   CONTAINER
===================================================== */

.page-hero--competitions .container{

    position:relative;

    z-index:2;

    height:100%;

}


/* =====================================================
   CONTENT
===================================================== */

.page-hero--competitions .page-hero__content{

    position:absolute;

    left:0;

    bottom:72px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

}


/* =====================================================
   YELLOW LINE
===================================================== */

.page-hero--competitions .page-hero__line{

    display:block;

    width:56px;

    height:4px;

    margin-bottom:22px;

    background:#FFD200;

}


/* =====================================================
   TITLE
===================================================== */

.page-hero--competitions h1{

    margin:0;

    color:#fff;

    font-size:64px;

    line-height:1;

    font-weight:900;

    text-transform:uppercase;

    letter-spacing:-1.5px;

}


/* =====================================================
   BREADCRUMBS
===================================================== */

.page-hero--competitions .page-hero__breadcrumbs{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:26px;

    font-size:17px;

    line-height:1;

}


.page-hero--competitions
.page-hero__breadcrumbs a{

    color:rgba(255,255,255,.68);

    text-decoration:none;

    transition:.25s;

}


.page-hero--competitions
.page-hero__breadcrumbs a:hover{

    color:#fff;

}


.page-hero--competitions
.page-hero__breadcrumbs span{

    color:#fff;

}


.page-hero--competitions
.page-hero__breadcrumbs span:nth-child(2){

    color:#FFD200;

    font-size:25px;

}


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

@media(max-width:1200px){

    .page-hero--competitions{

        height:360px;

    }

    .page-hero--competitions
    .page-hero__content{

        bottom:60px;

    }

    .page-hero--competitions h1{

        font-size:56px;

    }

}


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

@media(max-width:768px){

    .page-hero--competitions{

        height:320px;

    }

    .page-hero--competitions
    .page-hero__bg{

        background-position:65% center;

    }

    .page-hero--competitions
    .page-hero__content{

        bottom:45px;

    }

    .page-hero--competitions h1{

        font-size:44px;

    }

    .page-hero--competitions
    .page-hero__breadcrumbs{

        margin-top:20px;

        font-size:15px;

    }

}


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

@media(max-width:480px){

    .page-hero--competitions{

        height:290px;

    }

    .page-hero--competitions
    .page-hero__content{

        bottom:35px;

    }

    .page-hero--competitions h1{

        font-size:38px;

    }

}


/* =====================================================
   COMPETITIONS CALENDAR
===================================================== */

.competitions-calendar {

    padding: 78px 0 90px;

    background: #fff;

}


/* =====================================================
   SECTION HEADING
===================================================== */

.competitions-calendar__heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    margin-bottom: 30px;

}


.competitions-calendar__heading h2 {

    margin: 0;

    color: #09274a;

    font-size: 34px;

    line-height: 1.1;

    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: -.5px;

}


.section-heading__line {

    display: block;

    width: 55px;

    height: 4px;

    margin-top: 18px;

    background: #ffd200;

}


/* =====================================================
   YEAR DROPDOWN
===================================================== */

.competitions-calendar__year {

    position: relative;

    width: 145px;

}


/* =====================================================
   TOGGLE
===================================================== */

.competitions-calendar__year-toggle {

    width: 100%;

    height: 48px;

    padding: 0 16px;

    display: flex;

    align-items: center;

    gap: 11px;

    border: 1px solid #dbe3eb;

    border-radius: 25px;

    background: #fff;

    color: #09274a;

    font-family: inherit;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 2px 8px rgba(8, 38, 72, .04);

    transition:
        border-color .25s ease,
        box-shadow .25s ease;

}


.competitions-calendar__year-toggle:hover {

    border-color: #b8c7d7;

}


.competitions-calendar__year.is-open
.competitions-calendar__year-toggle {

    border-color: #1765ae;

    box-shadow:
        0 4px 15px rgba(8, 38, 72, .09);

}


/* =====================================================
   CALENDAR ICON
===================================================== */

.competitions-calendar__year-icon {

    width: 19px;

    height: 19px;

    flex: 0 0 19px;

    display: flex;

}


.competitions-calendar__year-icon svg {

    width: 100%;

    height: 100%;

    fill: none;

    stroke: #09274a;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;

}


/* =====================================================
   YEAR VALUE
===================================================== */

.competitions-calendar__year-value {

    flex: 1;

    text-align: left;

}


/* =====================================================
   CHEVRON
===================================================== */

.competitions-calendar__chevron {

    width: 17px;

    height: 17px;

    flex: 0 0 17px;

    display: flex;

    align-items: center;

    justify-content: center;

    transition:
        transform .25s ease;

}


.competitions-calendar__chevron svg {

    width: 100%;

    height: 100%;

    fill: none;

    stroke: #09274a;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

}


.competitions-calendar__year.is-open
.competitions-calendar__chevron {

    transform: rotate(180deg);

}


/* =====================================================
   DROPDOWN
===================================================== */

.competitions-calendar__year-dropdown {

    position: absolute;

    top: calc(100% + 8px);

    left: 0;

    width: 100%;

    padding: 6px;

    display: flex;

    flex-direction: column;

    gap: 2px;

    background: #fff;

    border: 1px solid #dbe3eb;

    border-radius: 10px;

    box-shadow:
        0 12px 30px rgba(8, 38, 72, .13);

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(-6px);

    pointer-events: none;

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;

    z-index: 50;

}


/* OPEN */

.competitions-calendar__year.is-open
.competitions-calendar__year-dropdown {

    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);

    pointer-events: auto;

}


/* =====================================================
   OPTION
===================================================== */

.competitions-calendar__year-option {

    width: 100%;

    height: 40px;

    padding: 0 14px;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    border: 0;

    border-radius: 6px;

    background: transparent;

    color: #09274a;

    font-family: inherit;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease;

}


.competitions-calendar__year-option:hover {

    background: #f1f6fa;

    color: #1765ae;

}


.competitions-calendar__year-option.is-selected {

    background: #092d57;

    color: #fff;

}


.competitions-calendar__year-option.is-selected:hover {

    background: #0d3b70;

    color: #fff;

}


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

@media (max-width: 768px) {

    .competitions-calendar__year {

        width: 130px;

    }


    .competitions-calendar__year-toggle {

        height: 43px;

        font-size: 14px;

    }

}


/* =====================================================
   FILTERS
===================================================== */

.competitions-calendar__filters {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 30px;

}


.competitions-filter {

    height: 42px;

    padding: 0 22px;

    border: 0;

    background: transparent;

    color: #12365f;

    font-family: inherit;

    font-size: 14px;

    font-weight: 800;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease,
        box-shadow .25s ease;

}


.competitions-filter:hover {

    color: #09274a;

}


.competitions-filter.is-active {

    color: #fff;

    background: #092d57;

    box-shadow: 0 5px 14px rgba(9, 45, 87, .15);

}


/* =====================================================
   LIST
===================================================== */

.competitions-list {

    width: 100%;

    border: 1px solid #e1e7ed;

    border-radius: 7px;

    overflow: hidden;

    background: #fff;

    box-shadow: 0 4px 16px rgba(10, 39, 70, .035);

}


/* =====================================================
   COMPETITION ITEM
===================================================== */

.competition-item {

    min-height: 112px;

    display: grid;

    grid-template-columns: 158px minmax(0, 1fr) 105px 156px;

    align-items: center;

    border-bottom: 1px solid #e3e8ee;

    background: #fff;

    transition:
        background .25s ease,
        box-shadow .25s ease;

}


.competition-item:last-child {

    border-bottom: 0;

}


.competition-item:hover {

    background: #fbfcfd;

    box-shadow:
        inset 4px 0 0 #ffd200;

}


/* =====================================================
   DATE
===================================================== */

.competition-date {

    height: 100%;

    padding: 16px 22px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    border-right: 1px solid #e3e8ee;

    text-align: center;

}


.competition-date strong {

    color: #09274a;

    font-size: 27px;

    line-height: 1;

    font-weight: 900;

}


.competition-date > span {

    margin-top: 6px;

    color: #536b84;

    font-size: 13px;

    line-height: 1;

    font-weight: 700;

    text-transform: uppercase;

}


.competition-date b {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 24px;

    margin-top: 12px;

    padding: 4px 10px;

    border-radius: 3px;

    background: #ffd21a;

    color: #09274a;

    font-size: 10px;

    line-height: 1;

    font-weight: 900;

    text-transform: uppercase;

    white-space: nowrap;

}


.competition-date b.is-past {

    background: #dfe5e9;

    color: #687888;

}


/* =====================================================
   MAIN CONTENT
===================================================== */

.competition-main {

    min-width: 0;

    display: flex;

    align-items: center;

    gap: 23px;

    padding: 18px 28px;

}


.competition-logo {

    width: 54px;

    height: 54px;

    flex: 0 0 54px;

    display: flex;

    align-items: center;

    justify-content: center;

}


.competition-logo img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: contain;

}


.competition-info {

    min-width: 0;

}


.competition-info h3 {

    margin: 0;

    color: #09274a;

    font-size: 18px;

    line-height: 1.3;

    font-weight: 900;

    text-transform: uppercase;

}


.competition-location {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: 11px;

    color: #526b84;

    font-size: 13px;

    font-weight: 600;

}


.competition-location svg {

    width: 16px;

    height: 16px;

    flex: 0 0 16px;

    fill: none;

    stroke: #1765ae;

    stroke-width: 2;

    stroke-linecap: round;

    stroke-linejoin: round;

}


/* =====================================================
   STATUS
===================================================== */

.competition-status {

    justify-self: center;

    padding: 6px 11px;

    border-radius: 4px;

    font-size: 11px;

    line-height: 1;

    font-weight: 900;

    text-transform: uppercase;

    white-space: nowrap;

}


.competition-status--upcoming {

    border: 1px solid #9ad9b6;

    background: #f2fff7;

    color: #3a9c68;

}


.competition-status--past {

    background: #e9eef2;

    color: #788692;

}


/* =====================================================
   DETAILS BUTTON
===================================================== */

.competition-details {

    width: 126px;

    height: 44px;

    margin-right: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    background: #092d57;

    color: #fff;

    text-decoration: none;

    font-size: 11px;

    line-height: 1;

    font-weight: 900;

    text-transform: uppercase;

    transition:
        background .25s ease,
        transform .25s ease;

}


.competition-details span {

    color: #ffd200;

    font-size: 19px;

    line-height: 1;

}


.competition-details:hover {

    background: #0d3b70;

    transform: translateY(-1px);

}


/* =====================================================
   FOOTER BUTTON
===================================================== */

.competitions-calendar__footer {

    display: flex;

    justify-content: center;

    padding-top: 26px;

}


.competitions-calendar__all {

    min-width: 400px;

    height: 48px;

    padding: 0 25px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 18px;

    border: 2px solid #9db4ce;

    color: #1760a5;

    text-decoration: none;

    font-size: 13px;

    font-weight: 900;

    text-transform: uppercase;

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

}


.competitions-calendar__all strong {

    color: #1760a5;

    font-size: 21px;

    line-height: 1;

}


.competitions-calendar__all:hover {

    border-color: #1760a5;

    background: #f4f8fc;

}


/* =====================================================
   HIDDEN FILTERED ITEMS
===================================================== */

.competition-item.is-hidden {

    display: none;

}


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

@media (max-width: 1100px) {

    .competition-item {

        grid-template-columns:
            135px
            minmax(0, 1fr)
            95px
            140px;

    }


    .competition-main {

        gap: 16px;

        padding-left: 20px;

        padding-right: 15px;

    }


    .competition-info h3 {

        font-size: 16px;

    }


    .competition-details {

        width: 115px;

        margin-right: 18px;

    }

}


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

@media (max-width: 768px) {

    .competitions-calendar {

        padding: 55px 0 65px;

    }


    .competitions-calendar__heading {

        align-items: flex-start;

        gap: 20px;

    }


    .competitions-calendar__heading h2 {

        font-size: 27px;

    }


    .competitions-calendar__year {

        min-width: 120px;

        height: 43px;

        font-size: 14px;

    }


    .competitions-calendar__filters {

        width: 100%;

        margin-bottom: 22px;

        padding-bottom: 5px;

        overflow-x: auto;

        scrollbar-width: none;

    }


    .competitions-calendar__filters::-webkit-scrollbar {

        display: none;

    }


    .competitions-filter {

        flex: 0 0 auto;

        padding: 0 16px;

        font-size: 12px;

    }


    .competitions-list {

        border-radius: 5px;

    }


    .competition-item {

        display: grid;

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

        position: relative;

        min-height: 145px;

    }


    .competition-date {

        grid-row: 1 / span 2;

        padding: 15px 8px;

    }


    .competition-date strong {

        font-size: 22px;

    }


    .competition-date > span {

        font-size: 11px;

    }


    .competition-date b {

        font-size: 8px;

        padding: 4px 7px;

    }


    .competition-main {

        padding: 17px 15px 8px;

        gap: 12px;

    }


    .competition-logo {

        width: 43px;

        height: 43px;

        flex-basis: 43px;

    }


    .competition-info h3 {

        font-size: 13px;

    }


    .competition-location {

        margin-top: 7px;

        font-size: 11px;

        line-height: 1.35;

    }


    .competition-status {

        justify-self: start;

        margin: 0 0 10px 15px;

        font-size: 9px;

    }


    .competition-details {

        position: absolute;

        right: 12px;

        bottom: 12px;

        width: auto;

        height: 34px;

        padding: 0 12px;

        margin: 0;

        font-size: 9px;

    }


    .competition-details span {

        font-size: 15px;

    }


    .competitions-calendar__footer {

        padding-top: 20px;

    }


    .competitions-calendar__all {

        width: 100%;

        min-width: 0;

        height: 46px;

        font-size: 11px;

    }

}


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

@media (max-width: 480px) {

    .competitions-calendar__heading {

        display: block;

    }


    .competitions-calendar__year {

        margin-top: 18px;

    }


    .competition-item {

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

    }


    .competition-date strong {

        font-size: 20px;

    }


    .competition-main {

        padding: 15px 12px 7px;

    }


    .competition-info h3 {

        font-size: 12px;

    }


    .competition-location {

        font-size: 10px;

    }


    .competition-status {

        margin-left: 12px;

    }


    .competition-details {

        right: 10px;

        bottom: 10px;

    }

}


/* =========================================================
   SPORTS RANKS
========================================================= */

.ranks-section {
    position: relative;
    padding: 78px 0 70px;
    background: #fff;
}

.ranks-section .container {
    width: min(1380px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.section-heading {
    margin-bottom: 34px;
}

.section-heading h2 {
    margin: 0;

    color: #092b55;

    font-size: 34px;
    line-height: 1.15;
    font-weight: 800;

    letter-spacing: -0.5px;
}

.section-heading span {
    display: block;

    width: 58px;
    height: 4px;

    margin-top: 17px;

    background: #ffd400;
}


/* =========================================================
   GRID
========================================================= */

.ranks-grid {
    display: grid;

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

    gap: 22px;
}


/* =========================================================
   CARD
========================================================= */

.rank-card {
    position: relative;

    display: flex;
    align-items: flex-start;

    min-height: 305px;

    padding: 32px 30px 27px;

    background: #fff;

    border: 1px solid #e6ebf1;

    border-radius: 9px;

    box-shadow:
        0 3px 12px rgba(8, 39, 74, 0.035);

    cursor: pointer;

    overflow: hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.rank-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: #ffd400;

    transform: scaleX(0);
    transform-origin: left;

    transition: transform .35s ease;
}

.rank-card:hover {
    transform: translateY(-5px);

    border-color: #d8e0e9;

    box-shadow:
        0 14px 35px rgba(8, 39, 74, 0.09);
}

.rank-card:hover::before {
    transform: scaleX(1);
}


/* =========================================================
   ICON
========================================================= */

.rank-card__icon {
    flex: 0 0 96px;

    width: 96px;
    height: 116px;

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

    margin-right: 23px;
}

.rank-card__icon img {
    display: block;

    width: 96px;
    height: 110px;

    object-fit: contain;

    transition:
        transform .35s ease;
}

.rank-card:hover .rank-card__icon img {
    transform: scale(1.05) translateY(-2px);
}


/* =========================================================
   CONTENT
========================================================= */

.rank-card__content {
    display: flex;
    flex-direction: column;

    min-width: 0;
    height: 100%;
}

.rank-card__content h3 {
    margin: 2px 0 17px;

    color: #082d59;

    font-size: 21px;
    line-height: 1.22;
    font-weight: 800;

    letter-spacing: -.2px;
}

.rank-card__content p {
    margin: 0;

    color: #64758b;

    font-size: 15px;
    line-height: 1.7;
    font-weight: 400;
}


/* =========================================================
   MORE BUTTON
========================================================= */

.rank-card__more {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    width: fit-content;

    margin-top: auto;
    padding: 0;

    border: 0;
    background: transparent;

    color: #1764b4;

    font-family: inherit;
    font-size: 14px;
    font-weight: 800;

    cursor: pointer;

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

.rank-card__more span {
    color: #1764b4;

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

    transition: transform .25s ease;
}

.rank-card:hover .rank-card__more {
    color: #082d59;
    gap: 15px;
}

.rank-card:hover .rank-card__more span {
    transform: translateX(3px);
}


/* =========================================================
   ALL BUTTON
========================================================= */

.ranks-all {
    display: flex;
    justify-content: center;

    margin-top: 32px;
}

.ranks-all__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    min-width: 440px;
    min-height: 58px;

    padding: 0 28px;

    border: 2px solid #7ca0c7;
    border-radius: 4px;

    color: #15538f;

    text-decoration: none;

    font-size: 15px;
    font-weight: 800;

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

.ranks-all__button span {
    font-size: 23px;

    transition: transform .25s ease;
}

.ranks-all__button:hover {
    color: #fff;

    background: #092f5c;

    border-color: #092f5c;
}

.ranks-all__button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   MODAL OVERLAY
========================================================= */

.rank-modal {
    position: fixed;

    inset: 0;

    z-index: 9999;

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

    padding: 30px;

    visibility: hidden;
    opacity: 0;

    pointer-events: none;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.rank-modal.is-open {
    visibility: visible;
    opacity: 1;

    pointer-events: auto;
}


/* =========================================================
   BACKDROP
========================================================= */

.rank-modal__backdrop {
    position: absolute;

    inset: 0;

    background:
        rgba(2, 19, 38, .76);

    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}


/* =========================================================
   DIALOG
========================================================= */

.rank-modal__dialog {
    position: relative;

    width: min(720px, 100%);

    max-height: calc(100vh - 60px);

    overflow-y: auto;

    background: #fff;

    border-radius: 12px;

    box-shadow:
        0 35px 90px rgba(0, 20, 45, .35);

    transform:
        translateY(25px)
        scale(.97);

    transition:
        transform .35s cubic-bezier(.22, .61, .36, 1);
}

.rank-modal.is-open .rank-modal__dialog {
    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   CLOSE
========================================================= */

.rank-modal__close {
    position: absolute;

    top: 22px;
    right: 22px;

    z-index: 3;

    width: 44px;
    height: 44px;

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

    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;

    background: rgba(4, 31, 61, .85);

    cursor: pointer;

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

.rank-modal__close span {
    position: absolute;

    width: 18px;
    height: 2px;

    background: #fff;

    border-radius: 2px;
}

.rank-modal__close span:first-child {
    transform: rotate(45deg);
}

.rank-modal__close span:last-child {
    transform: rotate(-45deg);
}

.rank-modal__close:hover {
    background: #ffd400;

    transform: rotate(90deg);
}

.rank-modal__close:hover span {
    background: #082d59;
}


/* =========================================================
   MODAL TOP
========================================================= */

.rank-modal__top {
    display: flex;
    align-items: center;

    gap: 32px;

    padding: 44px 50px 36px;

    background:
        linear-gradient(
            135deg,
            #062653 0%,
            #0a3d72 100%
        );

    color: #fff;
}


/* =========================================================
   MODAL ICON
========================================================= */

.rank-modal__icon {
    flex: 0 0 130px;

    width: 130px;
    height: 145px;

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

.rank-modal__icon img {
    width: 130px;
    height: 140px;

    object-fit: contain;

    filter:
        drop-shadow(0 12px 16px rgba(0,0,0,.2));
}


/* =========================================================
   MODAL HEADING
========================================================= */

.rank-modal__heading {
    min-width: 0;
}

.rank-modal__label {
    display: block;

    margin-bottom: 11px;

    color: #ffd400;

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

    letter-spacing: 1.6px;
}

.rank-modal__heading h2 {
    margin: 0;

    color: #fff;

    font-size: 31px;
    line-height: 1.15;
    font-weight: 800;
}

.rank-modal__line {
    width: 55px;
    height: 4px;

    margin-top: 17px;

    background: #ffd400;
}


/* =========================================================
   MODAL BODY
========================================================= */

.rank-modal__body {
    padding: 35px 50px 38px;
}

.rank-modal__description h3 {
    margin: 0 0 13px;

    color: #082d59;

    font-size: 20px;
    font-weight: 800;
}

.rank-modal__description p {
    margin: 0;

    color: #65758a;

    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   INFO
========================================================= */

.rank-modal__info {
    display: grid;

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

    gap: 16px;

    margin-top: 28px;
}

.rank-modal__info-item {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    padding: 19px;

    background: #f5f8fb;

    border: 1px solid #e5ebf1;

    border-radius: 7px;
}

.rank-modal__info-icon {
    flex: 0 0 32px;

    width: 32px;
    height: 32px;

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

    border-radius: 50%;

    background: #ffd400;

    color: #092d59;

    font-size: 15px;
    font-weight: 900;
}

.rank-modal__info-item strong {
    display: block;

    margin-bottom: 6px;

    color: #092d59;

    font-size: 14px;
    font-weight: 800;
}

.rank-modal__info-item p {
    margin: 0;

    color: #68798e;

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   MODAL FOOTER
========================================================= */

.rank-modal__footer {
    display: flex;
    align-items: center;

    padding: 20px 50px 28px;

    border-top: 1px solid #edf0f4;
}

.rank-modal__document {
    display: inline-flex;
    align-items: center;
    gap: 13px;

    color: #1260aa;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;
}

.rank-modal__document span {
    font-size: 22px;

    transition: transform .25s ease;
}

.rank-modal__document:hover span {
    transform: translateX(5px);
}


/* =========================================================
   BODY LOCK
========================================================= */

body.modal-open {
    overflow: hidden;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1150px) {

    .ranks-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 700px) {

    .ranks-section {
        padding: 55px 0;
    }

    .ranks-section .container {
        width: min(100% - 30px, 600px);
    }

    .section-heading h2 {
        font-size: 27px;
    }

    .ranks-grid {
        grid-template-columns: 1fr;
    }

    .rank-card {
        min-height: 250px;

        padding: 26px 22px;
    }

    .rank-card__icon {
        flex-basis: 80px;
        width: 80px;
    }

    .rank-card__icon img {
        width: 80px;
        height: 95px;
    }

    .rank-card__content h3 {
        font-size: 18px;
    }

    .rank-card__content p {
        font-size: 14px;
    }

    .ranks-all__button {
        min-width: 0;
        width: 100%;
    }


    /* MODAL */

    .rank-modal {
        padding: 15px;
    }

    .rank-modal__dialog {
        max-height: calc(100vh - 30px);
    }

    .rank-modal__top {
        flex-direction: column;

        text-align: center;

        gap: 15px;

        padding: 35px 25px 30px;
    }

    .rank-modal__icon {
        width: 100px;
        height: 110px;
    }

    .rank-modal__icon img {
        width: 100px;
        height: 110px;
    }

    .rank-modal__heading h2 {
        font-size: 25px;
    }

    .rank-modal__line {
        margin-left: auto;
        margin-right: auto;
    }

    .rank-modal__body {
        padding: 28px 24px;
    }

    .rank-modal__info {
        grid-template-columns: 1fr;
    }

    .rank-modal__footer {
        padding: 18px 24px 25px;
    }

}


/* =========================================================
   RANK PAGE
========================================================= */

.rank-page {
    background: #fff;
    color: #092d59;
}

.rank-page__container {
    width: min(1380px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.rank-page__hero {
    position: relative;

    min-height: 310px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(2, 25, 52, .96) 0%,
            rgba(2, 30, 61, .84) 43%,
            rgba(2, 30, 61, .58) 100%
        ),
        url("/assets/images/hero/competitions.jpg")
        center / cover no-repeat;
}

.rank-page__hero::after {
    content: "";

    position: absolute;

    right: 5%;
    bottom: -25px;

    width: 230px;
    height: 230px;

    opacity: .4;

    background:
        url("/assets/images/icons/trident-outline.svg")
        center / contain no-repeat;
}

.rank-page__hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 25, 52, .35),
            transparent
        );
}

.rank-page__hero .rank-page__container {
    position: relative;
    z-index: 2;
}

.rank-page__hero h1 {
    margin: 20px 0 0;

    color: #fff;

    font-size: clamp(40px, 4vw, 62px);
    line-height: 1;

    font-weight: 800;

    letter-spacing: -.8px;
}

.rank-page__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 12px;

    color: rgba(255,255,255,.72);

    font-size: 14px;
}

.rank-page__breadcrumbs a {
    color: #fff;
    text-decoration: none;
}

.rank-page__breadcrumbs span {
    color: #ffd400;
    font-size: 19px;
}

.rank-page__breadcrumbs strong {
    color: #ffd400;
    font-weight: 600;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.rank-page__section-heading {
    margin-bottom: 35px;
}

.rank-page__section-heading h2 {
    margin: 0;

    color: #082d59;

    font-size: 31px;
    line-height: 1.15;
    font-weight: 800;

    letter-spacing: -.4px;
}

.rank-page__section-heading span {
    display: block;

    width: 56px;
    height: 4px;

    margin-top: 16px;

    background: #ffd400;
}


/* =========================================================
   INTRO
========================================================= */

.rank-page__intro {
    padding: 65px 0 55px;
}

.rank-page__intro-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(320px, .8fr);

    gap: 70px;

    align-items: center;
}

.rank-page__intro-text {
    max-width: 820px;
}

.rank-page__intro-text p {
    margin: 0 0 17px;

    color: #62748b;

    font-size: 16px;
    line-height: 1.75;
}

.rank-page__intro-text p:last-child {
    margin-bottom: 0;
}

.rank-page__intro-note {
    display: flex;
    align-items: flex-start;

    gap: 18px;

    padding: 25px;

    background: #f6f9fc;

    border: 1px solid #e5ebf2;

    border-left: 4px solid #ffd400;

    border-radius: 6px;
}

.rank-page__intro-note-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

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

    border-radius: 50%;

    background: #0a3b70;

    color: #ffd400;

    font-size: 18px;
    font-weight: 800;
}

.rank-page__intro-note strong {
    display: block;

    margin-bottom: 6px;

    color: #092d59;

    font-size: 16px;
}

.rank-page__intro-note span {
    display: block;

    color: #6a7b8f;

    font-size: 14px;
    line-height: 1.55;
}


/* =========================================================
   LEVELS
========================================================= */

.rank-page__levels {
    padding: 10px 0 65px;
}

.rank-levels {
    display: grid;

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

    gap: 15px;
}

.rank-level {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 96px;

    padding: 18px;

    border: 1px solid #e2e9f0;
    border-radius: 7px;

    background: #fff;

    text-align: left;

    cursor: pointer;

    font-family: inherit;

    transition:
        .25s ease;
}

.rank-level:hover {
    transform: translateY(-3px);

    border-color: #b8cadc;

    box-shadow:
        0 10px 25px rgba(8, 39, 74, .08);
}

.rank-level.is-active {
    background: #082f5c;

    border-color: #082f5c;

    box-shadow:
        0 12px 28px rgba(8, 47, 92, .18);
}

.rank-level__number {
    flex: 0 0 48px;

    width: 48px;
    height: 48px;

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

    margin-right: 13px;

    border-radius: 50%;

    background: #edf3f8;

    color: #0b4f8d;

    font-size: 17px;
    font-weight: 800;
}

.rank-level.is-active .rank-level__number {
    background: #ffd400;
    color: #092d59;
}

.rank-level__content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.rank-level__content strong {
    color: #092d59;

    font-size: 13px;
    line-height: 1.25;
    font-weight: 800;
}

.rank-level__content small {
    margin-top: 3px;

    color: #738397;

    font-size: 12px;
}

.rank-level.is-active .rank-level__content strong {
    color: #fff;
}

.rank-level.is-active .rank-level__content small {
    color: rgba(255,255,255,.68);
}

.rank-level__arrow {
    position: absolute;

    right: 14px;
    bottom: 13px;

    color: #1764ae;

    font-size: 18px;

    transition: transform .2s ease;
}

.rank-level.is-active .rank-level__arrow {
    color: #ffd400;
}

.rank-level:hover .rank-level__arrow {
    transform: translateX(4px);
}


/* =========================================================
   CURRENT RANK
========================================================= */

.rank-page__current {
    padding: 0 0 65px;
}

.rank-current {
    position: relative;

    overflow: hidden;

    padding: 35px 45px;

    border-radius: 8px;

    background:
        linear-gradient(
            110deg,
            #062b56 0%,
            #0b4278 100%
        );

    box-shadow:
        0 15px 40px rgba(5, 37, 70, .13);
}

.rank-current::after {
    content: "";

    position: absolute;

    right: 100px;
    top: -100px;

    width: 320px;
    height: 320px;

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

    border-radius: 50%;
}

.rank-current__header {
    position: relative;
    z-index: 2;

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

    gap: 30px;
}

.rank-current__eyebrow {
    display: block;

    margin-bottom: 8px;

    color: #ffd400;

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

    letter-spacing: 1.6px;
}

.rank-current h2 {
    margin: 0;

    color: #fff;

    font-size: 27px;
    font-weight: 800;
}

.rank-current__badge {
    flex: 0 0 105px;

    width: 105px;
    height: 105px;

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

.rank-current__badge img {
    width: 105px;
    height: 105px;

    object-fit: contain;

    filter:
        drop-shadow(0 8px 12px rgba(0,0,0,.2));
}

.rank-current__description {
    position: relative;
    z-index: 2;

    max-width: 820px;

    margin-top: 15px;
}

.rank-current__description p {
    margin: 0;

    color: rgba(255,255,255,.76);

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   NORMS
========================================================= */

.rank-page__norms {
    padding: 10px 0 70px;
}

.rank-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 21px 25px;

    margin-bottom: 18px;

    background: #f5f8fb;

    border: 1px solid #e4eaf0;

    border-radius: 7px;
}

.rank-filter__title {
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.rank-filter__title strong {
    color: #092d59;

    font-size: 15px;
}

.rank-filter__title span {
    color: #7a899b;

    font-size: 13px;
}

.rank-filter__select-wrap {
    position: relative;

    width: 310px;
}

.rank-filter__select {
    width: 100%;
    height: 49px;

    appearance: none;
    -webkit-appearance: none;

    padding: 0 45px 0 17px;

    border: 1px solid #d4dee8;
    border-radius: 5px;

    background: #fff;

    color: #123b65;

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    outline: none;
}

.rank-filter__select:focus {
    border-color: #1764ae;
}

.rank-filter__chevron {
    position: absolute;

    right: 15px;
    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;
}

.rank-filter__chevron svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: #123b65;
    stroke-width: 2;
}


/* =========================================================
   TABLE
========================================================= */

.norms-table-wrap {
    overflow-x: auto;

    border: 1px solid #e1e8ef;
    border-radius: 8px;

    background: #fff;
}

.norms-table {
    width: 100%;

    min-width: 850px;

    border-collapse: collapse;
}

.norms-table th {
    padding: 18px 22px;

    background: #082f5c;

    color: #fff;

    text-align: left;

    font-size: 13px;
    font-weight: 800;

    white-space: nowrap;
}

.norms-table th:first-child {
    border-radius: 7px 0 0 0;
}

.norms-table th:last-child {
    border-radius: 0 7px 0 0;
}

.norms-table td {
    padding: 20px 22px;

    border-bottom: 1px solid #e8edf2;

    color: #52677e;

    font-size: 14px;
    line-height: 1.5;

    vertical-align: middle;
}

.norms-table tr:last-child td {
    border-bottom: 0;
}

.norms-table tbody tr {
    transition: background .2s ease;
}

.norms-table tbody tr:hover {
    background: #f8fafc;
}

.norms-table td strong {
    display: block;

    margin-bottom: 3px;

    color: #0b355f;

    font-size: 14px;
}

.norms-table td span:not(.norm-status) {
    color: #8491a0;

    font-size: 12px;
}

.norm-status {
    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding: 0 11px;

    border-radius: 4px;

    font-size: 11px;
    font-weight: 800;
}

.norm-status--blue {
    background: #e8f1fb;
    color: #1761a5;
}

.norm-status--green {
    background: #e8f8ef;
    color: #24905c;
}

.norm-status--yellow {
    background: #fff7d8;
    color: #9b7900;
}

.norms-mobile-note {
    display: none;

    margin-top: 10px;

    color: #8996a5;

    font-size: 12px;
    text-align: center;
}

.norms-mobile-note span {
    color: #1761a5;
    margin-right: 5px;
}


/* =========================================================
   DOCUMENTS
========================================================= */

.rank-page__documents {
    padding: 0 0 70px;
}

.documents-grid {
    display: grid;

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

    gap: 18px;
}

.document-card {
    display: flex;
    align-items: center;

    gap: 17px;

    min-height: 105px;

    padding: 20px;

    background: #fff;

    border: 1px solid #e2e9ef;
    border-radius: 7px;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.document-card:hover {
    transform: translateY(-4px);

    border-color: #cbd9e6;

    box-shadow:
        0 12px 28px rgba(8,39,74,.08);
}

.document-card__icon {
    flex: 0 0 46px;

    width: 46px;
    height: 46px;

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

    border-radius: 5px;

    background: #edf4fa;
}

.document-card__icon svg {
    width: 25px;
    height: 25px;

    fill: none;

    stroke: #1260a8;
    stroke-width: 1.6;
}

.document-card__content {
    display: flex;
    flex-direction: column;

    gap: 5px;

    min-width: 0;
}

.document-card__content strong {
    color: #092d59;

    font-size: 13px;
    line-height: 1.35;
}

.document-card__content span {
    color: #7b8998;

    font-size: 12px;
}

.document-card__arrow {
    margin-left: auto;

    color: #1764ae;

    font-size: 21px;

    transition: transform .2s ease;
}

.document-card:hover .document-card__arrow {
    transform: translateX(5px);
}


/* =========================================================
   NOTICE
========================================================= */

.rank-page__notice {
    padding: 0 0 75px;
}

.rank-notice {
    display: flex;
    align-items: flex-start;

    gap: 18px;

    padding: 25px 28px;

    background: #f5f8fb;

    border: 1px solid #e0e7ee;

    border-left: 4px solid #ffd400;

    border-radius: 6px;
}

.rank-notice__icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

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

    border-radius: 50%;

    background: #ffd400;

    color: #082d59;

    font-size: 19px;
    font-weight: 900;
}

.rank-notice strong {
    display: block;

    margin-bottom: 5px;

    color: #092d59;

    font-size: 15px;
}

.rank-notice p {
    margin: 0;

    color: #6e7e90;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .rank-page__container {
        width: min(100% - 50px, 1380px);
    }

    .rank-levels {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .documents-grid {
        grid-template-columns: 1fr;
    }

    .rank-page__intro-grid {
        gap: 35px;
    }

}


@media (max-width: 800px) {

    .rank-page__container {
        width: min(100% - 32px, 650px);
    }

    .rank-page__hero {
        min-height: 260px;
    }

    .rank-page__hero h1 {
        font-size: 40px;
    }

    .rank-page__intro-grid {
        grid-template-columns: 1fr;
    }

    .rank-levels {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rank-current {
        padding: 30px;
    }

    .rank-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .rank-filter__select-wrap {
        width: 100%;
    }

}


@media (max-width: 560px) {

    .rank-page__container {
        width: calc(100% - 26px);
    }

    .rank-page__hero {
        min-height: 230px;
    }

    .rank-page__hero h1 {
        font-size: 32px;
    }

    .rank-page__breadcrumbs {
        font-size: 12px;
        gap: 7px;
    }

    .rank-page__section-heading h2 {
        font-size: 25px;
    }

    .rank-page__intro {
        padding: 48px 0;
    }

    .rank-levels {
        grid-template-columns: 1fr;
    }

    .rank-level {
        min-height: 82px;
    }

    .rank-current {
        padding: 25px 22px;
    }

    .rank-current__header {
        align-items: flex-start;
    }

    .rank-current h2 {
        font-size: 21px;
    }

    .rank-current__badge {
        flex-basis: 70px;
        width: 70px;
        height: 70px;
    }

    .rank-current__badge img {
        width: 70px;
        height: 70px;
    }

    .rank-filter {
        padding: 17px;
    }

    .norms-mobile-note {
        display: block;
    }

    .rank-notice {
        padding: 20px;
    }

}

/* =========================================================
   DOCUMENTS PAGE
========================================================= */

.documents-page {
    background: #fff;
    color: #09284d;
}


/* =========================================================
   HERO
========================================================= */

.page-hero--documents {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    background: #031b35;
}

.page-hero--documents .page-hero__bg {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(2, 24, 48, .98) 0%,
            rgba(2, 24, 48, .88) 28%,
            rgba(2, 24, 48, .48) 58%,
            rgba(2, 24, 48, .22) 100%
        ),
        url("/assets/images/hero/documents.jpg")
        bottom center / cover no-repeat;
}

.page-hero--documents .container {
    position: relative;
    z-index: 2;
    height: 100%;
}

.page-hero--documents .page-hero__content {
    min-height: 230px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-top: 45px;
}

.page-hero--documents .page-hero__line {
    display: block;

    width: 54px;
    height: 4px;

    margin-bottom: 22px;

    background: #ffd500;
}

.page-hero--documents h1 {
    margin: 0 0 24px;

    font-family: "Roboto Condensed", sans-serif;
    font-size: clamp(48px, 5vw, 72px);
    font-weight: 800;
    line-height: .95;

    text-transform: uppercase;
    color: #fff;
}

.page-hero--documents .page-hero__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 14px;

    font-size: 16px;
    font-weight: 500;
}

.page-hero--documents .page-hero__breadcrumbs a {
    color: rgba(255,255,255,.78);
    text-decoration: none;
}

.page-hero--documents .page-hero__breadcrumbs span {
    color: #ffd500;
    font-size: 22px;
}

.page-hero--documents .page-hero__breadcrumbs span:last-child {
    color: #fff;
}


/* =========================================================
   MAIN SECTION
========================================================= */

.documents-section {
    padding: 68px 0 90px;
}

.documents-section .container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 30px;
}


/* =========================================================
   HEADING
========================================================= */

.section-heading {
    margin-bottom: 34px;
}

.section-heading h2 {
    margin: 0;

    font-family: "Roboto Condensed", sans-serif;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 800;

    color: #09284d;
    text-transform: uppercase;
}

.section-heading > span {
    display: block;

    width: 55px;
    height: 4px;

    margin-top: 14px;

    background: #ffd500;
}

.section-heading p {
    max-width: 700px;

    margin: 18px 0 0;

    font-size: 16px;
    line-height: 1.65;
    color: #65748a;
}


/* =========================================================
   FILTER
========================================================= */

.documents-filter {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 30px;

    padding-bottom: 20px;

    border-bottom: 1px solid #e7ebf0;
}

.documents-filter__item {
    appearance: none;

    min-height: 46px;

    padding: 0 20px;

    border: 1px solid transparent;
    border-radius: 3px;

    background: transparent;

    color: #173b64;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

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

.documents-filter__item:hover {
    background: #f3f6fa;
}

.documents-filter__item.active {
    background: #06284d;
    color: #fff;
}

.documents-filter__item:active {
    transform: translateY(1px);
}


/* =========================================================
   DOCUMENT LIST
========================================================= */

.documents-list {
    display: flex;
    flex-direction: column;

    border: 1px solid #e4e9ef;
    border-radius: 5px;

    overflow: hidden;

    background: #fff;

    box-shadow: 0 7px 28px rgba(10, 40, 70, .045);
}


/* =========================================================
   DOCUMENT CARD
========================================================= */

.document-card {
    position: relative;

    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    align-items: center;

    gap: 28px;

    min-height: 190px;

    padding: 28px 32px;

    border-bottom: 1px solid #e6ebf0;

    background: #fff;

    transition:
        background .25s ease,
        box-shadow .25s ease;
}

.document-card:last-child {
    border-bottom: 0;
}

.document-card:hover {
    background: #fbfcfd;

    box-shadow:
        inset 4px 0 0 #ffd500;
}


/* =========================================================
   ICON
========================================================= */

.document-card__icon {
    width: 62px;
    height: 72px;

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

.document-card__icon svg {
    width: 58px;
    height: 68px;

    fill: none;
    stroke: #0c4d8c;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.document-card__icon--shield svg {
    stroke: #09284d;
}


/* =========================================================
   CONTENT
========================================================= */

.document-card__content {
    min-width: 0;
}

.document-card__category {
    display: inline-block;

    margin-bottom: 7px;

    color: #1763a9;

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

    text-transform: uppercase;
}

.document-card h3 {
    margin: 0;

    max-width: 760px;

    color: #09284d;

    font-family: "Roboto Condensed", sans-serif;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;

    text-transform: uppercase;
}

.document-card p {
    max-width: 760px;

    margin: 9px 0 14px;

    color: #64758a;

    font-size: 14px;
    line-height: 1.55;
}

.document-card__meta {
    display: flex;
    align-items: center;
    gap: 18px;

    color: #8995a5;

    font-size: 12px;
    font-weight: 600;
}

.document-card__meta span:last-child {
    color: #1763a9;
    font-weight: 800;
}


/* =========================================================
   BUTTON
========================================================= */

.document-card__button {
    min-width: 160px;
    height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    padding: 0 18px;

    background: #06284d;
    border: 1px solid #06284d;

    color: #fff;

    text-decoration: none;

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

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

.document-card__button svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: #ffd500;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform .2s ease;
}

.document-card__button:hover {
    background: #ffd500;
    border-color: #ffd500;
    color: #09284d;
}

.document-card__button:hover svg {
    stroke: #09284d;
    transform: translateX(4px);
}


/* =========================================================
   INFO BLOCK
========================================================= */

.documents-info {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;

    gap: 24px;

    margin-top: 38px;
    padding: 28px 32px;

    border: 1px solid #dfe6ed;

    background:
        linear-gradient(
            90deg,
            #f8fafc 0%,
            #fff 100%
        );
}

.documents-info__icon {
    width: 58px;
    height: 58px;

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

    border-radius: 50%;

    background: #eaf2fa;
}

.documents-info__icon svg {
    width: 30px;
    height: 30px;

    fill: none;
    stroke: #14599a;
    stroke-width: 2.2;
    stroke-linecap: round;
}

.documents-info h3 {
    margin: 0 0 6px;

    font-family: "Roboto Condensed", sans-serif;
    font-size: 18px;
    font-weight: 800;

    color: #09284d;
}

.documents-info p {
    margin: 0;

    color: #69788a;

    font-size: 14px;
    line-height: 1.5;
}

.documents-info__button {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    min-height: 46px;

    padding: 0 23px;

    background: #ffd500;

    color: #09284d;

    text-decoration: none;

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

    transition:
        background .2s ease,
        transform .2s ease;
}

.documents-info__button span {
    font-size: 18px;
}

.documents-info__button:hover {
    background: #f2c900;
    transform: translateY(-2px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .document-card {
        grid-template-columns: 62px minmax(0, 1fr);

        gap: 20px;
    }

    .document-card__button {
        grid-column: 2;

        justify-self: start;
    }

    .documents-info {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .documents-info__button {
        grid-column: 2;
        justify-self: start;
    }

}


@media (max-width: 700px) {

    .page-hero--documents,
    .page-hero--documents .page-hero__content {
        min-height: 320px;
    }

    .page-hero--documents h1 {
        font-size: 42px;
    }

    .documents-section {
        padding: 45px 0 60px;
    }

    .documents-section .container {
        padding: 0 18px;
    }

    .section-heading h2 {
        font-size: 27px;
    }

    .documents-filter {
        gap: 6px;
    }

    .documents-filter__item {
        min-height: 40px;
        padding: 0 13px;
        font-size: 12px;
    }

    .document-card {
        grid-template-columns: 1fr;

        gap: 14px;

        padding: 24px 20px;
    }

    .document-card__icon {
        width: 48px;
        height: 58px;
    }

    .document-card__icon svg {
        width: 46px;
        height: 54px;
    }

    .document-card h3 {
        font-size: 19px;
    }

    .document-card p {
        font-size: 13px;
    }

    .document-card__button {
        grid-column: auto;

        width: 100%;
    }

    .documents-info {
        grid-template-columns: 1fr;

        gap: 15px;

        padding: 24px 20px;
    }

    .documents-info__button {
        grid-column: auto;
        width: 100%;
    }

}

/* =========================================================
   NEWS PAGE
========================================================= */

.news-page {
    background: #ffffff;
    color: #09244a;
}


/* =========================================================
   CONTAINER
========================================================= */

.news-page .container {
    width: min(100% - 40px, 1380px);
    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.news-page__hero {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #031a35;
}

.news-page__hero-bg {
    position: absolute;
    inset: 0;

    background-image: url("/assets/images/hero/news.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    z-index: 0;
}

.news-page__hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(2, 22, 46, .98) 0%,
            rgba(2, 22, 46, .90) 28%,
            rgba(2, 22, 46, .55) 53%,
            rgba(2, 22, 46, .20) 100%
        );

    z-index: 1;
}

.news-page__hero-content {
    position: relative;
    z-index: 2;

    padding: 70px 0 55px;
}

.news-page__hero-line {
    display: block;

    width: 54px;
    height: 4px;

    margin-bottom: 24px;

    background: #ffd200;
}

.news-page__hero h1 {
    margin: 0 0 25px;

    color: #ffffff;

    font-size: clamp(46px, 5vw, 70px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.news-page__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 12px;

    color: rgba(255,255,255,.8);

    font-size: 15px;
    font-weight: 500;
}

.news-page__breadcrumbs a {
    color: #ffffff;
    text-decoration: none;
    transition: color .2s ease;
}

.news-page__breadcrumbs a:hover {
    color: #ffd200;
}

.news-page__breadcrumbs span:nth-child(2) {
    color: #ffd200;
    font-size: 22px;
}


/* =========================================================
   CONTENT
========================================================= */

.news-page__content {
    padding: 65px 0 85px;
}

.news-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 45px;
    align-items: start;
}


/* =========================================================
   MAIN TOP
========================================================= */

.news-page__top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 25px;

    margin-bottom: 28px;
}

.section-title {
    margin: 0;

    color: #09244a;

    font-size: 24px;
    line-height: 1.15;
    font-weight: 800;

    text-transform: uppercase;
}

.section-title__line {
    display: block;

    width: 36px;
    height: 3px;

    margin-top: 13px;

    background: #ffd200;
}


/* =========================================================
   CONTROLS
========================================================= */

.news-page__controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.news-page__select {
    width: 170px;
    height: 42px;

    padding: 0 38px 0 14px;

    border: 1px solid #dce3eb;
    border-radius: 6px;

    background-color: #ffffff;
    color: #17345a;

    font-family: inherit;
    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    outline: none;

    appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, #17345a 50%),
        linear-gradient(135deg, #17345a 50%, transparent 50%);

    background-position:
        calc(100% - 16px) 17px,
        calc(100% - 12px) 17px;

    background-size:
        4px 4px,
        4px 4px;

    background-repeat: no-repeat;
}

.news-page__select:focus {
    border-color: #0b5fba;
}


.news-view-btn {
    width: 42px;
    height: 42px;

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

    border: 1px solid #dce3eb;
    border-radius: 5px;

    background: #ffffff;

    cursor: pointer;

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

.news-view-btn svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: #17345a;
    stroke-width: 1.7;

    transition: stroke .2s ease;
}

.news-view-btn.is-active {
    border-color: #09244a;
    background: #09244a;
}

.news-view-btn.is-active svg {
    stroke: #ffffff;
}


/* =========================================================
   NEWS GRID
========================================================= */

.news-grid {
    display: grid;

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

    gap: 20px;
}


/* =========================================================
   NEWS CARD
========================================================= */

.news-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    background: #ffffff;

    border: 1px solid #e3e8ee;
    border-radius: 5px;

    overflow: hidden;

    box-shadow:
        0 2px 8px rgba(5, 34, 66, .045);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.news-card:hover {
    transform: translateY(-4px);

    border-color: #d6dee8;

    box-shadow:
        0 12px 30px rgba(5, 34, 66, .10);
}


/* =========================================================
   CARD IMAGE
========================================================= */

.news-card__image {
    position: relative;

    display: block;

    height: 178px;

    overflow: hidden;

    background: #dce5ee;
}

.news-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .45s ease;
}

.news-card:hover .news-card__image img {
    transform: scale(1.045);
}


/* =========================================================
   CATEGORY
========================================================= */

.news-card__category {
    position: absolute;

    left: 0;
    bottom: 0;

    padding: 6px 10px;

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

    font-weight: 800;

    color: #ffffff;

    text-transform: uppercase;
}

.news-card__category--yellow {
    background: #f3c900;
    color: #09244a;
}

.news-card__category--blue {
    background: #0865be;
}

.news-card__category--green {
    background: #269b55;
}


/* =========================================================
   CARD BODY
========================================================= */

.news-card__body {
    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 17px 17px 14px;
}

.news-card__date {
    display: block;

    margin-bottom: 9px;

    color: #8a9bad;

    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
}

.news-card h3 {
    margin: 0 0 10px;

    font-size: 15px;
    line-height: 1.28;
    font-weight: 800;
}

.news-card h3 a {
    color: #09244a;
    text-decoration: none;

    transition: color .2s ease;
}

.news-card h3 a:hover {
    color: #0865be;
}

.news-card p {
    margin: 0;

    color: #64758a;

    font-size: 11px;
    line-height: 1.6;
}

.news-card__arrow {
    display: flex;
    align-items: center;

    margin-top: auto;
    padding-top: 13px;

    color: #d8b500;

    text-decoration: none;

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

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

.news-card:hover .news-card__arrow {
    transform: translateX(4px);
    color: #09244a;
}


/* =========================================================
   SIDEBAR
========================================================= */

.news-sidebar {
    min-width: 0;
}

.news-sidebar__block {
    margin-bottom: 48px;
}

.news-sidebar .section-title {
    font-size: 22px;
}


/* =========================================================
   CATEGORIES
========================================================= */

.news-categories {
    margin-top: 20px;
}

.news-category-row {
    display: grid;

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

    align-items: center;

    min-height: 43px;

    gap: 10px;

    color: #17345a;

    text-decoration: none;

    border-bottom: 1px solid #edf0f3;

    transition: color .2s ease;
}

.news-category-row:last-child {
    border-bottom: 0;
}

.news-category-row:hover {
    color: #0865be;
}

.news-category-row__icon {
    width: 24px;
    height: 24px;

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

    color: #123d6b;

    font-size: 17px;
}

.news-category-row__icon svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.news-category-row > span:nth-child(2) {
    font-size: 12px;
    font-weight: 600;
}

.news-category-row b {
    min-width: 28px;

    padding: 4px 7px;

    border-radius: 12px;

    background: #eef2f6;

    color: #64758a;

    font-size: 9px;
    font-weight: 700;

    text-align: center;
}


/* =========================================================
   POPULAR NEWS
========================================================= */

.popular-news {
    display: flex;
    flex-direction: column;

    margin-top: 20px;
}

.popular-news__item {
    display: grid;

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

    gap: 12px;

    padding: 12px 0;

    border-bottom: 1px solid #e8edf2;

    text-decoration: none;
}

.popular-news__item:first-child {
    padding-top: 0;
}

.popular-news__item img {
    width: 72px;
    height: 58px;

    display: block;

    object-fit: cover;

    border-radius: 3px;
}

.popular-news__item h3 {
    margin: 0 0 6px;

    color: #17345a;

    font-size: 10px;
    line-height: 1.35;
    font-weight: 800;

    transition: color .2s ease;
}

.popular-news__item:hover h3 {
    color: #0865be;
}

.popular-news__item time {
    color: #96a4b3;

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


.news-sidebar__all {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    margin-top: 18px;
    padding: 12px 15px;

    border: 1px solid #4c83b8;

    color: #145b9e;

    font-size: 10px;
    font-weight: 800;

    text-decoration: none;

    transition:
        background .2s ease,
        color .2s ease;
}

.news-sidebar__all span {
    color: #d9b700;
    font-size: 16px;
}

.news-sidebar__all:hover {
    background: #09244a;
    color: #ffffff;
}


/* =========================================================
   NEWSLETTER
========================================================= */

.news-sidebar__newsletter {
    padding: 27px 24px 25px;

    background: #f5f7f9;

    border-radius: 5px;
}

.news-sidebar__newsletter h2 {
    margin: 0 0 13px;

    color: #09244a;

    font-size: 20px;
    line-height: 1.15;
    font-weight: 800;
}

.news-sidebar__newsletter p {
    margin: 0 0 18px;

    color: #687b90;

    font-size: 11px;
    line-height: 1.55;
}

.news-sidebar__newsletter form {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.news-sidebar__newsletter input {
    width: 100%;
    height: 39px;

    padding: 0 13px;

    border: 1px solid #dbe2e9;
    border-radius: 3px;

    background: #ffffff;

    color: #17345a;

    font-family: inherit;
    font-size: 11px;

    outline: none;
}

.news-sidebar__newsletter input::placeholder {
    color: #9aa8b6;
}

.news-sidebar__newsletter input:focus {
    border-color: #1765a7;
}

.news-sidebar__newsletter button {
    width: 100%;
    height: 39px;

    border: 0;
    border-radius: 2px;

    background: #ffd000;

    color: #09244a;

    font-family: inherit;
    font-size: 10px;
    font-weight: 800;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.news-sidebar__newsletter button:hover {
    background: #f0c000;
    transform: translateY(-1px);
}


/* =========================================================
   PAGINATION
========================================================= */

.news-pagination {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 5px;

    margin-top: 36px;
}

.news-pagination a,
.news-pagination span {
    width: 34px;
    height: 34px;

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

    border: 1px solid #dce3eb;
    border-radius: 3px;

    color: #17345a;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    background: #ffffff;

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

.news-pagination a:hover {
    border-color: #09244a;
    color: #09244a;
}

.news-pagination a.is-active {
    border-color: #09244a;
    background: #09244a;
    color: #ffffff;
}

.news-pagination span {
    border: 0;
}


/* =========================================================
   RESPONSIVE — 1200
========================================================= */

@media (max-width: 1200px) {

    .news-page__layout {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 30px;
    }

    .news-grid {
        gap: 15px;
    }

    .news-card__image {
        height: 155px;
    }

    .news-card__body {
        padding: 15px;
    }

    .news-card h3 {
        font-size: 14px;
    }

}


/* =========================================================
   RESPONSIVE — 1000
========================================================= */

@media (max-width: 1000px) {

    .news-page__layout {
        grid-template-columns: 1fr;
    }

    .news-sidebar {
        display: grid;

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

        gap: 30px;
    }

    .news-sidebar__block {
        margin-bottom: 0;
    }

    .news-sidebar__newsletter {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   RESPONSIVE — 760
========================================================= */

@media (max-width: 760px) {

    .news-page .container {
        width: min(100% - 30px, 1380px);
    }

    .news-page__hero {
        min-height: 300px;
    }

    .news-page__hero-content {
        padding: 55px 0 45px;
    }

    .news-page__hero h1 {
        font-size: 44px;
    }

    .news-page__content {
        padding: 45px 0 60px;
    }

    .news-page__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .news-page__controls {
        width: 100%;
    }

    .news-page__select {
        flex: 1;
    }

    .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-card__image {
        height: 165px;
    }

    .news-sidebar {
        grid-template-columns: 1fr;
    }

    .news-sidebar__newsletter {
        grid-column: auto;
    }

}


/* =========================================================
   RESPONSIVE — 520
========================================================= */

@media (max-width: 520px) {

    .news-page__hero {
        min-height: 260px;
    }

    .news-page__hero-content {
        padding: 45px 0 35px;
    }

    .news-page__hero-line {
        width: 42px;
        height: 3px;
        margin-bottom: 18px;
    }

    .news-page__hero h1 {
        font-size: 38px;
        margin-bottom: 18px;
    }

    .news-page__breadcrumbs {
        font-size: 12px;
    }

    .section-title {
        font-size: 21px;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card__image {
        height: 205px;
    }

    .news-card__body {
        padding: 17px;
    }

    .news-card h3 {
        font-size: 16px;
    }

    .news-card p {
        font-size: 12px;
    }

    .news-page__controls {
        flex-wrap: wrap;
    }

    .news-page__select {
        width: 100%;
        flex: none;
    }

    .news-pagination {
        gap: 3px;
    }

    .news-pagination a,
    .news-pagination span {
        width: 31px;
        height: 31px;
    }

}