/*html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}*/

:root {
    --font-family-text: "Inter";
    --font-family-display: "InterDisplay";
    --font-settings-text: "case" 0, "dlig", "frac" 0, "dnom" 0, "numr" 0, "subs" 0, "sups" 0, "zero" 0, "ss01" 0, "ss02" 0, "ss03", "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "cv01", "cv02", "cv03" 0, "cv04" 0, "cv05", "cv06", "cv07" 0, "cv08" 0, "cv09" 0, "cv10" 0, "cv11", "cv12" 0, "cv13" 0, "cpsp" 0, "c2sc" 0, "salt" 0, "aalt" 0, "calt", "ccmp", "locl", "kern";
    --font-settings-number: "case" 0, "dlig", "frac" 0, "dnom" 0, "numr" 0, "subs" 0, "sups" 0, "zero" 0, "ss01" 0, "ss02" 0, "ss03", "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "cv01", "cv02", "cv03" 0, "cv04" 0, "cv05", "cv06", "cv07" 0, "cv08" 0, "cv09" 0, "cv10" 0, "cv11", "cv12" 0, "cv13" 0, "cpsp" 0, "c2sc" 0, "salt" 0, "aalt" 0, "calt", "ccmp", "locl", "kern";
    --font-settings-tnumber: "case" 0, "dlig", "frac" 0, "dnom" 0, "numr" 0, "subs" 0, "sups" 0, "zero" 0, "ss01" 0, "ss02" 0, "ss03", "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "cv01", "cv02", "cv03" 0, "cv04" 0, "cv05", "cv06", "cv07" 0, "cv08" 0, "cv09" 0, "cv10" 0, "cv11", "cv12" 0, "cv13" 0, "cpsp" 0, "c2sc" 0, "salt" 0, "aalt" 0, "calt", "ccmp", "locl", "kern", "tnum";
    --font-settings-display: "case" 0, "dlig" 0, "frac" 0, "dnom" 0, "numr" 0, "subs" 0, "sups" 0, "zero" 0, "ss01" 0, "ss02" 0, "ss03", "ss04" 0, "ss05" 0, "ss06" 0, "ss07" 0, "ss08" 0, "cv01", "cv02", "cv03" 0, "cv04" 0, "cv05", "cv06" 0, "cv07" 0, "cv08" 0, "cv09" 0, "cv10", "cv11" 0, "cv12" 0, "cv13" 0, "cpsp" 0, "c2sc" 0, "salt" 0, "aalt" 0, "calt", "ccmp", "locl", "kern";
    --text-wght: 400;
    --text-opsz: 14;
    --font-settings: var(--font-settings-text);
    --letter-spacing-none: 0;
    --letter-spacing-text: -0.014em;
    --letter-spacing-normal: -0.014em;
    --letter-spacing-display: calc(-0.01em);
    --letter-spacing-h1: -0.022em;
    --letter-spacing-h2: -0.019em;
    --letter-spacing-h3: -0.017em;
    --letter-spacing-tight: -0.03em;
    --letter-spacing-compact: -0.05em;
    --letter-spacing-body-1: 0.5px;
    --letter-spacing-body-2: 0.25px;
}

@supports (font-variation-settings: normal) {
    :root {
        --font-family-text: "InterVariable";
        --font-family-display: "InterVariable";
        font-optical-sizing: auto;
    }
}

@font-face {
    font-family: InterVariable;
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterVariable.woff2") format("woff2");
}

@font-face {
    font-family: InterVariable;
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterVariable-Italic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-ExtraLight.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-ExtraLightItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-Light.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-LightItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-Regular.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-Italic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-Medium.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-MediumItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-SemiBold.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-SemiBoldItalic.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-Bold.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/Inter-BoldItalic.woff2") format("woff2");
}

@font-face {
    font-family: "InterDisplay";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterDisplay-Medium.woff2") format("woff2");
}

@font-face {
    font-family: "InterDisplay";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterDisplay-SemiBold.woff2") format("woff2");
}

@font-face {
    font-family: "InterDisplay";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterDisplay-Bold.woff2") format("woff2");
}

@font-face {
    font-family: "InterDisplay";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("https://fileserve.cacars.co.uk/asset/font/inter/InterDisplay-ExtraBold.woff2") format("woff2");
}

:root {
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--font-family-text), var(--bs-font-sans-serif);
    --bs-primary: #d34348;
    --bs-secondary: #6c757d;
    --bs-primary-rgb: 211, 67, 72;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-link-color: #d34348;
    --bs-link-color-rgb: 211, 67, 72;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #a4191a;
    --bs-link-hover-color-rgb: 164, 25, 26;
    --bs-link-active-color: #890001;
    --bs-link-active-color-rgb: 137, 0, 1;

    --bs-border-radius: 0.125rem;
    --bs-border-radius-sm: 0.1rem;
    --bs-border-radius-lg: 0.25rem;
    --bs-border-radius-xl: 0.3rem;
    --bs-border-radius-xxl: 0.5rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
}
.table {
    --bs-table-bg: transparent;+
}
.card {
    --bs-card-bg: #00b8cc;
    --bs-card-border-color: transparent;
    color: #fff;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-link-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: var(--bs-link-hover-color);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-link-active-color);
    --bs-btn-active-border-color: var(--bs-link-active-color);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-link-color);
    --bs-btn-disabled-border-color: var(--bs-link-color);
}
.btn-group-lg > .btn, .btn-lg {
    font-weight: 650;
    padding-inline: 2rem;
}

*, ::after, ::before {
    font-feature-settings: var(--font-settings);
    /*font-variation-settings: 'wght' var(--text-wght, 400), 'opsz' var(--text-opsz, 14);*/
    letter-spacing: var(--letter-spacing, normal) !important;
}

body {
    font-feature-settings: var(--font-settings);
    --letter-spacing: var(--letter-spacing-normal);
}

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
    --font-settings: var(--font-settings-display);
    --letter-spacing: var(--letter-spacing-display);
}

.fw-lighter {
    --text-wght: 200;
	font-weight:lighter!important
}
.fw-light {
    --text-wght: 300;
	font-weight:300!important
}
.fw-normal {
    --text-wght: 400;
	font-weight:400!important
}
.fw-medium {
    --text-wght: 500;
	font-weight:500!important
}
.fw-semibold {
    --text-wght: 600;
	font-weight:600!important
}
.fw-bold {
    --text-wght: 700;
	font-weight:700!important
}
.fw-bolder {
    --text-wght: 800;
	font-weight:bolder!important
}


progress[value] {
    /* Reset the default appearance */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* Get rid of default border in Firefox. */
    border: none;
    width: 100%;
    height: 20px;
}

progress[value]::-webkit-progress-bar {
    background-color: #eeeeee;
    border-radius: 2px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
}

progress[value]::-webkit-progress-value {
    background-color: #2c988c;
    border-radius: 2px;
}

progress[value]::-moz-progress-bar {
    background-color: #2c988c;
    border-radius: 2px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
}

legend.form-label {
    display: inline-block;
    font-size: 1rem;
}

nav .dropdown-toggle::after {
    display: none;
}

main {
    /*padding: 3rem 0;*/
}

.site-head {
    /*padding: 3rem 0 0;*/
    background-image: linear-gradient(to bottom, #44859d 0%, #ade3d1 38%, #5191a3 68%);
    position: relative;
}

.section-header-img {
    position: relative;
}

.section-header-img .container {
    max-width: 65rem;
}

.section-header-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(https://fileserve.cacars.co.uk/asset/forty/img/win-a-car-bg@0.5x.webp);
    background-size: auto 100%;
    background-position: 50% 50%;
    background-repeat: repeat-x;
    z-index: 1;
}

.header-img {
    display: flex;
    justify-content: center;
    align-items: end;
    /*background-color: #222;*/

    & img {
        display: block;
        max-width: 100%;
        height: auto;
    }
}

.section-header-info {
    inset: auto 0 0;
    z-index: 2;
    padding: 1.5rem;
    color: #fff;
    background-color: #81568a;
    /*background-color: rgba(156, 110, 163, 70%);*/
}

@media (min-width: 52rem) {
    .section-header-info {
        position: absolute;
        background-color: rgba(95, 32, 105, 50%);
        background-blend-mode: multiply;
    }
}

.section-header-top {
    padding: 3rem 0 0;
}

.header-img {
    display: block;
    max-width: 100%;
    height: auto;
}

.header-logo {
    margin: 0 auto;
    display: block;
    width: 500px;
    height: auto;
    max-width: 100%;
}


.ticket-number {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 1rem;
}

.container {
    max-width: 70rem;
}

.number-step .step-input {
    --input-text-align: center;
    --input-color: var(--bs-body-color);
    order: 2;
}

number-step .step-button.step-button-down {
    order: 1;
    border-right: var(--btn-border-width) solid var(--btn-border-color);
}

number-step .step-button.step-button-up {
    order: 3;
}

.table th[scope="row"] {
    width: 1%;
    white-space: nowrap;
}

.label-wrap-exp,
.label-wrap-ccv {
    width: unset;
}
[data-cc="number"] {
    /*width: min-content;*/
}
input.input-cc {
    --p-r: calc(2 * var(--p-x, 0.6em) + 3.375rem);
    margin: 0;
    /*padding-right: var(--p-r);
    min-width: calc(var(--p-x, 0.6em) + var(--p-r) + 18ch);*/
    width: calc(100% - var(--p-r));
    /*width: auto;*/
    position: relative;
}
.pure-form span:has(input.input-cc),
[data-cc="number"]
{
    position: relative;
}
.pure-form span:has(input.input-cc)::after,
[data-cc="number"]::after {
    content: "";
    position: absolute;
    inset: var(--p-y, 2em) var(--p-x, 0em) var(--p-y, 0em) auto;
    width: 3.375rem;
    background-position: center right;
    background-repeat: no-repeat;
    z-index: 1;
}
.pure-form span:has(input.input-cc[data-card-type="Visa"])::after,
[data-cc="number"]:has([data-card-type="Visa"])::after {
    background-image: url('../img/icons/cc-visa.svg');
}
.pure-form span:has(input.input-cc[data-card-type="Mastercard"])::after,
[data-cc="number"]:has([data-card-type="Mastercard"])::after {
    background-image: url('../img/icons/cc-mastercard.svg');
}
.pure-form span:has(input.input-cc[data-card-type="invalid"])::after,
[data-cc="number"]:has([data-card-type="invalid"])::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-size: 3rem 2rem;
    width: 3rem;
    height: 3rem;

}

.date-input-wrapper input[type="number"] {
    appearance: textfield;
}
    /* For Chrome/Edge and Safari */
.date-input-wrapper input[type="number"]::-webkit-outer-spin-button,
.date-input-wrapper input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
    /* For Firefox */
.date-input-wrapper input[type="number"] {
    appearance: textfield;
}

.is-invalid~.invalid-feedback, 
.is-invalid~.invalid-tooltip, 
.was-validated :invalid~.invalid-feedback, 
.was-validated :invalid~.invalid-tooltip,
.input-wrapper :has(.is-invalid) ~ .invalid-feedback
{
    display: block;
}
.input-validation-error {
  border-color: var(--bs-form-invalid-border-color);
}
.input-validation-error ~ .field-validation-error,
.input-wrapper :has(.input-validation-error) ~ .field-validation-error 
{
    color: var(--bs-form-invalid-color);
}
.form-check-input.is-invalid ~ .form-check-label {
    color: var(--bs-body-color);
}

.form-control-lg {
    padding: 0.5rem 0.62rem;
}
.form-floating > .form-control:focus::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-floating > label {
    left: 0;
    right: 0;
    text-align: center;
    max-width: none;
    transform-origin: 50% 0;
}
.form-floating > .form-control-plaintext ~ label, 
.form-floating > .form-control:focus ~ label, 
.form-floating > .form-control:not(:placeholder-shown) ~ label, 
.form-floating > .form-select ~ label {
  transform: scale(.85) translateY(-.5rem) translateX(0);
}
.form-floating > .form-control.is-valid, 
.was-validated .form-control:valid {
    background-position: right calc(.375em + .1875rem) bottom 0.5rem;
}


.date-input { text-align: center; }
.date-input-2 { width: 7ch; }
.date-input-4 { width: 9ch; }


[data-section="tickets"] {
    background-color: #c8eced;
}
[data-section="about"] {
    background-color: #474f54;
    color: #e9eded;
}
[data-section="result"] {
    width: 48rem;
    max-width: 100%;
    margin: 0 auto 2rem;
}

.site-foot {
    padding: 1.5rem 0;
    background-color: #222629;
    color: #c9d4d4;

    & a {
        color: #c9d4d4;
    }
}

.ticket-count-col {
    padding: 0;
    margin: 0 0 1.5rem;
}
.ticket-count-card {
    border-radius: 0;
    box-shadow: none;

    & .card-body {
        padding: 1rem 1rem;
    }
}
@media (min-width: 576px){
    .ticket-count-col {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
        margin: 0;
    }
    .ticket-count-card {
        border-radius: var(--bs-border-radius-xxl);
        box-shadow: var(--bs-box-shadow);

        
        & .card-body {
            padding: 1.5rem 3rem;
        }
    }
}


@media (width < 28rem){
    .navbar-brand {
        --bs-navbar-brand-font-size: 1.125rem;
        --bs-navbar-brand-margin-end: 0;
    }
}
@media (width < 21rem){
    .navbar-brand {
        --bs-navbar-brand-font-size: 1rem;
    }
}