
:root{

    --primary:#35B8F4;
    --primary-dark:#1788D6;
    --secondary:#FFD23C;

    --dark:#143B67;

}

body{
    font-family:'Poppins',sans-serif;
    overflow-x:hidden;
    background:#fff;
}

html{
    scroll-behavior:smooth;
}

section{
    scroll-margin-top:90px;
}



/* ======== NAVBAR =========  */


:root{

    --primary:#35B8F4;
    --primary-dark:#1788D6;
    --secondary:#FFD23C;

    --dark:#143B67;

}

.navbar-custom{

    position:fixed;
    top:0;
    left:0;
    right:0;

    z-index:9999;

    padding:16px 0;

    transition:.35s ease;

    background:transparent;

}

.navbar-custom.scrolled{

    background: #ffffff !important;

    padding: 8px 0;

    box-shadow: 0 10px 35px rgba(0,0,0,.08);

    border-bottom: 1px solid rgba(0,0,0,.05);

}


.container-navbar{

    max-width:1320px;
    margin:auto;

}

.navbar-brand{

    margin-right:60px;

}

.navbar-brand img{

    height:60px;

    transition:.3s;

}

.navbar-custom.scrolled .navbar-brand img{

    height:40px;

}

.navbar-collapse{

    justify-content:space-between;

}

.navbar-nav{

    margin:auto;

    gap:20px;

}

.nav-link{

    color:#173B63;

    font-size:15px;

    font-weight:600;

    letter-spacing:.2px;

    padding:10px 8px !important;

    transition:.25s;

}

.nav-link:hover{

    color:var(--primary);

}

.nav-link.active{

    color:var(--primary);

}

.btn-register{

    padding:14px 28px;

    border-radius:50px;

    background:
    linear-gradient(
    135deg,
    #43C2FF,
    #1989D5);

    color:#fff;

    font-weight:600;

    font-size:15px;

    display:flex;

    align-items:center;

    gap:12px;

    transition:.3s;

    text-decoration:none;

}

.btn-register i{

    transition:.3s;

}

.btn-register:hover{

    color:#fff;

    transform:translateY(-3px);

    box-shadow:

    0 15px 35px rgba(24,137,214,.35);

}

.btn-register:hover i{

    transform:translateX(4px);

}
/* ======== NAVBAR END =========  */



/* ======== HERO =========  */


.heros-section{

    position:relative;

    overflow:hidden;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:

    linear-gradient(
        90deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.82) 35%,
        rgba(255,255,255,.10) 70%
    ),

    url("../img/hero-runner.png");

    background-size:cover;

    background-position:center;

}

.heros-overlay{

    position:absolute;
    inset:0;

    background:

    radial-gradient(circle at top left,
    rgba(53,184,244,.15),
    transparent 50%);

}

.heros-logo{

    width:220px;

}

.heros-title{

    font-size:72px;

    font-weight:900;

    color:var(--dark);

    line-height:1;

    margin-bottom:20px;

}

.heros-title span{

    color:var(--primary);

}

.heros-subtitle{

    font-size:40px;

    color:#1d2f50;

    font-weight:700;

    margin-bottom:5px;

}

.heros-script{

    color:var(--primary);

    font-size:52px;

    font-family:cursive;

    margin-bottom:40px;

}

.heros-info{

    display:flex;

    gap:35px;

    flex-wrap:wrap;

    margin-bottom:40px;

}

.info-item{

    display:flex;

    align-items:center;

    gap:15px;

}

.info-item i{

    width:58px;

    height:58px;

    border-radius:50%;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--primary);

    font-size:24px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.info-item strong{

    display:block;

    color:var(--dark);

    font-size:17px;

}

.info-item small{

    color:#666;

}

.heros-buttons{

    display:flex;

    gap:20px;

}

.btn-register{

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark));

    color:#fff;

    padding:16px 42px;

    border-radius:50px;

    font-weight:700;

    transition:.3s;

}

.btn-register:hover{

    transform:translateY(-3px);

    color:#fff;

    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

.btn-outline-hero{

    border:2px solid var(--primary);

    color:var(--primary);

    padding:16px 42px;

    border-radius:50px;

    font-weight:700;

    background:#fff;

}

.btn-outline-hero:hover{

    background:var(--primary);

    color:#fff;

}

.heros-wave{

    position:absolute;

    left:0;

    right:0;

    bottom:-2px;

}

.heros-wave svg{

    width:100%;

    height:120px;

}

@media(max-width:991px){

.heros-section{

padding:120px 0 90px;

background-position:65% center;

}

.heros-title{

font-size:50px;

}

.heros-subtitle{

font-size:30px;

}

.heros-script{

font-size:38px;

}

.heros-logo{

width:170px;

}

.heros-info{

flex-direction:column;

gap:20px;

}

.heros-buttons{

flex-direction:column;

}

.btn-register,
.btn-outline-hero{

width:100%;

text-align:center;

}

}

/* ======== HERO END =========  */


/* RUNNER CHECKER ==================*/

/*======================================
RUNNER CHECKER
=======================================*/

.runner-checker-section{

    position:relative;

    margin-top:-70px;

    z-index:20;

    padding-bottom:80px;

}

.runner-checker-card{

    background:#fff;

    border-radius:30px;

    padding:55px;

    box-shadow:
    0 20px 60px rgba(20,59,103,.10);

    border:1px solid rgba(55,184,245,.08);

}

.runner-checker-header{

    text-align:center;

    margin-bottom:40px;

}

.runner-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#EAF8FF;

    color:#2D9FE5;

    padding:10px 22px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}

.runner-checker-header h2{

    font-size:42px;

    font-weight:800;

    color:#173B63;

    margin-bottom:15px;

}

.runner-checker-header p{

    max-width:650px;

    margin:auto;

    color:#7B8A9B;

    line-height:1.8;

}

.runner-form{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    max-width:850px;

    margin:auto;

}

.runner-input{

    flex:1;

    position:relative;

}

.runner-input i{

    position:absolute;

    left:25px;

    top:50%;

    transform:translateY(-50%);

    color:#37B8F5;

    font-size:20px;

}

.runner-input input{

    width:100%;

    height:68px;

    border:none;

    background:#F8FBFF;

    border:2px solid #E7F4FD;

    border-radius:60px;

    padding-left:65px;

    padding-right:25px;

    font-size:16px;

    transition:.3s;

}

.runner-input input:focus{

    outline:none;

    border-color:#37B8F5;

    background:#fff;

    box-shadow:0 0 0 6px rgba(55,184,245,.08);

}

.runner-btn{

    border:none;

    height:68px;

    padding:0 38px;

    border-radius:60px;

    background:linear-gradient(135deg,#42C4FF,#1D8ED7);

    color:#fff;

    font-weight:600;

    transition:.3s;

    display:flex;

    align-items:center;

    gap:12px;

}

.runner-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(29,142,215,.30);

}

.runner-btn i{

    transition:.3s;

}

.runner-btn:hover i{

    transform:translateX(5px);

}

@media(max-width:768px){

.runner-checker-section{

    margin-top:-40px;

}

.runner-checker-card{

    padding:35px 25px;

}

.runner-checker-header h2{

    font-size:30px;

}

.runner-form{

    flex-direction:column;

}

.runner-input{

    width:100%;

}

.runner-btn{

    width:100%;

    justify-content:center;

}

}

/* RUNNER CHECKER END ================== */

/*==================================================
CATEGORY SECTION
==================================================*/

.category-section{
    padding:100px 0;
    background:#F8FCFF;
}

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.section-badge{
    display:inline-block;
    padding:10px 26px;
    background:#EAF8FF;
    color:#1BA9F5;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
    margin-bottom:18px;
}

.section-title h2{
    font-size:44px;
    font-weight:800;
    color:#173B63;
    margin-bottom:18px;
}

.section-title p{
    max-width:650px;
    margin:auto;
    color:#6E7C8C;
    line-height:1.8;
}

/*==================================================
CARD
==================================================*/

.category-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    border:1px solid #EAF3FA;

    box-shadow:0 18px 45px rgba(16,55,90,.08);

    transition:.35s;

    height:100%;

}

.category-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(16,55,90,.15);

}

/*==================================================
IMAGE
==================================================*/

.category-image{

    position:relative;

    height:340px;

    overflow:hidden;

}

.category-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.category-card:hover .category-image img{

    transform:scale(1.08);

}

.category-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(to top,
    rgba(17,58,92,.75),
    rgba(17,58,92,.05));

}

/*==================================================
CONTENT
==================================================*/

.category-content{

    padding:35px;

}

.category-type{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    background:#EAF8FF;

    color:#1BA9F5;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:16px;

}

.category-content h3{

    font-size:34px;

    font-weight:800;

    color:#173B63;

    margin-bottom:28px;

}

/*==================================================
PRICE BOX
==================================================*/

.price-box{

    background:#F8FCFF;

    border:1px solid #E4F2FB;

    border-radius:22px;

    padding:24px;

    margin-bottom:28px;

}

.price-box small{

    display:block;

    color:#7A8B9E;

    font-size:14px;

    margin-bottom:14px;

}

.price-item{

    margin-bottom:18px;

}

.price-early{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:12px;

    font-size:34px;

    font-weight:800;

    color:#FF5B5B;

    line-height:1;

}

/*==================================================
EARLY BIRD BADGE
==================================================*/

.early-badge{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:8px 16px;

    border-radius:50px;

    background:linear-gradient(135deg,#FF7A18,#FFB347);

    color:#fff;

    font-size:12px;

    font-weight:700;

    box-shadow:0 8px 18px rgba(255,122,24,.25);

}

.early-badge i{

    font-size:11px;

}

/*==================================================
REGULAR PRICE
==================================================*/

.price-regular{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:18px;

    border-top:1px dashed #D9E7F2;

    color:#708090;

    font-size:15px;

}

.price-regular strong{

    color:#173B63;

    font-size:22px;

    font-weight:700;

}

.price-note{

    display:block;

    margin-top:16px;

    color:#1BA9F5;

    font-size:13px;

    font-weight:600;

}

/*==================================================
BUTTON
==================================================*/

.btn-category{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:16px 20px;

    border-radius:50px;

    background:linear-gradient(135deg,#2BB7F7,#1976D2);

    color:#fff;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.btn-category:hover{

    color:#fff;

    transform:translateY(-2px);

    box-shadow:0 15px 30px rgba(25,118,210,.30);

}

/*==================================
COMING SOON BUTTON
==================================*/

.btn-coming{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:16px 24px;

    border-radius:50px;

    background:linear-gradient(135deg,#94A3B8,#64748B);

    color:#fff;

    font-size:16px;

    font-weight:700;

    text-decoration:none;

    cursor:not-allowed;

    pointer-events:none;

    opacity:.9;

    box-shadow:0 10px 25px rgba(100,116,139,.25);

}

/*==================================
SOLD OUT BUTTON
==================================*/

.btn-soldout{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:16px 24px;

    border-radius:50px;

    background:linear-gradient(135deg,#EF4444,#DC2626);

    color:#fff;

    font-size:16px;

    font-weight:700;

    text-decoration:none;

    cursor:not-allowed;

    pointer-events:none;

    box-shadow:0 10px 25px rgba(220,38,38,.30);

}

/* Optional Hover (tetap tidak aktif) */

.btn-coming:hover,
.btn-soldout:hover{

    color:#fff;

    transform:none;

    text-decoration:none;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

    .category-section{

        padding:80px 0;

    }

    .section-title h2{

        font-size:34px;

    }

    .category-image{

        height:280px;

    }

    .category-content{

        padding:28px;

    }

    .category-content h3{

        font-size:28px;

    }

    .price-early{

        font-size:28px;

    }

}

@media(max-width:576px){

    .category-image{

        height:240px;

    }

    .section-title h2{

        font-size:30px;

    }

    .price-early{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

        font-size:26px;

    }

    .price-regular{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

    }

}

/* ABout */
/*==================================================
RACE INFORMATION
==================================================*/

.about-section{

    padding:110px 0;

    background:#ffffff;

    position:relative;

}

.about-slider{

    overflow:hidden;

    border-radius:30px;

    box-shadow:0 25px 60px rgba(22,60,95,.12);

}

.about-slider img{

    width:100%;

    height:600px;

    object-fit:cover;

}

/* Carousel */

.carousel-control-prev,
.carousel-control-next{

    width:52px;

    height:52px;

    top:50%;

    transform:translateY(-50%);

    opacity:1;

    background:#ffffff;

    border-radius:50%;

    margin:0 20px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

}

.carousel-control-prev i,
.carousel-control-next i{

    color:#2DAFF3;

    font-size:20px;

}

.carousel-control-prev:hover,
.carousel-control-next:hover{

    background:#2DAFF3;

}

.carousel-control-prev:hover i,
.carousel-control-next:hover i{

    color:#ffffff;

}

/* Badge */

.section-badge{

    display:inline-block;

    padding:10px 24px;

    background:#EAF8FF;

    color:#2DAFF3;

    border-radius:50px;

    font-weight:600;

    font-size:14px;

    margin-bottom:20px;

}

/* Title */

.about-title{

    font-size:48px;

    font-weight:800;

    line-height:1.2;

    color:#173B63;

    margin-bottom:25px;

}

/* Description */

.about-description{

    color:#6E7D90;

    font-size:16px;

    line-height:1.9;

    margin-bottom:40px;

}

/* Event List */

.event-info{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.event-card{

    display:flex;

    align-items:center;

    gap:20px;

    background:#F8FCFF;

    padding:20px 24px;

    border-radius:18px;

    border:1px solid #E8F2FA;

    transition:.35s;

}

.event-card:hover{

    transform:translateX(8px);

    background:#ffffff;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.event-icon{

    width:64px;

    height:64px;

    border-radius:50%;

    background:linear-gradient(135deg,#43C4FF,#1A8ED7);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#ffffff;

    font-size:24px;

    flex-shrink:0;

}

.event-card h6{

    margin:0;

    font-size:18px;

    font-weight:700;

    color:#173B63;

}

.event-card p{

    margin:6px 0 0;

    color:#6E7D90;

    font-size:15px;

}

/* Responsive */

@media(max-width:991px){

.about-section{

    padding:80px 0;

}

.about-slider{

    margin-bottom:40px;

}

.about-slider img{

    height:380px;

}

.about-title{

    font-size:34px;

}

.event-card{

    padding:18px;

}

.event-icon{

    width:55px;

    height:55px;

    font-size:20px;

}

}
/* About  */


/* Benefit */
/*====================================
BENEFIT SECTION
====================================*/

.benefit-section{

    padding:120px 0;

    background:linear-gradient(180deg,#F7FCFF 0%,#EEF8FF 100%);

    position:relative;

}

.benefit-title{

    font-size:48px;

    font-weight:800;

    color:#173B63;

    margin-bottom:20px;

}

.benefit-description{

    color:#6C7A89;

    line-height:1.8;

    margin-bottom:45px;

    max-width:600px;

}

.benefit-card{

    background:#fff;

    border-radius:25px;

    padding:28px;

    text-align:center;

    height:100%;

    border:1px solid #E8F3FB;

    transition:.35s;

    box-shadow:0 12px 35px rgba(22,60,95,.05);

}

.benefit-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(22,60,95,.12);

}

.benefit-icon{

    width:75px;

    height:75px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    background:linear-gradient(135deg,#42C4FF,#1A8ED7);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:30px;

}

.benefit-card h5{

    font-size:18px;

    font-weight:700;

    color:#173B63;

    margin-bottom:10px;

}

.benefit-card p{

    font-size:14px;

    color:#7B8794;

    margin:0;

}

.benefit-image{

    max-width:430px;

    animation:floatRunner 4s ease-in-out infinite;

}

@keyframes floatRunner{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

@media(max-width:991px){

.benefit-section{

padding:90px 0;

text-align:center;

}

.benefit-title{

font-size:34px;

}

.benefit-description{

margin:auto auto 40px;

}

.benefit-image{

margin-top:50px;

max-width:320px;

}

}
/* BEnefit ENd */


/* FAQ */

/*=====================================
FAQ
=====================================*/

.faq-section{

    padding:120px 0;

    background:linear-gradient(180deg,#ffffff 0%,#F6FBFF 100%);

}

.faq-header{

    max-width:700px;

    margin:auto;

    margin-bottom:70px;

}

.faq-title{

    font-size:48px;

    font-weight:800;

    color:#173B63;

    margin:20px 0;

}

.faq-subtitle{

    color:#738394;

    font-size:17px;

    line-height:1.8;

}

.faq-wrapper{

    max-width:900px;

    margin:auto;

}

.faq-wrapper .accordion-item{

    border:none;

    margin-bottom:22px;

    border-radius:22px !important;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(18,60,95,.08);

    background:#fff;

}

.faq-wrapper .accordion-button{

    background:#fff;

    color:#173B63;

    font-size:18px;

    font-weight:600;

    padding:26px 28px;

    box-shadow:none;

}

.faq-wrapper .accordion-button::after{

    background-size:18px;

}

.faq-wrapper .accordion-button:not(.collapsed){

    background:#EAF8FF;

    color:#169BE8;

}

.faq-wrapper .accordion-body{

    padding:28px;

    color:#66788A;

    line-height:1.9;

    font-size:15px;

}

/*=========================
PRICE CARD
=========================*/

.price-card{

    background:#F8FCFF;

    border-radius:18px;

    padding:22px;

    border:1px solid #E3F3FB;

}

.price-card h5{

    color:#173B63;

    font-weight:700;

    margin-bottom:18px;

}

.price-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:12px 0;

    border-bottom:1px dashed #D7EAF5;

}

.price-row:last-child{

    border:none;

}

.price-row span{

    color:#66788A;

}

.price-row strong{

    color:#169BE8;

    font-size:17px;

}

/*=========================
Responsive
=========================*/

@media(max-width:991px){

.faq-section{

padding:90px 0;

}

.faq-title{

font-size:34px;

}

.faq-wrapper .accordion-button{

font-size:16px;

padding:20px;

}

}
/* FAQ END */

/*==================================
CONTACT
==================================*/

.contact-section{

    padding:120px 0;

    background:linear-gradient(180deg,#F7FCFF 0%,#EEF8FF 100%);

}

.contact-header{

    max-width:700px;

    margin:auto;

    margin-bottom:70px;

}

.contact-title{

    font-size:48px;

    font-weight:800;

    color:#173B63;

    margin:20px 0;

}

.contact-subtitle{

    color:#708090;

    line-height:1.9;

    font-size:17px;

}

/* Card */

.contact-card{

    background:#fff;

    border-radius:30px;

    padding:45px;

    text-align:center;

    height:100%;

    transition:.35s;

    border:1px solid #E5F1F8;

    box-shadow:0 20px 45px rgba(17,60,95,.08);

}

.contact-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(17,60,95,.15);

}

/* Avatar */

.contact-avatar{

    width:95px;

    height:95px;

    border-radius:50%;

    background:linear-gradient(135deg,#49C8FF,#1792E2);

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    margin-bottom:25px;

    color:#fff;

    font-size:38px;

}

.contact-avatar.sponsor{

    background:linear-gradient(135deg,#FFD74A,#F5A623);

}

/* Label */

.contact-label{

    display:inline-block;

    padding:8px 18px;

    background:#EAF8FF;

    color:#169BE8;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    margin-bottom:18px;

}

.contact-card h4{

    font-size:28px;

    font-weight:700;

    color:#173B63;

    margin-bottom:15px;

}

.contact-card p{

    color:#6F7F90;

    line-height:1.8;

    margin-bottom:30px;

}

/* Info */

.contact-info{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    margin-bottom:30px;

    color:#169BE8;

    font-weight:600;

}

.contact-info i{

    font-size:16px;

}

/* WhatsApp Button */

.btn-whatsapp{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:16px;

    border-radius:50px;

    background:#25D366;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.btn-whatsapp:hover{

    background:#1EBE5D;

    color:#fff;

    transform:translateY(-2px);

}

.btn-whatsapp i{

    font-size:22px;

}

/* Responsive */

@media(max-width:991px){

.contact-section{

padding:90px 0;

}

.contact-title{

font-size:34px;

}

.contact-card{

padding:35px;

}

.contact-avatar{

width:80px;

height:80px;

font-size:30px;

}

}

/* FOOTER===================================================================================== */
/*=========================================
APP FOOTER
=========================================*/

.app-footer{

    position:relative;

    background:linear-gradient(135deg,#0F2D53,#163E68);

    color:#fff;

    padding:110px 0 35px;

    overflow:hidden;

}

/*============================*/

.app-footer-wave{

    position:absolute;

    top:-1px;

    left:0;

    width:100%;

    line-height:0;

}

.app-footer-wave svg{

    width:100%;

    height:90px;

}

/*============================*/

.app-footer-logo{

    width:170px;

    margin-bottom:25px;

}

.app-footer-desc{

    color:rgba(255,255,255,.78);

    line-height:1.9;

    margin-bottom:30px;

    font-size:15px;

}

/*============================*/

.app-footer-title{

    color:#fff;

    font-size:22px;

    font-weight:700;

    margin-bottom:28px;

}

/*============================*/

.app-footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.app-footer-links li{

    margin-bottom:14px;

}

.app-footer-links a{

    color:rgba(255,255,255,.75);

    text-decoration:none;

    transition:.3s;

}

.app-footer-links a:hover{

    color:#29B6F6;

    padding-left:8px;

}

/*============================*/

.app-footer-contact{

    list-style:none;

    padding:0;

    margin:0;

}

.app-footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:15px;

    margin-bottom:18px;

    color:rgba(255,255,255,.82);

    line-height:1.7;

}

.app-footer-contact i{

    width:18px;

    margin-top:5px;

    color:#29B6F6;

}

/*============================*/

.app-footer-social{

    display:flex;

    gap:15px;

}

.app-footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

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

    color:#fff;

    transition:.35s;

    text-decoration:none;

}

.app-footer-social a:hover{

    background:#29B6F6;

    transform:translateY(-5px);

}

/*============================*/

.app-footer-organizer{

    margin-top:60px;

    padding:25px 0;

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

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

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.app-footer-organizer span{

    color:rgba(255,255,255,.75);

    font-size:15px;

}

.app-footer-organizer a{

    color:#29B6F6;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.app-footer-organizer a:hover{

    color:#fff;

}

/*============================*/

.app-footer-bottom{

    margin-top:30px;

    text-align:center;

    color:rgba(255,255,255,.65);

    font-size:14px;

}

.app-footer-bottom strong{

    color:#fff;

}

/*============================*/

@media(max-width:991px){

    .app-footer{

        text-align:center;

        padding:90px 0 30px;

    }

    .app-footer-logo{

        margin:auto auto 25px;

    }

    .app-footer-social{

        justify-content:center;

    }

    .app-footer-contact li{

        justify-content:center;

        text-align:left;

    }

    .app-footer-organizer{

        justify-content:center;

        text-align:center;

    }

}

@media(max-width:576px){

    .app-footer{

        padding:80px 0 25px;

    }

    .app-footer-wave svg{

        height:60px;

    }

    .app-footer-title{

        margin-top:20px;

    }

}
/* FOOTER END================================================================================== */

/* REGISTER ================================================================================== */
/*==================================================
REGISTRATION PAGE
==================================================*/

body{
    background:#F6FAFD;
}

/*==================================================
REGISTRATION HERO
==================================================*/

.registration-hero{
    position:relative;
    padding:180px 0 120px;
    background:
        linear-gradient(rgba(10,35,66,.78),rgba(10,35,66,.82)),
        url('../img/hero-runner.jpg') center center/cover no-repeat;
    overflow:hidden;
}

.registration-hero::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-1px;
    width:100%;
    height:90px;
    background:url('../img/wave-white.svg') bottom center/cover no-repeat;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,
        rgba(41,182,246,.35),
        transparent 45%);
}

.hero-content{
    position:relative;
    z-index:5;
    text-align:center;
    color:#fff;
}

.hero-badge{
    display:inline-block;
    padding:10px 24px;
    border-radius:50px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(10px);
    font-weight:600;
    margin-bottom:25px;
}

.hero-title{
    font-size:58px;
    font-weight:800;
    margin-bottom:20px;
    color:#fff;
}

.hero-subtitle{
    max-width:700px;
    margin:auto;
    font-size:18px;
    line-height:1.8;
    opacity:.92;
}

.hero-breadcrumb{
    margin-top:30px;
}

.hero-breadcrumb a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.hero-breadcrumb span{
    color:#fff;
    opacity:.8;
    margin:0 8px;
}

/*==================================================
CARD
==================================================*/

.ticket-selector-card,
.registration-card{

    background:#fff;

    border-radius:26px;

    padding:35px;

    margin-top:35px;

    box-shadow:0 18px 45px rgba(20,60,90,.08);

    border:1px solid #E8F1F8;
}

/*==================================================
PRICE CARD
==================================================*/

#price-group{

    background:linear-gradient(135deg,#1AA8F2,#1675D1);

    border-radius:22px;

    padding:25px;

    margin-bottom:30px;

    border:none;
}

#price-group label{

    color:#fff;

    font-weight:600;
}

#priceView{

    background:transparent!important;

    border:none!important;

    color:#fff!important;

    font-size:42px;

    font-weight:800;

    box-shadow:none!important;
}

/*==================================================
RADIO BUTTON
==================================================*/

.radio-button{

    display:block;

    margin-bottom:15px;

    cursor:pointer;
}

.radio-button input{

    display:none;
}

.radio-button span{

    display:block;

    padding:15px 30px;

    border-radius:50px;

    border:2px solid #DCEAF5;

    background:#fff;

    font-weight:700;

    transition:.3s;

    color:#1D3D63;
}

.radio-button span:hover{

    border-color:#29B6F6;
}

.radio-button input:checked+span{

    background:linear-gradient(135deg,#29B6F6,#1675D1);

    border-color:#1675D1;

    color:#fff;

    box-shadow:0 15px 35px rgba(41,182,246,.35);
}

.radio-button input:disabled+span{

    opacity:.45;
}

/*==================================================
FORM
==================================================*/

.required-label{

    font-weight:700;

    color:#173B63;

    margin-bottom:10px;
}

.form-control,
.form-select{

    height:58px;

    border-radius:15px;

    border:1px solid #DCE8F2;

    padding:0 20px;

    transition:.3s;
}

.form-control:focus,
.form-select:focus{

    border-color:#29B6F6;

    box-shadow:0 0 0 .18rem rgba(41,182,246,.18);
}

textarea.form-control{

    min-height:150px;

    padding-top:18px;
}

/*==================================================
COMMUNITY
==================================================*/

#comunity-group{

    background:#F7FBFF;

    border:1px solid #E6F2FA;

    border-radius:20px;

    padding:25px;
}

/*==================================================
ALERT
==================================================*/

.alert-warning{

    background:#FFF7EA;

    border:none;

    border-left:5px solid #FFB545;

    border-radius:16px;

    color:#7A5400;
}

/*==================================================
CHECKBOX
==================================================*/

input[type=checkbox]{

    accent-color:#29B6F6;
}

#terms+label{

    color:#5A6777;
}

#terms+label a{

    color:#1675D1;

    font-weight:700;

    text-decoration:none;
}

#terms+label a:hover{

    color:#29B6F6;
}

/*==================================================
EMAIL
==================================================*/

.email-validation-message{

    display:block;

    margin-top:8px;

    font-size:14px;

    font-weight:600;
}

/*==================================================
BUTTON
==================================================*/

.btn-register{

    height:60px;

    padding:0 55px;

    border-radius:50px;

    border:none;

    font-weight:700;

    font-size:17px;

    color:#fff!important;

    background:linear-gradient(135deg,#29B6F6,#1675D1)!important;

    transition:.35s;
}

.btn-register:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(41,182,246,.35);
}

.btn-register:disabled{

    background:#C7D2DD!important;

    box-shadow:none;

    cursor:not-allowed;
}

/*==================================================
FILE
==================================================*/

input[type=file]{

    padding:14px;
}

/*==================================================
IMAGE PREVIEW
==================================================*/

#student-card-img{

    width:100%;

    max-width:350px;

    border-radius:18px;

    margin-top:15px;

    border:4px solid #fff;

    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

/*==================================================
DYNAMIC FORM
==================================================*/

#dynamic-forms,
#dynamic-formsUmum{

    margin-top:25px;
}

/*==================================================
MOBILE
==================================================*/

@media(max-width:991px){

    .registration-hero{

        padding:150px 0 90px;
    }

    .hero-title{

        font-size:42px;
    }

    .hero-subtitle{

        font-size:16px;
    }

    .registration-card,
    .ticket-selector-card{

        padding:25px;
    }

    #priceView{

        font-size:30px;
    }

    .btn-register{

        width:100%!important;

        max-width:100%!important;
    }

}

@media(max-width:576px){

    .hero-title{

        font-size:34px;
    }

    .hero-badge{

        font-size:13px;
    }

    .ticket-selector-card,
    .registration-card{

        padding:20px;
    }

    .radio-button{

        width:100%;
    }

    .radio-button span{

        text-align:center;
    }

}
/* REGISTER END =============================================================================== */
/* TNC */
/*==================================================
TNC PAGE
==================================================*/

.tnc-page{

    background:#F8FCFF;

    padding:80px 0 100px;

}

/*==================================================
HERO
==================================================*/

.tnc-hero{

    max-width:850px;

    margin:auto;

}

.tnc-banner{

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 20px 45px rgba(23,59,99,.10);

}

.tnc-header{

    margin-top:20px;

}

.tnc-badge{

    display:inline-block;

    padding:10px 24px;

    border-radius:50px;

    background:#EAF8FF;

    color:#1BA9F5;

    font-size:14px;

    font-weight:700;

    letter-spacing:.5px;

    margin-bottom:20px;

}

.tnc-title{

    font-size:48px;

    font-weight:800;

    color:#173B63;

    margin-bottom:18px;

}

.tnc-subtitle{

    max-width:700px;

    margin:auto;

    color:#6E7C8C;

    line-height:1.9;

    font-size:17px;

}

/*==================================================
CARD
==================================================*/

.tnc-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #E4F2FB;

    box-shadow:0 20px 45px rgba(23,59,99,.08);

}

/*==================================================
HEADER
==================================================*/

.tnc-card-header{

    background:linear-gradient(
        135deg,
        #1BA9F5,
        #1976D2
    );

    padding:26px 35px;

    color:#fff;

}

.tnc-card-header h4{

    margin:0;

    font-size:24px;

    font-weight:700;

    color:#fff;

}

.tnc-card-header i{

    color:#fff;

}

/*==================================================
BODY
==================================================*/

.tnc-card-body{

    padding:40px;

}

/*==================================================
LIST
==================================================*/

.tnc-list{

    margin:0;

    padding-left:0;

    list-style:none;

    counter-reset:tnc;

}

.tnc-list li{

    position:relative;

    padding:18px 0 18px 65px;

    border-bottom:1px solid #EDF3F8;

    color:#55697D;

    line-height:1.9;

    font-size:16px;

}

.tnc-list li:last-child{

    border-bottom:none;

}

.tnc-list li::before{

    counter-increment:tnc;

    content:counter(tnc);

    position:absolute;

    left:0;

    top:16px;

    width:42px;

    height:42px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #1BA9F5,
        #1976D2
    );

    color:#fff;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 10px 20px rgba(27,169,245,.25);

}

/*==================================================
CONTENT INSIDE LIST
==================================================*/

.tnc-list strong{

    color:#173B63;

}

.tnc-list p{

    margin-bottom:10px;

}

.tnc-list ul{

    margin-top:10px;

    margin-bottom:0;

}

.tnc-list ul li{

    padding:6px 0;

    border:none;

    color:#6E7C8C;

}

.tnc-list ul li::before{

    display:none;

}

/*==================================================
LINK
==================================================*/

.tnc-list a{

    color:#1BA9F5;

    font-weight:600;

    text-decoration:none;

}

.tnc-list a:hover{

    color:#177ED8;

}

/*==================================================
TABLE (jika description mengandung table)
==================================================*/

.tnc-card table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

}

.tnc-card table th{

    background:#F3FAFE;

    color:#173B63;

    padding:14px;

    border:1px solid #E4F2FB;

}

.tnc-card table td{

    padding:14px;

    border:1px solid #E4F2FB;

    color:#55697D;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:991px){

    .tnc-title{

        font-size:38px;

    }

    .tnc-card-body{

        padding:30px;

    }

}

@media(max-width:768px){

    .tnc-page{

        padding:60px 0 80px;

    }

    .tnc-title{

        font-size:32px;

    }

    .tnc-subtitle{

        font-size:15px;

    }

    .tnc-card-header{

        padding:22px;

    }

    .tnc-card-header h4{

        font-size:20px;

    }

    .tnc-card-body{

        padding:24px;

    }

    .tnc-list li{

        padding-left:55px;

        font-size:15px;

    }

    .tnc-list li::before{

        width:36px;

        height:36px;

        font-size:14px;

    }

}

@media(max-width:576px){

    .tnc-title{

        font-size:28px;

    }

    .tnc-badge{

        font-size:13px;

        padding:8px 18px;

    }

    .tnc-list li{

        line-height:1.8;

    }

}
/* TNC */