:root {
    --primary-color: #370d48;
    --primary-color-hover: #d1af6d;
    --primary-color-v2: #005688;
    --primary-color-v2-hover: #00456d;
    --primary-color-text-color: #272727;
}

body {
    background: linear-gradient(126deg, #c300d5 0%, #9516d0 16%, #771597 37%, #771597 57%, #771597 74%, #771597 89%, #771597 100%);
    background-attachment: fixed;
}

header {
    padding-top: 40px;
}

.bottom > .position-absolute {
    /* background-image: url("/custom_landing/img/blackbox.png"); */
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    /* height: 100vh; */
}

.app-logo {
    height: 70px;
}

.info-card {
    margin: 0 25px;
    border-radius: 85px;
}

.info-card .header {
    padding: 45px 25px 2px 25px;
}
.info-card .header .title {
    font-size: 25px;
    font-weight: 800;
    line-height: 45px;
    letter-spacing: -0.03em;
    text-align: center;
    color: white;
    padding-top: 50px;
}
.info-card .header .description {
    font-size: 15px;
    font-weight: 600;
    line-height: 25px;
    letter-spacing: -0.02em;
    text-align: left;
    color: var(--primary-color);
}

.info-card .content {
    min-height: initial !important;
    padding: 30px 25px 60px 25px;
    width: initial;
    direction: initial;
}
.info-card .content .title {
    font-size: 22px;
    font-weight: 800;
    line-height: 32px;
    letter-spacing: 0px;
    text-align: left;
    color: #fff;
}
.info-card .content .description .body {
    font-size: 15px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 0px;
    white-space: pre-wrap;
}

.info-card .main_stage_layout-container .image-container img {
    width: 100%;
    /* height: 100%; */
}

.category_list-container {
    width: 100%;
}
.category_list-container .category-item-container {
    border: #d7d7d7 1px solid;
    border-radius: 18px;
    background-color: #f9f9f9;
    padding: 20px;
    width: 100%;
}
.category_list-container .category-item-container .name {
    font-size: 19px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0px;
    color: #1f2d41;
}
.category_list-container .category-item-container .info-container .icon {
    color: #acacac;
}
.category_list-container .category-item-container .info-container span {
    color: #acacac;
}
.category_list-container .category-item-container .buy-ticket-button {
    border-radius: 15px;
    background-color: var(--primary-color);
    color: #fff;
    display: block;
    width: 100%;
    padding: 22px 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.category_list-container .category-item-container .price {
    font-size: 20px;
    font-weight: 800;
    line-height: 32px;
    letter-spacing: 0px;
    color: #323f4b;
}

.ticket_category .ticket-bottom-container {
    width: 100%;
}

.packet-row .choose-button {
    border: none;
    background-color: #8d8d8d;
    color: white;
    height: 55px;
    border-radius: 20px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 42px;
    letter-spacing: 0em;
    cursor: pointer;
}
.packet-row .choose-button.selected {
    background-color: #1d4261;
    font-size: 20px;
    color: white;
}
.packet-row .not_yet_available-text {
    font-size: 13.5px !important;
    font-weight: 400;
    line-height: 17px;
    letter-spacing: 0em;
    color: #ada9a9;
}
.quantity-container {
    margin-bottom: 22px;
}
.quantity-container .quantity {
    font-size: 14px;
    font-weight: 400;
    line-height: 19px;
    letter-spacing: 0em;
    color: #ada9a9;
}
.quantity-card {
    border: #d7d7d7 1px solid;
    border-radius: 15px;
    box-shadow: none;
    margin-bottom: unset;
}
.quantity-card .ticket-icon {
    color: #1d4261;
    font-size: 22px;
}
.quantity-card .ticket-quantity {
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    letter-spacing: 0em;
    color: var(--primary-color);
}
.quantity-card .ticket-counter-button {
    border: none;
    width: 30px;
    background-color: transparent;
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0em;
    text-align: center;
    color: var(--primary-color);
    cursor: pointer;
}
.quantity-card .ticket-input-container {
    width: 63px;
    padding: 0px 7px;
    border: none;
    border-right: 1px solid #e0d6ca;
    border-left: 1px solid #e0d6ca;
}
.quantity-card .ticket-input-container input {
    width: 100%;
    border: none;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0em;
}
/* Chrome, Safari, Edge, Opera */
.quantity-card .ticket-input-container input::-webkit-outer-spin-button,
.quantity-card .ticket-input-container input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Firefox */
.quantity-card .ticket-input-container input[type="number"] {
    -moz-appearance: textfield;
}
.quantity-card .ticket-input-container input[type="number"]:focus {
    outline: none;
}
.total-container .total {
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0em;
}
.total-container .price {
    font-size: 22px;
    font-weight: 700;
    line-height: 30px;
    letter-spacing: 0em;
    color: #fff;
}

.buy-now-button {
    border: none;
    height: 70px;
    border-radius: 20px;
    background-color: var(--primary-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 25px;
    letter-spacing: -0.02em;
    color: #fff;
}

.item-list-container ul {
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0px;
    padding-left: 1rem;
    color: #fff;
}

.teaser-container .video-container iframe {
    width: 100%;
    height: 225px;
}

.terms_conditions-container .item-list-container ul {
    list-style: none;
}
.terms_conditions-container .item-list-container ul li::before {
    content: "\2022";
    color: var(--primary-color);
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
    font-size: 20px;
}

.contact_us-container .contact-container .icon {
    font-size: 20px;
    color: var(--primary-color);
}
.contact_us-container .contact-container .text {
    font-size: 15px;
    font-weight: 500;
    line-height: 25px;
    letter-spacing: 0em;
    color: #484848;
}

footer {
    padding-bottom: 40px;
}
footer .title {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -0.02em;
    color: white;
}

.point {
    width: 9px;
    height: 44px;
    border-radius: 10px;
    background-color: var(--primary-color);
}

.w-28px {
    width: 28px;
}

.px-28px {
    padding-left: 28px;
    padding-right: 28px;
}

.my-40px {
    margin-top: 40px;
    margin-bottom: 40px;
}

.mt-40px {
    margin-top: 40px;
}

.mt-36px {
    margin-top: 36px;
}

.h-80px {
    height: 80px;
}

.small,
small {
    font-size: 0.875em !important;
}

@media (min-width: 450px) {
    .info-card .header {
        padding: 45px 35px 2px 35px;
    }
    .info-card .header .title {
        font-size: 27px;
        padding-top: 50px;
    }

    .info-card .content {
        min-height: initial !important;
        padding: 30px 35px 60px 35px;
        width: initial;
        direction: initial;
    }

    .teaser-container .video-container iframe {
        width: 100%;
        height: 275px;
    }
}

/* Small devices*/
@media (max-width: 768px) {
    .app-logo {
        height: 88px;
    }

    .info-card {
        margin: 0px 10px;
        border-radius: 20px;
    }

    .info-card .header .title {
        line-height: 40px;
        padding-top: 50px;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .app-logo {
        height: 88px;
    }

    .info-card {
        margin: 0 60px;
    }

    .info-card .header {
        padding: 60px 50px 2px 50px;
    }
    .info-card .header .title {
        font-size: 32px;
        line-height: 50px;
        padding-top: 50px;
    }
    .info-card .header .description {
        font-size: 18px;
    }

    .info-card .content {
        padding: 45px 50px 80px 50px;
    }
    .info-card .content .title {
        font-size: 26px;
    }
    .info-card .content .description .body {
        font-size: 18px;
    }

    .category-item-container .price {
        font-size: 25px;
    }

    .category_list-container .category-item-container .price {
        font-size: 22px;
    }
    .category_list-container .category-item-container .buy-ticket-button {
        width: 166px;
    }

    .ticket_category .ticket-bottom-container {
        width: 390px;
    }

    .item-list-container ul {
        font-size: 18px;
    }

    .total-container .price {
        font-size: 24px;
    }

    .teaser-container .video-container iframe {
        width: 100%;
        height: 375px;
    }

    .contact_us-container .contact-container .text {
        font-size: 18px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .info-card {
        margin: 0 80px;
    }

    .info-card .header {
        margin: 0 auto;
        max-width: 1000px;
    }
    .info-card .header .title {
        line-height: 60px;
        font-size: 45px;
        padding-top: 20px;
    }

    .info-card .main_stage_layout-container .image-container img {
        width: auto;
        height: 650px;
    }

    .category_list-container {
        width: 1000px;
    }

    .teaser-container .video-container iframe {
        width: 100%;
        height: 475px;
    }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .teaser-container .video-container iframe {
        width: 100%;
        height: 575px;
    }
}
