/*==================================================
    HERO SLIDER
==================================================*/

.hero-slider{

    position:relative;

    width:100%;

    height:460px;

    overflow:hidden;

}


/*==================================================
    SLIDES
==================================================*/

.hero-slider .slide{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    opacity:0;

    visibility:hidden;

    transition:opacity 1.1s ease-in-out;

}


.hero-slider .slide.active{

    position:absolute;

    inset:0;

    opacity:1;

    visibility:visible;

    z-index:2;

}


/*==================================================
    HERO
==================================================*/

.hero{

    position:relative;

    width:100%;

    height:460px;

    overflow:hidden;

    border-radius:10px;

    background:linear-gradient(
        135deg,
        #0B57B7 0%,
        #08418D 55%,
        #062F69 100%
    );

}


/*==================================================
    DECORATIVE SHAPES
==================================================*/

.hero::before{

    content:"";

    position:absolute;

    top:-90px;

    right:-130px;

    width:540px;

    height:540px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    z-index:1;

}


.hero::after{

    content:"";

    position:absolute;

    bottom:-150px;

    right:170px;

    width:360px;

    height:360px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    z-index:1;

}


/*==================================================
    HERO BACKGROUND IMAGE
==================================================*/

.hero__background{

    position:absolute;

    inset:0;

    z-index:2;

    pointer-events:none;

    display:flex;

    align-items:flex-end;

    justify-content:flex-end;

    overflow:hidden;

}


.hero__background img{

    display:block;

    width:auto;

    height:115%;

    max-width:none;

    margin:0;

    object-fit:contain;

    object-position:right bottom;

    transform:none !important;

    animation:none !important;

}


/*==================================================
    HERO CONTENT
==================================================*/

.hero__content{

    position:relative;

    z-index:3;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    width:70%;

    height:100%;

    padding:55px 60px 92px;

    color:#ffffff;

}


.hero__badge{

    display:inline-block;

    margin-bottom:10px;

    color:#F5B51D;

    font-size:16px;

    font-weight:700;

    text-transform:uppercase;

}


.hero__title{

    width:100%;

    max-width:850px;

    margin:0 0 14px;

    font-size:48px;

    line-height:1.1;

    font-weight:800;

    letter-spacing:-1px;

}


.hero__description{

    width:100%;

    max-width:680px;

    margin-bottom:auto;

    font-size:17px;

    line-height:1.7;

    color:rgba(255,255,255,.92);

}


/*==================================================
    HERO BUTTONS
==================================================*/

.hero__buttons{

    display:flex;

    align-items:center;

    gap:16px;

    margin-top:auto;

}


.hero__btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:170px;

    height:56px;

    padding:0 24px;

    border-radius:8px;

    text-decoration:none;

    font-size:16px;

    font-weight:700;

    transition:.3s;

}


.hero__btn--primary{

    background:#F5B51D;

    color:#082C6C;

    box-shadow:0 12px 28px rgba(245,181,29,.35);

}


.hero__btn--secondary{

    background:#ffffff;

    color:#082C6C;

}


.hero__btn:hover{

    transform:translateY(-3px);

}


/*==================================================
    SLIDER DOTS
==================================================*/

.slider-dots{

    position:absolute;

    left:50%;

    bottom:18px;

    transform:translateX(-50%);

    display:flex;

    align-items:center;

    gap:12px;

    z-index:100;

}


.slider-dot{

    width:14px;

    height:14px;

    padding:0;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.45);

    cursor:pointer;

    transition:.3s ease;

}


.slider-dot:hover{

    background:#F5B51D;

    transform:scale(1.15);

}


.slider-dot.active{

    background:#F5B51D;

    transform:scale(1.25);

}


/*==================================================
    SLIDER ARROWS
==================================================*/

.slider-prev,
.slider-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    color:#ffffff;

    font-size:22px;

    cursor:pointer;

    z-index:100;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:all .3s ease;

    opacity:0;

    visibility:hidden;

}


.slider-prev{

    left:15px;

}


.slider-next{

    right:15px;

}


.hero-slider:hover .slider-prev,
.hero-slider:hover .slider-next{

    opacity:1;

    visibility:visible;

}


.slider-prev:hover,
.slider-next:hover{

    background:#F5B51D;

    color:#082C6C;

    transform:translateY(-50%) scale(1.08);

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:1100px){

    .hero__content{

        width:68%;

        padding:45px 40px 92px;

    }


    .hero__title{

        font-size:40px;

    }


    .hero__description{

        max-width:560px;

        font-size:16px;

    }


    .hero__background img{

        height:108%;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:768px){

    .hero-slider{

        height:620px;

        min-height:620px;

    }


    .hero-slider .slide{

        height:620px;

    }


    .hero{

        width:100%;

        height:620px;

        min-height:620px;

        border-radius:8px;

    }


    /*------------------------------------------
        MOBILE BACKGROUND IMAGE
    ------------------------------------------*/

    .hero__background{

        align-items:flex-end;

        justify-content:flex-end;

        width:100%;

        height:100%;

    }


    .hero__background img{

        width:auto;

        height:auto;

        max-width:none;

        max-height:55%;

        margin:0;

        object-fit:contain;

        object-position:right bottom;

        transform:none !important;

        animation:none !important;

    }


    /*------------------------------------------
        MOBILE CONTENT
    ------------------------------------------*/

    .hero__content{

        position:relative;

        z-index:3;

        width:100%;

        height:100%;

        min-height:100%;

        padding:40px 30px 90px;

        text-align:center;

        justify-content:flex-start;

        align-items:center;

    }


    .hero__badge{

        font-size:13px;

    }


    .hero__title{

        max-width:100%;

        font-size:34px;

        line-height:1.15;

    }


    .hero__description{

        max-width:100%;

        margin-bottom:0;

        font-size:15px;

        line-height:1.6;

    }


    /*------------------------------------------
        MOBILE BUTTONS
    ------------------------------------------*/

    .hero__buttons{

        margin-top:auto;

        margin-bottom:0;

        justify-content:center;

        flex-wrap:wrap;

        gap:10px;

    }


    .hero__btn{

        min-width:145px;

        height:48px;

        padding:0 18px;

        font-size:14px;

    }


    /*------------------------------------------
        MOBILE CONTROLS
    ------------------------------------------*/

    .slider-prev,
    .slider-next{

        width:40px;

        height:40px;

        font-size:17px;

        opacity:1;

        visibility:visible;

        z-index:10;

    }


    .slider-prev{

        left:10px;

    }


    .slider-next{

        right:10px;

    }


    .slider-dots{

        bottom:12px;

        gap:9px;

        z-index:20;

    }


    .slider-dot{

        width:10px;

        height:10px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .hero-slider{

        height:580px;

        min-height:580px;

    }


    .hero-slider .slide{

        height:580px;

    }


    .hero{

        height:580px;

        min-height:580px;

    }


    .hero__content{

        padding:35px 20px 80px;

    }


    .hero__title{

        font-size:29px;

    }


    .hero__description{

        font-size:14px;

    }


    .hero__buttons{

        flex-direction:column;

        align-items:center;

    }


    .hero__btn{

        width:100%;

        max-width:240px;

    }


    .hero__background img{

        max-height:52%;

    }

}