*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;
    background:#edf4ff;
}

/*========================
        NAVBAR
=========================*/

.header{
    position: fixed;
    top: 25px;
    left: 0;
    width: 100%;
    z-index: 999;
}

.navbar{
    position: relative;
    width:90%;
    max-width:1400px;
    margin:auto;
    height:88px;

    display:flex;
    align-items:center;

    padding:0 40px;

    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    border-radius:22px;
    box-shadow:
        0 20px 50px rgba(0,0,0,.08),
        0 5px 15px rgba(0,0,0,.05);
}

/* Logo */

.logo img{

    height:40px;
}

/* Menu */

.nav-menu{
    position:absolute;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    gap:45px;
    list-style:none;
}

.nav-menu a{

    text-decoration:none;

    color:#5f6677;

    font-weight:500;

    transition:.3s;
}

.nav-menu a:hover{

    color:#2b63ff;
}

.nav-menu > li > a.active{
    color:#2b63ff;
    font-weight:600;
    position:relative;
}

.nav-menu > li > a.active::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:100%;
    height:3px;
    background:#2b63ff;
    border-radius:50px;
}

/* Button */

.btn-contact{

    text-decoration:none;

    background:#2b63ff;

    color:#fff;

    padding:15px 28px;

    border-radius:14px;

    font-weight:600;

    transition:.3s;

    box-shadow:

        0 12px 25px rgba(43,99,255,.35);
}

.btn-contact:hover{

    transform:translateY(-3px);

    background:#1d54ee;
}

/*dropdown*/

.dropdown{

    position:relative;

}

.dropdown-menu{

    position:absolute;

    top:calc(100% + 18px);

    left:0;

    width:220px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.3s;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.dropdown-menu li{

    position:relative;

}

.dropdown-menu a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 22px;

    color:#5f6677;

    text-decoration:none;

    transition:.3s;

}

.dropdown-menu a:hover{

    background:#f4f7ff;

    color:#2b63ff;

}

.dropdown-menu span{

    font-size:18px;

    color:#9aa5b1;

}

.submenu{

    position:relative;

}

.submenu-menu{

    position:absolute;

    top:0;

    left:100%;

    width:220px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transform:translateX(10px);

    transition:.3s;

}

.submenu:hover .submenu-menu{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}

/*==================================
CITY HERO
===================================*/

.city-hero{

    width:100%;
    padding:130px 80px 90px;
    height: 400px;
    

    background:
    radial-gradient(circle at top right,
    rgba(255,255,255,.35),
    transparent 35%),

    linear-gradient(
    90deg,
    rgba(20,35,130,.95),
    rgba(55,90,255,.78));

    overflow:hidden;

    position:relative;
}

/* dekorasi */

.city-hero::before{

    content:"";

    width:420px;
    height:420px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.35);

    position:absolute;

    right:-140px;
    top:-100px;

}

.city-hero::after{

    content:"";

    width:500px;
    height:150px;

    background:#ffffff35;

    filter:blur(80px);

    position:absolute;

    left:120px;
    bottom:-80px;

}

/*===========================*/

.city-content{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;

    position:relative;
    z-index:2;

}

/*===========================*/

.city-text{

    max-width:520px;

}

.city-text .line{

    width:60px;
    height:5px;

    border-radius:20px;

    background:#ffffff;

    display:block;

    margin-bottom:28px;

}

.city-text h1{

    font-size:32px;
    font-weight:700;

    color:#ffffff;

    margin-bottom:18px;

}

.city-text p{

    font-size:18px;
    line-height:1.7;

    color:#ffffff;

}

/*===========================*/

.city-image img{

    width:440px;
    max-width:100%;

    transform: translateY(-10px);
}

/*==================================
FEATURES
===================================*/

.city-feature{

    margin-top:0px;
    margin-bottom:0px;
    display:grid;
    background: #F8FAFF;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,300px));

    justify-content:center;

    gap:24px;

}

/*===========================*/

.feature-card{
    background:#fff;
    margin-top:20px;
    width:100%;
    height:110px;

    padding:16px 18px;

    border-radius:20px;

    display:flex;
    align-items:center;
    gap:16px;

    box-shadow:0 8px 25px rgba(34,64,146,.08);

    transition:.3s;
}

.feature-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.12);

}

/*===========================*/

.icon{

    width:48px;
    height:48px;

    font-size:20px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

}

.blue{

    background:#EAF2FF;
    color:#2E6BFF;

}

.green{

    background:#E8FAEF;
    color:#1FA971;

}

.purple{

    background:#F4ECFF;
    color:#8452FF;

}

.cyan{

    background:#EAF8FF;
    color:#29A8FF;

}

/*===========================*/

.feature-card h4{

    font-size:16px;
    margin-bottom:4px;

}

.feature-card p{

    font-size:12px;
    line-height:1.5;

}

/*==================================================
PROPERTY SECTION
==================================================*/

.property-section{

    width:100%;

    padding:30px 0;

    background:
    linear-gradient(to bottom, #F8FAFF, #aacfff),
    radial-gradient(circle at top right,
    rgba(57,112,255,.08),
    transparent 35%),

    linear-gradient(to bottom,
    #ffffff,
    #f8fbff);

}

.property-section .container{

    max-width:1320px;

}

.container{
    max-width:1320px;
    margin:auto;
    padding:0 20px;

}

/*==================================================
PROPERTY HEADER
==================================================*/

.property-header{

    text-align:center;

    margin-bottom:60px;

}

.property-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 18px;

    border-radius:50px;

    background:#edf4ff;

    color:#2E6BFF;

    font-size:14px;

    font-weight:600;

    margin-bottom:18px;

}

.property-header h2{

    font-size:42px;

    font-weight:700;

    color:#1D2B53;

    margin-bottom:15px;

}

.property-header p{

    max-width:650px;

    margin:auto;

    color:#717C97;

    line-height:1.8;

    font-size:17px;

}

/*==================================================
GRID
==================================================*/

.property-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,360px);
    justify-content:center;
    gap:35px;

}

/*==================================
PROPERTY BUTTON
===================================*/

.property-more{

    display:flex;

    justify-content:center;

    margin-top:60px;

}

.more-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:16px 34px;

    background:#2E6BFF;

    color:#fff;

    text-decoration:none;

    font-size:17px;

    font-weight:600;

    border-radius:50px;

    transition:.35s ease;

    box-shadow:
    0 12px 30px rgba(46,107,255,.25);

}

.more-btn i{

    transition:.3s;

}

.more-btn:hover{

    background:#1f56dc;

    color:#fff;

    transform:translateY(-4px);

    box-shadow:
    0 18px 35px rgba(46,107,255,.35);

}

.more-btn:hover i{

    transform:translateX(6px);

}

/*==================================================
CARD
==================================================*/

.property-card {
    width: 360px;
    height: 500px;

    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(22,38,74,.08);
    transition: .35s ease;
    position: relative;
}

.property-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 60px rgba(0,0,0,.12);
}

/*==================================================
IMAGE
==================================================*/

.property-image{

    position:relative;

    overflow:hidden;

    height:280px;

}

.property-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

/*==================================================
BADGE
==================================================*/

.property-type{

    position:absolute;

    top:18px;
    left:18px;

    background:#fff;

    color:#2E6BFF;

    padding:8px 16px;

    border-radius:12px;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    box-shadow:0 5px 18px rgba(0,0,0,.08);

}

.property-area{

    position:absolute;

    bottom:18px;
    left:18px;

    display:flex;
    align-items:center;
    gap:8px;

    padding:10px 15px;

    border-radius:14px;

    background:rgba(0,0,0,.55);

    backdrop-filter:blur(12px);

    color:#fff;

    font-size:14px;

}

/*==================================================
CONTENT
==================================================*/

.property-content{

    padding:25px;

}

.property-content h3{

    font-size:16px;

    color:#1D2B53;

    margin-bottom:8px;

    font-weight:500;

}

.property-content span{
    font-size: 12px;
}

.property-location{

    display:flex;

    align-items:center;

    gap:5px;

    color:#7A859F;

    font-size:14px;

    margin-bottom:8px;

}

.property-location i{

    color:#2E6BFF;

}

/*==================================================
PRICE
==================================================*/

.property-price{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}

.property-price h4{

    font-size:16px;

    color:#2E6BFF;

    font-weight:500;

}

.property-content hr{

    border:none;

    border-top:1px solid #ECEFF5;

    margin:25px 0;

}

/*==================================================
SPECIFICATION
==================================================*/

.property-spec{
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 0;
}

.property-spec div{

    display:flex;

    align-items:center;

    gap:7px;

    color:#5F6882;

    font-size:14px;

}

.property-spec i{

    color:#2E6BFF;

    font-size:18px;

}

.property-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/*==================================================
DETAIL BUTTON
==================================================*/

.detail-btn{
    width: auto;
    display: flex;
    align-items: center;
    gap: 8px;

    background: none;
    border: none;

    color: #2E6BFF;
    font-size: 13px;
    font-weight: 500;

    cursor: pointer;
    transition: .3s;
}

.detail-btn i{

    transition:.3s;

}

.detail-btn:hover{

    color:#1747d6;

}

.detail-btn:hover i{

    transform:translateX(8px);

}

/*==================================
EMPTY PROPERTY
===================================*/

.empty-property{

    display:none;

    max-width:700px;

    margin:40px auto 0;

    padding:70px 40px;

    background:#fff;

    border-radius:24px;

    text-align:center;

    box-shadow:
    0 20px 50px rgba(0,0,0,.06);

}

.empty-icon{

    width:90px;
    height:90px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#EDF4FF;

    color:#2E6BFF;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:42px;

}

.empty-property h2{

    font-size:32px;

    color:#1D2B53;

    margin-bottom:16px;

}

.empty-property p{

    max-width:520px;

    margin:auto;

    color:#6F7994;

    line-height:1.8;

    font-size:14px;

}

/*==================================================
PROPERTY MODAL
==================================================*/

.property-modal{

    position:fixed;

    inset:0;

    width:100%;
    height:100vh;

    background:rgba(14,23,43,.55);

    backdrop-filter:blur(10px);

    display:flex;

    justify-content:center;
    align-items:center;

    padding:40px;

    opacity:0;
    visibility:hidden;

    transition:.35s ease;

    z-index:9999;

}

.property-modal.active{

    opacity:1;
    visibility:visible;

}

.modal-container{

    width:100%;
    max-width:1250px;

    max-height:90vh;

    overflow-y:auto;

    background:#fff;

    border-radius:28px;

    padding:35px;

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:45px;

    position:relative;

    transform:translateY(40px);

    transition:.35s;

}

.property-modal.active .modal-container{

    transform:translateY(0);

}

/*==================================================
CLOSE BUTTON
==================================================*/

.close-modal{

    position:absolute;

    top:25px;
    right:25px;

    width:48px;
    height:48px;

    border:none;

    border-radius:50%;

    background:#F3F7FF;

    cursor:pointer;

    transition:.3s;

    font-size:18px;

    color:#5A6B92;

}

.close-modal:hover{

    background:#2E6BFF;

    color:#fff;

}

/*==================================================
GALLERY
==================================================*/

.modal-gallery{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.modal-gallery #modalMainImage{

    width:100%;

    height:480px;

    object-fit:cover;

    border-radius:22px;

}

.modal-thumbnails{

    display:flex;

    gap:14px;

}

.modal-thumbnails img{

    width:105px;

    height:78px;

    object-fit:cover;

    border-radius:14px;

    cursor:pointer;

    border:3px solid transparent;

    transition:.3s;

}

.modal-thumbnails img:hover{

    border-color:#2E6BFF;

    transform:translateY(-4px);

}

/*==================================================
MODAL INFO
==================================================*/

.modal-info{

    display:flex;

    flex-direction:column;

}

.modal-category{

    display:inline-flex;

    width:max-content;

    background:#EDF4FF;

    color:#2E6BFF;

    padding:8px 18px;

    border-radius:40px;

    font-weight:600;

    margin-bottom:18px;

}

.modal-info h2{

    font-size:36px;

    color:#1E2B4E;

    margin-bottom:18px;

}

.modal-location{

    display:flex;

    align-items:center;

    gap:10px;

    color:#71809F;

    margin-bottom:30px;

}

.modal-location i{

    color:#2E6BFF;

}

/*==================================================
PRICE
==================================================*/

.modal-price{

    font-size:42px;

    font-weight:700;

    color:#2E6BFF;

    margin-bottom:35px;

}

/*==================================================
SPECIFICATION
==================================================*/

.modal-spec{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;

    margin-bottom:35px;

}

.modal-spec div{

    background:#F8FAFF;

    border-radius:18px;

    padding:20px;

}

.modal-spec strong{

    display:block;

    font-size:24px;

    color:#23314F;

    margin-bottom:6px;

}

.modal-spec span{

    color:#7A849A;

    font-size:14px;

}

/*==================================================
DESCRIPTION
==================================================*/

.modal-description{

    margin-bottom:35px;

}

.modal-description h4{

    font-size:22px;

    margin-bottom:14px;

    color:#22304E;

}

.modal-description p{

    color:#6D7895;

    line-height:1.9;

    font-size:15px;

}

/*==================================================
BUTTONS
==================================================*/

.modal-action{

    display:flex;

    gap:18px;

    margin-top:auto;

}

.btn-whatsapp,
.btn-location{

    flex:1;

    height:58px;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.btn-whatsapp{

    background:#2E6BFF;

    color:#fff;

}

.btn-whatsapp:hover{

    background:#1D52E5;

}

.btn-location{

    background:#EDF4FF;

    color:#2E6BFF;

}

.btn-location:hover{

    background:#DDEAFF;

}

/*==================================================
SCROLLBAR
==================================================*/

.modal-container::-webkit-scrollbar{

    width:8px;

}

.modal-container::-webkit-scrollbar-thumb{

    background:#CAD8FF;

    border-radius:20px;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

    .modal-container{
        grid-template-columns:1fr;
        max-height:95vh;
    }

    .modal-gallery #modalMainImage{
        height:320px;
    }

    .modal-spec{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:576px){

    .property-modal{
        padding:20px;

    }

    .modal-container{
        padding:22px;
        border-radius:20px;
    }

    .modal-info h2{
        font-size:28px;
    }

    .modal-price{
        font-size:32px;
    }

    .modal-spec{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .modal-action{
        flex-direction:column;
    }

    .modal-thumbnails{
        overflow-x:auto;
    }
    

}

/*======================================
            FOOTER
======================================*/

.footer{

    padding:30px 8% 30px;

    background:
    linear-gradient(to top, #F8FAFF, #aacfff),
    radial-gradient(circle at top right,#EEF5FF 0%,transparent 30%),
    radial-gradient(circle at bottom left,#EEF5FF 0%,transparent 30%),
    #F8FAFF;

}

.footer-container{

    max-width:1400px;
    margin:auto;
    background:#fff;
    border-radius:32px;
    padding:70px;
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(300px,1fr));
    gap:50px;
    box-shadow:
    0 20px 60px rgba(15,35,95,.08);
    position:relative;
    overflow:hidden;
}

.footer-container::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(52,91,255,.05);

    top:-120px;

    right:-120px;

}

.footer-container::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(52,91,255,.05);

    bottom:-120px;

    left:-120px;

}

/*======================================
            BRAND
======================================*/

.footer-brand{

    position:relative;

    z-index:2;

}

.footer-brand img{

    width:170px;

    margin-bottom:25px;

}

.footer-brand h3{

    font-size:34px;

    color:#142B63;

    margin-bottom:18px;

}

.footer-brand p{

    color:#666F87;

    line-height:34px;

    font-size:17px;

    margin-bottom:35px;

}

/*======================================
        SOCIAL ICON
======================================*/

.footer-social{

    display:flex;

    gap:18px;

}

.footer-social a{

    width:56px;

    height:56px;

    border-radius:50%;

    background:#F3F7FF;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#355CFF;

    font-size:24px;

    text-decoration:none;

    transition:.3s;

}

.footer-social a:hover{

    background:#355CFF;

    color:#fff;

    transform:translateY(-6px);

}

/*======================================
        TITLE
======================================*/

.footer-links h4,
.footer-contact h4,
.footer-map h4{

    color:#142B63;

    font-size:28px;

    margin-bottom:30px;

    position:relative;

}

.footer-links h4::after,
.footer-contact h4::after,
.footer-map h4::after{

    content:"";

    width:45px;

    height:4px;

    border-radius:10px;

    background:#355CFF;

    position:absolute;

    left:0;

    bottom:-12px;

}

/*======================================
        NAVIGATION
======================================*/

.footer-links ul{

    list-style:none;

}

.footer-links li{

    border-bottom:1px solid #EDF1F8;

}

.footer-links a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    color:#49516A;

    padding:18px 0;

    transition:.3s;

}

.footer-links a:hover{

    color:#355CFF;

    padding-left:8px;

}

.footer-links i{

    font-size:14px;

}

/*======================================
        CONTACT
======================================*/

.contact-item{

    display:flex;

    gap:18px;

    margin-bottom:28px;

}

.contact-icon{

    min-width:58px;

    height:58px;

    border-radius:18px;

    background:#F3F7FF;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#355CFF;

    font-size:24px;

}

.contact-text span{

    display:block;

    color:#355CFF;

    font-weight:600;

    margin-bottom:5px;

}

.contact-text p{

    color:#5D667F;

    line-height:30px;

}

/*======================================
            MAP
======================================*/

.map-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 15px 35px rgba(15,35,95,.08);

}

.map-card iframe{

    width:100%;

    height:240px;

    border:none;

}

.map-info{

    display:flex;

    gap:15px;

    padding:22px;

}

.map-info i{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#EEF4FF;

    color:#355CFF;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    flex-shrink:0;

}

.map-info span{

    color:#59627C;

    line-height:30px;

}

/*======================================
            COPYRIGHT
======================================*/

.copyright{

    background:linear-gradient(
    135deg,
    #1D37A6,
    #355CFF);

    padding: 0 8%;

}

.copyright-container{

    max-width: 1400px;

    height: 55px;

    margin: auto;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 25px;

}

.copyright-line{

    width:70px;

    height:2px;

    background:rgba(255,255,255,.45);

}

.copyright p{

    color:#fff;

    font-size:16px;

    letter-spacing:.5px;

}


/*======================================
MOBILE RESPONSIVE
======================================*/
@media (max-width:768px){

    /* ================= NAVBAR ================= */

    .header{
        top:15px;
    }

    .navbar{
        width:95%;
        height:70px;
        padding:0 20px;
        border-radius:18px;
    }

    .logo img{
        height:32px;
    }


    /* ================= HERO ================= */

    .city-hero{
        padding:120px 20px 50px;
        height:auto;
    }

    .city-content{
    display:grid;
    grid-template-columns:1fr 120px;
    grid-template-areas:
        "title title"
        "desc image";
    align-items:center;
    column-gap:20px;
    row-gap:15px;
}

.city-text{
    display:contents;
}

.city-text .line{
    display:none;
}

.city-text h1{
    grid-area:title;
    text-align:left;
    font-size:30px;
    margin:0;
}

.city-text p{
    grid-area:desc;
    text-align:left;
    font-size:15px;
    line-height:1.7;
    margin:0;
}

.city-image{
    grid-area:image;
    text-align:center;
}

.city-image img{
    width:110px;
}



    /* ================= FEATURE ================= */

    .city-feature{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;

    padding:25px 15px;

}

.feature-card{

    margin-top:0;
    height:auto;
    
    padding:18px 12px;

    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

}

.feature-card .icon{

    margin-bottom:10px;

}

.feature-card h4{

    font-size:15px;
    margin-bottom:6px;

}

.feature-card p{

    font-size:12px;
    line-height:1.5;

}


    /* ================= PROPERTY ================= */

    .property-section{

        padding:40px 0;

    }

    .container{

        padding:0 15px;

    }

    .property-grid{

        grid-template-columns:1fr;
        gap:25px;

    }

    .property-card{

        width:100%;
        max-width:360px;
        height:530px;
        margin:auto;

    }

    .property-image{

        height:280px;

    }

    .property-content{

        padding:20px;

    }

    .property-footer{

        flex-direction:column;
        align-items:flex-start;
        gap:15px;

    }

    .property-spec{

        gap:16px;
        flex-wrap:wrap;

    }

    .detail-btn{

        width:100%;
        justify-content:center;
        padding:12px;
        border-radius:12px;
        background:#edf4ff;

    }

    .property-more{

        margin-top:35px;

    }

    .more-btn{

        width:100%;
        justify-content:center;

    }


    /* ================= MODAL ================= */

    .modal-gallery #modalMainImage{

        width:100%;
    height:480px;

    object-fit:contain;

    background:#f6f8fc;

    border-radius:22px;

    }

    .modal-thumbnails img{

        width:75px;
        height:60px;

    }

    .modal-spec{

        grid-template-columns:1fr 1fr;

    }


    /* ================= FOOTER ================= */

   .footer{

        padding:60px 20px;
    }

    .footer-container{

        padding:35px;

        grid-template-columns:1fr;
    }

    .footer-brand h3{

        font-size:28px;
    }

    /* COPYRIGHT */

    .copyright-container{

        flex-direction:column;

        height:auto;

        padding:20px 0;

        gap:10px;
    }

    .copyright-line{

        display:none;
    }

    .copyright p{

            font-size:12px;

        }

}

/*==================================
HAMBURGER
==================================*/

.hamburger{

    display:none;

    width:35px;

    cursor:pointer;

    flex-direction:column;

    gap:6px;

    margin-left:auto;

    z-index:1002;

}

.hamburger span{

    width:100%;

    height:3px;

    background:#19306A;

    border-radius:20px;

    transition:.35s;

}

.hamburger.active span:nth-child(1){

    transform:rotate(45deg) translateY(12px);

}

.hamburger.active span:nth-child(2){

    opacity:0;

}

.hamburger.active span:nth-child(3){

    transform:rotate(-45deg) translateY(-12px);

}


/*==================================
OVERLAY
==================================*/
.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(6px);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.menu-overlay.active{

    opacity:1;

    visibility:visible;

}

/*==================================
MOBILE MENU
==================================*/
@media(max-width:768px){

.hamburger{

    display:flex;

}

.nav-menu{

    position:fixed;

    top:0;

    right:-100%;

    width:320px;

    height:100vh;

    background:white;

    flex-direction:column;

    justify-content:flex-start;

    align-items:flex-start;

    padding:120px 30px;

    gap:0;

    transition:.4s;

    box-shadow:-15px 0 40px rgba(0,0,0,.08);

    left:auto;

    transform:none;

    z-index:999;

}

.nav-menu.active{

    right:0;

}

.nav-menu li{

    width:100%;

}

.nav-menu a{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid #eee;

}

}

/*==================================
DROPDOWN MOBILE
==================================*/
@media(max-width:768px){

.dropdown-menu{

    position:static;

    opacity:1;

    visibility:visible;

    transform:none;

    box-shadow:none;

    width:100%;

    display:none;

    padding:0;

}

.dropdown.active>.dropdown-menu{

    display:block;

}

.submenu-menu{

    position:static;

    opacity:1;

    visibility:visible;

    transform:none;

    box-shadow:none;

    display:none;

    width:100%;

    padding-left:15px;

}

.submenu.active>.submenu-menu{

    display:block;

}

.dropdown-menu a{

    padding:14px 0;

}

}

/*==================================
DEKSTOP TETAP HOVER
==================================*/
@media(min-width:769px){

.dropdown:hover>.dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.submenu:hover>.submenu-menu{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}

}