* {
    font-family: "Inter", sans-serif;
    color: #0A151F;
}

.bg-login {
    /* background-image: url('../../assets/login-bg.png'); */
    background-image:
        linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 9%),
        url(../../assets/login-bg.png);
    background-position: center;
    background-size: cover;
    min-height: 100vh;
    width: 100%;
}

.bg-jogja {
    /* background-image: url('../../assets/jogja-bg.jpg'); */
    background-image:
        linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 9%),
        url(../../assets/jogja-bg.jpg);
    background-position: center;
    background-size: cover;
    min-height: 100vh;
    width: 100%;
}

.bg-thailand {
    /* background-image: url('../../assets/thailand-bg.jpg'); */
    background-image:
        linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 9%),
        url(../../assets/thailand-bg.jpg);
    background-position: center;
    background-size: cover;
    min-height: 100vh;
    width: 100%;
}


.icon-danamon {
    width: 174px;
}

.logo-event {
    width: 418px;
}

.tagline-event {
    width: 418px;
}

.logo-event-home {
    width: 150px;
}


.content-login {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: auto;
    width: 100%;
}

.footer {
    /* max-width: 500px; */
    color: black;
}

.footer .footer-title {
    font-size: 20px;
    color: white;
    font-weight: 700;
    margin: 0;
    margin-bottom: 8px;
    line-height: 100%;
}

.footer .footer-text {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    line-height: 100%;
    color: white;
}

.login-modal {
    padding: 30px;
}

.login-modal .title {
    color: #0A151F;
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    margin-bottom: 20px;
}

.login-modal .title-md {
    color: #0A151F;
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: left;
    margin-bottom: 20px;
}

.login-modal .desc {
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    color: #0A151FB2;
    text-align: center;
}



/* MOBILE LAYOUT */

@media (max-width: 767.98px) {
    .content-login {
        flex-direction: column;
    }

    .icon-danamon {
        width: 100px;
    }

    .logo-event-home {
        width: 100px;
    }

    .logo-event {
        width: 200px;
    }

    .tagline-event {
        width: 250px;
    }

    .footer .footer-title {
        font-size: 18px;
    }

    .footer .footer-text {
        font-size: 12px;
        font-weight: 500;
        margin: 0;
        line-height: 100%;
    }
}


/* BUTTON */
.button-primary {
    background-color: #EFAC3C;
    padding: 16px 24px;
    color: #0A151F;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0px 4px 4px 0px #A6650340;
    cursor: pointer;
    outline: none;
    border: none;
}

.button-logout {
    background-color: #FE3B10;
    padding: 16px 24px;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    border: 1px solid #FFD4AC;
    box-shadow: 0px 4px 4px 0px #A6650340;
}

.button-yellow {
    background-color: #F4C74D;
    padding: 16px 24px;
    color: #0A151F;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
}

.button-yellow-sm {
    background-color: #F4C74D;
    padding: 12px 24px;
    color: #0A151F;
    font-size: 16px;
    font-weight: 500;
    border-radius: 10px;
    cursor: pointer;
    outline: none;
    text-decoration: none;
    width: 156px;
    text-align: center;
}


.form-control, .form-select {
    border: none;
    border-bottom: 2px solid #E0E0E0;
    border-radius: 0;
    box-shadow: none;
}

.form-control:focus, .form-select:focus {
    border-bottom: 2px solid #EFAC3C;
    outline: none;
    box-shadow: none;
}

.form-control.is-invalid {
    border-bottom: 2px solid #F44336;
    outline: none;
    box-shadow: none;
}

.form-control.is-invalid:focus {
    border-bottom: 2px solid #F44336;
    outline: none;
    box-shadow: none !important;
}

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:hover,
.form-control:-internal-autofill-selected,
.form-select:-webkit-autofill:focus,
.form-select:-webkit-autofill,
.form-select:-webkit-autofill:hover,
.form-select:-internal-autofill-selected {
    -webkit-box-shadow: 0 0 0px 1000px white inset; /* ganti white sesuai background */
    box-shadow: 0 0 0px 1000px white inset;
    -webkit-text-fill-color: #000; /* ganti warna teks sesuai desain */
    border-bottom: 2px solid #E0E0E0; /* tetap border fokus */
    outline: none;
}


.tab-btn {
    outline: none;
    border: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: -2%;
    text-align: center;
    color: #0A151F;
    border-bottom: 3px solid #E0E0E0;
    padding: 8px 10px;
    cursor: pointer;
    width: 100%;
    background-color: white;
}

.tab-btn[aria-expanded="true"] {
    border-bottom: 3px solid #EFAC3C;
}


.tab-btn .status {
    opacity: 50%;
}

.tab-btn .status.complete {
    color: #28a745;
    opacity: 1;
}


.select2-selection {
    border: none !important;
    border-bottom: 2px solid #E0E0E0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.select2-selection:focus {
    border: none !important;
    border-bottom: 2px solid #EFAC3C !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.select2-container--bootstrap-5 .select2-dropdown {
    border-color: #E0E0E0;
    box-shadow: 0px 4px 4px 0px #A6650340;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--selected, .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected=true]:not(.select2-results__option--highlighted) {
    color: #0A151F;
    background-color: #EFAC3C !important;
}


.form-label {
    font-weight: 500;
    font-size: 16px;
    color: #0A151F;
}

.form-label small {
    font-weight: 500;
    font-size: 12px;
    color: #0A151F;
}


.location-event {
    font-weight: 900;
    font-size: 13px;
    border-bottom: 1px solid black;
    width: fit-content;
    margin: 0;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 5px;
    padding-top: 5px;
}

.tagline-event-wrapper {
    width: 418px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: auto;
}

.tagline-event-wrapper img {
    margin-bottom: 20px;
}

@media (max-width: 767.98px) {

    .tagline-event-wrapper {
        width: 250px;
        margin-right: auto;
    }
}


.card-custom {
    border: 1px solid #FFFFFF1A;
    background: #ffffffe0;
    backdrop-filter: blur(13px);
    border-radius: 10px;
    padding: 18px 21px;
}

.card-custom .icon {
    height: 50px;
}

.normal-medal {
    background-color: #0A151F;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
}

.normal-medal img {
    width: 18px;
}

.badge-silver {
    background: linear-gradient(90.23deg, #B9C3C9 0.17%, #E3E6E8 99.77%);
    border-radius: 100px;
    padding-top: 3px;
    padding-right: 10px;
    padding-bottom: 3px;
    padding-left: 10px;
    font-size: 12px;
    font-weight: 500;
}

.badge-gold {
    background: linear-gradient(90.64deg, #F7E539 -11.82%, #FE9F10 90.4%, #E6B132 90.4%);
    border-radius: 100px;
    padding-top: 3px;
    padding-right: 10px;
    padding-bottom: 3px;
    padding-left: 10px;
    font-size: 12px;
    font-weight: 500;
}

.badge-bronze {
    background: linear-gradient(90.23deg, #C36943 0.17%, rgba(195, 105, 67, 0.211765) 99.77%);
    border-radius: 100px;
    padding-top: 3px;
    padding-right: 10px;
    padding-bottom: 3px;
    padding-left: 10px;
    font-size: 12px;
    font-weight: 500;
}


.badge-point {
    background-color: #FFFFFF;
    padding: 6px 16px;
    border-radius: 100px;
    color: #EFAC3C;
    font-weight: 500;
    font-size: 14px;
}


.swiper,
.swiper-wrapper,
.swiper-slide {
    height: 100%;
}

.img-fluid {
    width: auto;
    height: 85%;
    object-fit: contain;
}

@media (max-width: 768px) {
    .img-fluid {
        height: 100%;
        width: 100%;
        object-fit: contain;
    }
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 30px !important;
    color: #F4C74D;
}

.swiper-button-next, .swiper-button-prev {
    background-color: rgba(0, 0, 0, 0.4);
    width: 50px !important;
    height: 50px !important;
    padding: 10px !important;
    border-radius: 25px;
}


.card-menu {
    padding-top: 25px; padding-bottom: 25px;
    cursor: pointer;
    color: #0A151F !important;
    text-decoration: none;
}

.badge-rank {
    width: 82px;
    height: 112px;
}

.badge-rank-gold {
    width: 100px;
    height: 112px;
}

.top-ranks {
    width: 80%;
}


@media (max-width: 768px) {
    .top-ranks{
        width: 100%;
    }
    .card-menu {
        height: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    .card-menu h2 {
        font-size: 16px !important;
        display: contents;
        padding-right: 10px;
    }

    .card-menu .icon {
        height: 25px !important;
    }

    .badge-rank {
        width: 100%;
        height: 112px;
    }

    .badge-rank-gold {
        width: 100%;
        height: 112px;
    }

    .badge-silver, .badge-gold, .badge-bronze {
        padding-top: 3px;
        padding-right: 6px;
        padding-bottom: 3px;
        padding-left: 6px;
        font-size: 10px;
    }


    .countdown {
        gap: 5px !important;
    }

    .countdown-box {
        min-width: 40px !important;
        /* padding: 5px 10px; */
    }

    .countdown-num {
        font-size: 16px !important;
    }

    .countdown-info {
        font-size: 8px !important;
    }

}


.row.custom-gap {
    --bs-gutter-x: .5rem;
}


.button-logout-sm {
    background-color: #FE3B10;
    padding: 8px 12px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    border: 1px solid #FFD4AC;
    box-shadow: 0px 4px 4px 0px #A6650340;
}

.button-yellow-xs {
    background-color: #F4C74D;
    padding: 8px 12px;
    color: #0A151F;
    font-size: 12px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    text-decoration: none;
    width: 156px;
    text-align: center;
}


.modal-custom .modal-content {
    background-color: #a9632129;
}

.modal-custom .modal-title {
    margin-left: auto;
    color: white;
}

.modal-custom .btn-close {
    color: white;
    opacity: 1;
    filter: invert();
}


.button-close {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
}

.button-close img {
    width: 24px;
}

.button-download {
    background: #00000033;
    backdrop-filter: blur(50px);
    border-radius: 20px;
    padding: 20px;
}


.link-profile {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0A151F;
    font-size: 18px;
    text-decoration: none;
    gap: 8px;
}

.link-profile img {
    width: 24px;
}


.profile-text {
    color: #0A151F;
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 10px;
}

.profile-info {
    color: #0A151F80;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 24px;
}

.profile-info img {
    width: 200px;
    border-radius: 10px;
}


.countdown {
    display: flex;
    align-items: center;
    gap: 10px;
}

.countdown-box {
    min-width: 72px;
    padding: 5px 10px;
    border-radius: 10px;
    border: 1px solid #0A151F80;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.countdown-num {
    color: #0A151F;
    font-weight: 700;
    font-size: 20px;
    margin: 0;
}

.countdown-info {
    color: #0A151F80;
    font-weight: 500;
    font-size: 10px;
    margin: 0;
}


.input-error {
    border-bottom: 2px solid red !important;
}

.select2-container.input-error .select2-selection .select2-selection--single .select2-selection--clearable {
    border: 2px solid red !important;
}


.active>.page-link, .page-link.active {
    z-index: 3;
    background-color: #F4C74D;
    border-color: #F4C74D;
    color: #0A151F;
}

.page-link {
    color: #0A151F;
}
