@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@500&family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap');

:root {
    --purple: #221934;
    --green: #2D912D;
    --v-light-green: #b0e8b0;
    --vv-light-green: #e1f5e1;
    --darkgreen: #1E6E1E;
    --red: #D93F3F;
    --dark-red: #b32d2d;
    --light-red: #ffe8ec;
    --gold: #B49427;
    --white: #FFFFFF;
    --light-white: rgba(255, 255, 255, .8);
    --dark-purple: var(--purple);
    --bright-purple: #543396;
    --v-light-purple: #cbbbe9;
    --vv-light-purple: #e3d9f6;
    --purple-trans: rgba(34, 25, 52, .9);
    --green-trans: rgba(78, 173, 82, .9);
    --darkgold: #8e7318;
    --v-dark-purple: #1B142A;
    --blue: #83bbf8;
    --light-blue: #C7D8EA;
    --lightgold: #d9c78d;
    --grurple: #342B45;
    --v-light-grey: #F2F1EE;
    --vv-light-grey: #F9F8F7;
    --grey: #7f90a3;
    --dark-grey: #55687D;
    --light-grey: #adb4bb;
    --light-trans: rgba(255, 255, 255, .4);
    --body-text: var(--dark-grey);
    --space: 1.5rem;
    --reading-width: min(75ch, 100%);
    --inbetween-width: min(900px, 100%);
    --form-width: min(400px, 100%);
    --content-width: min(1200px, 100%);

    --court-svg-default-label: transparent;
    --court-svg-light-label: #fff;
    --court-svg-dark-label: #1b1f3c;
    --non-debenture-color: #e2e9ee;
    --royal-box-color: var(--non-debenture-color);
    --debenture-color: #babdd0;
    --debenture-available-some-day: #898da4;
    --debenture-available-selected-day: #5f6380;
    --debenture-selected: var(--court-svg-dark-label);
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

::placeholder {
    color: var(--light-grey);
    opacity: 1;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
    /* Height of fixed header */
}

body {
    font-size: 16px;
    font-family: 'Mulish', sans-serif;
    background-color: var(--v-light-grey);
    background-size: 300px;
    background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, var(--v-light-grey) 90%, var(--v-light-grey) 100%), url(/ui/images/bg-gnp-icon.svg);
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, var(--v-light-grey) 90%, var(--v-light-grey) 100%), url(/ui/images/bg-gnp-icon.svg);
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--v-light-grey) 90%, var(--v-light-grey) 100%), url(/ui/images/bg-gnp-icon.svg);
    background-attachment: fixed;
    letter-spacing: .03em;
    line-height: 160%;
    color: var(--body-text);
}

h1,
h2,
h3,
h4,
.card-title {
    font-family: 'Cormorant Infant', serif;
    color: var(--dark-purple);
    line-height: 1.3;
    margin-bottom: calc(.5 * var(--space));
    letter-spacing: normal;
}

h2,
h3,
h4 {
    margin-top: 3rem;
}

h1 {
    font-size: 2.5rem;
    max-width: var(--reading-width);
}

h1,
h2,
h3 {
    font-weight: 500;
    line-height: 1.1;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.7rem;
}

/* h3 {
    font-size: 1.2rem;
    line-height: 1.5;
    font-family: 'Mulish', sans-serif;
    font-weight: bold !important;
} */

h4 {
    font-size: 1rem;
    font-family: 'Mulish', sans-serif;
    font-weight: bold
}

h5,
h6 {
    font-size: 1rem;
    font-weight: normal;
}

@media (min-width: 1000px) {
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.5rem;
    }
}

p {
    margin-bottom: 1rem;
}

p:empty {
    display: none;
}

img {
    max-width: 100%;
}

a {
    color: var(--green);
    cursor: pointer;
    text-decoration: underline;
}

a:hover,
a:focus-visible {
    color: var(--darkgold) !important;
}

footer a:hover,
footer a:focus-visible {
    color: var(--gold) !important;
}

ul,
ol {
    padding-left: 1.3rem;
    margin-bottom: 1rem;
}

ul {
    list-style: none;
}

ul li {
    position: relative;
}

ul li::before {
    content: '\2022';
    position: absolute;
    left: -1.3rem;
    line-height: 1.5rem;
    font-size: 1.2rem;
    color: var(--green);
}

.alert-danger ul li::before {
    color: var(--red);
}

.alert-warning ul li::before {
    color: var(--bright-purple);
}

ul.small-text {
    padding-left: 1rem;
}

ul.small-text li::before {
    left: -1rem;
    line-height: 1rem;
    font-size: 1rem;
}

/* ul.centre-mobile li:before {
    content: '✓';
    left: auto;
    margin-right: .5rem;
    position: relative;
} */

table {
    width: 100%;
    border-bottom: 1px solid var(--light-blue);
    border-collapse: collapse;
    margin-bottom: var(--space);
    line-height: 130%;
}

table:not(:has(tr > th)) {
    border-top: 5px solid var(--dark-grey);
}

table tr th {
    background-color: var(--dark-grey);
    color: var(--white);
}

table tr th a {
    color: var(--white);
}

tr th,
tr td {
    padding: 1rem;
    border-right: 1px solid var(--light-blue);
    vertical-align: top;
}

tr td>div {
    margin-bottom: calc(.15 * var(--space));
}

tr td>div:last-child {
    margin-bottom: 0;
}

tr th:last-child,
tr td:last-child {
    border-right: none;
}

tr:nth-child(odd) td {
    background-color: var(--white);
    color: inherit;
}

tr:nth-child(even) td {
    background-color: var(--vv-light-grey);
    color: inherit;
}

tr.row-selected td {
    background-color: var(--vv-light-purple) !important;
}

.table-options {
    display: grid;
    gap: 4px;
    margin-top: 8px;
}

.wide-page table thead {
    position: sticky;
    top: 52px;
    z-index: 3;
}

/* only tables are desktop first */
@media (max-width: 999px) {
    body:not(.is-admin) .table-responsive {
        overflow-x: hidden;
    }

    table:not(.listing-table) thead {
        display: none;
    }

    table:not(.listing-table) tbody {
        font-size: 1.2rem;
    }

    table:not(.listing-table) tr {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 1rem;
        /* border-bottom: 3px solid var(--purple); */
        background-color: var(--vv-light-grey) !important;
        border: 1px solid var(--grey);
        margin-bottom:1rem;
    }

    /* table:not(.listing-table) tr:first-child {
        border-top: 3px solid var(--purple);
    } */

    table:not(.listing-table) tr td {
        display: grid;
        word-break: break-word;
        text-align: left;
        border-right: none;
        padding: 1rem;
        position: relative;
        min-height: 50px;
        border-bottom: 1px solid var(--light-blue);
        width: 100%;
        max-width: 100% !important;
        line-height: 1.4;
        background-color: transparent !important;
    }

    table:not(.listing-table) tr td:last-child {
        border-bottom: none;
    }

    table:not(.listing-table) tr td[data-label] {
        padding: .8rem .2rem 1rem 120px;
    }

    table:not(.listing-table) tr td[data-label]::before {
        content: attr(data-label) ': ';
        font-weight: bold;
        font-size: 0.8rem;
        text-transform: uppercase;
        color: var(--dark-grey);
        padding: 0 .5rem 0 0;
        position: absolute;
        left: 0;
        top: 1rem;
        width: 120px;
    }

    table:not(.listing-table) tr td:empty::after {
        content: '-';
    }

    table:not(.listing-table) tr td .btn {
        width: fit-content;
    }

    table:not(.listing-table) tr td .country-flag,
    table:not(.listing-table) tr td .centered {
        text-align: left !important;
    }

    table:not(.listing-table) tr.listing-sold td:nth-child(3) {
        border-bottom: none;
    }

    table:not(.listing-table) tr.listing-sold td.hide-listing-input-td {
        display: none;
    }
}

.fullwidth {
    width: 100%;
}

.multiple-indicator {
    cursor: pointer;
}

.multiple-indicator.notifier-pill:hover {
    background-color: var(--darkgold) !important;
    color: var(--white);
    outline: 2px solid var(--darkgold);
    outline-offset: 2px;
}

.highlight-multiple-table tbody tr:not(.highlight-multiple) {
    display: none;
}

.howToPriceListings {
    margin-top: 8px;
}

.table-responsive {
    position: relative;
}

body:not(.is-admin) .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

details {
    border-bottom: 1px solid var(--light-blue);
}

summary {
    color: var(--dark-grey);
    position: relative;
    padding: 1rem calc(1.5 * var(--space));
    outline: none;
    list-style: none;
    cursor: pointer;
}

summary:focus-visible {
    outline: 2px solid var(--green);
    outline-offset: 2px;
}

summary:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    background-image: url(/ui/images/icon-chevron-green.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    list-style: none !important;
    transform: translateY(-50%);
}

details[open] {
    padding-left: calc(1.5 * var(--space));
}

details[open] summary {
    margin-left: calc(-1.5 * var(--space));
}

details[open] summary:before {
    background-image: url(/ui/images/icon-chevron-up-green.svg) !important;
}

/* accessibility */

.skip-to-content-link {
    position: absolute;
    top: 0;
    left: 1rem;
    z-index: 10000;
    background-color: var(--white);
    color: var(--green);
    padding: 1rem;
    text-decoration: none;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5rem;
    transform: translateY(-120%);
}

.skip-to-content-link:focus-visible,
.skip-to-content-link:focus {
    transform: translateY(1rem);
}

#drappedLogoWrapper:focus-visible,
.reviewsio-wrapper:focus-within {
    outline: 2px solid var(--purple) !important;
    outline-offset: 2px !important;
}

a:focus-visible {
    outline: 2px solid var(--purple);
    outline-offset: 2px;
}

path:focus-visible,
path:focus {
    outline: none !important;
}

/* accessibility end */

/* debug */

.recognise-1 {
    outline: 2px solid red !important;
    outline-offset: 2px !important;
}

.recognise-2 {
    outline: 2px solid orange !important;
    outline-offset: 2px !important;
}

.recognise-1.hide,
.recognise-2.hide {
    display: block !important;
    opacity: .3 !important;
}

#test-keyboard {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: grey;
    color: var(--white);
    text-align: center;
    padding: 1rem;
    z-index: 10000;
    height: 45vh;
}

.ktype {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: stretch;
    align-items: stretch;
    padding: 1rem;
}

.ktype div {
    text-align: left;
    border: 1px solid white;
    padding: .5rem;
}

/* debug end */

.small-text {
    font-size: 0.8rem;
    line-height: 130%;
}

.text-muted {
    color: var(--light-grey) !important;
}

.text-danger {
    color: var(--red) !important;
}

/* forms */

form {
    display: grid;
    gap: calc(1 * var(--space));
}

.button-wrapper {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-items: stretch;
    gap: 8px;
}

.centered {
    text-align: center;
}

.left-aligned {
    text-align: left;
}

.button-wrapper.centered {
    justify-content: center;
    align-items: center;
}

.button-wrapper.vertical {
    flex-direction: column;
    align-items: stretch;
}

.post-form-html {
    margin-top: 1rem;
}

.wedontshare {
    font-size: 0.8rem;
    line-height: 1.3;
}

@media (min-width:1000px) {
    .button-wrapper {
        flex-direction: row;
        align-items: center;
    }

    .button-wrapper>* {
        width: fit-content;
    }
}

.form-control-wrapper,
.form-check-wrapper,
.form-select-wrapper {
    text-align: left;
    display: grid;
    gap: calc(0.1 * var(--space));
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

label,
.form-label {
    display: block;
    font-weight: bold;
}

input[type="checkbox"]+label {
    margin-top: 4px;
}

.form-check-label {
    font-weight: normal;
}

input,
select,
textarea {
    width: 100%;
    padding: .75rem;
    border: 1px solid var(--light-grey);
    border-radius: 0;
    background-color: var(--white);
    font-size: 1rem;
    color: var(--dark-grey);
    -webkit-appearance: none;
    appearance: none;
}

select {
    background-image: url('/ui/images/icon-chevron-green.svg');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}

:focus-visible {
    outline: none;
    border-color: var(--green);
}

input:focus-visible,
select:focus-visible,
button:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--green);
    outline-offset: 2px;
    border-color: var(--green);
}

.input-group input:focus-visible {
    outline: none;
    border-color: var(--green);
}

.input-group:has(input:focus-visible) {
    outline: 2px solid var(--green);
    outline-offset: 2px;
}

.input-group:has(input:focus-visible) .input-group-prefix {
    background-color: var(--green);
    color: var(--white);
}

div:has(> input[type="checkbox"]),
div:has(> input[type="radio"]) {
    display: flex;
    gap: .25rem;
}

/* form div:has(div > input[type="radio"])>div:has(> input[type="radio"]) {
    margin-bottom: 4px;
} */

input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--dark-grey);
    background: var(--white);
    position: relative;
    cursor: pointer;
    margin-right: calc(.5 * var(--space));
    transition: all 0.3s ease;
}

input[type="checkbox"]:checked {
    background-color: var(--green);
    border-color: var(--green) !important;
}

input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: var(--white);
    font-size: 16px;
    font-weight: bold;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

input[type="checkbox"]+label {
    display: inline-block;
    margin-bottom: 0;
}

input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--dark-grey);
    border-radius: 50px;
    background: var(--white);
    position: relative;
    cursor: pointer;
    margin-right: calc(.5 * var(--space));
    transition: all 0.3s ease;
}

input[type="radio"]:checked {
    background-color: var(--green);
    border-color: var(--green);
}

input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    background-color: var(--white);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    aspect-ratio: 1;
    border-radius: 50px;
}

input[type="radio"]:disabled,
input[type="checkbox"]:disabled,
input[type="radio"]:disabled+label,
input[type="checkbox"]:disabled+label {
    opacity: .4;
    pointer-events: none;
    filter: saturate(0);
}

.form-text {
    font-size: 0.9rem;
    font-style: italic;
    color: var(--grey);
}

.hide-until-invalid {
    display: none;
}

.input-group:has(.is-invalid)~.hide-until-invalid,
.is-invalid~.hide-until-invalid {
    display: block;
}

/* *:has(>.form-text):hover .form-text,
*:has(>.form-text):focus-visible .form-text,
.form-text:hover,
.form-text:focus-visible {
    color: var(--body-text);
} */

form div .input-group {
    display: flex;
    align-items: stretch;
    gap: 0;
    background-color: var(--white);
}

form div .input-group .input-group-prefix {
    padding: .75rem;
    border: 1px solid var(--light-grey);
    border-right: none;
}

form input.is-invalid,
form select.is-invalid,
fieldset.seat-inputs.is-invalid,
ul.calendar.is-invalid {
    border-color: var(--red) !important;
    color: var(--red) !important;
    background-color: var(--light-red) !important;
}

ul.calendar.is-invalid li {
    border-color: var(--red) !important;
    color: var(--red) !important;
}

/* form div:has(.is-invalid) .form-text,
form div:has(.is-invalid) .form-text a {
    color: var(--red) !important;
} */

input.is-invalid~.form-text,
input.is-invalid~.form-text a,
.input-group:has(input.is-invalid)~.form-text,
.input-group:has(input.is-invalid)~.form-text a,
select.is-invalid~.form-text,
select.is-invalid~.form-text a,
.input-group:has(select.is-invalid)~.form-text,
.input-group:has(select.is-invalid)~.form-text a,
ul.calendar.is-invalid~.form-text,
ul.calendar.is-invalid~.form-text a {
    color: var(--red) !important;
}

fieldset {
    padding: var(--space);
    margin-bottom: var(--space);
    border: 1px solid var(--light-grey);
}

fieldset.seat-inputs>div {
    margin-bottom: var(--space);
}

fieldset.seat-inputs>div:last-of-type,
fieldset.seat-inputs>div:first-of-type:has(p:only-child:empty) {
    margin-bottom: 0;
}

fieldset.seat-inputs .form-control-wrapper {
    position: relative;
}

fieldset.seat-inputs .form-control-wrapper .delete-seat {
    position: absolute;
    z-index: 100;
    width: 1rem;
    height: 1rem;
    right: .5rem;
    top: 1rem;
    background-image: url('/interface/icons/Bin.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

fieldset.seat-inputs .form-control-wrapper .delete-seat:hover {
    width: 1.2rem;
    height: 1.2rem;
}

/* forms end */

.notifier-badge {
    position: absolute;
    top: 0px;
    right: 0px;
    background-color: var(--red);
    color: white;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: 25px;
    height: 25px;
}

.pulsing-notifier-badge {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    20% {
        transform: scale(1.2);
    }

    40% {
        transform: scale(1);
    }

    60% {
        transform: scale(1.2);
    }

    80% {
        transform: scale(1);
    }
}

.notifier-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: .2rem .4rem;
    border-radius: 8px;
    font-size: 0.48rem;
    font-weight: bold;
    color: var(--white);
    line-height: 1.2;
    margin-right: .5rem;
    margin-bottom: .5rem;
    background-color: var(--purple);
    text-align: center;
    text-transform: uppercase;
    width: fit-content;
}

.notifier-pill.red {
    background-color: var(--red);
}

.notifier-pill.red.outline {
    color: var(--red);
    background-color: var(--white);
    border: 2px solid var(--red);
}

.notifier-pill.green {
    background-color: var(--green);
}

.notifier-pill.blue {
    background-color: var(--blue);
}

.qmark-popup {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    background-color: var(--green);
    color: var(--white);
    border-radius: 50%;
    margin-right: -2px;
    text-align: center;
    line-height: 1.2rem;
    font-weight: bold;
    font-size: 0.8rem;
    cursor: pointer;
    position: relative;
}

.alert-warning .qmark-popup {
    background-color: var(--bright-purple);
}

.notifier-pill.red .qmark-popup {
    background-color: var(--white);
    color: var(--red);
}

.notifier-pill.red.outline .qmark-popup {
    background-color: var(--red);
    color: var(--white);
}

.alert-danger .qmark-popup {
    background-color: var(--red);
}

.alert-danger {
    animation: drawattention 1s 1s ease-in-out 1 forwards;
}

.drawattention:not(:has(svg)),
.drawattention:has(svg)>svg {
    animation: drawattention 1s ease-in-out 3 forwards;
}

@keyframes drawattention {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(1.02);
    }

    50% {
        transform: scale(1);
    }

    75% {
        transform: scale(1.02);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes shakedrawattention {
    0% {
        transform: translateX(0);
    }

    10% {
        transform: translateX(-5px);
    }

    20% {
        transform: translateX(5px);
    }

    30% {
        transform: translateX(-5px);
    }

    40% {
        transform: translateX(5px);
    }

    50% {
        transform: translateX(-5px);
    }

    60% {
        transform: translateX(5px);
    }

    70% {
        transform: translateX(-5px);
    }

    80% {
        transform: translateX(5px);
    }

    90% {
        transform: translateX(-5px);
    }

    100% {
        transform: translateX(0);
    }
}

*> :has(.notifier-badge) {
    position: relative;
}

.autocomplete-list {
    background-color: white;
    color: var(--green);
    margin: 0;
    padding: 0;
    border: 1px solid var(--light-grey);
}

.autocomplete-list li {
    padding: .5rem 1rem;
    cursor: pointer;
}

.autocomplete-list li::before {
    content: none;
}

.autocomplete-list li:hover,
.autocomplete-list li:focus-visible {
    background-color: var(--gold);
    color: var(--white);
    outline: none;
}

/* search everywhere */

#search-everywhere {
    margin-bottom: var(--space);
}

#search-everywhere form {
    gap: 4px;
}

#search-everywhere form>* {
    flex: 0 0 fit-content;
}

/* search everywhere end */

.CarouselWidget-prefix .CarouselWidget .R-ReviewsList .R-ReviewsList__item .item__inner {
    background-image: none !important;
    background-color: var(--v-light-grey) !important;
}

body.reviews-and-testimonials .page-header .CarouselWidget-prefix .CarouselWidget .R-ReviewsList .R-ReviewsList__item .item__inner {
    background-image: none !important;
    background-color: var(--white) !important;
}

.reading-width {
    max-width: var(--reading-width);
    margin-left: auto;
    margin-right: auto;
}

.inbetween-width {
    max-width: var(--inbetween-width);
    margin-left: auto;
    margin-right: auto;
}

.form-container {
    max-width: var(--form-width);
    margin-left: auto;
    margin-right: auto;
}

.container.reading-width {
    max-width: var(--reading-width);
}

.container.form-container {
    max-width: var(--form-width);
}

.container.inbetween-width {
    max-width: var(--inbetween-width);
}

.reading-width>h2:first-child {
    margin-top: 0;
}

.bg-dark-gold {
    background-color: var(--darkgold) !important;
}

.bg-v-light-grey {
    background-color: var(--v-light-grey) !important;
}

.bg-dark-purple {
    background-color: var(--dark-purple) !important;
}

.bg-purple-trans {
    background-color: var(--purple-trans);
}

.bg-green-trans {
    background-color: var(--green-trans);
}

.bg-v-light-grey-top {
    background-image: linear-gradient(to bottom, var(--v-light-grey), white 150px);
}

.bg-light-trans-gradient {
    background-color: var(--light-trans) !important;
}

.text-light {
    color: var(--white) !important;
}

.grid {
    display: grid;
    gap: var(--space);
}

.row {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    gap: var(--space);
}

.row.always-columns {
    flex-direction: row;
}

.row.allow-wrap {
    flex-wrap: wrap;
}

.row.bigger-gap {
    gap: calc(2 * var(--space));
}

.row.col-main-sidebar-wrapper {
    gap: 0;
    padding-top: var(--space);
}

.row>* {
    max-width: 100%;
}

.row:not(.row-items-no-grow)>* {
    flex: 1;
}

@media (min-width:1000px) {
    .row {
        flex-direction: row;
    }

    .row.even-columns>* {
        flex: 1 0 auto;
    }

    .row.even-columns.two-columns>* {
        flex: 0 1 50%;
    }

    .bg-v-light-grey-top {
        background-image: linear-gradient(to bottom, var(--v-light-grey) 150px, white 150px);
    }
}

.col-main>p:first-of-type:not(h2 + p) {
    margin-top: calc(2 * var(--space));
}

.big-initial>p:first-of-type:not(h2 + p)::first-letter {
    font-family: 'Cormorant Infant', serif;
    color: var(--light-blay);
    padding: 0 .3rem;
    margin: 0 .3rem 0 0;
    font-size: 6rem;
    float: left;
    line-height: 5rem;
    -webkit-initial-letter: 3;
    initial-letter: 3
}

.court-icon-key {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.court-icon-key+.court-icon-key {
    margin-bottom: var(--space);
}

.court-icon-key span {
    display: inline-block;
    width: 1.5rem;
    height: 1rem;
}

.court-icon-key-debentures span {
    background-color: var(--debenture-color);
}

.court-icon-key-available-debentures span {
    background-color: var(--debenture-available-some-day);
}

.court-icon-key p {
    margin: 0;
}

.share-block {
    display: flex;
    padding: 1rem 0;
    justify-content: space-between;
    border-bottom: 1px solid var(--light-grey);
}

.col-main>div.bg-dark-purple.share-block {
    color: var(--white);
    padding: 1rem;
    border: none;
}

.col-sidebar {
    display: none;
}

.col-sidebar,
.col-main {
    padding-bottom: calc(4 * var(--space));
}

@media (min-width:1000px) {
    .col-main {
        padding-top: 0;
        padding-bottom: calc(4 * var(--space));
        flex: 0 1 80ch !important;
        /* 80ch to match reset.css p,li,figcaption max-width - it should actually be 75ch for max optimum reading width */
    }

    .col-sidebar {
        display: block;
        padding-left: calc(20px + .375rem) !important;
        position: relative;
    }

    .col-sidebar>.buy-tickets-shortcode {
        position: sticky;
        top: 80px;
    }
}

#closing-testimonial {
    background-image: linear-gradient(var(--v-light-grey) 40%, transparent 180%), url(/ui/images/gnp-tennis-crowd-bg-light.webp);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    text-align: center;
    margin-top: calc(var(--space) + 3rem);
    padding: 0 var(--space) var(--space);
}

#closing-testimonial>img {
    margin-top: -3rem;
}

#cookie-popup {
    position: fixed;
    bottom: 0;
    background-color: var(--green);
    padding: var(--space);
    color: var(--white);
    right: 0;
    left: 0;
}

#cookie-popup a,
#cookie-popup a:hover,
#cookie-popup a:focus-visible {
    color: var(--white) !important;
}

#cookie-title {
    font-size: 1.5rem;
    margin-bottom: .5rem;
}

#cookie-popup .btn-primary,
#cookie-popup .btn-primary:hover,
#cookie-popup .btn-primary:focus-visible {
    background-color: var(--white) !important;
    color: var(--green) !important;
    border-color: var(--white) !important;
}

.buy-tickets-shortcode .countdown-buy-wrapper {
    text-align: center;
    background-color: var(--white);
}

.buy-tickets-shortcode .above-countdown {
    background-image: url(/ui/images/sidebarplayer.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 2rem 1rem 12rem;
    background-position: bottom -20px center;
}

.buy-tickets-shortcode .above-countdown h2 {
    font-size: 2rem;
    margin-top: 0;
}

.buy-tickets-shortcode .countdown-buy {
    background-color: #253C2A;
    color: white;
    padding: 1rem 1.5rem;
    margin-bottom: .5rem;
}

.buy-tickets-shortcode .countdown-buy p {
    color: white;
    margin-bottom: .5rem;
}

.buy-tickets-shortcode .countdown-buy-clock {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: .8rem;
}

.buy-tickets-shortcode .countdown-buy-clock>div {
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.buy-tickets-shortcode .countdown-buy-clock>div>div {
    background-color: #22221F;
    color: #F3F287;
    font-size: 2rem;
    font-weight: bold;
    padding: .7rem;
}

.col-main .buy-tickets-shortcode>div {
    display: block;
    margin: 2rem 0;
}

@media (min-width:1000px) {
    .col-main .buy-tickets-shortcode>div {
        display: none;
    }
}

.icon-tick-white-hedgehog {
    background-image: url(/ui/images/icon-tick-white-hedgehog.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    padding: 0 0 0 1.5rem;
}

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: .75rem 1rem;
    text-decoration: none;
    border: 1.5px solid var(--green);
    color: var(--green);
    background-color: var(--white);
    text-align: center;
    font-size: 1rem;
    line-height: 160%;
    cursor: pointer;
    text-transform: capitalize;
}

.btn-sm {
    padding: .25rem .5rem;
    font-size: .8rem;
}

.btn-no-capitalize {
    text-transform: none;
}

.btn-primary {
    background-color: var(--green);
    color: var(--white);
}

.btn-primary:hover,
.btn-primary:focus-visible {
    background-color: var(--darkgold) !important;
    border-color: var(--darkgold) !important;
    color: var(--white) !important;
    outline: 2px solid var(--darkgold) !important;
    outline-offset: 2px;
}

.btn-super-primary {
    background-color: var(--purple);
    border: 1.5px solid var(--purple);
    color: var(--white);
}

.btn-red {
    background-color: var(--red);
    border: 1.5px solid var(--red);
    color: var(--white);
}

.btn-red:hover,
.btn-red:focus-visible {
    background-color: var(--dark-red) !important;
    border-color: var(--dark-red) !important;
    color: var(--white) !important;
    outline: 2px solid var(--dark-red) !important;
    outline-offset: 2px;
}

.btn-super-primary:hover,
.btn-super-primary:focus-visible {
    background-color: var(--darkgold) !important;
    border-color: var(--darkgold) !important;
    color: var(--white) !important;
    outline: 2px solid var(--darkgold) !important;
    outline-offset: 2px;
}

.btn-secondary {
    background-color: var(--white);
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
    color: var(--darkgold) !important;
    border-color: var(--darkgold) !important;
    outline: 2px solid var(--darkgold) !important;
    outline-offset: 2px;
}

.btn-tertiary {
    background-color: transparent;
    color: var(--white);
    border-color: var(--white);
}

.btn-tertiary:hover,
.btn-tertiary:focus-visible {
    background-color: var(--white) !important;
    color: var(--darkgold) !important;
    border-color: var(--darkgold) !important;
    outline: 2px solid var(--darkgold) !important;
    outline-offset: 2px;
}

.btn .icon .line-item {
    stroke: black;
    stroke-width: 4px;
}

.btn .icon .fill-only-item {
    fill: black;
    stroke: none;
}

.btn:hover .icon .line-item,
.btn:focus-visible .icon .line-item {
    stroke: var(--darkgold);
    stroke-width: 5px;
}

.btn:hover .icon .fill-only-item,
.btn:focus-visible .icon .fill-only-item {
    fill: var(--gold);
    stroke: none;
}

.prevent-margin-overflow {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.container {
    width: 100%;
    max-width: var(--content-width);
    margin: 0 auto;
    padding-left: var(--space);
    padding-right: var(--space);
}

#main-container {
    max-width: 1400px;
    background-color: var(--white);
    margin: 0 auto;
}

@media (min-width:1000px) {
    #main-container {
        box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    }

    body.wide-page #main-container {
        max-width: 1600px !important;
        --content-width: 1600px !important;
    }
}

.email-to-screen {
    background-color: var(--vv-light-purple);
    color: var(--black);
    padding: 2rem;
}

.email-to-screen>p {
    text-align: center;
    margin: 1rem;
}

.email-to-screen>div {
    max-width: 600px;
    margin: 0 auto;
    border-radius: 10px;
    border: 1px solid var(--bright-purple);
    overflow: hidden;
}

.email-to-screen-header {
    background-color: var(--bright-purple);
    color: var(--white);
    padding: 1rem;
}

.email-to-screen-body {
    background-color: var(--white);
    padding: 1rem;
}

.email-to-screen-footer {
    background-color: var(--bright-purple);
    color: var(--white);
    padding: 1rem;
}

.icon {
    width: 1.7em;
    height: 1.7em;
    vertical-align: middle;
    fill: currentColor;
    overflow: hidden;
}

#nav-trigger-wrapper .icon .line-item {
    stroke: var(--white);
}

#page-title .icon {
    width: 3rem;
    height: 3rem;
    margin-bottom:10px;
}

.tiny-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tiny-icon .icon {
    width: 1em;
    height: 1em
}

.line-item {
    stroke: var(--purple);
    stroke-width: 4px;
    fill: none;
}

.fill-only-item {
    fill: var(--purple);
    stroke: none;
}

.tiny-icon .icon .line-item {
    stroke-width: 6px;
}

.icon-flag {
    width: 24px;
}

.icon-green .line-item {
    stroke: var(--green);
}

.little-underline {
    display: inline-block;
    width: 100%;
    height: 0px;
    border-top: 1px solid var(--light-blue);
    margin-top: calc(.5 * var(--space));
    margin-bottom: calc(.5 * var(--space));
}

.card-wrapper {
    display: flex;
    flex-direction: column;
    gap: calc(1 * var(--space));
}

.card {
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    padding: calc(1.5 * var(--space));
}

.card.backgroundless {
    background-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
}

.card.compact {
    padding: calc(0.75 * var(--space));
}

.card .card-pre-title {
    color: var(--dark-grey);
}

.card .card-img {
    position: relative;
    width: 100%;
    aspect-ratio: 1.4;
    margin-bottom: var(--space);
}

.card .card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

.card .card-img-inset {
    background-color: rgba(106, 122, 139, .85);
    color: var(--white);
    position: absolute;
    top: 25%;
    left: 0;
    bottom: 25%;
    width: 100%;
    height: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--space);
}

.card .card-img-inset p {
    color: var(--white);
    margin: 0;
}

.card .card-img-inset p:first-of-type {
    font-family: 'Cormorant Infant', serif;
    font-size: 2rem;
}

.card .card-img-inset .little-underline {
    border-color: var(--white);
}

.card .card-title {
    margin-top: 0;
    font-size: 1.5rem;
}

.card .card-body {
    flex: 1;
}

.card .card-body p:last-of-type {
    margin-bottom: 0;
}

.card .card-footer {
    padding-top: var(--space);
}

.search-results .card {
    margin-bottom: var(--space);
}

@media (min-width:1000px) {
    .card-wrapper {
        flex-direction: row;
        /* padding-left: 0;
        padding-right: 0; */
    }

    .card-wrapper .card {
        flex: 1 0 auto;
        width: calc((100% / 3) - (2/3 * var(--space)));
    }

    .card.card-horizontal {
        flex-direction: row;
        gap: var(--space);
    }

    .card.card-horizontal .card-content {
        text-align: left;
    }

    .card.card-horizontal .card-img {
        margin-bottom: 0;
        flex: 0 0 300px;
    }

    .card.card-horizontal .little-underline {
        display: none;
    }
}

details.fake-select {
    position: relative;
    border-radius: 2px !important;
    border-bottom: none;
}

details.fake-select summary:focus-visible {
    outline: 2px solid var(--purple);
    outline-offset: 2px;
}

details.fake-select.fake-select-right {
    text-align: right;
}

details.fake-select summary {
    padding: .4rem 2.5rem .4rem 1rem;
    border-radius: 2px !important;
    background-color: white !important;
}

details.fake-select.disabled summary {
    background-color: #f7f7f7 !important;
    color: #bbb !important;
}

details.fake-select summary>span {
    padding: 0;
    font-weight: normal;
    white-space: nowrap;
    overflow: hidden;
}

details.fake-select.fake-select-transparent summary {
    /* background-color: rgba(242,241,238,0.7) !important; */
    background-color: rgba(255, 255, 255, .8) !important;
}

details.fake-select summary:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 12px;
    left: auto;
    width: 16px;
    height: 16px;
    background-image: url('/ui/images/icon-chevron-green.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    list-style: none !important;
    transform: translateY(-50%);
}

details.fake-select>div {
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0;
    background-color: var(--white);
    border-radius: 2px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .3);
    z-index: 1000;
    margin: 0;
    min-width: 100%;
}

details.fake-select ul {
    padding: 0;
    margin: 0;
    width: 100%;
}

details.fake-select.fake-select-right div {
    left: auto !important;
    right: 0;
}

details.fake-select ul li {
    list-style: none;
    margin: 0;
    white-space: nowrap;
    padding: .5rem 1rem;
    color: var(--dark-grey);
}

details.fake-select ul li.optgroup-label {
    font-weight: bold;
    color: var(--dark-grey);
}

details.fake-select ul li[data-selected] {
    cursor: pointer;
}

details.fake-select ul li:has(a) {
    padding: 0;
}

details.fake-select ul li::before {
    content: none;
}

details.fake-select ul li[data-selected]:hover,
details.fake-select ul li[data-selected]:focus-visible,
details.fake-select ul li:has(a):hover,
details.fake-select ul li:has(a):focus-visible {
    background-color: var(--gold);
    color: white !important;
}

details.fake-select ul li[data-selected="1"] {
    background-color: var(--darkgold);
    color: white !important;
}

details.fake-select ul li a {
    color: var(--dark-grey);
    text-decoration: none;
    padding: .5rem 1rem;
    display: block;
}

details.fake-select ul li a:hover,
details.fake-select ul li a:focus-visible,
details.fake-select ul li:hover a,
details.fake-select ul li:focus-visible a {
    background-color: var(--gold);
    color: white !important;
}

@media (min-width:1000px) {
    details.fake-select .court-svg {
        min-width: 400px;
    }
}

#fake-select-cc-map,
#fake-select-1c-map {
    display: none;
}

#fake-select-cc-map.active,
#fake-select-1c-map.active {
    display: block;
}

.icon-payment-wrapper {
    display: flex;
    gap: .25rem;
    margin: 1rem 0;
    max-width: 340px;
}

#makeOfferForm .icon-payment-wrapper {
    max-width: none;
    margin: 0;
}

#makeOfferForm .icon-payment-wrapper>.icon-payment {
    flex: 1;
}

.icon-payment {
    height: 35px;
    background-color: var(--white);
}

.icon-payment-wide {
    flex-basis: 20%;
    min-width: 20%;
    max-width: 80px;
    padding: 5px;
}

div:has(> .icon-social) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

footer div:has(> .icon-social) {
    justify-content: flex-start;
}

.icon-social {
    height: 1.5rem;
    width: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-social .icon {
    width: 1rem;
    height: 1rem;
    vertical-align: top;
}

.dont-got-no-image,
.got-image {
    padding-top: 0;
}

.got-image .icon-social .icon .fill-only-item,
footer .icon-social .icon .fill-only-item {
    fill: var(--white);
}

.rounded-circle {
    border-radius: 50%;
}

.reviewsio-wrapper {
    display: block;
    width: fit-content;
}

.reviewsio-wrapper a {
    text-decoration: none;
}

.page-header {
    text-align: center;
    padding-top: var(--space);
    padding-bottom: var(--space);
    background-color: var(--v-light-grey);
}

/* .page-header .container {
    padding-left: var(--space);
    padding-right: var(--space);
} */

.page-header h1 {
    margin: 0 auto calc(.5 * var(--space));
    width: fit-content;
}

.page-header p {
    margin: 0;
}

@media (min-width:1000px) {
    .page-header {
        padding-top: calc(var(--space) * 3);
        padding-bottom: calc(var(--space) * 3);
    }
}

section,
.section {
    padding: calc(3 * var(--space)) 0;
}

section:first-child,
.section:first-child {
    padding: calc(2 * var(--space)) 0;
}

#reviewsio-carousel-widget {
    overflow: hidden;
}

section>h2:first-child,
section>.container>h2:first-child {
    margin-top: 0;
}

@media (min-width:1000px) {

    section,
    .section,
    section:first-child,
    .section:first-child {
        padding-top: calc(4 * var(--space));
        padding-bottom: calc(4 * var(--space));
    }
}

footer {
    font-size: 14px;
    background-color: var(--purple);
    color: var(--white);
    padding: calc(3 * var(--space)) 0;
}

footer>div {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

footer h3 {
    color: var(--white);
}

footer h3 {
    margin-top: 0;
}

footer ul {
    padding-left: 0;
}

footer li {
    margin-bottom: 1rem;
    color: var(--white);
}

footer ul li::before {
    content: none;
}

footer p {
    color: var(--white);
}

footer a {
    color: var(--white);
}

footer .row {
    margin-bottom: var(--space);
}

footer .row div:first-of-type h3:nth-of-type(2) {
    margin-top: var(--space);
}

footer .row>div {
    flex: 1;
}

@media (min-width:1000px) {
    footer {
        padding: calc(4 * var(--space)) 0;
    }

    footer .row {
        flex-wrap: nowrap;
        gap: calc(3 * var(--space));
        margin-bottom: calc(2 * var(--space));
    }

    footer>div {
        margin-bottom: var(--space);
    }
}

.desktop {
    display: none;
}

.hide {
    display: none !important;
}

.hide-on-mobile,
.hide-until-useful {
    display: none;
}

@media (min-width:1000px) {
    .desktop {
        display: block;
    }

    .mobile {
        display: none;
    }

    .hide-on-mobile {
        display: block;
    }
}

.pagination {
    display: flex;
    justify-content: center;
    padding-left: 0;
    list-style: none;
    gap: 1px;
    margin-top: 4px;
}

.pagination li a {
    padding: calc(.25 * var(--space)) calc(.5 * var(--space));
    background-color: var(--white);
    text-decoration: none;
}

.pagination li a.active {
    background-color: var(--green);
    color: var(--white);
}

.pagination li a.disabled {
    opacity: .4;
    cursor: auto
}

.pagination li:first-of-type a,
.pagination li:first-of-type a>span:first-of-type {
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
}

.pagination li:last-of-type a,
.pagination li:last-of-type a>span:last-of-type {
    padding-right: 0;
    padding-left: 0;
    background-color: transparent;
}

.pagination li>span {
    padding: calc(.25 * var(--space)) calc(.5 * var(--space));
}

.pagination li:first-of-type a>span:last-of-type,
.pagination li:last-of-type a>span:first-of-type {
    display: none;
}

.pagination li::before {
    content: none;
}

.pagination .icon {
    height: 1.2rem;
}

.pagination .line-item {
    stroke: var(--green);
    stroke-width: 8px;
}

/* reviews page */

.review {
    text-align: center;
    border-bottom: 1px solid var(--light-blue);
    padding-bottom: calc(2 * var(--space));
    margin-bottom: calc(2 * var(--space));
    max-width: var(--reading-width);
    margin-left: auto;
    margin-right: auto;
}

.review:last-of-type {
    border: none;
}

.review h2 {
    margin-top: calc(0.5 * var(--space));
}

@media (min-width:1000px) {
    .review {
        padding-bottom: calc(2 * var(--space));
        margin-bottom: calc(2 * var(--space));
    }
}

/* buy and sell page */

#page-section-hero {
    background-color: var(--v-light-grey);
    background-position: top center;
    background-repeat: no-repeat;
}

#page-section-hero .R-TextBody {
    display: none;
}

#page-section-hero .row {
    padding: var(--space) 0;
    flex-direction: row;
}

#page-section-hero .row>div:first-child {
    flex: 1 0 auto;
    width: 50px;
}

#page-section-hero .row>div:nth-child(2) {
    text-align: left;
}

#page-section-hero .btn {
    width: 100%;
}

#page-section-founders {
    text-align: center;
}

#page-section-founders h2 {
    margin-top: calc(.5 * var(--space));
}

#page-section-shake {
    background-image: url(/ui/images/sellpage/hand-shake-over-net-mobile.webp);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-color: #F2F1EE;
    padding-bottom: 18rem;
    text-align: center;
}

ul.centre-mobile {
    text-align: left;
    margin: 0 auto var(--space);
    max-width: 260px;
}

@media (min-width:1000px) {
    ul.centre-mobile {
        max-width: inherit;
    }
}

#page-section-whentosell {
    text-align: center;
}

#page-section-whentosell .card-wrapper .little-underline {
    margin: 0 auto;
}

#page-section-wanttosell {
    text-align: center;
}

#page-section-whentosell h2 {
    margin-bottom: var(--space);
}

#page-section-video {
    width: 100%;
    height: auto;
}

#page-section-sellfast {
    background-image: url(/ui/images/sellpage/mobile-phone-tennis-mobile.webp);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-color: #F2F1EE;
    text-align: center;
    padding-bottom: 20rem;
}

#page-section-faq {
    background-color: #fff;
    background-image: url(/ui/images/tennis-court-bg-no-roof.jpg);
    background-size: 150%;
    background-position: center bottom -100px;
    background-repeat: no-repeat;
    padding-bottom: 200px !important;
}

/* overrides */

.hide-reveal .hide-reveal-reveal {
    display: none !important;
}

.hide-reveal .hide-reveal-hide {
    display: inline !important;
}

.hide-reveal.revealed .hide-reveal-reveal {
    display: inline !important;
}

.hide-reveal.revealed .hide-reveal-hide {
    display: none !important;
}

/* .bulk-proceeds-manager td:has(input[type="checkbox"][name^="verify-"]) + td:has(input[type="checkbox"][name^="proceeds-"]) div:has(> input[type="checkbox"][name^="proceeds-"]) {
    display:none;
} */

.buy-tickets #page-section-hero .container {
    text-align: left;
}

.buy-tickets #page-section-hero h1 {
    margin-left: 0;
    max-width: 600px;
}

.buy-tickets #page-section-hero .RatingBarWidget-prefix .R-flex-center-xxs {
    justify-content: start;
}

.sell-tickets-wimbledon-tennis-championships #page-section-hero {
    background-image: url(/ui/images/sellpage/tennis-ball-masthead-mobile.webp);
    background-color: var(--dark-purple);
    background-size: contain;
    color: var(--white);
}

.sell-tickets-wimbledon-tennis-championships #page-section-hero .container {
    padding-top: calc(10 * var(--space));
    text-align: center;
}

.sell-tickets-wimbledon-tennis-championships #page-section-hero h1 {
    color: var(--white);
}

.sell-tickets-wimbledon-tennis-championships #page-section-hero .row {
    gap: calc(0.5 * var(--space));
    text-align: left;
}

.sell-tickets-wimbledon-tennis-championships #page-section-hero .row .mobile {
    flex: 0 0 50px;
}

.sell-tickets-wimbledon-tennis-championships .mobile .inline-reviews {
    margin-top: calc(0.5 * var(--space));
}

@media (min-width:1000px) {

    #page-section-hero .RatingBarWidget-prefix .R-flex-center-xxs {
        justify-content: start;
    }

    #page-section-hero .R-TextBody {
        display: block;
    }

    #page-section-hero .row {
        padding: var(--space) 0;
    }

    #page-section-hero .btn {
        width: auto;
    }

    #page-section-shake {
        background-image: url(/ui/images/sellpage/hand-shake-over-net.webp);
        background-size: cover;
        background-position: center center;
        text-align: left;
        padding-bottom: calc(4 * var(--space));
    }

    #page-section-shake>.container {
        padding-right: 50%;
    }

    #page-section-whentosell .card-wrapper {
        gap: 0;
    }

    #page-section-whentosell .card-wrapper .little-underline {
        display: none;
    }

    #page-section-whentosell .card-wrapper .card:first-of-type,
    #page-section-whentosell .card-wrapper .card:nth-of-type(3) {
        border-right: 1px solid var(--light-blue);
    }

    #page-section-sellfast {
        background-image: url(/ui/images/sellpage/mobile-phone-tennis.webp);
        background-size: cover;
        background-position: center center;
        padding-bottom: calc(4 * var(--space));
        text-align: left;
    }

    #page-section-sellfast .container {
        padding-left: 55%;
    }

    #page-section-faq {
        background-size: contain;
        background-position: center bottom -150px;
        padding-bottom: 450px !important;
    }

    .buy-tickets #page-section-hero {
        background-image: url(/ui/images/gp-mh-buy-tickets.jpg);
        background-size: contain;
        background-position: right -200px top;
    }

    .sell-tickets-wimbledon-tennis-championships #page-section-hero {
        background-image: url(/ui/images/Sell_Masthead.jpg);
        background-color: var(--v-light-grey);
        background-size: contain;
        background-position: center right;
        color: var(--body-text);
    }

    .sell-tickets-wimbledon-tennis-championships #page-section-hero .container {
        padding-top: 0;
        padding-right: calc(22 * var(--space));
        text-align: left;
    }

    .sell-tickets-wimbledon-tennis-championships #page-section-hero h1 {
        color: var(--dark-purple);
    }
}

@media (min-width:1200px) {
    .buy-tickets #page-section-hero {
        background-position: right -100px top;
    }
}

/* buy page search form */

.search-form form {
    margin-bottom: var(--space);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
    text-align: left;
}

.search-form form>*:not(input[type=hidden]) {
    min-width: 100%;
}

.search-form form details {
    border: 1px solid var(--light-grey);
}

.search-form form details[open] {
    border: 1px solid var(--green);
}

.search-form form>div {
    display: flex;
    align-items: center;
    gap: .2rem;
    flex: 1 1 auto;
    width: 20%;
    margin: 0;
}

.search-form input[type=submit],
.resetbutton {
    max-width: 100%;
    padding: 0;
    height: 40px;
}

.search-form input[type=submit] {
    flex: 1 1 auto;
    width: 60%;
}

.search-form .resetbutton {
    flex: 1 1 auto;
    width: 40%;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

#resultsTop {
    display: flex;
    justify-content: space-between;
}

.seat-icon-wrapper img {
    width: 24px;
    height: 24px;
}

table.listing-table {
    border: none !important;
}

table.listing-table .court-icon-wrapper,
table.listing-table .court-icon-wrapper .court-svg {
    min-width: 100px;
}

table.listing-table .listing-row {
    font-size: 0.8rem;
}

table.listing-table .listing-row .btn {
    font-size: 1rem;
    width: 100%;
}

table.listing-table .listing-row:not(:first-child),
table.listing-table .advert-row {
    border-top: calc(0.5 * var(--space)) solid var(--v-light-grey);
}

table.listing-table .listing-row td,
table.listing-table .listing-row:nth-child(odd) td {
    background-color: var(--white);
    color: inherit;
}

table.listing-table .listing-row td:first-child,
table.listing-table .listing-row:nth-child(odd) td:first-child {
    background-color: var(--dark-grey);
    color: #fff;
    border-bottom: none;
}

table.listing-table .listing-row h4 {
    margin-top: 0;
    white-space: nowrap;
    margin-bottom: 6px;
}

table.listing-table .listing-row p {
    margin: 0;
    line-height: 1.2rem;
}

table.listing-table .listing-row td:first-child h4 {
    color: var(--white);
}

table.listing-table .listing-row td:nth-child(2)>div:nth-child(2),
table.listing-table .listing-row td:nth-child(5)>* {
    white-space: nowrap;
}

table.listing-table .listing-row .court-icon-wrapper img {
    display: block;
}

table.listing-table .listing-row .for-sale-td {
    max-width: 200px;
}

/* body.bulk-update-listings .listing-row td:first-child,
.entity-list td:first-child {
    border-left: 3px solid transparent;
} */

/* body.bulk-update-listings .listing-row:has(input[type="radio"][name^="status-for-"][value="1"]:checked) td:first-child,
.entity-list .offer-accepted td:first-child {
    background-image: linear-gradient(90deg, var(--green) -70%, transparent 50%);
    border-left-color: var(--green);
} */

/* body.bulk-update-listings .listing-row:has(input[type="radio"][name^="status-for-"][value="1"]:checked) {
    background: var(--vv-light-green) !important;
} */

body.bulk-update-listings .listing-row:has(input[type="radio"][name^="status-for-"][value="del"]:checked) td:nth-child(4)>*,
body.bulk-update-listings .listing-row:has(input[type="radio"][name^="status-for-"][value="del"]:checked) td:nth-child(5)>* {
    opacity: 0;
}

body.bulk-update-listings .radio-toggle:has([name^="status-for-"][value="2"]:checked)~.verify-to-put-live {
    display: none;
}

body.bulk-update-listings .listing-row td {
    width: 20%;
}

@media (max-width:999px) {
    /* body.bulk-update-listings .listing-row td:first-child {
        border-left: none;
    }

    body.bulk-update-listings .listing-row td:first-child {
        border-top: 5px solid transparent;
    } */

    body.bulk-update-listings .listing-row td {
        width: 100%;
    }
}

table.listing-table tr.is-sold {
    position: relative;
}

table.listing-table tr.is-sold .just-sold-stamp {
    --border-compensation-left: -10px;
    --border-compensation-top: -7px;
    position: absolute;
    left: var(--border-compensation-left);
    top: var(--border-compensation-top);
    color: #fff;
    background-color: var(--gold);
    padding: 12px;
    font-size: 18px;
    line-height: 100%;
    text-transform: uppercase;
    font-weight: bold;
    box-sizing: border-box;
}

table.listing-table tr.is-sold .just-sold-stamp::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 0;
    height: 0;
    border-top: 10px solid var(--darkgold);
    border-left: 10px solid transparent;
}

table.listing-table tr.is-sold .just-sold-stamp-css::after {
    content: '';
    position: absolute;
    right: -10px;
    bottom: 0;
    width: 0;
    height: 0;
    border-bottom: 21px solid var(--gold);
    border-left: 11px solid transparent;
}

table.listing-table tr.is-sold .just-sold-stamp::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 0;
    width: 0;
    height: 0;
    border-top: 21px solid var(--gold);
    border-right: 11px solid transparent;
}

table.listing-table .buy-table-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

table.listing-table .buy-table-buttons>p {
    text-align: center;
}

table.listing-table .buy-table-buttons>.btn {
    white-space: nowrap;
    width: 100%;
    max-width: 180px;
}

table.listing-table .advert-row {
    background-color: var(--darkgold);
}

table.listing-table .advert-row>td {
    background-color: transparent !important;
}

table.listing-table .advert-row>td>div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space);
    color: var(--white);
}

table.listing-table .advert-row .icon {
    width: 3rem;
    height: 3rem;
}

table.listing-table .totals-row {
    border-top: calc(0.5 * var(--space)) solid var(--v-light-grey);
}

table.listing-table .totals-row td {
    background-color: transparent;
}

table.listing-table .totals-row td:last-child {
    font-weight: bold;
    color: var(--dark-purple);
    border-left: 1px solid var(--light-blue);
    background-color: white
}

table tr.has-validation-error td {
    background-color: var(--light-red);
}

.grand-total-summary {
    font-size: 1.2em;
}

/* tables are dealt with desktop first - ONLY TABLES, DO NOT BE TEMPTED!!! */
@media (max-width:999px) {

    table tr.has-validation-error td {
        background-color: transparent;
    }

    table tr.has-validation-error {
        background-color: var(--light-red) !important;
    }

    table.listing-table .totals-row {
        display: flex;
        flex-direction: column;
        box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
        border-top: none;
    }

    table.listing-table .totals-row td {
        background-color: white;
    }

    table.listing-table .totals-row td:last-child {
        font-size: 1.5em;
        padding-top: 0;
        border-left: none;
    }

    body:not(.is-admin) .table-responsive:has(.listing-table) {
        overflow: visible;
    }

    table.listing-table tbody {
        display: grid;
        gap: var(--space);
        grid-template-columns: 1fr 1fr;
    }

    table.listing-table tr.listing-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        background-color: var(--white);
        padding: 1rem;
        border: none !important;
        box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
    }

    table.listing-table tr.listing-row td {
        grid-column: 1 / -1;
        border-right: none;
        
    }

    table.listing-table tr.listing-row td:not(:last-child) {
        border-bottom: 1px solid var(--light-blue);
    }

    table.listing-table tr.listing-row td:nth-child(2) {
        grid-column: 1 / 1;
    }

    table.listing-table tr.listing-row td:nth-child(3) {
        grid-column: 2 / 2;
    }

    table.listing-table .listing-row h4 {
        white-space: wrap;
    }

    table.listing-table .listing-row p .adjacent-seats {
        display: block;
    }

    table.listing-table .listing-row .buy-table-buttons {
        align-items: stretch;
        padding-right: 0;
        padding-left: 0;
    }

    table.listing-table .listing-row .buy-table-buttons>.btn {
        max-width: 100%;
    }

    table.listing-table .listing-row .court-icon-wrapper {
        padding: 0;
    }

    body.buy-tickets table.listing-table .listing-row td:nth-child(5) {
        border-bottom: none;
    }

    body.buy-tickets table.listing-table .listing-row td:nth-child(6) {
        padding: 0;
    }

    table.listing-table .listing-row td:first-child h4,
    table.listing-table .listing-row td:nth-child(5) h4,
    body.checkout table.listing-table .listing-row td:nth-child(6) h4 {
        font-size: 1.5rem;
    }
}

@media (max-width:499px) {
    table.listing-table tbody {
        grid-template-columns: 1fr;
    }
}

.as-featured {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space);
    margin: calc(2 * var(--space)) auto;
}

ul.calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);

    padding: 0;
    margin: 0;
    width: 100%;
}

ul.calendar li {
    padding: .2rem;
    text-align: center;
    border: 1px solid var(--v-light-grey);
    color: var(--dark-grey);
    font-weight: bold;

    list-style: none;
    margin: 0;
    white-space: nowrap;
    cursor: pointer;
}

ul.calendar li::before {
    content: none;
}

ul.calendar li[data-selected]:hover,
ul.calendar li[data-selected]:focus-visible,
ul.calendar li:has(a):hover,
ul.calendar li:has(a):focus-visible {
    background-color: var(--lightgold);
    color: white !important;
}


ul.calendar li[data-selected="1"],
ul.calendar li[data-selected="1"]:hover {
    background-color: var(--darkgold);
    color: white !important;
}

ul.calendar li a {
    color: var(--dark-grey);
    text-decoration: none;
    padding: .5rem 1rem;
    display: block;
}

ul.calendar li a:hover,
ul.calendar li a:focus-visible,
ul.calendar li:hover a,
ul.calendar li:focus-visible a {
    background-color: var(--gold);
    color: white !important;
}

ul.calendar li.disabled {
    color: var(--light-grey);
    font-weight: normal;
    cursor: default;
}

ul.calendar li.daytitle {
    font-weight: bold;
    color: var(--dark-grey);
    border: none;
}

ul.calendar li.daytitle span {
    display: none;
}

.fake-select ul.calendar li {
    font-size: .8rem;
}

.fake-select[data-name="dates"]>div:first-of-type>div:first-of-type {
    padding: calc(.5 * var(--space));
}

@media (min-width:1000px) {
    .search-form form {
        flex-direction: row;
    }

    .search-form form>*:not(input[type=hidden]) {
        min-width: calc(20% - .2rem);
    }

    tr.is-sold .just-sold-stamp {
        --border-compensation-left: -10px;
        --border-compensation-top: -7px;
    }

    .as-featured {
        flex-direction: row;
    }

    ul.calendar li.daytitle span {
        display: inline-block;
    }
}

.nowrap {
    white-space: nowrap !important;
}

/* contact us */

body.contact-us .main-content .container>section:nth-of-type(2) .card {
    margin-top: 2rem;
}

body.contact-us .main-content .container>section:nth-of-type(2) .card-header {
    position: relative;
}

body.contact-us .main-content .container>section:nth-of-type(2) .card-img {
    aspect-ratio: auto;
    height: 1rem;
}

body.contact-us .main-content .container>section:nth-of-type(2) .card-header img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 75px;
    width: auto;
}

body.contact-us #callback {
    padding: calc(1* var(--space));
    text-align: center;
    color: var(--white);
}

body.contact-us #callback h2 {
    margin-top: 0;
}

body.contact-us #callback h2,
body.contact-us #callback p {
    color: var(--white);
}

#callbackform input,
#callbackform select,
#callbackform textarea {
    background-color: var(--grurple);
    border: 1px solid rgba(255, 255, 255, .4);
    color: var(--white);
}

#callbackform select {
    background-image: url('/ui/images/icon-chevron-white.svg');
}

#callbackform input::placeholder,
#callbackform textarea::placeholder {
    color: transparent;
}

#callbackform>div>.form-text {
    display: none;
}

/* related-articles */

.related-articles-wrapper h2 {
    text-align: center;
}

.related-articles {
    width: 100%;
}

@media (min-width:1000px) {
    body.contact-us #callback {
        padding: calc(3* var(--space));
    }

    .related-articles {
        max-width: var(--content-width);
        display: flex;
        margin: 0 auto;
    }

    .related-articles-wrapper h2 {
        margin-bottom: calc(2 * var(--space));
        margin-top: 0;
    }
}

.related-articles .latest {
    position: relative;
}

.related-articles .latest:before {
    content: 'Latest';
    display: block;
    position: absolute;
    top: -36.8px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--darkgold);
    font-size: .8rem;
    text-transform: uppercase;
    color: #fff;
    padding: .25rem 2rem;
}

/* overrides */

body.thank-you .big-initial>p:first-of-type::first-letter {
    font-family: inherrit;
    color: inherit;
    padding: inherit;
    margin: inherit;
    font-size: inherit;
    float: inherit;
    line-height: inherit;
    -webkit-initial-letter: inherit;
    initial-letter: inherit;
}

ul li.pass-checklist-item {
    color: var(--light-grey);
}

ul li.pass-checklist-item::before {
    content: '\2717';
    position: absolute;
    left: -1.3rem;
    line-height: 1.5rem;
    font-size: 1.2rem;
    color: var(--light-grey);
}

ul li.pass-checklist-item.condition-met {
    color: var(--green);
}

ul li.pass-checklist-item.condition-met::before {
    content: '\2713';
    color: var(--green);
}

/* .make-offer .row.bigger-gap {
    gap: 0;
} */

body.make-offer .RatingBarWidget-prefix .u-marginTop--xxs {
    justify-content: flex-start;
}

body.make-offer .info-column {
    order: 2;
}

body.make-offer .action-column {
    order: 1;
    text-align: center;
}

@media (min-width:700px) {
    .make-offer .row {
        flex-direction: row;
    }

    .make-offer .row.bigger-gap {
        gap: calc(2 * var(--space));
    }

    body.make-offer .action-column {
        text-align: left;
        order: 2;
        flex: 1 1 200px;
    }

    body.make-offer .info-column {
        order: 1;
        flex: 1 1 auto;
    }

    body.make-offer.is-logged-in .action-column {
        flex: 1 1 50%;
    }
}

/* @media (min-width:1000px) {
    .make-offer .row.bigger-gap {
        gap: calc(2 * var(--space));
    }

    body.make-offer .info-column {
        order: 1;
    }

    body.make-offer .action-column {
        order: 2;
    }
} */

/* BACKEND SPECIAL STYLES */

.grid:has(.dashboard-icon-btn) {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    padding-bottom: var(--space);
}

.dashboard-icon-btn {
    position: relative;
    line-height: 1.2em;
    justify-content: flex-start;
    gap: calc(.5 * var(--space));
    height: 84px;
}

.dashboard-icon-btn>* {
    flex: 1 1 auto;
    text-align: left;
}

.dashboard-icon-btn .icon,
.dashboard-icon-btn img {
    flex: 0 0 auto;
    display: block;
    margin: 0 auto;
    width: 40px;
    height: 40px;
    margin-bottom: 6px;
}

.dashboard-icon-btn .notifier-badge {
    top: -8px;
    right: -8px;
}

.list-action .btn {
    margin: 2px;
    width: 100%;
}

.filter-and-search {
    margin: var(--space) 0;
    max-width: 600px;
}

.showhideactions-link~a.btn {
    display: none !important;
}

.showhideactions-link.showhideactions-active~a.btn {
    display: block !important;
}

.country-flag {
    width:30px;
    margin:0 auto
}

td[data-label="Country"] .country-flag {
    display: block;
    text-align: center;
}

/* probably going to be deleted */

.adjacent-seat-wrapper {
    padding: var(--space);
    border: 1px solid var(--dark-grey);
}

.adjacent-seat-wrapper-title {
    font-weight: bold;
    margin-bottom: var(--space);
}

.adjacent-seat-wrapper-footer {
    margin-top: var(--space);
}

.bulk-update-listings .listing-row:nth-child(odd).newly-changed td {
    animation: newchangeani 3s ease-in-out forwards;
}

@keyframes newchangeani {
    0% {
        background-color: var(--v-light-green);
    }

    100% {
        background-color: var(--white);
    }
}

.bulk-update-listings .listing-row:nth-child(even).newly-changed td {
    animation: newchangeanie 3s ease-in-out forwards;
}

@keyframes newchangeanie {
    0% {
        background-color: var(--v-light-green);
    }

    100% {
        background-color: var(--vv-light-grey);
    }
}

#confirmSaveAlert {
    position: fixed;
    bottom: 10px;
    height: 60px;
    left: 10px;
    z-index: 1000;
}

/* add listing */

#addListingPriceAssist {
    background-color: var(--v-light-grey);
    border: 1px solid var(--light-grey);
    padding: var(--space);
    margin-top: var(--space);
}

.merge-this.adjacent-unavailable {
    display: none;
}

@media (min-width:1000px) {
    #existingListings {
        padding: var(--space);
        border: 1px solid var(--light-grey);
        background: var(--white);
        margin-bottom: var(--space);
    }
}

/* checkout */
#checkout-button-wrapper.disabled {
    opacity: .4;
    pointer-events: none;
}

@media (min-width:1000px) {
    .grand-total {
        text-align: right;
    }
}

.killthis {
    text-decoration: line-through;
    color: var(--dark-grey);
    font-style: italic;
}

/* .floating-button {
    position: fixed;
    left: 10px;
    bottom: 10px;
    z-index: 10000;
    background: var(--green);
    color: var(--white);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    width: 60px;
    gap: .5rem;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    transition: all .3s ease-in-out;
}

.floating-button svg.icon {
    width: 40px;
    height: 40px;
    margin-bottom: 4px;
}

.floating-button .line-item {
    stroke: var(--white);
    stroke-width: 8px;
}

body.dashboard .floating-button {
    display: none;
} */

/* Bulk Allocated Seats Page */
body.bulk-allocated-seats #apply-to-all-form .card {
    margin-bottom: var(--space);
    padding: var(--space);
    background: var(--vv-light-grey);
}

body.bulk-allocated-seats #apply-to-all-form .card h3 {
    margin-top: 0;
}

body.bulk-allocated-seats #apply-to-all-form .apply-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--space);
}

body.bulk-allocated-seats #apply-to-all-form .apply-field {
    flex: 1;
    min-width: 100px;
    width: 100%;
}

body.bulk-allocated-seats #apply-to-all-form .apply-field select,
body.bulk-allocated-seats #apply-to-all-form .apply-field input,
body.bulk-allocated-seats #apply-to-all-btn {
    height: 52px;
}

body.bulk-allocated-seats #apply-to-all-form .apply-field-gangway {
    min-width: 150px;
}

body.bulk-allocated-seats #apply-to-all-form .apply-field-button {
    min-width: 150px;
    display: flex;
    align-items: flex-end;
    padding-top: var(--space);
}

body.bulk-allocated-seats .seat-input-wrapper {
    display: grid;
    gap: calc(.5 * var(--space));
    grid-template-columns: auto 1fr;
    align-items: center;
}

body.bulk-allocated-seats .seat-input-wrapper .seat-input {
    min-width: 85px;
}

body.bulk-allocated-seats .seat-input-wrapper label {
    font-weight: normal;
    font-size: 0.8rem;
}

body.bulk-allocated-seats .seat-input-wrapper .form-text {
    grid-column: 2 / -1;
}

body.bulk-allocated-seats .seat-input-wrapper .form-text:not(:empty) {
    margin-bottom: calc(.5 * var(--space));
}

body.bulk-allocated-seats #bulk-allocated-seats-form .button-wrapper {
    margin-top: var(--space);
}

@media (min-width:1000px) {
    body.bulk-allocated-seats #apply-to-all-form .apply-row {
        flex-direction: row;
    }

    body.bulk-allocated-seats #apply-to-all-form .apply-field {
        width: auto;
    }

    body.bulk-allocated-seats .seat-input-wrapper .form-text {
        margin-bottom: 0;
    }
}