/* base/reset */
* {
    box-sizing: border-box;
}
a {
    text-decoration: none;
}
dl {
    display: grid;
    grid-template-columns: 25% auto;
    margin-bottom: 0;
}
dt, dd {
    margin: 0.2em 0;
}
dt {
    grid-column: 1;
}
dt:after {
        content: ":";
    }
dd {
    grid-column: 2;
    padding-left: 0.25em;
}
dl.log-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
dl.log-list dt, dl.log-list dd {
        background-color: #fff;
        padding: 20px;
        color: var(--color-accent);
    }
dl.log-list dt {
        border-radius: 10px 0 0 10px;
        flex-basis: 15%;
        border-right: 1px solid var(--color-fond);
    }
dl.log-list dt:after {
            content: "";
        }
dl.log-list dd {
        border-radius: 0 10px 10px 0;
        flex-basis: 85%;
    }
/* base/vars */
:root {
    --gutter: 20px;
    --form-gutter: 20px;
    --form-padding: 40px;

    --content-min-width: 720px;
    --content-max-width: 720px;
    --content-full-width: 1400px;

    --input-max-width: 300px;
}
@media screen and (max-width: 782px) {
:root {
        --gutter: 16px;
        --form-gutter: 6px;
        --form-padding: 16px;

        --input-max-width: 85vw;
        --content-min-width: 80%;
        --content-max-width: 100%;
        --content-full-width: 100%
}
    }
/* custom-media-queries */
@custom-media --mobile (max-width: 480px);
@media (--mobile) {
    .layout-container {
        border: 4px solid red;
    }
        .layout-container:after {
            content: "--mobile";
            position: fixed;
            bottom: 5px;
            right: 5px;
        }
}
:root {
    --color-fond: #f3f3f3;

    --color-ui: #0075ff;
    --color-confirm: #00a47e;

    --color-ui-light: #c1deff;

    --color-alert: #940f00;
    --color-alert-light: #ffb1a8;
}
/**/
@font-face {
    font-family: "DaysOne";
    font-style: normal;
    font-weight: 400;
    /* src: url("../fonts/Asap-VariableFont_wdth,wght.ttf") format("truetype"); */

    src: url(/themes/custom/lemans25/assets/b34debd26d5857b69192.ttf) format("truetype");
    font-display: auto;
}
@font-face {
    font-family: "Saira";
    font-style: normal;
    font-weight: 200;
    /* src: url("../fonts/Asap-VariableFont_wdth,wght.ttf") format("truetype"); */

    src: url(/themes/custom/lemans25/assets/ea3998edf33638617dde.ttf) format("truetype");
    font-display: auto;
}
@font-face {
    font-family: "Saira";
    font-style: normal;
    font-weight: 400;
    /* src: url("../fonts/Asap-VariableFont_wdth,wght.ttf") format("truetype"); */

    src: url(/themes/custom/lemans25/assets/319c36be3b6a1d38caa1.ttf) format("truetype");
    font-display: auto;
}
@font-face {
    font-family: "Saira";
    font-style: normal;
    font-weight: 600;
    /* src: url("../fonts/Asap-VariableFont_wdth,wght.ttf") format("truetype"); */

    src: url(/themes/custom/lemans25/assets/05d834e9102d602299d2.ttf) format("truetype");
    font-display: auto;
}
:root {
    --font-size: 16px;
    --font-size-meta: 0.8rem;
    --heading-font: "DaysOne", Arial, Helvetica, sans-serif;
    --body-font: "Saira", Arial, Helvetica, sans-serif;
}
body {
    font-family: var(--body-font);
    line-height: 1.5em;
    font-size: 100%;
    text-rendering: optimizeLegibility;
}
h1 {
    font-family: var(--heading-font);
    font-size: 2.4rem;
}
h2 {
    font-size: 2rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    margin: 0;
    margin-bottom: 1em;
}
@media screen and (max-width: 782px) {
h2 {
        font-size: 1.6rem
}
    }
p {
    font-size: 1.1rem;
    max-width: 700px;

    hyphens: auto;
}
p a {
        word-break: break-all;
        text-decoration: underline;
    }
a, a:visited {
    color: var(--color-text);
}
/**
 * @file
 * Visual styles for form components.
 */
#block-lemans25-webform .js-form-wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--form-gutter);

        margin-bottom: var(--form-gutter);
    }
@media screen and (max-width: 782px) {
#block-lemans25-webform .js-form-wrapper {
            flex-direction: column;
            flex-wrap: no-wrap
    }
        }
#block-lemans25-webform #edit-form-title {
        max-width: 100%;
    }
@media screen and (max-width: 782px) {
#block-lemans25-webform #edit-form-title h2 {
                margin-bottom: 10px
        }
            }
#block-lemans25-webform .form-item-accept-terms {
        flex: 1;
        flex-basis: 100%;
        max-width: 600px;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 5px;

        margin-bottom: var(--form-gutter);
    }
#block-lemans25-webform .form-item-accept-terms label {
            max-width: 600px;

            line-height: 1.3em;
            font-size: 1rem;
        }
#block-lemans25-webform .form-item-accept-terms label a {
                text-decoration: underline;
            }
#block-lemans25-webform .form-item-accept-terms input[type="checkbox"] {
            flex: 1;
            width: 40px;
            height: 40px;
        }
@media screen and (max-width: 782px) {
#block-lemans25-webform .form-item-accept-terms {
            margin-top: 24px
    }
        }
#block-lemans25-webform .form-item-gamertag {
        flex: 1;
        flex-basis: 100%;
        max-width: 600px;
    }
#block-lemans25-webform #edit-actions {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        margin-bottom: 0;
    }
@media screen and (max-width: 782px) {
#block-lemans25-webform #edit-actions {
            flex-direction: column;
            align-items: stretch
    }
        }
#block-lemans25-webform #edit-actions input[type="submit"] {
            margin-left: auto;

            background-color: var(--color-ui);
            color: #fff;
            padding: 8px 20px;
            border-radius: 4px;

            border: none;

            font-family: var(--body-font);
            font-size: 1.4rem;
        }
@media screen and (max-width: 782px) {
#block-lemans25-webform #edit-actions input[type="submit"] {
                flex: 1;
                display: block;
                margin-left: 0
        }
            }
.webform-confirmation__message {
}
fieldset.webform-composite-hidden-title {
    margin: 0 !important;
    display: flex;
    flex-basis: 48%;
    max-width: var(--input-max-width);
    flex-direction: column;
    gap: 2px;
}
.form-item {
    display: flex;
    flex-basis: 48%;
    max-width: var(--input-max-width);
    flex-direction: column;
    gap: 2px;
}
.form-item label {
        max-width: var(--input-max-width);
    }
.form-item label.form-required:after {
                content: "*";
            }
.form-item input[type="text"], .form-item input[type="email"], .form-item input[type="date"] {
        max-width: var(--input-max-width);

        min-height: 40px;
        border: 0;
        border-bottom: 2px solid #d6d6d6;

        padding-left: 0.4em;

        font-family: var(--body-font);
        font-size: 1.2rem;
    }
.form-item input[type="text"]:focus, .form-item input[type="text"]:focus-visible, .form-item input[type="email"]:focus, .form-item input[type="email"]:focus-visible, .form-item input[type="date"]:focus, .form-item input[type="date"]:focus-visible {
            border-bottom: 2px solid var(--color-ui);

            outline: none;
        }
.form-item select {
        max-width: var(--input-max-width);

        min-height: 40px;
        border: 1px solid #d6d6d6;
        border-bottom: 2px solid #d6d6d6;

        padding-left: 0.4em;

        font-family: var(--body-font);
        font-size: 1.2rem;
    }
.form-item select:focus, .form-item select:focus-visible {
            outline: none;
            border-bottom: 2px solid var(--color-ui);
        }
:root {
    --ease: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.layout-content {
    padding: var(--form-padding);
    background-color: var(--color-fond);

    border-radius: 6px;
    box-shadow: 0px 18px 30px 0px rgba(0, 0, 0, 0.6);

    margin-bottom: var(--gutter);

    max-width: var(--content-max-width);
    min-width: var(--content-min-width);
}
.layout-container {
    height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: var(--gutter);
}
main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;

    flex: 1 0 auto;
}
body.node-id-7 .layout-content, body.node-id-8 .layout-content, body.node-id-9 .layout-content {
        max-width: var(--content-full-width);
        min-width: 100%;
    }
body.node-id-7 h1, body.node-id-7 h2, body.node-id-7 h3, body.node-id-7 p, body.node-id-8 h1, body.node-id-8 h2, body.node-id-8 h3, body.node-id-8 p, body.node-id-9 h1, body.node-id-9 h2, body.node-id-9 h3, body.node-id-9 p {
        max-width: 100%;
    }
/* layout/grid */
.header {
 }
/*+ */
footer {
    flex-shrink: 0;

    width: 100%;

    padding: var(--gutter);
}
@media screen and (max-width: 782px) {
footer {
        font-size: 0.9rem
}
    }
footer div {
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: flex-end;
    }
@media screen and (max-width: 782px) {
footer div {
            flex-direction: column;
            align-items: center;
            justify-content: center
    }
        }
footer nav#block-lemans25-fusszeile > ul {
            list-style-type: none;
            display: flex;
            flex-direction: row;

            margin: 0;
            padding: 0;
        }
@media screen and (max-width: 782px) {
footer nav#block-lemans25-fusszeile > ul {
                align-items: center;
                justify-content: space-between;
                gap: 16px
        }
            }
footer nav#block-lemans25-fusszeile > ul li:after {
                    content: "|";
                    display: inline-block;
                    color: #949494;
                    margin: 0 10px;
                }
@media screen and (max-width: 782px) {
footer nav#block-lemans25-fusszeile > ul li:after {
                        display: none
                }
                    }
footer nav#block-lemans25-fusszeile > ul li:last-child:after {
                    content: "";
                }
footer nav#block-lemans25-fusszeile > ul li a, footer nav#block-lemans25-fusszeile > ul li a:visited {
                    color: #949494;
                }
footer nav#block-lemans25-fusszeile > ul li a:hover, footer nav#block-lemans25-fusszeile > ul li a:visited:hover {
                        color: #fff;
                    }
/**/
#block-lemans25-site-branding {
    padding: var(--gutter) 0;

    text-align: center;
    text-transform: uppercase;
    font-size: 2rem;
    color: #fff;
}
@media screen and (max-width: 782px) {
#block-lemans25-site-branding {
        font-size: 1.6rem
}
    }
#block-lemans25-site-branding a {
        display: block;
        font-family: var(--heading-font);
        color: #fff;
        font-size: 4rem;
        text-transform: uppercase;

        margin-bottom: 0.5em;
    }
@media screen and (max-width: 782px) {
#block-lemans25-site-branding a {
            font-size: 2rem
    }
        }
#forza-x-bmw {
    width: 100%;
    aspect-ratio: 67/12;

    font-size: 0;

    background-image: url(/themes/custom/lemans25/assets/a551105d164e1522f0d8.svg);
    background-repeat: no-repeat;
    background-size: contain;
}
ul.menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
ul.menu li.menu-item {
    }
.captcha-type-challenge--friendlycaptcha {
    border: none;
    padding: none;
    margin: none;
}
.captcha-type-challenge--friendlycaptcha legend {
        display: none;
    }
.captcha-type-challenge--friendlycaptcha .captcha__description{
        display: none;
    }
.frc-captcha {
    background-color: transparent !important;
    border: none !important;
    padding-top: 12px !important;
}
.frc-captcha .frc-container {
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 12px;
        margin-bottom: 2px;
    }
.frc-captcha .frc-content {
        margin: 0 !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 4px;
    }
.frc-captcha .frc-text {
        font-size: 0;
    }
.frc-captcha .frc-text:after {
            content: "Start verification";
            display: block;
            font-size: 1rem;
            color: var(--color-text);
        }
.frc-captcha .frc-success .frc-text:after {
                content: "Verification successful!";
                display: block;
                font-size: 1rem;
                color: var(--color-text);
            }
.frc-captcha .frc-icon {
        fill: var(--color-text) !important;
        stroke: var(--color-text) !important;
        margin: 0px !important;
    }
.frc-captcha .frc-button {
        padding: 4px 32px !important;
        margin: 0px !important;

        background-color: #fff !important;
        color: var(--color-text) !important;
    }
.frc-captcha .frc-banner {
        left: 0px;
        bottom: -8px !important;
        right: unset !important;
    }
.region-messages {
    width: 100%;
}
.messages__wrapper {
    width: 100%;
    margin-bottom: var(--form-gutter);
}
.messages {
    /*
    animation-name: fadeout;
    animation-duration: 6s;
    animation-delay: 0.5s;
    animation-fill-mode: both;
*/
    display: block;
    padding: var(--gutter);
    border-radius: 8px;
}
.messages.messages--status {
        background-color: var(--color-ui-light);
        color: var(--color-ui);
    }
div[role="alert"] {
    display: block;
    padding: var(--gutter);
    border-radius: 8px;
    margin-bottom: var(--form-gutter);

    background-color: var(--color-alert-light);
    color: var(--color-alert);
}
@keyframes fadeout {
    0% {
        transform: translateY(5px);
        opacity: 0;
    }

    10% {
        transform: translateY(0px);
        opacity: 1;
    }

    90% {
        transform: translateY(0px);
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(-5px);
    }
}
height: 100%;
html, body {
    height: 100%;
}
body {
    background-color: #171818;

    color: var(--color-text);

    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;

    margin: 0;
    padding: 0;
}
@media screen and (min-width: 421px) {
body {
        background-image: var(--background-desktop)
}
    }
@media screen and (max-width: 782px) {
body {
        background-image: var(--background-mobile)
}
    }
.dialog-off-canvas-main-canvas {
    height: 100%;
}
.dialog-off-canvas-main-canvas:before {
        content: "";
        width: 100vw;
        height: 400px;
        z-index: -1;

        position: fixed;
        bottom: 0px;
        left: 0px;

        background: rgb(0, 0, 0);
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 80%);
    }

