@font-face {
    font-family: "HanSansSC-Bold";
    src: url("/assets/fonts/SourceHanSansSC-Bold.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HanSansSC-Light";
    src: url("/assets/fonts/SourceHanSansSC-Light.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "HanSansSC-Regular";
    src: url("/assets/fonts/SourceHanSansSC-Regular.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

h1 {
    font-family: "HanSansSC-Bold", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.9em;
    padding-top: 50px;
    text-transform: uppercase;
    padding-bottom: 30px;
}

h2 {
    font-family: "HanSansSC-Bold", sans-serif;
    font-weight: 500;
    font-style: normal;
    position: relative;
    font-size: calc(1.225rem + 0.8vw);
    padding-top: 10px;
    text-transform: uppercase;
    padding-bottom: 10px;
    text-align: center;
    color: #ffffff !important;
    opacity: 1;
    margin-bottom: 0px;
}

h3 {
    font-family: "HanSansSC-Bold", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: calc(1.175rem + 0.5vw);
    padding-top: 0px;
    text-transform: none;
    color: #ffffff !important;
    padding-bottom: 10px;
    text-align: center;
    margin-bottom: 0px;
}

h4 {
    font-family: "HanSansSC-Bold", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: calc(1rem + 0.4vw);
    padding-top: 20px;
    text-transform: none;
    color: #ffffff !important;
    padding-bottom: 0px;
    text-align: center;
    margin-bottom: 0px;
}

p {
    font-family: "HanSansSC-Light", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1em;
    padding-top: 0px;
    text-transform: none;
    color: #ffffff !important;
    padding-bottom: 0px;
    text-align: center;
    margin-bottom: 0px;
}

span {
    font-family: "HanSansSC-Light", sans-serif;
    font-weight: 500;
    font-style: normal;
    text-transform: none;
    color: inherit;
}

.btn-primary {
    font-family: "HanSansSC-Regular", sans-serif;
    font-weight: 500; /* Medium */
    background-color: #B40E12;
    border: 0px;
    width: 100%;
    color: #ffffff;
    padding-top: 10px;
    padding-bottom: 10px;
    text-transform: uppercase;
    margin-top: 20px;
}

.btn-primary:focus,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus-visible {
    background-color: #B40E12;
    color: #ffffff;
    transform: scale(1.05);
    box-shadow: none;
}

.btn-primary:active:focus {
    box-shadow: none;
}

/* Footer section */
/* .mobile-footer {
    padding: 0;
    position: fixed;
    bottom: 0;
    z-index: 0;
    display: flex;
}

.desktop-footer {
    padding: 0;
    position: fixed;
    bottom: 0;
    width: 0px;
} */
/* Mobile rules */
@media (max-width:767px) {
    section.background {
        min-height: 100vh;
        background-image: url('assets/mobile-img.png');
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-size: cover;
    }

    .desktop-footer {
        visibility: hidden;
        display: none;
    }
}

/* Large mobile rules */
@media (min-height:800px) and (max-height:991px) {
}

/* Desktop rules */
@media (min-width:768px) {
    section.background {
        min-height: 100vh;
        background-image: url('assets/desktop-img.png');
        background-size: cover;
        background-repeat: no-repeat;
        background-attachment: fixed;
    }

    .mobile-footer {
        visibility: hidden;
        display: none;
    }
}

/* Links */
a:hover {
    color: #004e5f;
}

a {
    color: #004e5f;
    text-decoration: none;
}

/* Forms */
/* Make form text visible on dark background */
label,
.form-check-label,
.form-check-label a,
.form-text {
    color: #ffffff !important;
    font-family: "HanSansSC-Light", sans-serif;
}



.input-group {
    display: block;
    flex-wrap: wrap;
}

.input-date {
    color: #212529;
    background-color: #ffffff;
    font-size: 0.8rem;
    line-height: 2rem;
    font-weight: bold;
    text-align: center;
    width: 100%;
    border: 0px;
    border-radius: 0px;
}

.input-date:focus-visible {
    border-radius: 0px;
    background-color: #ffffff;
    border: 0px;
    border-radius: 0px;
    outline: none;
}

.form {
    display: block;
    margin-top: 0em;
}

.age-confirmation {
    display: flex;
    justify-content: center;
    align-items: baseline;
    padding-right: 5px;
    padding-left: 5px;
}

option {
    font-size: 1em !important;
    min-height: 1em;
    color: #212529;
}

.form-control {
    font-family: "HanSansSC-Regular", sans-serif;
    font-weight: 500; /* Medium */
    font-style: normal;
    border: 0px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 0px;
    color: #212529;
    border-radius: 0px;
    background-color: #ffffff;
    -webkit-appearance: menulist;
}

select.form-control {
    font-family: "HanSansSC-Regular", sans-serif;
    font-weight: 500; /* Medium */
    font-style: normal;
    border: 0px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 0px;
    color: #212529;
    border-radius: 0px;
    background-color: #ffffff;
    -webkit-appearance: menulist;
}

.form-control:focus {
    color: #212529;
    border: 0px;
    background-color: #ffffff;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-bottom: 0px;
    margin-top: 0px;
    box-shadow: none;
    outline: none;
}

select.form-control:focus {
    color: #212529;
    border: 0px;
    background-color: #ffffff;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 0px;
    margin-top: 0px;
    box-shadow: none;
    outline: none;
}

::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

input#customFile.upload-file {
    display: flex;
    color: #000000;
    border-width: 0px;
    border-style: solid;
    border-radius: 0px;
    font-size: 0.8em;
}

.form-check-input,
.form-check-input:focus {
    background: #ffffff;
    border-radius: 0px !important;
    border-width: 0px;
    border-color: #212529;
    outline: none;
    box-shadow: none;
}

.form-check-input[type="checkbox"] {
    border-radius: 0;
}

.form-check-input:checked {
    background-color: #212529;
    border-color: #ffffff;
    box-shadow: none;
}

/* Placeholder */
::placeholder {
    font-family: "mr-eaves-modern", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: #babbbf;
}

input[type="text"].form-control::-webkit-input-placeholder {
   font-family: "HanSansSC-Regular", sans-serif;
    font-weight: 500; /* Medium */
    font-style: normal;
    color: #babbbf;
}

.aria-labelledby {
   font-family: "din-2014", sans-serif;
    font-weight: 500; /* Medium */
    font-style: normal;
    color: #babbbf;
}

/* General layout */
.backdrop {
    background-color: #222424;
    padding: 0px 0px 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.75);
    margin-top: 40px;
}

.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

.col-10.col-lg-10.col-md-10.col-sm-10 {
    padding-left: 0px;
    padding-right: 0px;
}

.container-fluid {
    padding-right: 0px;
    padding-left: 0px;
    overflow: hidden;
}

.body-content {
    display: block;
    padding-bottom: 15vh;
}

.main {
    padding-left: 5px;
    padding-right: 5px;
}

.header-img {
    padding: 0 0px 20px;
}

/* Default (unchecked) */
.form-check-input[type="checkbox"] {
    background-color: transparent;
    border: 2px solid #fff;
}

/* Checked state */
.form-check-input:checked[type="checkbox"] {
    background-color: transparent;
    border-color: #fff;

    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

/* Focus state (remove blue glow) */
.form-check-input:focus {
    box-shadow: none;
    border-color: #fff;
}

/* Optional: hover */
.form-check-input:hover {
    border-color: #fff;
}
