*{
    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 .active{

    color:#2b63ff;

    font-weight:600;

    position:relative;
}

.nav-menu .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);

}

/*====================================
        CONTACT BANNER
=====================================*/

.contact-banner{

    padding:0px 0;

    background:#ffffff;
}

/* Box */

.contact-box{

    position:relative;

    overflow:hidden;

    padding:150px 50px 30px;

    text-align:center;

    background:linear-gradient(
        135deg,
        #2148E6 0%,
        #2F62F4 50%,
        #3048D9 100%
    );

    box-shadow:0 30px 60px rgba(30,70,210,.18);
}

/* Glow */

.contact-box::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    left:-180px;

    bottom:-220px;

    border-radius:50%;

    background:rgba(255,255,255,.08);
}

.contact-box::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    right:-250px;

    top:-220px;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.08);
}

/* Heading */

.contact-heading{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:25px;

    margin-bottom:18px;
}

.heading-line{

    width:120px;

    height:2px;

    background:rgba(255,255,255,.4);
}

.contact-box h2{

    color:white;

    font-size:54px;

    font-weight:700;
}

.contact-box p{

    color:rgba(255,255,255,.92);

    font-size:19px;

    margin-bottom:28px;
}

.contact-divider{

    width:70px;

    height:5px;

    background:white;

    margin:auto;

    border-radius:50px;

    margin-bottom:45px;
}

/* Feature */

.contact-feature{

    display:flex;

    justify-content:center;

    gap:80px;

    flex-wrap:wrap;
}

.feature-item{

    display:flex;

    align-items:center;

    gap:18px;

    color:white;

    font-size:26px;

    font-weight:600;
}

/* Icon */

.feature-icon{

    width:72px;

    height:72px;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#2F62F4;

    font-size:34px;

    transition:.35s;
}



/* Ornament */

.dot-left,
.dot-right{

    position:absolute;

    width:90px;

    height:90px;

    opacity:.25;

    background-image:radial-gradient(white 1.8px, transparent 1.8px);

    background-size:18px 18px;
}

.dot-left{

    top:50px;

    left:50px;
}

.dot-right{

    top:50px;

    right:50px;
}

/*======================================
CONTACT SECTION
======================================*/

.contact-section{

    position: relative;

    padding:50px 0;

    background:linear-gradient(to bottom, #F8FAFF, #aacfff);

    overflow:hidden;

}

/*======================================
BACKGROUND DECORATION
======================================*/

.contact-section::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    top:-180px;
    left:-180px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(46,91,255,.08),
    transparent 70%);

}

.contact-section::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    bottom:-150px;
    left:-150px;

    border-radius:50%;

    border:1px solid rgba(46,91,255,.08);

}

/*======================================
CONTAINER
======================================*/

.contact-section .container{

    max-width:1320px;

    margin:auto;

    padding:0 20px;

}

/*======================================
LAYOUT
======================================*/

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1.25fr;

    gap:80px;

    align-items:flex-start;

    position:relative;

    z-index:2;

}

/*======================================
LEFT
======================================*/

.contact-left{

    padding-top:25px;

}

/*======================================
TAG
======================================*/

.section-tag{

    display:inline-block;

    font-size:15px;

    font-weight:700;

    color:#2E5BFF;

    letter-spacing:1px;

    text-transform:uppercase;

}

/*======================================
LINE
======================================*/

.section-line{

    width:55px;

    height:4px;

    border-radius:50px;

    background:#2E5BFF;

    margin:18px 0 35px;

}

/*======================================
TITLE
======================================*/

.contact-left h2{

    font-size:28px;

    line-height:1.2;

    font-weight:700;

    color:#142B63;

    margin-bottom:25px;

}

/*======================================
DESCRIPTION
======================================*/

.contact-left p{

    font-size:18px;

    line-height:1.9;

    color:#667085;

    margin-bottom:45px;

}

/*======================================
RIGHT
======================================*/

.contact-right{

    display:flex;

    justify-content:center;

}

/*======================================
FORM CARD
======================================*/

.form-card{

    width:100%;
    max-width:600px;
    background:#fff;

    border-radius:30px;

    padding:45px;

    box-shadow:

    0 20px 60px rgba(29,78,216,.08);

}

/*======================================
INFO CARD
======================================*/

.info-card{

    display:flex;
    align-items:center;
    gap:18px;
    padding:18px 20px;
    margin-bottom:18px;
    border-radius:18px;
    background:#fff;
    border:1px solid #EDF2FF;
    box-shadow:
    0 8px 25px rgba(46,91,255,.05);
    transition:.35s ease;
}

.info-card:hover{

    transform:translateY(-6px);
    box-shadow:
    0 22px 55px rgba(46,91,255,.12);

}

/*======================================
ICON
======================================*/

.info-icon{

    width:56px;
    height:56px;

    border-radius:50%;

    background:linear-gradient(
    135deg,
    #4D73FF,
    #2E5BFF);

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    color:#fff;

    font-size:22px;

    box-shadow:
    0 12px 25px rgba(46,91,255,.28);

}

/*======================================
TEXT
======================================*/

.info-content{

    flex:1;

}

.info-content h4{

    font-size:22px;

    font-weight:700;

    color:#142B63;

    margin-bottom:2px;

}

.info-content span{

    display:block;

    font-size:15px;

    line-height:1.5;

    color:#667085;

}

/*======================================
LONG ADDRESS
======================================*/

.info-card:nth-child(5){

    align-items:flex-start;

}

.info-card:nth-child(5) .info-icon{

    margin-top:6px;

}

/*======================================
FORM TITLE
======================================*/

.form-title{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:40px;

}

/*==============================*/

.form-icon{

    width:60px;
    height:60px;

    border-radius:50%;

    background:linear-gradient(
    135deg,
    #4D73FF,
    #2E5BFF);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:24px;

    box-shadow:
    0 12px 25px rgba(46,91,255,.28);

}

/*==============================*/

.form-title h3{

    font-size:28px;

    font-weight:700;

    color:#142B63;

    margin-bottom:10px;

}

/*==============================*/

.title-line{

    width:50px;
    height:4px;

    border-radius:50px;

    background:#2E5BFF;

}

/*======================================
INPUT GROUP
======================================*/

.input-group{

    position:relative;

    margin-bottom:26px;

}

/*==============================*/

.input-group i{

    position:absolute;

    top:50%;
    left:24px;

    transform:translateY(-50%);

    font-size:18px;

    color:#8D96AA;

    z-index:2;

}

/*======================================
INPUT
======================================*/

.input-group input{

    width:100%;

    height:78px;

    padding-left:70px;
    padding-right:25px;

    border-radius:18px;

    border:1px solid #E5EAF4;

    outline:none;

    font-size:18px;

    font-family:'Outfit',sans-serif;

    transition:.3s;

    background:#fff;

}

/*==============================*/

.input-group textarea{

    width:100%;

    height:230px;

    padding:28px 24px 24px 70px;

    resize:none;

    border-radius:18px;

    border:1px solid #E5EAF4;

    outline:none;

    font-size:18px;

    font-family:'Outfit',sans-serif;

    transition:.3s;

    background:#fff;

}

/*==============================*/

.textarea i{

    top:30px;

    transform:none;

}

/*======================================
FOCUS
======================================*/

.input-group input:focus,
.input-group textarea:focus{

    border-color:#2E5BFF;

    box-shadow:
    0 0 0 5px rgba(46,91,255,.08);

}

/*==============================*/

.input-group:focus-within i{

    color:#2E5BFF;

}

/*======================================
SEND BUTTON
======================================*/

.send-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:18px;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    background:linear-gradient(
    135deg,
    #4D73FF,
    #2E5BFF);

    color:#fff;

    font-size:18px;

    font-weight:600;

    font-family:'Outfit',sans-serif;

    transition:.35s;

    box-shadow:
    0 18px 35px rgba(46,91,255,.28);

}

/*==============================*/

.send-btn i{

    font-size:24px;

}

/*==============================*/

.send-btn:hover{

    transform:translateY(-4px);

    box-shadow:
    0 24px 45px rgba(46,91,255,.35);

}

/*==============================*/

.send-btn:active{

    transform:scale(.98);

}

/*======================================
DOTS DECORATION
======================================*/

.dots{

    position:absolute;

    width:170px;
    height:170px;

    background-image:radial-gradient(
    #C8D8FF 2px,
    transparent 2px);

    background-size:18px 18px;

    opacity:.55;

    z-index:1;

}

.dots-left{

    top:100px;
    left:-40px;

}

.dots-right{

    bottom:80px;
    right:-40px;

}

/*======================================
BLUR CIRCLE
======================================*/

.contact-wrapper::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    background:rgba(46,91,255,.08);

    border-radius:50%;

    filter:blur(80px);

    top:-80px;
    right:-100px;

    z-index:-1;

}

.contact-wrapper::after{

    content:"";

    position:absolute;

    width:180px;
    height:180px;

    background:rgba(46,91,255,.05);

    border-radius:50%;

    filter:blur(70px);

    bottom:-50px;
    left:-80px;

    z-index:-1;

}

/*======================================
FADE UP
======================================*/

.contact-left,
.contact-right{

    animation:fadeUp .8s ease both;

}

.contact-right{

    animation-delay:.2s;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*======================================
            FOOTER
======================================*/

.footer{

    padding:30px 8% 30px;

    background:
    linear-gradient(to top, #F8FAFF, #aacfff);

}

.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:94%;
        height:70px;
        padding:0 20px;
    }

    .logo img{
        height:32px;
    }

    /*==================
    CONTACT BANNER
    ==================*/

    .contact-box{
        padding:120px 20px 40px;
    }

    .contact-heading{
        gap:12px;
    }

    .heading-line{
        width:45px;
    }

    .contact-box h2{
        font-size:34px;
    }

    .contact-box p{
        font-size:15px;
        line-height:1.7;
    }

    .contact-feature{
        gap:25px;
    }

    .feature-item{
        flex-direction:column;
        text-align:center;
        gap:10px;
        font-size:16px;
    }

    .feature-icon{
        width:56px;
        height:56px;
        font-size:24px;
    }

    .dot-left,
    .dot-right{
        display:none;
    }

    /*==================
    CONTACT SECTION
    ==================*/

    .contact-section{
        padding:60px 0;
    }

    .contact-wrapper{
        grid-template-columns:1fr;
        gap:40px;
    }

    .contact-left{
        padding-top:0;
    }

    .contact-left h2{
        font-size:30px;
    }

    .contact-left p{
        font-size:16px;
        line-height:1.8;
        margin-bottom:30px;
    }

    /*==================
    INFO CARD
    ==================*/

    .info-card{
        padding:15px;
        gap:15px;
    }

    .info-icon{
        width:50px;
        height:50px;
        font-size:20px;
    }

    .info-content h4{
        font-size:18px;
    }

    .info-content span{
        font-size:14px;
    }

    /*==================
    FORM
    ==================*/

    .form-card{
        padding:25px;
        border-radius:22px;
    }

    .form-title{
        gap:15px;
        margin-bottom:25px;
    }

    .form-icon{
        width:50px;
        height:50px;
        font-size:20px;
    }

    .form-title h3{
        font-size:22px;
    }

    .input-group{
        margin-bottom:18px;
    }

    .input-group input{
        height:60px;
        font-size:15px;
        padding-left:55px;
    }

    .input-group textarea{
        height:170px;
        font-size:15px;
        padding:20px 20px 20px 55px;
    }

    .input-group i{
        left:18px;
        font-size:16px;
    }

    .textarea i{
        top:22px;
    }

    .send-btn{
        height:55px;
        font-size:16px;
    }

    /*==================
    FOOTER
    ==================*/

    .footer{
        padding:20px;
    }

    .footer-container{
        padding:30px 22px;
        border-radius:24px;
        gap:35px;
    }

    .footer-brand img{
        width:140px;
    }

    .footer-brand h3{
        font-size:24px;
    }

    .footer-brand p{
        font-size:15px;
        line-height:28px;
    }

    .footer-contact h4,
    .footer-map h4{
        font-size:22px;
    }

    .contact-item{
        gap:14px;
    }

    .contact-icon{
        width:48px;
        min-width:48px;
        height:48px;
        font-size:20px;
    }

    .map-card iframe{
        height:220px;
    }

    .map-info{
        padding:18px;
    }

    .map-info span{
        font-size:14px;
        line-height:24px;
    }

    /*==================
    COPYRIGHT
    ==================*/

   /* 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);

}

}