/*
=========================================
LASP HERO
home-hero.css
=========================================
*/

.hero{
    position:relative;
    width:100%;
    height:calc(100vh - 86px);
    min-height:720px;
    overflow:hidden;
    background:#111;
}

.hero-slider{
    position:relative;
    width:100%;
    height:100%;
}

.hero-slide{
    position:absolute;
    inset:0;

    opacity:0;
    visibility:hidden;

    transition:
        opacity 1.8s ease-in-out,
        visibility 1.8s ease;

    z-index:1;

    pointer-events:none;
}

.hero-slide.active{

    opacity:1;
    visibility:visible;

    z-index:2;

    pointer-events:auto;
}

.hero-bg{

    position:absolute;
    inset:0;

    background-size:cover;
    background-position:center;

    transform:scale(1.08);

    transition:
        transform 7s ease-out,
        opacity 2s ease;
}

.hero-slide.active .hero-bg{

    transform:scale(1);

}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.55) 0%,
            rgba(0,0,0,.32) 35%,
            rgba(0,0,0,.12) 65%,
            rgba(0,0,0,.08) 100%
        );
}

.hero-inner{
    position:relative;
    z-index:5;
    max-width:1480px;
    margin:0 auto;
    height:100%;
    display:flex;
    align-items:center;
    padding:0 60px;
}

.hero-content{
    max-width:900px;
}

.hero-content{

    opacity:0;

    transform:translateY(40px);

    transition:

        opacity .9s ease,

        transform .9s ease;

    transition-delay:.35s;
}

.hero-slide.active .hero-content{

    opacity:1;

    transform:translateY(0);
}

.hero-title{

    margin:0;

    color:#ffffff;

    font-size:68px;

    font-weight:300;

    line-height:1.12;

    letter-spacing:-1px;

    font-family:
        "Helvetica Neue",
        Helvetica,
        Arial,
        sans-serif;
}

.hero-subtitle{

    margin-top:42px;

    display:flex;

    align-items:center;

    gap:18px;

    color:#ffffff;

    opacity:.92;

    font-size:18px;

    font-weight:300;

    text-transform:uppercase;

    letter-spacing:2px;
}

.hero-line{

    width:1px;

    height:58px;

    background:#ffffff;

    flex-shrink:0;

    opacity:.85;
}

.hero-btn{

    margin-top:54px;

    width:330px;

    height:62px;

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

    color:#ffffff;

    text-decoration:none;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:16px;

    font-size:15px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.8px;

    transition:.3s;
}

.hero-btn svg{

    transition:.3s;
}

.hero-btn:hover{

    background:#ffffff;

    color:#111111;
}

.hero-btn:hover svg{

    transform:translateX(6px);
}

.hero-pagination{

    position:absolute;

    left:50%;

    bottom:34px;

    transform:translateX(-50%);

    display:flex;

    gap:12px;

    z-index:20;
}

.hero-dot{

    width:42px;

    height:4px;

    border:none;

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

    cursor:pointer;

    transition:.3s;

    padding:0;
}

.hero-dot.active{

    background:#ffffff;
}

.hero-dot:hover{

    background:#ffffff;
}

@media(max-width:1200px){

    .hero-title{

        font-size:58px;
    }

}

@media(max-width:992px){

    .hero{

        min-height:620px;
    }

    .hero-inner{

        padding:0 40px;
    }

    .hero-title{

        font-size:48px;
    }

    .hero-btn{

        width:290px;
    }

}

@media(max-width:768px){

    .hero{

        height:85vh;

        min-height:560px;
    }

    .hero-inner{

        padding:0 24px;
    }

    .hero-content{

        max-width:100%;
    }

    .hero-title{

        font-size:38px;

        line-height:1.18;
    }

    .hero-subtitle{

        margin-top:28px;

        font-size:14px;

        letter-spacing:1px;

        gap:14px;
    }

    .hero-line{

        height:44px;
    }

    .hero-btn{

        margin-top:34px;

        width:100%;

        max-width:320px;

        height:56px;

        font-size:14px;
    }

    .hero-pagination{

        bottom:20px;
    }

    .hero-dot{

        width:34px;
    }

}

@media(max-width:480px){

    .hero{

        min-height:500px;
    }

    .hero-title{

        font-size:30px;
    }

    .hero-subtitle{

        font-size:12px;
    }

}