@font-face {
    font-family: "ShiseidoNeue Regular";
    src: url('assets/fonts/Shiseido-Neue-Regular.otf') format('truetype');
}

@font-face {
    font-family: "ShiseidoNeue Bold";
    src: url('assets/fonts/Shiseido-Neue-Bold.otf') format('truetype');
}

html, body {
    height: 100%;
    display: flex;
    flex-direction: column;
    font-family: "ShiseidoNeue Regular", sans-serif;
}

p {
    margin-bottom: 0;
    margin-top: 8px;
}

span {
    font-family: "ShiseidoNeue Bold", sans-serif;
}

body {
    margin: 0;
    padding: 0;
    background-color: #000000;
    color: #000710;
}

.top-bar {
    width: 100%;
    text-align: center;
    height: 65px;
    background-color: #000000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo img {
    width: 155px;
    height: auto;
}

.container {
    flex: 1;
    background: #ffffff;
}

.banner-container {
    padding: 20px;
    margin: 0 auto;
}

.banner-container .title {
    text-align: left;
    font-family: "ShiseidoNeue Bold", sans-serif;
}

.banner-container img {
    width: 100%
}

.description-container {
    margin: 0 30px;
}

.instruction-container {
    margin: 28px 30px 15px 30px;
}

.instruction-grid {
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-columns: repeat(1, 1fr);
    margin: auto;
}

.instruction-grid .date-and-time {
    margin-top: 15px;
}

.instruction-grid .read-more {
    margin-top: 28px;
}

.check-bullet {
    list-style: none;
    padding-left: 0;
}

.check-bullet li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
}

.check-bullet li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: -3px;
    font-size: 16px;
}

.terms-link {
    color: #000;
}

.button-container {
    display: flex;
    justify-content: center;
    margin: 30px auto;
    max-width: 360px;
}

.button-container a {
    width: 100%;
    display: inline-block;
    padding: 10px 20px;
    background-color: #D7001C;
    color: white;
    text-decoration: none;
    text-align: center;
}

@media (min-width: 576px) {
    .banner-container {
        max-width: 576px;
    }

    .instruction-grid {
        max-width: 576px;
    }
}

@media (min-width: 768px) {
    .banner-container {
        max-width: 768px;
    }

    .instruction-grid {
        max-width: 768px;
    }
}

@media (min-width: 992px) {
    .banner-container {
        max-width: 992px;
    }

    .instruction-grid {
        max-width: 992px;
    }
}

footer {
    background-color: #000000;
    text-align: center;
    height: 70px;
}

.footer-content {
    max-width: 800px;
    margin: auto;
}

.footer-logos {
    display: flex;
    justify-content: center;

}

.footer-logos img {
    width: 70px;
}
