/*==================================================
    HERO
==================================================*/

.hero{

    display:grid;
    grid-template-columns:52% 48%;
    align-items:center;

    position:relative;

    width:100%;
    min-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);

}

.hero::after{

    content:"";

    position:absolute;

    bottom:-150px;
    right:170px;

    width:360px;
    height:360px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

}

/*==================================================
    CONTENT
==================================================*/

.hero__content{

    position:relative;
    z-index:2;

    padding:35px 60px;

    color:#ffffff;

}

.hero__badge{

    display:inline-block;

    margin-bottom:10px;

    color:#F5B51D;

    font-size:16px;
    font-weight:700;

    text-transform:uppercase;

}

.hero__title{

    margin:0 0 14px;

    font-size:48px;

    line-height:1.1;

    font-weight:800;

    letter-spacing:-1px;

}

.hero__description{

    max-width:520px;

    margin-bottom:24px;

    font-size:17px;

    line-height:1.7;

    color:rgba(255,255,255,.92);

}

/*==================================================
    BUTTONS
==================================================*/

.hero__buttons{

    display:flex;

    gap:16px;

}

.hero__btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:170px;
    height:56px;

    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);

}

/*==================================================
    IMAGE
==================================================*/

.hero__image{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:flex-end;

    align-items:center;

    height:100%;

    padding-right:10px;

}

.hero__image img{

    width:118%;

    max-width:680px;

    height:auto;

    display:block;

    transform:translateX(-35px);

    animation:heroFloat 5s ease-in-out infinite;

}

/*==================================================
    FLOAT ANIMATION
==================================================*/

@keyframes heroFloat{

    0%{

        transform:translateX(-35px) translateY(0);

    }

    50%{

        transform:translateX(-35px) translateY(-8px);

    }

    100%{

        transform:translateX(-35px) translateY(0);

    }

}

/*==================================================
    HERO SLIDER
==================================================*/

.hero-slider{

    position:relative;

    width:100%;
    height:100%;

}

.hero-slide{

    display:none;

    width:100%;
    height:100%;

}

.hero-slide.active{

    display:grid;

    grid-template-columns:52% 48%;

    align-items:center;

    min-height:460px;

}

/*==================================================
    CONTROLS
==================================================*/

.hero-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:46px;
    height:46px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    color:#ffffff;

    font-size:22px;

    cursor:pointer;

    transition:.3s;

    z-index:10;

}

.hero-arrow:hover{

    background:#F5B51D;

    color:#082C6C;

}

.hero-arrow--prev{

    left:18px;

}

.hero-arrow--next{

    right:18px;

}

/*==================================================
    DOTS
==================================================*/

.hero-dots{

    position:absolute;

    left:50%;

    bottom:20px;

    transform:translateX(-50%);

    display:flex;

    gap:10px;

}

.hero-dot{

    width:12px;

    height:12px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.45);

    cursor:pointer;

}

.hero-dot.active{

    background:#F5B51D;

}