@font-face {
    font-family: 'Futura Std Book';
    src: url('/fonts/FuturaStdBook/FuturaStdBook.eot');
    src: url('/fonts/FuturaStdBook/FuturaStdBook.eot') format('embedded-opentype'),
    url('/fonts/FuturaStdBook/FuturaStdBook.woff2') format('woff2'),
    url('/fonts/FuturaStdBook/FuturaStdBook.woff') format('woff'),
    url('/fonts/FuturaStdBook/FuturaStdBook.ttf') format('truetype');
}

@font-face {
    font-family: 'Futura Std Heavy';
    src: url('/fonts/FuturaStdHeavy/FuturaStdHeavy.eot');
    src: url('/fonts/FuturaStdHeavy/FuturaStdHeavy.eot') format('embedded-opentype'),
    url('/fonts/FuturaStdHeavy/FuturaStdHeavy.woff2') format('woff2'),
    url('/fonts/FuturaStdHeavy/FuturaStdHeavy.woff') format('woff'),
    url('/fonts/FuturaStdHeavy/FuturaStdHeavy.ttf') format('truetype');
}

body {
    background-color: #fffffa;
    font-family: 'Futura Std Book', sans-serif;
    font-size: .9rem;
}

@media (min-width: 576px) {
    html {
        font-size: 1.25rem;
    }
}

label {
    display: inline;
    font-weight: 600;
}

strong {
    font-weight: normal;
    font-family: 'Futura Std Heavy', sans-serif;
}

label {
    cursor: pointer;
}

input[type=radio] {
    appearance: none;
    background-color: white;
    border: 1px solid black;
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    display: grid;
    place-content: center;
    cursor: pointer;
}

input[type=radio]::before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    background-color: #779795;
}

input[type=radio]:checked::before {
    transform: scale(1);
}

h3, .h3,
h4, .h4 {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1em;
    margin-bottom: 1rem;
}

h3, .h3 {
    text-transform: uppercase;
}

@media (min-width: 992px) {
    h3, .h3,
    h4, .h4 {
        font-size: 1.125em;
    }
}

.login-page {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.card {
    display: block;
    flex-direction: unset;
    border: 1px solid #474d4b;
    border-radius: 1rem;
    background-color: #d5e7e2;
    padding: 1rem;
}

.card.card-small {
    border-radius: .5rem;
    padding: .5rem;
}

.card .stuck-to-bottom {
    margin-bottom: -1rem;
}

.card.card-small .stuck-to-bottom {
    margin-bottom: -.5rem;
}

.card-content {
    display: flex;
    justify-content: space-between;
    column-gap: 0.5rem;
}

.card-content.single {
    flex-direction: column;
}

@media (min-width: 992px) {
    .card {
        padding: 1.5rem;
    }

    .card.card-small {
        padding: 1rem;
    }

    .card .stuck-to-bottom {
        margin-bottom: -1.5rem;
    }

    .card.card-small .stuck-to-bottom {
        margin-bottom: -1rem;
    }

    .card-content {
        column-gap: 1.5rem;
    }
}

.card.bg-hero {
    position: relative;
    flex-direction: column;
    min-height: 140px;
    background: #e9eceb url('/img/bg-hero@mobile.png') no-repeat top right;
    background-size: contain;
    overflow: hidden;
}

.card.bg-hero .overlay {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 1rem;
}

.card.bg-hero .overlay h2 {
    text-align: center
}

.percentage {
    position: absolute;
    color: #e63f2c;
    font-family: 'Futura Std Heavy', sans-serif;
    transform: rotate(7deg);
    letter-spacing: -1px;
    text-align: center;
    text-shadow: 2px 2px 0 black;
    font-size: 1.5rem;
    right: 34px;
    top: 33px;
    width: 1.875rem;
}

@media (min-width: 576px) {
    .percentage {
        right: 50px;
        top: 53px;
    }
}

@media (min-width: 992px) {
    .percentage {
        text-shadow: 3px 3px 0 black;
        font-size: 2.75rem;
        width: 3.4375rem;
        right: 160px;
        top: 98px;
    }
}

.card.bg-hero-loyalty .round {
    font-family: 'Futura Std Heavy', sans-serif;
    border-radius: 50%;
    text-align: center;
    color: white;
    display: block;
    border: 1px solid #000000;
}

.card.bg-hero-loyalty .row-info {
    flex-grow: 1
}

.card.bg-hero-loyalty .row-info h2 {
    position: absolute;
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1.5em;
    text-transform: uppercase;
    margin-bottom: .5em;
}

.card.bg-hero-loyalty .row-info h3 {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1em;
    margin-bottom: 0;
}

.card.bg-hero-loyalty .row-info .round {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    background-color: #779795;

    font-size: .75em;
    width: 5rem;
    height: 5rem;
    padding: 1rem;
    line-height: 1.125;
    margin-top: 3.5rem;
}

.card.bg-hero-loyalty .row-info .round strong {
    font-size: 1.75em;
}

.card.bg-hero-loyalty .progress-line .title {
    width: 5rem;
    text-align: center;
    margin-right: 0.5rem;
}

.card.bg-hero-loyalty .progress-line .line-mobile {
    margin-left: 38px;
    background-color: #454444;
    width: 4px;
    height: 40px;
    border: 1px solid black;
    margin-bottom: 0.5rem;
}

@media (min-width: 576px) {
    .card.bg-hero-loyalty .progress-line .line-mobile {
        margin-left: 48px;
        height: 20px;
    }
}

.card.bg-hero-loyalty .progress-line .line {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: calc(100% - 50px);
    background-color: #454444;
    height: 4px;
    border: 1px solid black;
    border-right: none;
}

.card.bg-hero-loyalty .progress-row {
    color: white;
    background-color: #779795;
    border-left: 1px solid black;
    border-right: 1px solid black;
    margin: -1rem 0;
    padding: 4rem 1rem 0 2rem;
}

.card.bg-hero-loyalty .progress-row > div .round {
    background-color: #454444;
    display: block;
    font-size: 1.75em;
    width: 5rem;
    height: 5rem;
    line-height: 5rem;
    transform: translate(-15%, -65%);
    position: relative;
    z-index: 1;
}

.card.bg-hero-loyalty .progress-row > div h3 {
    text-align: right;
}

.card.bg-hero-loyalty .progress-row > div img {
    width: 150px;
}

@media (min-width: 992px) {
    .card.bg-hero-loyalty {
        position: relative;
        background: #e9eceb url('/img/bg-hero-loyalty@desktop.png');
        background-size: cover;
        aspect-ratio: 1600/345;
        padding-right: 0;
    }

    .card.bg-hero-loyalty .row-info h2 {
        position: relative;
    }

    .card.bg-hero-loyalty .row-info .round {
        font-size: .75em;
        width: 4rem;
        height: 4rem;
        padding: 1rem;
        line-height: 1.125;
        margin-left: 0;
        margin-top: .5rem;
    }

    .card.bg-hero-loyalty .progress-row {
        color: unset;
        border: none;
        margin: unset;
        padding: unset;
        background-color: unset;
        display: flex;
        width: calc((100% + 1.5rem) * .735);
    }

    .card.bg-hero-loyalty .progress-row > div {
        flex: 1;
    }

    .card.bg-hero-loyalty .progress-row > div h3 {
        text-align: left;
        font-family: 'Futura Std Heavy', sans-serif;
        text-transform: none;
        font-size: .75rem;
        margin-bottom: .5em;
        margin-left: .75em;
    }

    .card.bg-hero-loyalty .progress-row > div img {
        width: 65%;
    }

    .card.bg-hero-loyalty .progress-row > div .round {
        background-color: #454444;
        display: block;
        font-size: 0.75em;
        width: 2.5rem;
        height: 2.5rem;
        line-height: 2.5rem;
        transform: translate(-15%, -65%);
        position: relative;
        z-index: 1;
    }

    .card.bg-hero-loyalty .progress-line {
        position: absolute;
        bottom: 0;
        transform: translateY(-50%);
    }

    .card.bg-hero-loyalty .progress-line h3 {
        font-size: 0.75em;
        margin-bottom: 0;
        transform: translateY(calc(50% - 2px));
    }

    .card.bg-hero-loyalty .progress-line .title {
        text-align: left;
        width: 180px;
        margin-right: 0;
    }

    .card.bg-hero-loyalty .progress-line .line {
        top: unset;
        transform: unset;
        position: relative;
        background-color: #454444;
        height: 4px;
        border: 1px solid black;
        border-right: none;
    }

    .card.bg-hero-loyalty .progress-line .line {
        width: 30px;
    }

    .card.bg-hero-loyalty[data-count='2'] .progress-line .line {
        width: 166px;
    }

    .card.bg-hero-loyalty[data-count='3'] .progress-line .line {
        width: 302px;
    }

    .card.bg-hero-loyalty[data-count='4'] .progress-line .line {
        width: 438px;
    }

    .card.bg-hero-loyalty[data-count='5'] .progress-line .line {
        width: 574px;
    }

    .card.bg-hero-loyalty .progress-line img {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .card.bg-hero-loyalty .row-info h2 {
        font-size: 1.75em;
    }

    .card.bg-hero-loyalty .row-info h3 {
        font-family: 'Futura Std Heavy', sans-serif;
        font-size: 1em;
        margin-bottom: 0;
    }

    .card.bg-hero-loyalty .row-info .round {
        font-size: 0.875em;
        width: 5rem;
        height: 5rem;
        padding: 1rem;
    }

    .card.bg-hero-loyalty .progress-row {
        width: calc((100% + 3.75rem) * .735);
    }

    .card.bg-hero-loyalty .progress-row > div img {
        width: 75%;
    }

    .card.bg-hero-loyalty .progress-row > div h3 {
        font-size: .875rem;
    }

    .card.bg-hero-loyalty .progress-row > div .round {
        font-size: 1.125em;
        width: 3rem;
        height: 3rem;
        line-height: 3rem;
    }

    .card.bg-hero-loyalty .progress-line {
        bottom: 0.5rem;
    }

    .card.bg-hero-loyalty .progress-line .line {
        width: 40px;
    }

    .card.bg-hero-loyalty[data-count='2'] .progress-line .line {
        width: 203px;
    }

    .card.bg-hero-loyalty[data-count='3'] .progress-line .line {
        width: 365px;
    }

    .card.bg-hero-loyalty[data-count='4'] .progress-line .line {
        width: 528px;
    }

    .card.bg-hero-loyalty[data-count='5'] .progress-line .line {
        width: 690px;
    }
}

@media (min-width: 1400px) {
    .card.bg-hero-loyalty .row-info h2 {
        font-size: 1.75em;
    }

    .card.bg-hero-loyalty .row-info h3 {
        font-family: 'Futura Std Heavy', sans-serif;
        font-size: 1.25em;
        margin-bottom: 0;
    }

    .card.bg-hero-loyalty .row-info .round {
        font-size: 1.125em;
        width: 6rem;
        height: 6rem;
        padding: 1rem;
        margin-top: 1rem;
    }

    .card.bg-hero-loyalty .progress-row > div .round {
        font-size: 1.25em;
        width: 4rem;
        height: 4rem;
        line-height: 4rem;
    }

    .card.bg-hero-loyalty .progress-line h3 {
        font-size: 1.125em;
    }

    .card.bg-hero-loyalty .progress-line {
        bottom: 1rem;
    }

    .card.bg-hero-loyalty .progress-line .title {
        width: 240px;
    }

    .card.bg-hero-loyalty .progress-line .line {
        width: 30px;
    }

    .card.bg-hero-loyalty[data-count='2'] .progress-line .line {
        width: 219px;
    }

    .card.bg-hero-loyalty[data-count='3'] .progress-line .line {
        width: 407px;
    }

    .card.bg-hero-loyalty[data-count='4'] .progress-line .line {
        width: 596px;
    }

    .card.bg-hero-loyalty[data-count='5'] .progress-line .line {
        width: 784px;
    }

}

.card.bg-hero h2,
.card.bg-hero p {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1rem;
}

.card.bg-hero img {
    width: 2rem;
    height: 2rem;
}

.card.bg-hero h2,
.card.bg-hero strong {
    text-transform: uppercase;
}

.card.bg-hero strong {
    color: #be0303;
    line-height: 1.125;
}

@media (min-width: 576px) {
    .card.bg-hero {
        min-height: 200px;
    }
}

@media (min-width: 992px) {
    .card.bg-hero {
        min-height: 360px;
        background-size: contain;
        background-image: url('/img/bg-hero.png');
    }

    .card.bg-hero h2,
    .card.bg-hero p {
        font-size: 1.75rem;
    }

    .card.bg-hero img {
        width: 3.5rem;
        height: 3.5rem;
    }

    .card.bg-hero strong {
        font-size: 2.5rem;
    }
}

.card.bg-alert {
    background-color: #fdbe40;
}

/* expired return label: a pulsing brand-red border to catch the eye */
.card.card-expired {
    border-color: #cf051c;
    animation: card-expired-blink 1.2s ease-in-out infinite;
}

@keyframes card-expired-blink {
    0%, 100% {
        box-shadow: 0 0 0 3px #cf051c;
    }
    50% {
        box-shadow: 0 0 0 3px rgba(207, 5, 28, 0), 0 0 18px rgba(207, 5, 28, 0);
    }
}

/* no blinking for visitors who asked the system to reduce motion, the red border stays */
@media (prefers-reduced-motion: reduce) {
    .card.card-expired {
        animation: none;
        box-shadow: 0 0 0 3px #cf051c;
    }
}

.card.bg-green {
    background-color: #88dea6;
}

.card.bg-darken {
    background-color: #779795;
}

.card.bg-darken h3,
.card.bg-darken p,
.card.bg-darken small,
.card.bg-darken strong,
.card.bg-black h3,
.card.bg-black p,
.card.bg-black small,
.card.bg-black strong {
    color: white;
}

.card.bg-invoice-discount {
    position: relative;
    background-color: #faf8f6;
    background-image: linear-gradient(to right, #faf8f6 0%, #faf8f6 64%, rgba(250, 248, 246, 0) 88%), url('/img/bg-invoice-discount.jpg');
    background-repeat: no-repeat, no-repeat;
    background-position: left center, right center;
    background-size: 100% 100%, cover;
    overflow: hidden;
}

.card.bg-invoice-discount .badge-highlight {
    display: inline-block;
    background-color: #dcefe5;
    color: #01823b;
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: .7rem;
    text-transform: uppercase;
    padding: .375rem .75rem;
    border-radius: 2rem;
    margin-bottom: 1rem;
}

.card.bg-invoice-discount .content {
    position: relative;
    max-width: 60%;
}

.card.bg-invoice-discount h2 {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1.5rem;
    line-height: 1.05;
}

@media (min-width: 576px) {
    .card.bg-invoice-discount .content {
        max-width: 68%;
    }
}

@media (min-width: 992px) {
    .card.bg-invoice-discount {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 420px;
        background-image: linear-gradient(to right, #faf8f6 0px, #faf8f6 680px, rgba(250, 248, 246, 0) 950px), url('/img/bg-invoice-discount.jpg');
        background-size: 100% 100%, contain;
    }

    .card.bg-invoice-discount .badge-highlight {
        align-self: flex-start;
    }

    .card.bg-invoice-discount .content {
        max-width: 620px;
    }

    .card.bg-invoice-discount h2 {
        font-size: 1.875rem;
    }
}

.card .card-footer {
    margin: 1.5rem 0;
}

.card .card-body {
    background: red;
    flex: 1 1 auto;
}

.card .card-body > :last-child {
    margin-bottom: 0;
}

.card .card-content + .card-body,
.card-body + .card-body {
    margin-top: 0;
}

@media (min-width: 1200px) {
    .card {
        padding: 1.5rem 2.5rem;
    }

    .card .card-footer {
        margin: 3rem 0;
    }
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.card .no-margins {
    margin-top: -2rem;
    margin-left: -1rem;
}

.card .no-margins.img-fluid {
    max-width: calc(100% + 1.5rem);
}

@media (min-width: 992px) {
    .card .no-margins {
        margin-left: -1.5rem;
    }
}

@media (min-width: 1200px) {
    .card .no-margins {
        margin-top: -2rem;
        margin-left: -3.75rem;
    }

    .card .no-margins.img-fluid {
        max-width: calc(100% + 3.75rem);
    }
}

p {
    line-height: 1.25em;
}

small, .small {
    font-size: 0.75rem;
}

.color-green {
    color: #01823b;
}

.color-darkgreen {
    color: #5e7f7e;
}

.color-red {
    color: #e91a1a;
}

.color-magenta {
    color: #c53b39;
}

.color-yellow {
    color: #fdbe40;
}

.form-control, .btn {
    display: inline-block;
    transition: all .2s ease;
    font-size: 0.875rem;
    color: black;
    border: 1px solid #888;
    text-decoration: none;
    padding: 0.25rem 0.5rem;
    background: #eaeaea;
}

.form-control {
    width: 100%;
}

.login-page .form-control {
    width: 15rem;
    max-width: 100%;
    background-color: #eaeaea;
}

.btn {
    font-family: 'Futura Std Heavy', sans-serif;
    background-color: #eaeaea;
    padding: 0.25rem 1.5rem;
    text-align: center;
}

.btn:disabled,
.btn[disabled] {
    opacity: .25;
}

@media (min-width: 992px) {
    .btn {
        padding: 0.25rem 2.3rem;
    }
}

.card.bg-alert .btn,
.card.bg-green .btn {
    color: white;
    border-color: black;
    background-color: black;
}

.card .btn.bg-green {
    color: white;
    background-color: #01823b;
}

.card .btn.bg-green:hover {
    color: white;
    background-color: #015c2b;
}

.card .btn.bg-yellow {
    background-color: #fdbe40;
}

.card .btn.bg-yellow:hover {
    background-color: #000;
}

.card.bg-black .btn,
.card.bg-hero .btn,
.btn.btn-dark {
    color: white;
    border-color: black;
    background-color: #779795;
}

.btn:hover {
    background-color: black;
    color: white;
}

.card.bg-alert .btn:hover,
.card.bg-green .btn:hover,
.card.bg-black .btn:hover,
.card.bg-hero .btn:hover {
    background-color: white;
    color: black;
}

/*! name: vanilla-calendar-pro | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
.vanilla-calendar {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #0f172a;
    border-radius: 0 !important;
    border: 1px solid black;
}

.vanilla-calendar-days {
    row-gap: 0 !important;
}

.vanilla-calendar button:focus-visible {
    outline-color: #fdba74
}

.vanilla-calendar-arrow {
    background-color: transparent
}

.vanilla-calendar-arrow::before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nIzBmMTcyYScgZD0nTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zeicvPjwvc3ZnPg==)
}

.vanilla-calendar-arrow:hover::before {
    opacity: .6
}

.vanilla-calendar-header__content, .vanilla-calendar-month, .vanilla-calendar-year {
    color: #0f172a
}

.vanilla-calendar-month:hover, .vanilla-calendar-year:hover {
    color: #64748b
}

.vanilla-calendar-month.vanilla-calendar--active, .vanilla-calendar-year.vanilla-calendar-year_not-active {
    color: #94a3b8
}

.vanilla-calendar-month.vanilla-calendar-month_disabled, .vanilla-calendar-year.vanilla-calendar-year_disabled {
    color: #cbd5e1
}

.vanilla-calendar-months__month {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-months__month:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity))
}

.vanilla-calendar-months__month.vanilla-calendar-months__month_selected, .vanilla-calendar-months__month.vanilla-calendar-months__month_selected:hover {
    --tw-bg-opacity: 1;
    background-color: #779795;
    color: #fff
}

.vanilla-calendar-months__month.vanilla-calendar-months__month_disabled, .vanilla-calendar-months__month.vanilla-calendar-months__month_disabled:hover {
    color: #cbd5e1
}

.vanilla-calendar-years__year {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-years__year:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity))
}

.vanilla-calendar-years__year.vanilla-calendar-years__year_selected, .vanilla-calendar-years__year.vanilla-calendar-years__year_selected:hover {
    --tw-bg-opacity: 1;
    background-color: #779795;
    color: #fff
}

.vanilla-calendar-years__year.vanilla-calendar-years__year_disabled, .vanilla-calendar-years__year.vanilla-calendar-years__year_disabled:hover {
    color: #cbd5e1
}

.vanilla-calendar-week-numbers__title, .vanilla-calendar-week-number {
    color: #64748b
}

.vanilla-calendar-week-number:hover {
    color: #475569
}

.vanilla-calendar-week__day {
    color: #64748b
}

.vanilla-calendar-week__day_weekend {
    color: #f43f5e
}

.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover {
    background-color: rgb(244 63 94 / var(--tw-bg-opacity));
    --tw-bg-opacity: .7;
    color: #fff
}

.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected:hover {
    background-color: #779795;
    --tw-bg-opacity: .7;
    color: #fff
}

.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover, .vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-day__btn {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #0f172a;
}

.vanilla-calendar-day__btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity))
}

.vanilla-calendar-day__btn_today {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity));
    color: #779795
}

.vanilla-calendar-day__btn_today:hover {
    color: #06b6d4
}

.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev, .vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next {
    color: #64748b
}

.vanilla-calendar-day__btn_prev, .vanilla-calendar-day__btn_next {
    color: #94a3b8
}

.vanilla-calendar-day__btn_disabled {
    color: #cbd5e1
}

.vanilla-calendar-day__btn_hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity))
}

.vanilla-calendar-day__btn_weekend, .vanilla-calendar-day__btn_holiday {
    color: #f43f5e
}

.vanilla-calendar-day__btn_weekend:hover, .vanilla-calendar-day__btn_holiday:hover, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 241 242 / var(--tw-bg-opacity))
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_disabled, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_disabled {
    color: #cbd5e1
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today {
    color: #f43f5e
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled {
    color: #cbd5e1
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #94a3b8
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev:hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev:hover, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next:hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next:hover, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_hover, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity))
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_today, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_today {
    color: #94a3b8
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_disabled, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_disabled {
    color: #cbd5e1
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(244 63 94 / var(--tw-bg-opacity));
    color: #fff
}

.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover, .vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next.vanilla-calendar-day__btn_selected:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-day__btn_selected, .vanilla-calendar-day__btn_selected:hover {
    --tw-bg-opacity: 1;
    background-color: #779795;
    color: #fff
}

.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev, .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next, .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover, .vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity));
    color: #64748b
}

.vanilla-calendar-day__popup {
    color: #0f172a
}

.vanilla-calendar-day__popup::before {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.vanilla-calendar-day__popup::after {
    border-bottom-color: #fff
}

.vanilla-calendar-time {
    border-color: #cbd5e1
}

.vanilla-calendar-time__hours::after {
    color: #0f172a
}

.vanilla-calendar-time__hours input, .vanilla-calendar-time__minutes input {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #0f172a
}

.vanilla-calendar-time__hours input:hover, .vanilla-calendar-time__minutes input:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__hours input:focus-visible, .vanilla-calendar-time__minutes input:focus-visible {
    outline-color: #fdba74
}

.vanilla-calendar-time__hours input.vanilla-calendar-is-focus, .vanilla-calendar-time__minutes input.vanilla-calendar-is-focus {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__keeping {
    color: #64748b
}

.vanilla-calendar-time__keeping:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__keeping:focus-visible {
    outline-color: #fdba74
}

.vanilla-calendar-time__range input {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__range::before, .vanilla-calendar-time__range::after {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__range:hover input::-webkit-slider-thumb {
    border-color: #94a3b8
}

.vanilla-calendar-time__range:hover input::-moz-range-thumb {
    border-color: #94a3b8
}

.vanilla-calendar-time__range input:focus-visible::-webkit-slider-thumb {
    border-color: #fdba74
}

.vanilla-calendar-time__range input:focus-visible::-moz-range-thumb {
    border-color: #fdba74
}

.vanilla-calendar-time__range input::-webkit-slider-thumb {
    border-color: #cbd5e1;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__range input::-moz-range-thumb {
    border-color: #cbd5e1;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__range input::-webkit-slider-runnable-track {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity))
}

.vanilla-calendar-time__range input::-moz-range-track {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity))
}

/*
* === SELECT BOX ===
*/
.select-box {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.select-box .selected {
    font-weight: 600;
    position: relative;
    border: 1px solid black;
    background-color: #eaeaea;
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select-box.disabled .selected {
    color: rgba(0, 0, 0, .35);
    cursor: not-allowed;
}

.select-box .selected::after {
    content: '';
    background: url('/img/arrow-down.svg');
    background-size: 16px 9px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 9px;
    transition: transform .5s;
}

.select-box.open .selected::after {
    transform: translateY(-50%) rotateX(180deg);
}

.select-box .options-container {
    z-index: 1;
    height: 0;
    width: 100%;
    opacity: 0;
    transition: all 0.4s;
    overflow: hidden;
    border: 1px solid black;
    border-top: 0;
    background-color: #eaeaea;
    position: absolute;
}

.select-box.open .options-container {
    height: unset;
    opacity: 1;
}

.select-box .options-container input[type=radio] {
    display: none;
}

.select-box .selected,
.select-box .options-container .option label {
    padding: 0.25rem 1.5rem;
    cursor: pointer;
}

.select-box .options-container .option label {
    font-size: 0.75rem;
    font-weight: 400;
    cursor: pointer;
    display: block;
}

.select-box .options-container .option input:checked + label {
    background: url('/img/check.svg') 0.125rem 0.25rem no-repeat;
    background-size: 1.25rem 1.25rem;
}

.select-box .options-container .option:hover {
    background: #dcdfe5;
}

/*
* === CHECKBOX ===
*/
.checkbox .checkbox-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border: 1px solid black;
    font-size: 1.5rem;
    cursor: pointer;
    background: white;
}

.checkbox label {
    align-items: center;
}

.checkbox label input[type=checkbox] {
    display: none;
}

.checkbox label input[type=checkbox] + .checkbox-icon > i {
    background: url('/img/check.svg') no-repeat;
    background-size: 1.25rem 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
    opacity: 0;
    transition: all .2s ease-in;
    transform: scale(3) rotateZ(-20deg);
}

.checkbox label input[type=checkbox]:checked + .checkbox-icon > i {
    opacity: 1;
    transform: scale(1) rotateZ(0);
}

.checkbox label input[type=checkbox]:disabled + .checkbox-icon {
    opacity: .5;
}

.checkbox label .checkbox-text {
    font-weight: 400;
    line-height: 1.2;
}

.checkbox label .checkbox-text a {
    color: #5e7f7e;
}

.checkbox label .checkbox-text a:hover {
    color: unset;
    text-decoration: none;
}

.overlay {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: rgba(255, 255, 255, 0.75);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9;
}

.overlay .loader {
    width: 60px;
    aspect-ratio: 4;
    background: radial-gradient(circle closest-side, #be0303 90%, transparent) 0/calc(100% / 3) 100% space;
    clip-path: inset(0 100% 0 0);
    animation: l1 1s steps(4) infinite;
}

@keyframes l1 {
    to {
        clip-path: inset(0 -34% 0 0)
    }
}

#top-bar {
    background-color: #00b976;
    color: white;
    padding: .25rem;
    font-size: .75rem;
    font-weight: 600;
    text-align: center;
}

#cancelled-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .75rem 1.5rem;
    background-color: #cf051c;
    color: white;
    font-family: 'Futura Std Heavy', sans-serif;
    padding: .75rem 1rem;
    text-align: center;
}

/* below the navbar breakpoint the text takes the whole line, so the button wraps underneath it */
#cancelled-bar span {
    flex: 0 0 100%;
}

@media (min-width: 992px) {
    #cancelled-bar span {
        flex: 0 1 auto;
    }
}

.navbar-nav .nav-link {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1.125em;
    text-transform: uppercase;

}

@media (min-width: 992px) {
    .navbar-nav {
        margin-right: -.5rem;
    }
}

.valid-error {
    font-weight: bold;
    position: absolute;
    color: #e91a1a;
    font-size: .75rem;
}

.input-password {
    position: relative;
    display: inline-block;
}

.input-password input {
    padding-right: 1.9rem;
}

.input-password button {
    position: absolute;
    top: .2rem;
    right: .2rem;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    background: no-repeat center center;
    background-size: 20px 20px;
}

.input-password input[type=text] ~ button {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z'/%3E%3Cpath d='M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299l.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z'/%3E%3Cpath d='M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709z'/%3E%3Cpath fill-rule='evenodd' d='M13.646 14.354l-12-12 .708-.708 12 12-.708.708z'/%3E%3C/svg%3E") !important;
}

.input-password input[type=password] ~ button {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.134 13.134 0 0 0 1.66 2.043C4.12 11.332 5.88 12.5 8 12.5c2.12 0 3.879-1.168 5.168-2.457A13.134 13.134 0 0 0 14.828 8a13.133 13.133 0 0 0-1.66-2.043C11.879 4.668 10.119 3.5 8 3.5c-2.12 0-3.879 1.168-5.168 2.457A13.133 13.133 0 0 0 1.172 8z'/%3E%3Cpath fill-rule='evenodd' d='M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z'/%3E%3C/svg%3E") !important;
}

/* the debug bar sits at the bottom of the viewport, this keeps it off the last cards */
body.has-debug-bar {
    padding-bottom: 6rem;
}

@media (min-width: 992px) {
    body.has-debug-bar {
        padding-bottom: 4.5rem;
    }
}

#debugger-button {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-size: 20px 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-bug' viewBox='0 0 16 16'%3E%3Cpath d='M4.355.522a.5.5 0 0 1 .623.333l.291.956A5 5 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A5 5 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623M4 7v4a4 4 0 0 0 3.5 3.97V7zm4.5 0v7.97A4 4 0 0 0 12 11V7zM12 6a4 4 0 0 0-1.334-2.982A3.98 3.98 0 0 0 8 2a3.98 3.98 0 0 0-2.667 1.018A4 4 0 0 0 4 6z'/%3E%3C/svg%3E") no-repeat center center;
}

.dropdown-item:hover {
    background-color: unset;
}

:root {
    --bs-border-width: 0;
}

@media (min-width: 992px) {
    .dropdown-menu {
        --bs-border-width: 1px;
        --bs-dropdown-item-padding-y: .5rem !important;
        --bs-dropdown-item-padding-x: 1rem !important;
    }
}

.nav-link.dropdown-toggle {
    display: none;
}

@media (min-width: 992px) {
    .nav-link.dropdown-toggle {
        display: inline-block;
    }
}

.nav-link {
    color: black;
}

.dropdown-menu {
    display: block;
    border-radius: unset;
    font-size: 1.125em;
    font-family: 'Futura Std Heavy', sans-serif;
    text-transform: uppercase;
    padding: 0;
}

@media (min-width: 992px) {
    .dropdown-menu {
        display: none;
        font-size: .875em;
        font-family: 'Futura Std Book', sans-serif;
    }

    .dropdown-menu li {
        border-bottom: 1px dashed #000;
    }

    .dropdown-menu li.last-child {
        border-bottom: none;
    }
}

.dropdown-item {
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
}

@media (min-width: 992px) {
    .dropdown-item {
        padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
    }

    .dropdown-item:hover {
        text-decoration: underline !important;
    }
}

button.navbar-toggler {
    box-shadow: rgba(0, 0, 0, 0.65) 0 0 0 3px
}

.logo {
    width: calc(100% - 156px);

}

@media (min-width: 576px) {
    .logo {
        width: calc(100% - 195px);
    }
}

@media (min-width: 992px) {
    .logo {
        width: unset;
    }
}

.dropdown-item:active {
    color: black;
    background-color: #e9eceb;

}

.logo img {
    width: auto;
    height: 80px;
}

@media (min-width: 576px) {

    .logo img {
        height: 100px;
    }
}

@media (min-width: 992px) {
    .logo img {
        width: unset;
        height: unset;
    }
}

[data-module="terminate"] {
    position: relative;
}

[data-module="terminate"]::before, [data-module="terminate"]::after {
    position: absolute;
    content: '';
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    left: 50%;
    z-index: 1;
}

[data-module="terminate"]::before {
    border-bottom: 50px solid #fdbe40;
    transform: translateY(-100%) translateX(-50%);
}

[data-module="terminate"]::after {
    border-top: 50px solid #fdbe40;
    transform: translateX(-50%);
}

.warning-icon {
    font-size: 6rem;
    color: #fe0502;
    line-height: 1;
}

.red-discount {
    font-family: 'Futura Std Heavy', sans-serif;
    font-size: 1em;
    padding: 1rem .75rem;
    margin-bottom: 1rem;
    display: inline-block;
    color: white;
    background-color: #b32d34;
    text-transform: uppercase;
    border: 1px solid black;
}

.red-discount.rotate {
    margin-top: .5rem;
    transform: rotate(15deg);
    padding: .25rem 1rem;
}

.red-discount.rotate span {
    display: block;
    font-size: 2em;
    line-height: 0.875;
}

#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f8f9fa;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.loaded #loader {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}


.pulse-circle-container {
    position: relative;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pulse-circle {
    width: 100%;
    height: 100%;
    background-color: #fdbe40;
    border: 1px solid #d7991e;
    border-radius: 50%;
    position: absolute;
    z-index: 1;
    box-shadow: 0 0 15px #d7991e;
}

.pulse-circle::before,
.pulse-circle::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fdbe40;
    animation: pulse 2s infinite ease-out;
    opacity: 0;
}


.pulse-circle::after {
    animation-delay: 1s;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.3;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}