.vjv-root,
.woocommerce-checkout {

    --field-front-color: #2d2d2d;
    --field-back-color:  transparent;
}

.vjv-root input[type=text],
    .vjv-root input[type=email],
    .vjv-root input[type=tel],
    .vjv-root input[type=url],
    .vjv-root input[type=password],
    .vjv-root input[type=number],
    .vjv-root textarea {

    line-height:      2;
    padding:          0;
    border:           none;
    border-bottom:    0.125rem solid var(--field-front-color);
    background-color: var(--field-back-color);
    transition:       background-color 0.3s ease, border-color 0.3s ease;
    }

.vjv-form {

    padding: 0 calc(0.53571rem + 1.42857vmin);
}

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-form {

        padding: 0 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-form {

        padding: 0 1.5rem;
    }
}

.vjv-form__row {

        display: flex;
        flex-direction: column;
        gap:     3rem;
    }

@media (min-width: 640px) {

.vjv-form__row {

            flex-direction: row
    }
        }

.vjv-form__row .vjv-form__field:not(:first-child) {
            margin-top: 0
        }

.vjv-form__field:not(:first-child) {

    padding: 0;
    margin:  2.25rem 0;
        }

.vjv-form__field.--has-error {

    --field-front-color: #d22439;
    --field-back-color:  rgba(210, 36, 57, 0.1);
        }

.vjv-form__label {

    color: var(--field-front-color);
    font-size: 1em;
    margin: 0 0 0.375rem;
    }

.vjv-form__error {

        margin-top: 0.375rem;
        color:      #d22439;
        font-size:  .8em;
    }

.vjv-form__message {
        margin:     0 0 calc(0.53571rem + 1.42857vmin);
        padding:    0.75rem calc(0.53571rem + 1.42857vmin);
        background: #f5f5f5;
    }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-form__message {

        margin: 0 0 0.75rem;

        padding: 0.75rem 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-form__message {

        margin: 0 0 1.5rem;

        padding: 0.75rem 1.5rem;
    }
}

.vjv-form__message.--success {
            border-left: 0.25rem solid #24c575;
        }

.vjv-form__actions {

        display:         flex;
        flex-wrap:       wrap;
        justify-content: flex-start;
        margin-top:      4.5rem;
        gap:             3rem;
    }

.vjv-form__notice {
        margin-top: 1.5rem;
        font-size: .8em;
    }

.vjv-form .--hidden {
        display: none;
    }

.vjv-form input[type=radio] {

        display: none;
    }

.vjv-form input[type=radio] + label {
            position: relative;
            padding-left: 2.25rem;
            cursor: pointer;
        }

.vjv-form input[type=radio] + label::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 0.9rem;
            height: 0.9rem;
            border: 0.125rem solid var(--field-front-color);
            border-radius: 50%;
            transition: border-color 0.3s ease;
        }

.vjv-form input[type=radio]:checked + label::after {
            content: '';
            position: absolute;
            left: 0.27rem;
            top: 50%;
            transform: translateY(-50%);
            width: 0.6rem;
            height: 0.6rem;
            background-color: var(--field-front-color);
            border-radius: 50%;
            transition: background-color 0.3s ease;
        }

.vjv-form input[type=checkbox] {

        display: none;
    }

.vjv-form input[type=checkbox] + label {
            position: relative;
            padding-left: 2.25rem;
            cursor: pointer;
        }

.vjv-form input[type=checkbox] + label::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 0.9rem;
            height: 0.9rem;
            border: 0.125rem solid var( --field-front-color );
            transition: border-color 0.3s ease;
        }

.vjv-form input[type=checkbox]:checked + label::after {
            content: '';
            position: absolute;
            left: 0.27rem;
            top: 50%;
            transform: translateY(-50%);
            width: 0.6rem;
            height: 0.6rem;
            background-color: var( --field-front-color );
            transition: background-color 0.3s ease;
        }

.vjv-form__radio-group > label:first-child {

            margin-bottom: 1.5rem;
        }

.vjv-form__radio-group-item-description {
        font-size: .8em;
        margin: 0.375rem 0 0.75rem 2.25rem;
    }

.vjv-vouchers button:hover, .vjv-vouchers button:focus, .vjv-vouchers .button:hover, .vjv-vouchers .button:focus {

            background-color: #2d2d2d !important;
            color:            #fff !important;
        }


.vjv-root .woocommerce-checkout .form-row {

    padding: 0;
    margin:  2.25rem 0;
    }


.vjv-root .woocommerce-checkout .form-row input.input-text,
        .vjv-root .woocommerce-checkout .form-row textarea.input-text,
        .vjv-root .woocommerce-checkout .form-row select {

    line-height:      2;
    padding:          0;
    border:           none;
    border-bottom:    0.125rem solid var(--field-front-color);
    background-color: var(--field-back-color);
    transition:       background-color 0.3s ease, border-color 0.3s ease;
        }


.vjv-root .woocommerce-checkout .form-row input.input-radio:checked + label::before {
            border-color: var(--field-front-color);
        }


.vjv-root .woocommerce-checkout .form-row .woocommerce-input-wrapper:has(select) {

            position: relative;
            display: block;
            width: 47%;
        }


.vjv-root .woocommerce-checkout .form-row .woocommerce-input-wrapper:has(select):after {

                content: "";
                position: absolute;
                right: 0.625rem;
                top: 50%;
                width: 0;
                height: 0;
                border-left: 0.25rem solid transparent;
                border-right: 0.25rem solid transparent;
                border-top: 0.25rem solid currentColor;
                transform: translateY(-50%);
                pointer-events: none;
            }


.vjv-root .woocommerce-checkout .form-row.woocommerce-invalid label,
            .vjv-root .woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
            .vjv-root .woocommerce-checkout .form-row.woocommerce-invalid textarea.input-text,
            .vjv-root .woocommerce-checkout .form-row.woocommerce-invalid select {

    --field-front-color: #d22439;
    --field-back-color:  rgba(210, 36, 57, 0.1);
            }


.vjv-root .woocommerce-checkout .form-row label {

    color: var(--field-front-color);
    font-size: 1em;
    margin: 0 0 0.375rem;
        }


.vjv-root .woocommerce-checkout .wc_payment_methods input.input-radio {
            display: none;
        }


.vjv-root .woocommerce-checkout .wc_payment_methods input.input-radio + label {
            position: relative;
            padding-left: 1.875rem;
            cursor: pointer;
        }


.vjv-root .woocommerce-checkout .wc_payment_methods input.input-radio + label::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 0.9rem;
            height: 0.9rem;
            border: 0.125rem solid var(--field-front-color);
            border-radius: 50%;
            transition: border-color 0.3s ease;
        }


.vjv-root .woocommerce-checkout .wc_payment_methods input.input-radio:checked + label::after {
            content: '';
            position: absolute;
            left: 0.27rem;
            top: 50%;
            transform: translateY(-50%);
            width: 0.6rem;
            height: 0.6rem;
            background-color: var(--field-front-color);
            border-radius: 50%;
            transition: background-color 0.3s ease;
        }

#ship-to-different-address label {

        line-height: inherit;
        margin:      0;
    }

#billing_address_1_field,
#shipping_address_1_field,
#billing_address_2_field,
#shipping_address_2_field,
#billing_postcode_field,
#shipping_postcode_field,
#billing_city_field,
#shipping_city_field,
#billing_phone_field,
#billing_email_field {

    width: 47%;
    margin-top: 0;
}

#billing_address_1_field,
#shipping_address_1_field,  
#billing_postcode_field,
#shipping_postcode_field,
#billing_phone_field {
    float: left;
}

#billing_address_2_field,
#shipping_address_2_field,
#billing_city_field,
#shipping_city_field,
#billing_email_field {
    float: right;
    clear: none;
}

#billing_address_2_field,
#shipping_address_2_field {
    padding-top: 2.25rem;
}


#billing_phone_field,
#billing_email_field {
    margin-top: 2.25rem;
    margin-bottom: 4.5rem;
}

#shipping_state_field  {
    margin-bottom: 2.25rem;
}
.vjv-header {

    position:        relative;

    display:         flex;
    flex-direction:  column;
    justify-content: center;
    align-items:     center;

    box-sizing:      border-box;
    aspect-ratio:    4 / 1;
    width:           100%;
    max-height:      40vh;

    padding-top:     3rem;
    padding-bottom:  3rem;

    background:      url( '../../img/back.jpg' ) center center no-repeat;
    background-size: cover;
}
.vjv-header:before {

        position:         absolute;
        content:          '';
        top:              0;
        right:            0;
        bottom:           0;
        left:             0;
        z-index:          1;
        background-image: linear-gradient( to bottom, #fdc612, rgba(255,255,255,0.5) );
    }
.vjv-header__content-area {

        position:        relative;
        z-index:         2;
        display:         flex;
        flex-direction:  row;
        justify-content: flex-start;
        align-items:     center;
        box-sizing:      border-box;
        width:           100%;
        max-width:       87.5rem;
        gap:             2rem;
        padding:         calc(0.53571rem + 1.42857vmin);
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-header__content-area {

        padding: 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-header__content-area {

        padding: 1.5rem;
    }
}
.vjv-header__titles{
        text-align: left;
    }
.vjv-header__title {
        margin: 0;
    }
.vjv-header__text {

        margin:      0;
        font-size:   2rem;
        font-weight: 300;
    }
.vjv-header__icon {

        width:  5rem;
        height: 5rem;
        object-fit: contain;
        object-position: center;
    }
.vjv-nav {

    background: #2d2d2d;
}
.vjv-nav__content-area {

        box-sizing: border-box;
        width:      100%;
        max-width:  87.5rem;
        margin:     0 auto;
        padding:    calc(0.53571rem + 1.42857vmin);
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-nav__content-area {

        padding: 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-nav__content-area {

        padding: 1.5rem;
    }
}
.vjv-nav__list {

        display:         flex;
        flex-direction:  row;
        align-items:     center;
        justify-content: center;
        gap:             calc(0.53571rem + 1.42857vmin);
        margin:          0;
        padding:         0;
        list-style:      none;
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-nav__list {

        gap: 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-nav__list {

        gap: 1.5rem;
    }
}
.vjv-nav__item {

        margin: 0;
        min-width: 5rem;
    }
.vjv-nav__link {

        display:         table;
        width:           auto;
        color:           #fff;
        text-decoration: none;
        font-weight:     600;
        transition:      color .3s ease-in-out;
    }
.vjv-nav__link:hover {

            color: #fdc612;
        }
.vjv-nav__link:hover .vjv-nav__icon path {
                    fill: #fdc612;
                }
.vjv-nav__icon {

        display:    table-cell;
        min-width:  1.5rem;
        padding-right: .5rem;
        object-fit: contain;
        vertical-align: middle;
    }
.vjv-nav__icon-svg {
            width:  1.5rem;
            height: 1.5rem;
        }
.vjv-nav__icon path {
            fill: #fff;
            transition: fill .3s ease-in-out;
        }
.vjv-nav__text {
        display: table-cell;
        width: auto;
        vertical-align: middle;
    }
.vjv-body {

    display:        flex;
    flex-direction: column;
    align-items:    center;

    padding-top:    calc(1.15789rem + 4.21053vmin);
    padding-bottom: calc(1.57895rem + 2.10526vmin);
}
@media (max-height: 20rem) and (max-width: 20rem), (orientation: landscape) and (max-height: 20rem), (orientation: portrait) and (max-width: 20rem) {

    .vjv-body {

        padding-top: 2rem;

        padding-bottom: 2rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-body {

        padding-top: 4rem;

        padding-bottom: 3rem;
    }
}
.vjv-body__content-area {

            width: 100%;
        max-width: 87.5rem;
    }
.vjv-body__content-area.--reduced-width {

           max-width: 60rem;
        }
.vjv-footer {

    display:        flex;
    flex-direction: column;
    align-items:    center;
    background:     #fdc612;
    margin-top:     1rem;
    text-align:     center;
    
}
.vjv-footer:before {

        content:         '';
        display:         block;
        width:           100%;
        aspect-ratio:    1440 / 170;
        background:      url( '../../img/footer.svg' ) #fff no-repeat center center;
        background-size: 100% auto;
    }
.vjv-footer__content-area {

        box-sizing: border-box;
            width:  100%;
        max-width:  87.5rem;
        padding:    calc(1.15789rem + 4.21053vmin) calc(0.53571rem + 1.42857vmin);
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-footer__content-area {

        padding: 2rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-footer__content-area {

        padding: 4rem 1.5rem;
    }
}
.vjv-footer__thanks {

        max-width:      28rem;
        margin-left:    auto;
        margin-right:   auto;
        font-weight:    700;
        text-transform: uppercase;
    }
.vjv-contact {

    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            1rem;
}
.vjv-contact__item {

        display:     flex;
        gap:         1rem;
        align-items: center;
        color:       #2d2d2d;
    }
.vjv-contact__icon {

        width:      2.5rem;
        height:     2.5rem;
        object-fit: contain;
    }
.vjv-contact__label {

        font-weight: 700;
    }
.vjv-contact.--footer .vjv-contact__item {

            transition: opacity 0.3s ease-in-out;
        }
.vjv-contact.--footer .vjv-contact__item:hover, .vjv-contact.--footer .vjv-contact__item:focus {
                opacity: .7;
            }
.vjv-contact.--body-buttons {

        align-items: flex-start;
    }
.vjv-contact.--body-buttons .vjv-contact__item {

                padding:          0.563rem 1.5rem;
                border-radius:    3rem;
                background-color: #2d2d2d;
                color:            #fff;
                transition:       background-color 0.3s ease-in-out;
            }
.vjv-contact.--body-buttons .vjv-contact__item:hover, .vjv-contact.--body-buttons .vjv-contact__item:focus {

                    color:            #2d2d2d;
                    background-color: #fdc612;
                }
.vjv-contact.--body-buttons .vjv-contact__item:hover .vjv-contact__icon path, .vjv-contact.--body-buttons .vjv-contact__item:focus .vjv-contact__icon path {
                            fill: #2d2d2d;
                        }
.vjv-contact.--body-buttons .vjv-contact__icon path {
                    fill: #fff;
                }

.vjv-cart__title {
        padding: 0 calc(0.53571rem + 1.42857vmin);
    }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-cart__title {

        padding: 0 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-cart__title {

        padding: 0 1.5rem;
    }
}

.vjv-cart-items, .vjv-cart-items td, .vjv-cart-items th {
            border: none;
            white-space: nowrap;
        }

.vjv-cart-items__header .vjv-cart-items__heading {
                padding: 0.75rem calc(0.53571rem + 1.42857vmin);
                font-weight: bold;
                border-bottom: 0.125rem solid #2d2d2d;
            }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-cart-items__header .vjv-cart-items__heading {

        padding: 0.75rem 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-cart-items__header .vjv-cart-items__heading {

        padding: 0.75rem 1.5rem;
    }
}

.vjv-cart-items__header .--quantity,
            .vjv-cart-items__header .--price {
                text-align: right;
            }

.vjv-cart-item:nth-child(even) {

            background-color: rgba(253, 198, 18, 0.25);
        }

.vjv-cart-item__quantity,
        .vjv-cart-item__price,
        .vjv-cart-item__message,
        .vjv-cart-item__type,
        .vjv-cart-item__actions {

            padding: 0.75rem calc(0.53571rem + 1.42857vmin);
        }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-cart-item__quantity,
        .vjv-cart-item__price,
        .vjv-cart-item__message,
        .vjv-cart-item__type,
        .vjv-cart-item__actions {

        padding: 0.75rem 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-cart-item__quantity,
        .vjv-cart-item__price,
        .vjv-cart-item__message,
        .vjv-cart-item__type,
        .vjv-cart-item__actions {

        padding: 0.75rem 1.5rem;
    }
}

.vjv-cart-item__quantity,
        .vjv-cart-item__price {

            text-align: right;
        }

.vjv-cart-item__message {
            width: 100%;
        }

.vjv-cart-item__actions-buttons {

            display: flex;
            flex-wrap: nowrap;
            gap:     1rem;
        }

.vjv-cart-item__remove .button {

                background-color: #d22439 !important;
                color: #fff !important;
            }

.vjv-cart__actions {

        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
        justify-content: space-between;
        padding: 0 calc(0.53571rem + 1.42857vmin);
        margin-top: 3rem;
    }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-cart__actions {

        padding: 0 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-cart__actions {

        padding: 0 1.5rem;
    }
}

@media (max-width: 720px) {

        .vjv-cart table, .vjv-cart thead, .vjv-cart tbody, .vjv-cart tr, .vjv-cart td, .vjv-cart th {
            
            display:    block;
            padding:    0;
            text-align: left;
        }

        .vjv-cart thead tr {
            position: absolute;
            top:      -624.9375rem;
            left:     -624.9375rem;
        }

            .vjv-cart tbody td {
                position: relative;
            }

            .vjv-cart tbody td {

                padding: 0.188rem 0.75rem 0.188rem calc(50% + 0.53571rem + 1.42857vmin);
            }

            @media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

        .vjv-cart tbody td {

            padding: 0.188rem 0.75rem 0.188rem calc(50% + 0.75rem);
        }
    }

            @media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

        .vjv-cart tbody td {

            padding: 0.188rem 0.75rem 0.188rem calc(50% + 1.5rem);
        }
    }

                .vjv-cart tbody td:before {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 50%;
                    display: block;
                    padding: 0.188rem 0.75rem 0.188rem calc(0.53571rem + 1.42857vmin);
                    content: attr(data-label);
                    font-weight: bold;
                }

                @media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

        .vjv-cart tbody td:before {

            padding: 0.188rem 0.75rem 0.188rem 0.75rem;
        }
    }

                @media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

        .vjv-cart tbody td:before {

            padding: 0.188rem 0.75rem 0.188rem 1.5rem;
        }
    }
                    .vjv-cart tbody td:first-child, .vjv-cart tbody td:first-child:before {
                        padding-top: 0.75rem;
                    }

            .vjv-cart .vjv-cart-item__actions {
                padding: 0.75rem 0;
                margin-bottom: 1.5rem;
            }

            .vjv-cart .vjv-cart-item__actions-buttons {
                justify-content: center;
            }
    }
.vjv-link-box-list {

    display:         flex;
    flex-wrap:       wrap;
    justify-content: space-evenly;
    gap:             2rem;
}
.vjv-link-box-list__item {

        box-sizing: border-box;
        width:      100%;
    }
@media ( min-width: 768px ) {
.vjv-link-box-list__item {

            min-width: 320PX
    }

            .vjv-link-box-list__item:nth-last-child( 2 ):first-child,
            .vjv-link-box-list__item:nth-last-child( 2 ):first-child ~ .vjv-link-box-list__item {

                min-width: calc(384PX - 1rem);
                    width: calc(50% - 1rem);
            }

            .vjv-link-box-list__item:nth-last-child( 3 ):first-child,
            .vjv-link-box-list__item:nth-last-child( 3 ):first-child ~ .vjv-link-box-list__item {

                min-width: calc(384PX - 2rem);
                    width: calc(33.33333% - 1.33333rem);
            }
        }
.vjv-link-box {

    display:        flex;
    flex-direction: column;
    align-items:    flex-start;
    padding:        calc(0.53571rem + 1.42857vmin);
}
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-link-box {

        padding: 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-link-box {

        padding: 1.5rem;
    }
}
.vjv-link-box__header {

        display:         flex;
        align-items:     center;
        justify-content: space-between;
        margin-bottom:   1rem;
        width:           100%;
    }
.vjv-link-box__title {
      order: 1;
      margin: 0;
    }
.vjv-link-box__icon {

        width: 4rem;
        height: 4rem;
        order: 2;
    }
.vjv-link-box__content {

        margin-bottom: auto;
    }
.vjv-link-box__text {

        text-align: left;
    }
.vjv-link-box__text strong {

            display:        block;
            margin-bottom:  1rem;
            text-transform: uppercase;
        }
.vjv-link-box .button {
        margin-top: 1rem;
    }
.vjv-notice {

    display:          flex;
    align-items:      center;
    justify-content:  space-between;
    box-sizing:       border-box;
    max-width:        87.5rem;
    padding:          0.75rem calc(0.53571rem + 1.42857vmin);
    margin:           0 auto 3rem;
    background-color: #f5f5f5;
}
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-notice {

        padding: 0.75rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-notice {

        padding: 0.75rem 1.5rem;
    }
}
.vjv-notice .button {
        white-space: nowrap;
    }
.vjv-order-form__preview {
        
        margin-top: 3rem;
        max-width:  22.5rem;
    }
@media (min-width: 640px) {

        .vjv-order-form__wrapper {

            display:     flex;
            gap:         5rem;
            align-items: center;
        }

        .vjv-order-form .vjv-form__fields {
            width: 33.333%;
        }

        .vjv-order-form__preview {

            width:      66.666%;
            margin-top: 0;
            max-width:  none;
        }
    }
.vjv-terms {

    max-height: 30rem;
    overflow-y: auto;
    padding:    1.5rem;
    margin-top: 1.5rem;
    border:     0.125rem solid #2d2d2d;
}
.vjv-voucher-preview__voucher {

        position:        relative;
        width:           100%;
        aspect-ratio:    9 / 5;
        margin-bottom:   1.5rem;
        border:          0.0625rem solid #ededed;
        background:      url(../../img/preview.png);
        background-size: cover;
    }
.vjv-voucher-preview__quantity {

        position:    absolute;
        bottom:     -1.5rem;
        left:       0;
        width:      100%;
        color:      #2d2d2d;
        font-size:  1rem;
        line-height: 1.5rem;
        text-align: center;
    }
.vjv-voucher-preview__price {

        position:    absolute;
        top:        45%;
        left:       0;
        width:      100%;
        color:      #2d2d2d;
        font-size:  2.5rem;
        font-weight: bold;
        text-align:  center;
    }
.vjv-voucher-preview__message {

        position:   absolute;
        top:        40%;
        left:       50%;
        transform:  translate( -50%, -50% );
        width:      50%;
        color:      #2d2d2d;
        font-size:  .6rem;
        line-height: 1em;
        text-align: center;
    }
.vjv-voucher-form__help {

        margin-top: 5rem;
        padding: 0 calc(0.53571rem + 1.42857vmin);
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-voucher-form__help {

        padding: 0 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-voucher-form__help {

        padding: 0 1.5rem;
    }
}
@media (min-width: 768px) {
.vjv-voucher-form {

        display:         flex;
        gap:             5rem;
        align-items:     flex-start;
        justify-content: space-between
}

        .vjv-voucher-form__form {
            width: 33.333%;
        }

        .vjv-voucher-form__help {

            width:      66.666%;
            margin-top: 0;
            max-width:  none;
        }
    }
.vjv-voucher-where-is-the-code__text {
        font-weight: 700;
    }
.vjv-voucher-where-is-the-code__image {

        display:   block;
        width:     100%;
        max-width: 33.75rem;
        height:    auto;
    }
@media (min-width: 768px) {
.vjv-voucher-where-is-the-code {
        text-align: center
}

        .vjv-voucher-where-is-the-code__image {
            margin: 0 auto;
        }
    }

.vdjv-company-order,
.vdjv-company-previous-orders {

    background: #f5f5f5;
    padding:    2rem;
}
.vjv-checkout {
    padding: 0 calc(0.53571rem + 1.42857vmin);
}
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-checkout {

        padding: 0 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-checkout {

        padding: 0 1.5rem;
    }
}
#vjv-company-order-checkout #payment {

        background: transparent;
    }
#vjv-company-order-checkout #payment .payment_box {

            background: #f5f5f5;
        }
#vjv-company-order-checkout #payment .payment_box:before {
                border-bottom-color: #f5f5f5;
            }
#vjv-company-order-checkout #payment fieldset {
            border: none;
        }
#vjv-company-order-checkout #payment .wc_payment_method {
            margin-bottom: 2rem;
        }
#vjv-company-login .--company-register .vjv-link-box__content {
            margin-bottom: 0;
        }
.vjv-orders, .vjv-orders td, .vjv-orders th {
        border: none;
        white-space: nowrap;
    }
.vjv-orders__header .vjv-orders__heading {

            font-weight: bold;
            padding: 0.75rem calc(0.53571rem + 1.42857vmin);
            border-bottom: 0.125rem solid #2d2d2d;
        }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-orders__header .vjv-orders__heading {

        padding: 0.75rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-orders__header .vjv-orders__heading {

        padding: 0.75rem 1.5rem;
    }
}
.vjv-orders__header .vjv-orders__heading.--number,
            .vjv-orders__header .vjv-orders__heading.--date,
            .vjv-orders__header .vjv-orders__heading.--total {
                text-align: right;
            }
.vjv-orders__header .vjv-orders__heading.--status {
                text-align: left;
            }
.vjv-orders__item:nth-child(even) {
            background-color: rgba(253, 198, 18, 0.25);
        }
.vjv-orders__item-number,
        .vjv-orders__item-date,
        .vjv-orders__item-total,
        .vjv-orders__item-status {

            padding: 0.75rem calc(0.53571rem + 1.42857vmin);
        }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-orders__item-number,
        .vjv-orders__item-date,
        .vjv-orders__item-total,
        .vjv-orders__item-status {

        padding: 0.75rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-orders__item-number,
        .vjv-orders__item-date,
        .vjv-orders__item-total,
        .vjv-orders__item-status {

        padding: 0.75rem 1.5rem;
    }
}
.vjv-orders__item-number,
        .vjv-orders__item-total,
        .vjv-orders__item-date {
            text-align: right;
        }
.vjv-orders__item-status {
            text-align: left;
        }
.vjv-order-items, .vjv-order-items td, .vjv-order-items th {
        border: none;
        white-space: nowrap;
    }
.vjv-order-items__header .vjv-order-items__heading {

            font-weight: bold;
            padding: 0.75rem calc(0.53571rem + 1.42857vmin);   
            border-bottom: 0.125rem solid #2d2d2d;
        }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-order-items__header .vjv-order-items__heading {

        padding: 0.75rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-order-items__header .vjv-order-items__heading {

        padding: 0.75rem 1.5rem;
    }
}
.vjv-order-items__header .vjv-order-items__heading.--name,
            .vjv-order-items__header .vjv-order-items__heading.--message,
            .vjv-order-items__header .vjv-order-items__heading.--type {
                text-align: left;
            }
.vjv-order-items__header .vjv-order-items__heading.--quantity,
            .vjv-order-items__header .vjv-order-items__heading.--price {
                text-align: right;
            }
.vjv-order-items__item:nth-child(even) {
            background-color: rgba(253, 198, 18, 0.25);
        }
.vjv-order-items__item-name,
        .vjv-order-items__item-quantity,
        .vjv-order-items__item-price,
        .vjv-order-items__item-message,
        .vjv-order-items__item-type {
            padding: 0.75rem calc(0.53571rem + 1.42857vmin);
        }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-order-items__item-name,
        .vjv-order-items__item-quantity,
        .vjv-order-items__item-price,
        .vjv-order-items__item-message,
        .vjv-order-items__item-type {

        padding: 0.75rem 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-order-items__item-name,
        .vjv-order-items__item-quantity,
        .vjv-order-items__item-price,
        .vjv-order-items__item-message,
        .vjv-order-items__item-type {

        padding: 0.75rem 1.5rem;
    }
}
.vjv-order-items__item-quantity,
        .vjv-order-items__item-price {
            text-align: right;
        }
.vjv-order-items__item-message,
        .vjv-order-items__item-type {
            text-align: left;
        }

.vjv-merchants {

    border: 0.125rem solid #2d2d2d;
}

.vjv-merchants__list {

        max-height: 80vh;
        overflow-y: auto;
    }

.vjv-merchants__filters {

        margin-bottom: 2rem;
    }

.vjv-merchants__filters-header {

        display: flex;
        justify-content: center;
        margin-bottom: 1rem;
        padding: 0.5rem 0;
    }

.vjv-merchants__filters-toggle {

        display:         flex;
        align-items:     center;
        padding:         calc(0.26786rem + 0.71429vmin) calc(0.53571rem + 1.42857vmin);
        color:          #fff;
        border:         none;
        cursor:         pointer;
    }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-merchants__filters-toggle {

        padding: 0.375rem 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-merchants__filters-toggle {

        padding: 0.75rem 1.5rem;
    }
}

.vjv-merchants__filters-toggle::after {

            content:      '';
            width:       0.6rem;
            height:      0.6rem;
            margin-left: 0.5rem;
            border:      0.2rem solid currentColor;
            border-top:  0;
            border-left: 0;
            transform:   rotate(45deg);
            transition:  transform 0.3s ease;
        }

.vjv-merchants__filters-toggle.--is-active::after {
            transform: rotate(-135deg);
        }

.vjv-merchants__filters-panel {

        display: none;
    }

.vjv-merchants__filters-panel.--is-open {
            display: block;
        }

.vjv-merchants__filters-content {

        column-count: 1;
        column-gap:   1rem;
        padding:      calc(0.53571rem + 1.42857vmin);
    }

@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-merchants__filters-content {

        padding: 0.75rem;
    }
}

@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-merchants__filters-content {

        padding: 1.5rem;
    }
}

@media ( min-width: 768px ) {

.vjv-merchants__filters-content {
            column-count: 2
    }
        }

@media ( min-width: 1025px ) {

.vjv-merchants__filters-content {
            column-count: 3
    }
        }

.vjv-merchants__filter {

        display:     flex;
        align-items: center;
        margin:      0.5rem 0;
    }

.vjv-merchants__filter input[type="checkbox"] {
            margin-right: 0.5rem;
        }

.vjv-merchants__list .cards {

            padding-bottom: 4rem;
            margin:         0;
        }

.vjv-merchant-selection-form .vjv-form__actions {

        display:         flex;
        justify-content: center;
    }

.vjv-merchant-selection-form__selection {

        display:        none;
        flex-direction: column;
        align-items:    center;
        margin:         calc(1.6rem + 2vw) 0 0;
    }

@media (max-width: 20rem) {

    .vjv-merchant-selection-form__selection {

        margin: 2rem 0 0;
    }
}

@media (min-width: 1920px) {

    .vjv-merchant-selection-form__selection {

        margin: 4rem 0 0;
    }
}

.vjv-merchant-selection-form__selection.--has-selection {
            display: flex;
        }

.vjv-merchant-selection-form__selection-text {
            margin: 0;
        }

.vjv-merchant-selection-form__selection-merchant {
            font-weight: 700;
        }
body.--has-overlay {
    overflow: hidden;
}
.vjv-merchant-overlay {

    position:        fixed;
    top:             0;
    right:           0;
    bottom:          0;
    left:            0;
    z-index:         9999;

    display:         flex;
    align-items:     center;
    justify-content: center;

    background:     rgba(0, 0, 0, 0.8);
}
.vjv-merchant-overlay__content {

        position:   relative;

        width:      100%;
        max-width:  80rem;
        height:     100%;
        max-height: 70vh;
        padding:    0 calc(0.53571rem + 1.42857vmin);
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-merchant-overlay__content {

        padding: 0 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-merchant-overlay__content {

        padding: 0 1.5rem;
    }
}
.vjv-merchant-overlay__close {

        position:    absolute;
        top:         0;
        right:       calc(0.53571rem + 1.42857vmin);

        height:      4rem;
        padding:     0 1rem;

        color:       #fff;

        font-size:       2rem;
        line-height:     4rem;
        text-decoration: none;
    }
@media (max-height: 240px) and (max-width: 240px), (orientation: landscape) and (max-height: 240px), (orientation: portrait) and (max-width: 240px) {

    .vjv-merchant-overlay__close {

        right: 0.75rem;
    }
}
@media (min-height: 1080px) and (min-width: 1080px), (orientation: landscape) and (min-height: 1080px), (orientation: portrait) and (min-width: 1080px) {

    .vjv-merchant-overlay__close {

        right: 1.5rem;
    }
}
.vjv-merchant-overlay__inner {

        height:     calc(100% - 4rem);
        margin-top: 4rem;
        overflow-y: auto;

        background: #fff;
    }
#vjv-merchant-login .--merchant-register .vjv-link-box__content {
            margin-bottom: 0;
        }

.vjv-success {

    display:        flex;
    flex-direction: row;
    align-items:    center;
    gap:            2rem;
    padding:        1.5rem;
}

.vjv-success__icon {

        width:      6rem;
        height:     6rem;
        object-fit: contain;
    }

.vjv-success__text {

        margin:      0;
        font-weight: 700;
    }

.vjv-voucher-status {
    display: inline-block;
    padding: 0.3em 0.6em;
    border-radius: 0.1875rem;
    background: #e5e5e5;
    color: #666;
    font-size: 0.9em;
    line-height: 1.4;
    white-space: nowrap;
}

.vjv-voucher-status.--active {
    background: #c6e1c6;
    color: #5b841b;
}

.vjv-voucher-status.--redeemed {
    background: #f8dda7;
    color: #94660c;
}

.vjv-voucher-status.--pending {
    background: #f1f1f1;
    color: #666;
}

.vjv-voucher-status.--order_deleted {
    background: #ffd4d4;
    color: #a00;
}

