.hero{
    /* height: calc(100vh + 12px);
    max-height: 1080px; */
    overflow: hidden;
    position: relative;

    .first-sect, .solusi{
        height: 100vh;
        max-height: 1080px;
    }

    .bg-img{
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 0;
        opacity: .8;
        background-blend-mode: color-dodge;
        z-index: -1;
    }

    .bg-left{
        position: absolute;
        height: 100%;
        left: 0;
        top: 0;
        opacity: .3;
        background-blend-mode: soft-light;
        z-index: -1;
    }

    h1{
        font-family: 'Lexend';
        font-weight: 700;
        font-style: Bold;
        font-size: 48px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0.5px;
        vertical-align: middle;
    }

    .c-glow{
        filter: blur(80px);
        width: 900px;
        height: 900px;
        background: radial-gradient(73.79% 35.4% at 50.48% 50%, #3CB2F2 0%, rgba(0, 0, 0, 0) 50%); 
        background-blend-mode: screen;

        transform: translate(-50%, -50%);
        top: 100%;
        left: 50%;
        z-index: 1;
        opacity: .6;
    }

    .img-full{
        position: relative;
        z-index: 2;
    }

    .btn-d{
        position: absolute;
        top: 50%;
        left: 77%;
        width: 255px;
        height: auto;
        z-index: 8;
        transform: translate(-50%, 150%);
    }

    /* GSAP cards */
    .card-container {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 520px;
        width: 50%;
        flex-wrap: wrap;
        justify-content: center;
        z-index: 5;
        max-width: 1400px;
    }

    .card-move {
        width: 440px;
        height: 520px;
        background-color: #FFF;
        color: #4A4A4A;
        text-align: center;
        line-height: 100px;
        border-radius: 10px;
        flex: 0 0 calc(50% - 1rem);
        position: absolute;
        padding: 0;
        border: 1px solid #DFDFDF;

        .card-top {
            display: flex;
            gap: 16px;
            margin-bottom: 20px;
        }

        .card-desc {
            font-family: 'Lexend';
            font-weight: 400;
            font-size: 17px;
            line-height: 1.3;
            letter-spacing: 0px;
            color: #4A4A4A;
            text-align: left;
            height: 45px;
            overflow: hidden;
        }
    }

    .card-1 { 
        z-index: 2;
        left: 50%;
        transform: translate(-90%, -75%);
        scale: 0.75;
        opacity: .8;
        rotate: -5deg;
        top: 50%;
    }
    .card-2 { 
        z-index: 3; 
        left: 50%;
        top: 50%;
        transform: translate(-50%, -60%);
        scale: .9;
        overflow: visible;
    }
    .card-3 { 
        z-index: 1; 
        left: 50%;
        transform: translate(-30%, -65%);
        scale: 0.75;
        opacity: .8;
        rotate: 5deg;
        top: 50%;
    }

    .card-2 a{
        width: 440px;
        height: 520px;
        background-color: #FFF;
        color: #4A4A4A;
        text-align: center;
        line-height: 100px;
        border-radius: 10px;
        flex: 0 0 calc(50% - 1rem);
        position: absolute;
        padding: 0;
        border: 1px solid #DFDFDF;
        overflow: visible;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 4;

        img{border-radius: 10px 10px 0 0;}
    }

    .glass-bg{
        background: #FFFFFF52;
        border: 1px solid #0F8EE8;
        border-radius: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% + 40px);
        height: calc(100% + 40px);
        z-index: 2;
        backdrop-filter: blur(2px);
        transition: all .3s ease;
        scale: 1;
    }

    .card-body{
        padding: 16px 24px;
    }
}

.circle{
    position: absolute;
    border-radius: 50%;
}

.sect-desc{
    font-family: 'Lexend';
    font-weight: 400;
    font-style: Regular;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
}

.sect-head{
    font-family: 'Lexend';
    font-weight: 700;
    font-style: Bold;
    font-size: 32px;
    leading-trim: NONE;
    line-height: 1.3;
    letter-spacing: 1%;
    text-align: center;
    vertical-align: middle;
}

.c-neu-b2{
    color: #B2B2B2;
}

.c-neu-86{
    color: #868686;
}

.text-dark{
    color: #474744 !important;
}

.btn-main{
    background: linear-gradient(91.13deg, #195891 2.76%, #17436B 49.64%, #195891 96.51%);
    border: none;
    background-size: 200% 100%;
    background-position: right center;
    color: #FFF;
    box-shadow: 0px 8px 20px 0px #2283F859;
    transition: all .4s ease-in-out;
    padding: 14px 24px;
    border-radius: 40px;

    &:hover, &:active{
        background-position: left center;
        box-shadow: none;
        color: #FFF;
    }
}

.btn-red{
    background: linear-gradient(91.13deg, #F84347 2.76%, #D43B3C 49.64%, #F84347 96.51%);
    border: none;
    background-size: 200% 100%;
    background-position: right center;
    color: #FFF;
    box-shadow: 0px 6.86px 17.14px 0px #EB515166;
    transition: all .4s ease-in-out;
}

section.solusi{
    .card .card-body{
        padding: 24px;
    }
}

.list-data{
    ul{
        padding-left: 0;
        margin: 0;
    }
}

.card-link+.card-link {
    margin-left: 0;
}

.card-link a, a.card-link {
    text-decoration: none;
}

.card-link{
    background-color: #FFF;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #F2F2F2;
    text-decoration: none;
    margin: 0;
    
    .category{
        font-family: 'Lexend';
        font-weight: 400;
        font-style: Regular;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 24px;
        letter-spacing: 0%;
        color: #2B5279;
        text-decoration: none;
    }

    .card-title{
        font-family: Lexend;
        font-weight: 500;
        font-style: Medium;
        font-size: 20px;
        leading-trim: NONE;
        line-height: 30px;
        letter-spacing: 0%;
        vertical-align: middle;
        color: #333333;

        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .card-text{
        font-family: 'Lexend';
        font-weight: 300;
        font-style: Light;
        font-size: 16px;
        leading-trim: NONE;
        line-height: 24px;
        letter-spacing: 0%;
        color: #5C5C5C;

        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

.search-bar{
    gap: 0;
    border: 1px solid #F2F2F2;
    border-radius: 100px;
    background: #FFFFFF;

    .form-control.search-input{
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 16px 24px;

        &::placeholder{
            color: #A9AAB5;
            font-family: 'Lexend';
            font-weight: 400;
            font-style: Regular;
            font-size: 16px;
            leading-trim: NONE;
            line-height: 24px;
            letter-spacing: 0%;
        }
    }

    .search-icon{
        width: 16px;
        height: auto;
    }

    .form-control:focus{
        box-shadow: none;
    }

    .btn-search:active{
        border: none;
        border-color: transparent;
    }
}

.search-bar.active{
    border: 1px solid #2B5279;
}

.category-list{
    background-color: #FFF;
    border-radius: 14px;
    border: 1px solid #F2F2F2;
    padding: 24px;
    position: sticky;
    top: 100px;
    height: fit-content;

    #resetBtn{
        color: #F16568;
        font-weight: 600;
        cursor: pointer;
        opacity: 0;

        &:hover{
            text-decoration: underline;
        }
    }


    #categoryForm{
        gap: 16px;

        .form-check{
            border-bottom: 1px solid #F2F2F2;
            padding-bottom: 16px;
        }

        .form-check:last-child{
            border-bottom: none;
            padding-bottom: 0;
        }

        .form-check-input{
            width: 24px;
            height: 24px;
            cursor: pointer;
            border-radius: 6px;

            &:checked{
                background-color: #2B5279;
                border-color: #2B5279;
            }
        }

        .form-check-reverse{
            text-align: left
        }

        .form-check-label{
            font-family: 'Lexend';
            font-weight: 300;
            font-style: Light;
            font-size: 16px;
            leading-trim: NONE;
            line-height: 24px;
            letter-spacing: 0%;
            color: #5C5C5C;
        }
    }
}

.form-check-input:focus {
    box-shadow: none;
}

#categoryForm input[type="checkbox"]:not(.user-touched){
    border-color: #E3ECEF !important;
    border-width: 2px;
}

.pagination-list button.page-btn {
    background: transparent;
    border: none;
    color: #94B1D0;
    font-size: 16px;
    line-height: 2;
    border-radius: 8px;
    transition: .3s;
    height: 40px;
}

.pagination-list button.page-btn:hover:not(:disabled):not(.active) {
    background: rgba(30,58,138,0.08);
}

.pagination-list button.page-btn.active {
    background: #2B5279;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.fa-angle-left{
    background-color: #2B5279;
    mask-image: url(/assets/images/angle-left-solid.svg);
    background-size: contain;
    width: 10px;
    height: 16px;
    display: inline-block;
    background-image: unset;
    transition: all .3s ease;
}

.fa-angle-right{
    background-color: #2B5279;
    mask-image: url(/assets/images/angle-right-solid.svg);
    background-size: contain;
    width: 10px;
    height: 16px;
    display: inline-block;
    background-image: unset;
    transition: all .3s ease;
}

.banner{padding-bottom: 6rem;}

.banner-container{
    background: linear-gradient(0deg, #002F5D, #002F5D),
linear-gradient(90deg, #061E38 0%, #0E295D 36.5%, #0A3077 73.01%, #061E38 100%);
    background-image: url("./assets/last/Container.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 24px;
    padding: 85px 77px;

    .form-solid{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        z-index: 1;
    }

    .form-short{
        z-index: 2;
        position: relative;
        background-color: #FFF;
        border-radius: 10px;
        padding: 24px;
        box-shadow: 0px 4px 24px 4px #056ACC29;

        form{gap: 16px;}
    }

    .glass-bg{
        background: #FFFFFF66;
        border: 1px solid #0F8EE8;
        border-radius: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% + 40px);
        height: calc(100% + 40px);
        z-index: 1;
        backdrop-filter: blur(6px);
    }

    h3{
        font-family: 'Lexend';
        font-weight: 600;
        font-style: SemiBold;
        font-size: 24px;
        leading-trim: NONE;
        line-height: 130%;
        letter-spacing: 0%;
        text-align: center;
        color: #0C304E;
    }

    .lead-form-main{
        .btn-form-submit {
            background-color: unset;
            background: linear-gradient(92.18deg, #17436B 0.04%, #1E5F96 48.15%, #17436B 98.53%);
            color: white;
            border: none;
            padding: 14px 24px;
            border-radius: 8px;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
            text-align: center;
            font-family: 'Lexend';

            &:hover{
                background-color: #e63a30;
            }
        }
    }
}

.dropdown-toggle{
    padding: 16px 24px;
    border-radius: 32px;
}

.dropdown-menu{
    border: 2px solid #F2F2F2;
    max-height: 260px;
    overflow-y: auto;
    padding: 10px;
    top: 10px !important;
    border-radius: 8px;

    scrollbar-width: thin;
    scrollbar-color: #0E2F69 #FFF;
    ::-webkit-scrollbar-thumb{background-color: #0E2F69;}
    ::-webkit-scrollbar-track{background-color: #FFF;}

    .dropdown-item{
        color: #9C9C9C;
        padding: 10px 14px;
        border-radius: 5px;
    }

    .dropdown-item.active, .dropdown-item:active{
        background-color: #B8CCE0;
        color: #2B5279;
    }
}

.grad-text-rainbow{
    background: linear-gradient(91.02deg, #002F5D -10.59%, #2286FF 43.62%, #EE4345 86.61%);
    color: transparent;
    background-clip: text;
}


/* ====== RESPONSIVE ====== */
@media (max-width: 1199px) {
    .hero{
        .card-move{
            width: 350px;
            height: 440px;
        }
    }
}
@media (max-width:991.5px) {
    .hero{
        .card-container{
            position: relative;
            width: 100%;
            left: 50%;
            transform: translate(-50%, 0);
        }
        .card-2, .card-2 a{
            scale: 1;
            width: 400px;
            height: 490px;
        }
        .card-1{
            transform: translate(-90%, -75%);
            scale: 0.9;
        }
        .card-3{
            transform: translate(-20%, -70%);
            scale: 0.9;
        }

        .btn-d{
            left: 50%;
            transform: translate(-50%, 0);
        }
    }
    .category-list{
        background-color: transparent;
        padding: 0 12px;
        top: 60px;
        z-index: 5;
        border: none;

        .dropdown-toggle{
            border: 1px solid #F2F2F2;
            background: radial-gradient(210.26% 210.26% at 114.6% -7.52%, #F9F9F9 0%, #FFFFFF 100%);
            color: #B2B2B2;
            justify-content: space-between;
        }

        .btn-check:checked+.btn, :not(.btn-check)+.btn:active, .btn:first-child:active, .btn.active, .btn.show{
            color: #B2B2B2;
            border: 1px solid #F2F2F2;
            box-shadow: none;
            background-color: unset;
            background: radial-gradient(210.26% 210.26% at 114.6% -7.52%, #F9F9F9 0%, #FFFFFF 100%);
        }
        .btn-check:focus+.btn, :not(.btn-check)+.btn:focus, .btn:focus-visible{
            box-shadow: none;
        }
    }

    .banner{
        padding-bottom: 0;
        background: linear-gradient(0deg, #002F5D, #002F5D), linear-gradient(90deg, #061E38 0%, #0E295D 36.5%, #0A3077 73.01%, #061E38 100%);
        background-image: url(./assets/last/Container.webp);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .banner-container{
        padding: 24px 16px 60px;
        border-radius: 0;
        background: none;

        .glass-bg{
            width: calc(100% + 20px);
            height: calc(100% + 20px);
            border-radius: 16px;
        }

        .form-solid{
            margin-top: 24px;
            position: relative;
            top: unset;
            left: unset;
            transform: unset;
            width: calc(100% - 20px);
            margin-left: auto;
            margin-right: auto;
        }
    }
}

@media (max-width: 767px) {
    .hero{
        h1{font-size: 24px;}
        .col-12{margin-top: 60px;}

        .card-2, .card-2 a{
            scale: 1;
            width: 300px;
            height: 400px;
        }
        .glass-bg{
            width: calc(100% + 30px);
            height: calc(100% + 30px);
        }
        .card-3 {
            transform: translate(-55%, -72%);
            scale: 0.8;
            opacity: .5;
        }
        .card-1 {
            transform: translate(-70%, -80%);
            scale: 0.8;
            opacity: .5;
        }
    }
    .sect-head{font-size: 20px;}
    .sect-desc{font-size: 16px;}
}

@media (max-width: 400px) {
    .hero{
        .grad-mobile{
            background: linear-gradient(180deg, rgba(10, 29, 57, 0) 10%, rgba(10, 29, 57, 1) 90%);
            position: absolute;
            bottom: 0;
            height: 40vh;
            width: 100%;
            z-index: 10;
        }
    }
}

@media (max-width: 375px) {
    .card-container{display: none;}
}