*,
*::after,
*::before {
    box-sizing: border-box
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: "";
        content: none
    }

table {
    border-collapse: collapse;
    border-spacing: 0
}

:root {
    --font-family-1: futura-pt, sans-serif;
    --font-family-2: montserrat, sans-serif;
    --font-family-3: futura-pt-condensed, sans-serif;
    --font-family-icon: "Font Awesome 5 Pro";
    --header-height: 100px;
    --mobile-header-height: 80px;
    --clip-badge: polygon(100% 0, 100% calc(100% - 30px), 50% 100%, 0 calc(100% - 30px), 0 0, 50% 30px);
    --clip-top: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% 30px);
    --clip-bottom: polygon(100% 0, 100% calc(100% - 30px), 50% 100%, 0 calc(100% - 30px), 0 0);
    --clip-bottom-sm: polygon(100% 0, 100% calc(100% - 15px), 50% 100%, 0 calc(100% - 15px), 0 0);
    --clip-left: polygon(calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0% 100%, 0% 0%);
    --clip-right: polygon(100% 0%, 100% 100%, 30px 100%, 0% 50%, 30px 0%);
    --outer-container-width: 1800px;
    --inner-container-width: 1200px;
    --light-grey: #f2f2f2;
    --grey: #dfdfdf;
    --grey-glow: #dbdee0;
    --grey-shadow: #dbdee0;
    --white: #ffffff;
    --black: #26272b;
    --blue: #142a95;
    --blue-glow: #60d1ff;
    --blue-shadow: #0d112c;
    --teal: #26667f;
    --teal-glow: #22e9e8;
    --teal-shadow: #0d232c;
    --green: #267f67;
    --green-glow: #0ff2b5;
    --green-shadow: #0d2c23;
    --yellow: #a9b602;
    --yellow-glow: #d5e600;
    --yellow-shadow: #303307;
    --orange: #a24400;
    --orange-glow: #ed7219;
    --orange-shadow: #3d1e07;
    --red: #7f2626;
    --red-glow: #f13838;
    --red-shadow: #2c0d0d;
    --pink: #96236c;
    --pink-glow: #f138d0;
    --pink-shadow: #440b2d;
    --light-blue: #00e2e3;
    --light-blue-glow: #00e2e3;
    --light-blue-shadow: #002856;
    --sponsor-red: #d50032;
    --gradient: linear-gradient(to bottom, var(--grad-top, var(--blue)), var(--grad-bottom, var(--blue-shadow)));
    --gradient-blue: linear-gradient(to bottom, var(--grad-top, var(--blue)), var(--grad-bottom, var(--blue-shadow)));
    --gradient-light-blue: linear-gradient(to bottom, var(--grad-top, var(--light-blue-glow)), var(--grad-bottom, var(--light-blue)));
    --gradient-teal: linear-gradient(to bottom, var(--grad-top, var(--teal)), var(--grad-bottom, var(--teal-shadow)));
    --gradient-green: linear-gradient(to bottom, var(--grad-top, var(--green)), var(--grad-bottom, var(--green-shadow)));
    --gradient-yellow: linear-gradient(to bottom, var(--grad-top, var(--yellow)), var(--grad-bottom, var(--yellow-shadow)));
    --gradient-orange: linear-gradient(to bottom, var(--grad-top, var(--orange)), var(--grad-bottom, var(--orange-shadow)));
    --gradient-red: linear-gradient(to bottom, var(--grad-top, var(--red)), var(--grad-bottom, var(--red-shadow)));
    --gradient-pink: linear-gradient(to bottom, var(--grad-top, var(--pink)), var(--grad-bottom, var(--pink-shadow)));
    --gradient-grey: linear-gradient(to bottom, var(--grad-top, var(--white)) 34%, var(--grad-bottom, var(--grey)))
}

body {
    font-size: clamp(15px, 10vmin, 16px);
    line-height: 1.4em;
    font-family: var(--font-family-2);
    color: var(--blue-shadow)
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin: 0;
    color: var(--title-color, currentColor);
    text-transform: uppercase;
    font-weight: 800;
    font-family: var(--font-family-3)
}

.mega {
    font-size: 60px;
    line-height: .7;
    letter-spacing: -.05em
}

    .mega .accent {
        color: #d50032 !important
    }

@media(min-width:50em) {
    .mega {
        font-size: clamp(80px, 10vmin, 160px)
    }
}

h1, .h1 {
    font-size: clamp(65px, 10vmin, 120px);
    line-height: .7;
    letter-spacing: -.02em
}

h2, .h2 {
    font-size: clamp(3.125rem, 2.0089rem + 3.5714vw, 4.6875rem);
    line-height: .8;
    letter-spacing: -.01em
}

h3, .h3 {
    font-size: clamp(2.1875rem, -3.1669rem + 10.0671vw, 3.125rem);
    line-height: 1.4
}

    h3.gr-title,
    .h3.gr-title {
        line-height: 1
    }

h4, .h4 {
    font-size: clamp(1.25rem, 10vmin, 1.875rem);
    line-height: .86em
}

h5, .h5 {
    font-size: clamp(1.125rem, 10vmin, 1.25rem);
    line-height: 1.2em
}

h6, .h6 {
    font-size: clamp(14px, 10vmin, 26px);
    line-height: 1.2em;
    font-weight: 700;
    letter-spacing: -.5px
}

.gr-title {
    position: relative;
    z-index: 0;
    font-style: italic;
    color: #fff;
    text-transform: uppercase;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

    .gr-title::before {
        position: absolute;
        pointer-events: none;
        z-index: -1
    }

    .gr-title.ghost-arrows.left svg {
        position: absolute;
        left: 0;
        top: 0;
        transform: translateY(-25%)
    }

    .gr-title.ghost-arrows.center svg,
    .gr-title.ghost-arrows.newsletter-popup__close svg,
    .modal .gr-title.ghost-arrows.modal-close svg,
    .charities .gr-title.ghost-arrows.charity svg,
    .tabs .tab-triggers > .gr-title.ghost-arrows svg,
    .event-tabs-triggers .gr-title.ghost-arrows.event-tab-trigger svg,
    .gr-title.ghost-arrows.event-header svg,
    .swiper-navigation > .gr-title.ghost-arrows svg,
    .gr-title.ghost-arrows.adv-card svg,
    .gr-title.ghost-arrows.gr-fab svg,
    .gr-title.ghost-arrows.run-logo svg {
        position: absolute;
        left: 50%;
        transform: translateX(-43%)
    }

    .gr-title.ghost-arrows.right svg {
        position: absolute;
        right: 0;
        top: 0;
        transform: translateY(-25%) translateX(25px)
    }

    .gr-title.ghost-arrows svg {
        height: 200%;
        max-height: 200%;
        z-index: -1;
        max-width: unset !important
    }

    .gr-title.ghost-arrows span {
        display: block
    }

    .gr-title.ghost-text::before {
        content: attr(data-title);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff0;
        -webkit-text-stroke: .5px var(--ghost-stroke, rgb(255 255 255 / .5));
        line-height: .6;
        font-weight: 800;
        font-style: italic;
        text-align: center;
        width: 100%;
        opacity: .5
    }

    .gr-title.left.ghost-text::before {
        text-align: left;
        width: 125%;
        transform: translate(-40%, -50%)
    }

@media(max-width:50em) {
    .gr-title span {
        margin: 0 !important
    }

    .gr-title.ghost-arrows svg {
        left: 50%;
        transform: translate(-50%, -25%)
    }
}

.gr-title .fas {
    font-size: .7em;
    margin-right: 8px;
    transform: translateY(-5px)
}

@media(max-width:50em) {
    .gr-title .fas {
        font-size: 18px;
        margin-left: 2px;
        display: block;
        transform: translateY(0)
    }
}

.gr-title.accent::before {
    -webkit-text-stroke: .5px var(--glow, var(--pink))
}

.gr-title .accent {
    margin-right: 14px
}

@media(max-width:50em) {
    .gr-title .accent {
        display: block
    }
}

.accent {
    color: var(--glow, var(--pink))
}

.run-title {
    font-size: clamp(24px, 10vmin, 30px);
    font-weight: 800;
    font-style: italic;
    line-height: .9;
    letter-spacing: -.36px;
    text-align: center;
    color: var(--color, var(--white));
    -webkit-margin-after: .75em;
    margin-block-end: .75em
}

@media(min-width:50em) {
    .run-title {
        -webkit-margin-after: var(--flow, 1.5rem);
        margin-block-end: var(--flow, 1.5rem)
    }
}

.run-title .meta {
    font-size: .73em
}

.run-logo img {
    max-width: 260px
}

em {
    font-style: italic
}

.page main .content ul,
.page main .content ol,
.single main .content ul,
.single main .content ol {
    padding-left: 1.2em
}

.page main .content ul,
.single main .content ul {
    list-style: disc
}

.page main .content ol,
.single main .content ol {
    list-style: decimal
}

.gr-title {
    --ghost-stroke: white;
    --ghost-fill: none
}

.gr-badge.white .gr-title.ghost-text {
    --ghost-stroke: rgb(55, 55, 65)
}

.gr-badge.white .gr-title.ghost-arrows {
    --ghost-stroke: rgb(55, 55, 65)
}

.gr-badge.none .gr-title.ghost-arrows {
    --ghost-stroke: rgb(55, 55, 65)
}

.gr-badge.none .gr-title.ghost-text {
    --ghost-stroke: rgb(55, 55, 65)
}

.gr-badge.parent .gr-title.ghost-arrows {
    --ghost-stroke: rgb(55, 55, 65)
}

.gr-badge.parent .gr-title.ghost-text {
    --ghost-stroke: rgb(55, 55, 65)
}

h1.gr-title.ghost-text::before,
.h1.gr-title.ghost-text::before {
    font-size: clamp(8.125rem, -16.8624rem + 46.9799vw, 12.5rem) !important
}

h2.gr-title.ghost-text::before,
.h2.gr-title.ghost-text::before {
    font-size: clamp(5.46875rem, -10.1484rem + 29.3624vw, 8.203125rem) !important
}

h3.gr-title.ghost-text::before,
.h3.gr-title.ghost-text::before {
    font-size: clamp(3.828125rem, -5.5422rem + 17.6174vw, 5.46875rem) !important
}

.round,
.newsletter-popup__close,
.modal .modal-close,
:where(.round, .newsletter-popup__close, .modal .modal-close, .rounded-full) {
    border-radius: 9999px
}

.center,
.newsletter-popup__close,
.modal .modal-close,
.charities .charity,
.tabs .tab-triggers > *,
.event-tabs-triggers .event-tab-trigger,
.event-header,
.swiper-navigation > *,
.adv-card,
.gr-fab,
.run-logo {
    display: grid;
    place-items: center
}

.fill,
.swiper.hero .swiper-slide::before,
.overlay,
.banner::before {
    position: absolute;
    inset: 0 0 0 0
}

.flex {
    display: flex
}

    .flex:where(.justify-start) {
        justify-content: flex-start
    }

    .flex:where(.spread, .justify-between) {
        justify-content: space-between
    }

    .flex:where(.justify-end) {
        justify-content: flex-end
    }

    .flex:where(.items-start) {
        align-items: flex-start
    }

    .flex:where(.items-center) {
        align-items: center
    }

    .flex:where(.items-end) {
        align-items: flex-end
    }

.flow > * + * {
    margin-top: var(--flow, 1em)
}

[hidden] {
    display: none !important
}

.body-content {
    overflow-x: hidden
}

.visually-hidden,
.screen-reader-text,
.sr-only,
.gfield_visibility_hidden {
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important
}

[style*=background-image] > img {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.container,
#cm.bar #c-inr {
    width: 90%;
    max-width: 980px;
    margin: auto
}

    .container .container,
    #cm.bar #c-inr .container,
    .container #cm.bar #c-inr,
    #cm.bar .container #c-inr,
    #cm.bar #c-inr #c-inr {
        max-width: unset
    }

@media(max-width:30em) {

    .container,
    #cm.bar #c-inr {
        width: calc(100vw - 30px)
    }
}

img,
svg {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0
}

svg {
    max-height: 100%
}

a {
    color: currentColor;
    text-decoration: none
}

@media(hover:hover) {
    a {
        transition: all .25s
    }
}

nav ul,
form ul {
    margin: unset;
    list-style: none
}

.inline-list {
    margin: unset;
    list-style: none;
    display: flex
}

    .inline-list > * + * {
        margin-left: var(--flow-l, 1em)
    }

.negative-margin {
    margin-left: -20px;
    margin-right: -20px
}

@media screen and (min-width:50em) {
    .negative-margin {
        margin-left: -3rem;
        margin-right: -3rem
    }
}

@media screen and (min-width:1300px) {
    .negative-margin {
        margin-left: calc(-1*(100vw - var(--inner-container-width))/2);
        margin-right: calc(-1*(100vw - var(--inner-container-width))/2)
    }
}

@media screen and (min-width:1800px) {
    .negative-margin {
        margin-left: calc(-1*(var(--outer-container-width) - var(--inner-container-width))/2);
        margin-right: calc(-1*(var(--outer-container-width) - var(--inner-container-width))/2)
    }
}

.flow > * + * {
    margin-top: var(--flow, 1em)
}

.anchor {
    transform: translateY(var(--offset, -125px))
}

.reverse-anchor {
    transform: translateY(var(--offset, 125px))
}

.gr-select {
    position: relative
}

    .gr-select select {
        padding: 0 1.5em;
        border-radius: 20px;
        box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
        border: 1px solid var(--glow);
        background-color: #fff;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: -.025em;
        font-family: var(--font-family-3);
        min-height: 30px;
        width: 100%;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none
    }

    .gr-select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 24px;
        transform: translateY(-50%);
        font-family: var(--font-family-icon);
        pointer-events: none
    }

.purple,
.gravity-form-custom {
    --accent: var(--blue);
    --glow: #800080;
    --shadow: var(--blue-shadow);
    --grad-top: var(--accent);
    --grad-bottom: var(--shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.blue {
    --accent: #142a95;
    --glow: var(--blue-glow);
    --shadow: var(--blue-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.light-blue {
    --accent: var(--light-blue);
    --glow: var(--light-blue-glow);
    --shadow: var(--light-blue-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.teal {
    --accent: var(--teal);
    --glow: var(--teal-glow);
    --shadow: var(--teal-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.green {
    --accent: var(--green);
    --glow: var(--green-glow);
    --shadow: var(--green-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.yellow {
    --accent: var(--yellow);
    --glow: var(--yellow-glow);
    --shadow: var(--yellow-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.orange {
    --accent: var(--orange);
    --glow: var(--orange-glow);
    --shadow: var(--orange-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.grey {
    --accent: var(--grey);
    --glow: var(--grey-glow);
    --shadow: var(--grey-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.red {
    --accent: var(--sponsor-red);
    --glow: var(--red-glow);
    --shadow: var(--red-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.pink {
    --accent: var(--pink);
    --glow: var(--pink-glow);
    --shadow: var(--pink-shadow);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.white {
    --accent: var(--white);
    --glow: var(--teal-glow);
    --shadow: var(--teal);
    --grad-top: var(--white);
    --grad-bottom: var(--white);
    --color: var(--blue-shadow);
    --btn-color: var(--white);
    --btn-bckgrd: var(--shadow);
    --bullet-text: var(--color);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.custom {
    --grad-top: var(--accent);
    --grad-bottom: var(--shadow);
    --color: var(--color)
}

.none {
    --accent: var(--white);
    --glow: var(--teal-glow);
    --shadow: var(--teal);
    --grad-top: var(--light-grey);
    --grad-bottom: var(--light-grey);
    --color: var(--blue-shadow);
    --btn-color: var(--white);
    --btn-bckgrd: var(--shadow);
    --bullet-text: var(--color);
    --bullet-color: var(--glow);
    --bullet-border: var(--glow)
}

.blue,
.teal,
.green,
.yellow,
.orange,
.red,
.pink,
.light-blue {
    --grad-top: var(--glow);
    --grad-bottom: var(--shadow)
}

@font-face {
    font-family: "swiper-icons";
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: var(--blue)
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    min-width: 0
}

.swiper-container-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
    max-height: 100%
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow > .swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-multirow-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-container-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: auto;
    flex-shrink: 0;
    display: block;
    height: 100%;
    max-height: 100%
}

    .swiper-slide .swiper-image {
        -o-object-fit: cover;
        object-fit: cover;
        height: 100%;
        width: 100%;
        padding: .5em;
        -o-object-position: center center;
        object-position: center center
    }

    .swiper-slide > a {
        background-color: #142a95;
        color: #fff;
        box-shadow: none !important
    }

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

    .swiper-container-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform, height
    }

.swiper-container-3d {
    perspective: 1200px
}

    .swiper-container-3d .swiper-wrapper,
    .swiper-container-3d .swiper-slide,
    .swiper-container-3d .swiper-slide-shadow-left,
    .swiper-container-3d .swiper-slide-shadow-right,
    .swiper-container-3d .swiper-slide-shadow-top,
    .swiper-container-3d .swiper-slide-shadow-bottom,
    .swiper-container-3d .swiper-cube-shadow {
        transform-style: preserve-3d
    }

    .swiper-container-3d .swiper-slide-shadow-left,
    .swiper-container-3d .swiper-slide-shadow-right,
    .swiper-container-3d .swiper-slide-shadow-top,
    .swiper-container-3d .swiper-slide-shadow-bottom {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10
    }

    .swiper-container-3d .swiper-slide-shadow-left {
        background-image: linear-gradient(to left, rgb(0 0 0 / .5), #fff0)
    }

    .swiper-container-3d .swiper-slide-shadow-right {
        background-image: linear-gradient(to right, rgb(0 0 0 / .5), #fff0)
    }

    .swiper-container-3d .swiper-slide-shadow-top {
        background-image: linear-gradient(to top, rgb(0 0 0 / .5), #fff0)
    }

    .swiper-container-3d .swiper-slide-shadow-bottom {
        background-image: linear-gradient(to bottom, rgb(0 0 0 / .5), #fff0)
    }

.swiper-container-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

    .swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
        display: none
    }

    .swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start
    }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-pagination {
    position: absolute;
    right: 30px;
    z-index: 2;
    bottom: calc(100% + 30px);
    font-style: italic
}

.hero .swiper-pagination {
    bottom: 50px
}

.swiper-pagination.swiper-pagination-bullets {
    display: flex;
    align-items: flex-end
}

.swiper-pagination .swiper-pagination-bullet {
    display: block;
    width: 60px;
    height: 2px;
    background: #fff;
    transition: all .25s
}

.swiper-pagination .swiper-pagination-bullet-active {
    height: 4px
}

@media(min-width:50em) {
    .swiper-pagination {
        right: 75px;
        bottom: calc(100% + 30px)
    }

    .hero .swiper-pagination {
        bottom: 100px
    }

    .swiper-pagination .swiper-pagination-bullet {
        width: 80px
    }
}

.swiper-slide:empty {
    display: none
}

.swiper .card {
    max-width: unset
}

@media(max-width:50em) {

    .swiper .swiper-navigation,
    .swiper .swiper-counter {
        display: none !important
    }
}

@media screen and (max-width:1301px) {
    .swiper .swiper-counter-inner {
        padding: 0 3rem
    }
}

.swiper-navigation i {
    color: #fff
}

.wp-block-image img {
    border-radius: .5em;
    border: 4px solid var(--white);
    width: 100%;
    filter: drop-shadow(0 2px 4px rgb(0 0 0 / .5))
}

.wp-block-image figcaption {
    color: #267f67;
    font-style: italic;
    font-weight: 700;
    font-size: 14px;
    line-height: 2.2em;
    text-transform: uppercase
}

.aligncenter {
    margin-left: auto;
    margin-right: auto
}

.alignright {
    margin-left: auto
}

.alignleft {
    margin-right: auto
}

.gr-content p > img {
    margin-top: 2em;
    margin-bottom: 2em
}

.wp-block-table th {
    white-space: pre;
    text-align: left;
    font-weight: 700;
    border-bottom: 2px solid currentColor !important
}

.wp-block-table th,
.wp-block-table td {
    padding: .5em
}

.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
    background-color: #fff
}

.wp-block-embed-youtube {
    max-width: 720px
}

#widget {
    pointer-events: none
}

    #widget .widget__trigger,
    #widget .widget__content {
        pointer-events: auto
    }

.gr-badge {
    position: relative;
    padding: 30px 20px 20px
}

@media(min-width:50em) {
    .gr-badge {
        padding: var(--padding, 3rem)
    }
}

.gr-badge-bckgrd {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25em
}

.gr-badge.red .gr-badge-bckgrd {
    background: #d50032 !important;
    color: #fff
}

    .gr-badge.red .gr-badge-bckgrd .gr-title,
    .gr-badge.red .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.red .alt-form .gr-input select {
    border-color: #142a95;
    color: #142a95
}

.gr-badge.red .gr-bulletlist > * {
    border-bottom-color: #142a95
}

    .gr-badge.red .gr-bulletlist > *:after {
        color: #142a95
    }

.gr-badge.red .course .tabs .tab-triggers > *.js-active {
    background-color: #142a95;
    color: #fff
}

.gr-badge.red .gr-fab {
    color: #142a95;
    background: #fff
}

@media(hover:hover) {
    .gr-badge.red .gr-fab:hover {
        background: #142a95;
        color: #fff;
        text-decoration: none
    }
}

.gr-badge.red .race-title {
    color: #fff
}

.gr-badge.red .gr-copy p {
    color: #fff
}

.gr-badge.red .gr-content .run-title {
    color: #fff
}

.gr-badge.red .gr-content h2.dark {
    color: #373741
}

.gr-badge.red .gr-content h2.light {
    color: #fff
}

.gr-badge.red .gr-content a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab) {
    color: #142a95
}

.gr-badge.red .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.red .gr-content .flexible-social ul a,
.gr-badge.red .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.red .gform_footer .gform_button {
    background-color: #142a95
}

.gr-badge.blue .gr-badge-bckgrd {
    background: #142a95 !important;
    color: #fff
}

    .gr-badge.blue .gr-badge-bckgrd .gr-title,
    .gr-badge.blue .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.blue .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.blue .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.blue .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.blue .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.blue .race-title {
    color: #fff
}

.gr-badge.blue .gr-copy p {
    color: #fff
}

.gr-badge.blue .gr-content .run-title {
    color: #fff
}

.gr-badge.blue .gr-content h2.dark {
    color: #373741
}

.gr-badge.blue .gr-content h2.light {
    color: #fff
}

.gr-badge.blue .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.blue .gr-content .flexible-social ul a,
.gr-badge.blue .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.blue .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.grey .gr-badge-bckgrd {
    background: #373741 !important;
    color: #fff
}

    .gr-badge.grey .gr-badge-bckgrd .gr-title,
    .gr-badge.grey .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.grey .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.grey .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.grey .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.grey .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.grey .race-title {
    color: #fff
}

.gr-badge.grey .gr-copy p {
    color: #fff
}

.gr-badge.grey .gr-content h2.dark {
    color: #d50032
}

.gr-badge.grey .gr-content h2.light {
    color: #fff
}

.gr-badge.grey .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.grey .gr-content .flexible-social ul a,
.gr-badge.grey .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.grey .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.purple .gr-badge-bckgrd,
.gr-badge.gravity-form-custom .gr-badge-bckgrd {
    background: purple !important;
    color: #fff
}

    .gr-badge.purple .gr-badge-bckgrd .gr-title,
    .gr-badge.gravity-form-custom .gr-badge-bckgrd .gr-title,
    .gr-badge.purple .gr-badge-bckgrd .flexible-img-content .text h3,
    .gr-badge.gravity-form-custom .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.purple .alt-form .gr-input select,
.gr-badge.gravity-form-custom .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.purple .gr-bulletlist > *,
.gr-badge.gravity-form-custom .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.purple .gr-bulletlist > *:after,
    .gr-badge.gravity-form-custom .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.purple .course .tabs .tab-triggers > *.js-active,
.gr-badge.gravity-form-custom .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.purple .gr-copy p,
.gr-badge.gravity-form-custom .gr-copy p {
    color: #fff
}

.gr-badge.purple .gr-content h2.dark,
.gr-badge.gravity-form-custom .gr-content h2.dark {
    color: #373741
}

.gr-badge.purple .gr-content h2.light,
.gr-badge.gravity-form-custom .gr-content h2.light {
    color: #fff
}

.gr-badge.purple .gr-content .flexible-social h3,
.gr-badge.gravity-form-custom .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.purple .gr-content .flexible-social ul a,
.gr-badge.gravity-form-custom .gr-content .flexible-social ul a,
.gr-badge.purple .gr-content .flexible-social i,
.gr-badge.gravity-form-custom .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.purple .gform_footer .gform_button,
.gr-badge.gravity-form-custom .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.green .gr-badge-bckgrd {
    background-image: var(--gradient-green);
    color: #fff
}

    .gr-badge.green .gr-badge-bckgrd .gr-title,
    .gr-badge.green .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.green .alt-form .gr-input select {
    border-color: #142a95;
    color: #142a95
}

.gr-badge.green .gr-bulletlist > * {
    border-bottom-color: #142a95
}

    .gr-badge.green .gr-bulletlist > *:after {
        color: #142a95
    }

.gr-badge.green .course .tabs .tab-triggers > *.js-active {
    background-color: #142a95;
    color: #fff
}

.gr-badge.green .gr-copy p {
    color: #fff
}

.gr-badge.green .gr-content h2.dark {
    color: #373741
}

.gr-badge.green .gr-content h2.light {
    color: #fff
}

.gr-badge.green .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.green .gr-content .flexible-social ul a,
.gr-badge.green .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.green .gform_footer .gform_button {
    background-color: #142a95
}

.gr-badge.pink .gr-badge-bckgrd {
    background: var(--pink) !important;
    color: #fff
}

    .gr-badge.pink .gr-badge-bckgrd .gr-title,
    .gr-badge.pink .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.pink .alt-form .gr-input select {
    border-color: #142a95;
    color: #142a95
}

.gr-badge.pink .gr-bulletlist > * {
    border-bottom-color: #142a95
}

    .gr-badge.pink .gr-bulletlist > *:after {
        color: #142a95
    }

.gr-badge.pink .course .tabs .tab-triggers > *.js-active {
    background-color: #142a95;
    color: #fff
}

.gr-badge.pink .gr-copy p {
    color: #fff
}

.gr-badge.pink .gr-content h2.dark {
    color: #373741
}

.gr-badge.pink .gr-content h2.light {
    color: #fff
}

.gr-badge.pink .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.pink .gr-content .flexible-social ul a,
.gr-badge.pink .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.pink .gform_footer .gform_button {
    background-color: #142a95
}

.gr-badge.light-blue .gr-badge-bckgrd {
    background: var(--light-blue) !important;
    color: #fff
}

    .gr-badge.light-blue .gr-badge-bckgrd .gr-title,
    .gr-badge.light-blue .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.light-blue .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.light-blue .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.light-blue .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.light-blue .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.light-blue .gr-copy p {
    color: #fff
}

.gr-badge.light-blue .gr-content h2.dark {
    color: #373741
}

.gr-badge.light-blue .gr-content h2.light {
    color: #fff
}

.gr-badge.light-blue .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.light-blue .gr-content .flexible-social ul a,
.gr-badge.light-blue .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.light-blue .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.teal .gr-badge-bckgrd {
    background: var(--teal) !important;
    color: #fff
}

    .gr-badge.teal .gr-badge-bckgrd .gr-title,
    .gr-badge.teal .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.teal .alt-form .gr-input select {
    border: none;
    color: #373741
}

.gr-badge.teal .alt-form .gr-input input {
    border: none;
    color: #373741
}

.gr-badge.teal .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.teal .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.teal .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.teal .gr-copy p {
    color: #fff
}

.gr-badge.teal .gr-content h2.dark {
    color: #373741
}

.gr-badge.teal .gr-content h2.light {
    color: #fff
}

.gr-badge.teal .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.teal .gr-content .flexible-social ul a,
.gr-badge.teal .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.teal .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.yellow .gr-badge-bckgrd {
    background: var(--yellow) !important;
    color: #373741
}

    .gr-badge.yellow .gr-badge-bckgrd .gr-title,
    .gr-badge.yellow .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #373741
    }

.gr-badge.yellow .alt-form .gr-input select {
    border-color: #142a95;
    color: #142a95
}

.gr-badge.yellow .gr-bulletlist > * {
    border-bottom-color: #142a95
}

    .gr-badge.yellow .gr-bulletlist > *:after {
        color: #142a95
    }

.gr-badge.yellow .course .tabs .tab-triggers > *.js-active {
    background-color: #142a95;
    color: #fff
}

.gr-badge.yellow .gr-copy p {
    color: #373741
}

.gr-badge.yellow .gr-content h2.dark {
    color: #373741
}

.gr-badge.yellow .gr-content h2.light {
    color: #fff
}

.gr-badge.yellow .gr-content .flexible-social h3 {
    color: #373741
}

.gr-badge.yellow .gr-content .flexible-social ul a,
.gr-badge.yellow .gr-content .flexible-social i {
    color: #373741 !important
}

.gr-badge.yellow .gform_footer .gform_button {
    background-color: #142a95
}

.gr-badge.orange .gr-badge-bckgrd {
    background: var(--orange) !important;
    color: #fff
}

    .gr-badge.orange .gr-badge-bckgrd .gr-title,
    .gr-badge.orange .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #fff
    }

.gr-badge.orange .alt-form .gr-input select {
    border-color: #142a95;
    color: #142a95
}

.gr-badge.orange .gr-bulletlist > * {
    border-bottom-color: #142a95
}

    .gr-badge.orange .gr-bulletlist > *:after {
        color: #142a95
    }

.gr-badge.orange .course .tabs .tab-triggers > *.js-active {
    background-color: #142a95;
    color: #fff
}

.gr-badge.orange .gr-copy p {
    color: #fff
}

.gr-badge.orange .gr-content h2.dark {
    color: #373741
}

.gr-badge.orange .gr-content h2.light {
    color: #fff
}

.gr-badge.orange .gr-content .flexible-social h3 {
    color: #fff
}

.gr-badge.orange .gr-content .flexible-social ul a,
.gr-badge.orange .gr-content .flexible-social i {
    color: #fff !important
}

.gr-badge.orange .gform_footer .gform_button {
    background-color: #142a95
}

.gr-badge.none .gr-title {
    color: #373741;
    --ghost-stroke: white
}

.gr-badge.none .gr-badge-bckgrd {
    background: #f2f2f2;
    color: #373741
}

    .gr-badge.none .gr-badge-bckgrd .gr-title,
    .gr-badge.none .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #373741
    }

.gr-badge.none .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.none .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.none .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.none .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.none .gr-copy p {
    color: #373741
}

.gr-badge.none .gr-content .gr-title.dark {
    color: #373741
}

.gr-badge.none .gr-content .gr-title.light {
    color: #8a8a8a
}

.gr-badge.none .gr-content .flexible-social h3 {
    color: #373741
}

.gr-badge.none .gr-content .flexible-social ul a,
.gr-badge.none .gr-content .flexible-social i {
    color: #373741 !important
}

.gr-badge.none .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.parent .gr-badge-bckgrd {
    background: #f2f2f2;
    color: #373741
}

    .gr-badge.parent .gr-badge-bckgrd .gr-title,
    .gr-badge.parent .gr-badge-bckgrd .flexible-img-content .text h3 {
        color: #373741
    }

.gr-badge.parent .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.parent .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.parent .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.parent .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.parent .gr-copy p {
    color: #373741
}

.gr-badge.parent .gr-content h2.dark {
    color: #373741
}

.gr-badge.parent .gr-content h2.light {
    color: #8a8a8a
}

.gr-badge.parent .gr-content .flexible-social h3 {
    color: #373741
}

.gr-badge.parent .gr-content .flexible-social ul a,
.gr-badge.parent .gr-content .flexible-social i {
    color: #373741 !important
}

.gr-badge.parent .gform_footer .gform_button {
    background-color: #d50032
}

.gr-badge.is-solid .gr-badge-bckgrd {
    background-image: unset;
    background: #fff
}

@media(max-width:30em) {

    .gr-badge .container,
    .gr-badge #cm.bar #c-inr,
    #cm.bar .gr-badge #c-inr {
        width: auto
    }
}

.gr-badge.white .gr-badge-bckgrd {
    background: #fff !important
}

.gr-badge.white .alt-form .gr-input select {
    border-color: #d50032;
    color: #d50032
}

.gr-badge.white .gr-bulletlist > * {
    border-bottom-color: #d50032
}

    .gr-badge.white .gr-bulletlist > *:after {
        color: #d50032
    }

.gr-badge.white .course .tabs .tab-triggers > *.js-active {
    background-color: #d50032;
    color: #fff
}

.gr-badge.white .gr-copy p {
    color: #373741
}

.gr-badge.white .gr-title,
.gr-badge.white .flexible-img-content .text h3 {
    color: #373741
}

.gr-badge.white .gr-content h2.dark {
    color: #373741
}

.gr-badge.white .gr-content h2.light {
    color: #8a8a8a
}

.gr-badge.white .gr-content .flexible-social h3 {
    color: #373741
}

.gr-badge.white .gr-content .flexible-social ul a,
.gr-badge.white .gr-content .flexible-social i {
    color: #373741 !important
}

.gr-badge.white .gform_footer .gform_button {
    background-color: #d50032
}

.gr-content {
    position: relative;
    color: var(--color, white);
    margin: auto
}

    .gr-content h2 {
        margin-top: 30px
    }

@media(min-width:50em) {
    .gr-content {
        text-align: center
    }

        .gr-content .gr-title {
            text-align: left
        }

            .gr-content .gr-title.text {
                margin-top: 30px
            }
}

.page-contact .contact .gr-badge {
    width: 100%;
    margin-top: -30px
}

.page-contact .contact .box .gr-title {
    color: #142a95
}

.page-contact .contact .box .icon-link .icon i {
    color: #142a95
}

.page-search .gr-badge {
    width: 100%;
    margin-top: -30px
}

.banner {
    position: relative;
    margin: 0 0 -40px;
    background-size: cover
}

.banner__inner {
    padding: 280px 34px 200px
}

.banner h1 {
    max-width: 600px;
    margin: 0 auto 0 50px
}

@media(min-width:50em) {
    .banner .gr-title {
        font-size: 172px;
        line-height: .8em;
        letter-spacing: -9px
    }
}

.banner::before {
    content: ""
}

.image {
    position: relative
}

@media(min-width:50em) {
    .image {
        max-height: 760px;
        display: flex
    }
}

.image.video {
    overflow: hidden
}

    .image.video::after {
        content: "";
        display: table;
        padding-bottom: calc(var(--h)/var(--w)*100%)
    }

.image video {
    position: absolute;
    top: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%
}

    .image video.video-mobile {
        display: block
    }

@media(min-width:50em) {
    .image video.video-mobile {
        display: none
    }
}

.image video.video-main:not(.is-mobile) {
    display: none
}

@media(min-width:50em) {
    .image video.video-main:not(.is-mobile) {
        display: block
    }
}

.image img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center 10%;
    object-position: center 10%
}

.image.clip {
    -webkit-clip-path: var(--clip-bottom);
    clip-path: var(--clip-bottom)
}

button,
input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0
}

[disabled] {
    opacity: .5;
    cursor: not-allowed
}

.gform_button,
.btn {
    cursor: pointer;
    position: relative;
    display: inline-grid;
    place-items: center;
    border-radius: 2em;
    text-align: center;
    min-height: 40px;
    text-transform: uppercase;
    font-size: 1.1rem;
    line-height: 1rem;
    padding: 0 1.5em;
    font-weight: 700;
    text-decoration: none;
    font-family: var(--font-family-3);
    color: #fff;
    background: var(--sponsor-red)
}

@media(hover:hover) {

    .gform_button,
    .btn {
        transition: all .25s
    }

        .gform_button:hover,
        .btn:hover {
            box-shadow: inset 0 0 0 2px var(--white)
        }
}

.gform_button.green,
.btn.green {
    --glow: var(--green-glow);
    --shadow: var(--green-shadow);
    --accent: var(--green)
}

.gform_button.teal,
.btn.teal {
    --glow: var(--teal-glow);
    --shadow: var(--teal-shadow);
    --accent: var(--teal)
}

.gform_button.yellow,
.btn.yellow {
    --glow: var(--yellow-glow);
    --shadow: var(--yellow-shadow);
    --accent: var(--yellow)
}

.gform_button.orange,
.btn.orange {
    --glow: var(--orange-glow);
    --shadow: var(--orange-shadow);
    --accent: var(--orange)
}

.gform_button.btn-outline,
.btn.btn-outline {
    background-color: #fff;
    border: 2px solid var(--sponsor-red);
    color: var(--sponsor-red)
}

    .gform_button.btn-outline:hover,
    .btn.btn-outline:hover {
        background-color: var(--sponsor-red);
        color: #fff
    }

.gform_button.blue,
.btn.blue {
    background-color: #142a95;
    color: #fff
}

    .gform_button.blue:hover,
    .btn.blue:hover {
        border: 2px solid #142a95;
        color: #142a95;
        background-color: #fff !important;
        box-shadow: none
    }

.gform_button.blue-outline,
.btn.blue-outline {
    background: none;
    color: #142a95;
    border: 2px solid #142a95
}

    .gform_button.blue-outline:hover,
    .btn.blue-outline:hover {
        background-color: #142a95;
        color: #fff;
        box-shadow: none
    }

.gform_button.pink,
.btn.pink {
    --glow: var(--pink-glow);
    --shadow: var(--pink-shadow);
    --accent: var(--pink)
}

.gform_button.red,
.btn.red {
    color: #fff;
    background: #d50032
}

    .gform_button.red:hover,
    .btn.red:hover {
        border: 2px solid #d50032;
        color: #d50032;
        background-color: #fff;
        box-shadow: none
    }

.gform_button-sponsor,
.btn-sponsor {
    color: #fff;
    background: #d50032
}

@media(hover:hover) {

    .white .gform_button:hover,
    .white .btn:hover {
        --btn-color: var(--dark);
        --btn-bckgrd: var(--glow)
    }
}

.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.gr-fab {
    cursor: pointer;
    width: 50px;
    height: 50px;
    color: #d50032;
    background: #fff;
    border-radius: 100px;
    font-size: 20px
}

    .gr-fab.has-text {
        width: auto;
        display: inline-flex;
        align-items: center;
        padding: 0 1em 0 .5em
    }

        .gr-fab.has-text i {
            padding: 0em .5em
        }

        .gr-fab.has-text span {
            font-size: 16px;
            font-family: var(--font-family-3);
            font-weight: 700;
            text-transform: uppercase
        }

@media(hover:hover) {
    .gr-fab:hover {
        background: #d50032;
        color: #fff;
        text-decoration: none
    }
}

.gr-badge.red .btn {
    color: #fff;
    background: #142a95
}

.card {
    position: relative;
    border-radius: 1.25em;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-width: 500px;
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
    --color: var(--shadow)
}

    .card.no-v figure {
        -webkit-clip-path: none;
        clip-path: none
    }

    .card figure {
        margin: 5px;
        border-radius: 1.25em 1.25em 0 0;
        aspect-ratio: 5/4;
        overflow: hidden;
        -webkit-clip-path: var(--clip-bottom);
        clip-path: var(--clip-bottom);
        background: rgb(0 0 0 / .1)
    }

        .card figure img {
            min-width: 100%;
            min-height: 100%;
            height: 100%;
            -o-object-fit: cover;
            object-fit: cover
        }

    .card.solo figure img {
        -o-object-fit: contain;
        object-fit: contain
    }

    .card.carousel .run-title {
        margin-bottom: var(--flow)
    }

    .card.carousel p {
        color: #373741
    }

    .card.carousel[data-type=events] p {
        display: none
    }

    .card .device {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 10;
        transform: translateX(-50%);
        padding: .5em 1em 1em;
        -webkit-clip-path: var(--clip-bottom-sm);
        clip-path: var(--clip-bottom-sm)
    }

        .card .device.solo {
            color: #fff;
            background: var(--light-blue-shadow)
        }

        .card .device svg {
            width: 57px;
            height: 20px
        }

    .card.solo {
        --accent: var(--light-blue);
        --glow: var(--light-blue-glow);
        --shadow: var(--light-blue-shadow);
        --color: var(--light-blue-shadow);
        --btn-color: var(--light-blue-glow);
        --btn-bckgrd: var(--light-blue)
    }

.carousel.training .card-content .run-title .accent {
    color: #373741
}

.card-content {
    --flow: 22px;
    color: #373741;
    padding: 1.5rem var(--flow) 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex: 1;
    font-size: 14px
}

    .card-content .run-title {
        margin-bottom: 0;
        color: var(--sponsor-red)
    }

        .card-content .run-title .meta {
            color: #142a95
        }

        .card-content .run-title .accent {
            color: #0e0e0f
        }

    .card-content .date {
        color: #373741
    }

    .card-content p {
        margin-bottom: var(--flow, 1em);
        color: #373741
    }

    .card-content .button-group {
        margin-top: auto
    }

        .card-content .button-group .btn-1 {
            background: #fff;
            color: var(--sponsor-red);
            border: 1px solid var(--sponsor-red)
        }

.adv-card {
    cursor: pointer;
    position: relative;
    border-radius: .5em;
    overflow: hidden;
    background: var(--gradient-grey);
    max-width: 320px;
    transition: all .25s
}

@media(max-width:50em) {
    .adv-card {
        margin: 0 auto
    }
}

.adv-card::before {
    content: "";
    display: table;
    padding-top: 150%
}

.adv-card > p {
    position: relative;
    z-index: 1
}

.adv-card .background {
    position: absolute;
    z-index: 0;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border-radius: .4em;
    background: var(--background) center/cover no-repeat
}

.adv-card:hover {
    transform: translateY(-10px)
}

.overlay {
    z-index: 10
}

body.home [id="4968"].adv-card {
    display: none
}

.adv-card .background {
    background-size: cover !important;
    background-position: center !important
}

.left-align-cards .card .card-content,
.left-align-cards .card .run-title {
    text-align: left
}

.left-align-cards .card .btn {
    width: 100%
}

.grid {
    display: grid;
    gap: var(--gap, 1rem);
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, 235px), 1fr))
}

.charities-list {
    margin: 50px 0;
    text-align: center
}

@media(min-width:50em) {
    .charities-list {
        --gap: 100px 70px;
        margin: 100px 0
    }
}

.charities-list article {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center
}

    .charities-list article img {
        mix-blend-mode: darken;
        margin: auto
    }

@media(min-width:50em) {
    .charities-list article .btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99
}

@media(max-width:1300px) {
    .header-desktop {
        display: none
    }
}

@media(min-width:1301px) {
    .header-mobile {
        display: none
    }
}

.header-mobile .site-header__left {
    display: flex;
    gap: 1rem
}

@media(min-width:70em) {
    .header-mobile .site-header__left {
        gap: 2rem
    }
}

.header-mobile .site-header #mobile-nav-toggle i {
    font-size: 2rem
}

.header-mobile .site-header #mobile-nav-toggle.is-open #open {
    display: none
}

.header-mobile .site-header #mobile-nav-toggle:not(.is-open) #close {
    display: none
}

.site-header {
    width: 100%;
    text-align: center;
    background-color: #d50032;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    height: var(--mobile-header-height)
}

@media(min-width:70em) {
    .site-header {
        height: var(--header-height)
    }
}

.site-header__left,
.site-header__right {
    padding: 1rem
}

@media(min-width:70em) {

    .site-header__left,
    .site-header__right {
        padding: 1.25rem 2rem
    }
}

.site-header__nav {
    height: 100%
}

.site-header .spacer {
    display: block;
    height: 100%;
    margin: 0 2rem;
    border-left: 2px solid #fff
}

.site-header__right {
    display: flex;
    align-items: center
}

    .site-header__right .search {
        display: grid;
        place-items: center
    }

        .site-header__right .search i {
            font-size: 25px;
            line-height: 1em
        }

        .site-header__right .search span {
            font-size: 12px;
            line-height: 1em;
            letter-spacing: -.17px;
            margin-top: 5px
        }

.site-header .logo {
    height: 100%
}

    .site-header .logo img {
        height: 38px
    }

    .site-header .logo svg {
        fill: #fff;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }

.site-header__nav nav {
    display: flex;
    align-items: flex-end;
    height: 100%
}

    .site-header__nav nav ul {
        display: flex;
        font-size: 28px;
        line-height: 1.06em;
        letter-spacing: -.4px;
        justify-content: center;
        font-weight: 700;
        font-style: italic;
        font-family: var(--font-family-3);
        color: var(--color, var(--light-grey));
        text-transform: uppercase
    }

        .site-header__nav nav ul li {
            padding: 1.25rem 2rem 1.5rem 2rem;
            border-radius: .75em .75em 0 0;
            cursor: pointer
        }

            .site-header__nav nav ul li a {
                display: flex
            }

            .site-header__nav nav ul li.is-open {
                background-color: var(--light-grey);
                color: var(--sponsor-red)
            }

            .site-header__nav nav ul li i {
                margin-right: .5rem
            }

.meganav {
    box-shadow: rgb(149 157 165 / .2) 0 8px 24px
}

.meganav__wrapper {
    position: relative;
    background-color: var(--light-grey);
    overflow: hidden;
    transition: all 300ms ease-in-out
}

.meganav__section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    transition: opacity 200ms ease-in-out
}

    .meganav__section.is-open {
        opacity: 1;
        pointer-events: all
    }

.meganav__inner {
    display: flex;
    max-width: 1500px;
    margin: auto
}

.meganav__content {
    padding: 2rem;
    flex: 1
}

    .meganav__content > *:not(:last-child) {
        margin-bottom: 2rem
    }

.meganav__content-title {
    font-style: italic;
    margin-bottom: .5rem !important
}

.meganav__content-image {
    border-radius: 1em
}

.meganav__content-cta {
    padding: 0 8rem
}

.meganav__menu {
    padding: 2rem 0 2rem 2rem;
    flex: 1
}

    .meganav__menu ul {
        display: grid
    }

        .meganav__menu ul.two-col {
            grid-template-columns: 1fr 1fr
        }

        .meganav__menu ul li {
            background-color: var(--light-grey);
            font-weight: 700;
            font-size: 16px;
            line-height: 22px;
            border: 1px solid #fff;
            transition: all 300ms ease-in-out
        }

            .meganav__menu ul li:hover {
                background-color: #fff;
                color: var(--sponsor-red)
            }

            .meganav__menu ul li a {
                display: block;
                width: 100%;
                height: 100%;
                padding: 1rem;
                transition: unset
            }

.mobilenav {
    background: var(--sponsor-red);
    height: 0;
    overflow: hidden;
    transition: height 300ms ease-in-out;
    overflow: scroll
}

    .mobilenav.is-open {
        height: calc(100vh - var(--mobile-header-height))
    }

    .mobilenav #searchform {
        padding: 1rem 2rem
    }

    .mobilenav .top-nav .top-nav-item__title {
        font-size: 37px;
        letter-spacing: -.4px;
        line-height: 1;
        font-weight: 700;
        font-style: italic;
        font-family: var(--font-family-3);
        color: var(--color, var(--light-grey));
        text-transform: uppercase;
        padding: 1rem 2rem
    }

    .mobilenav .top-nav .top-nav-item:not(.is-open) .mobilenav__section {
        display: none
    }

    .mobilenav .top-nav .top-nav-item.is-open {
        background-color: var(--light-grey);
        border-bottom: 5px solid var(--sponsor-red)
    }

        .mobilenav .top-nav .top-nav-item.is-open .top-nav-item__title {
            color: var(--sponsor-red)
        }

.mobilenav__content {
    padding: 0 2rem 2rem 2rem
}

    .mobilenav__content > *:not(:last-child) {
        margin-bottom: 2rem
    }

.mobilenav__content-title {
    font-style: italic;
    margin-bottom: .5rem !important
}

.mobilenav__content-image {
    border-radius: 1em
}

.mobilenav__content-cta {
    padding: 0 8rem
}

.mobilenav__menu ul li {
    background-color: var(--light-grey);
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    border: 1px solid #fff;
    transition: all 300ms ease-in-out
}

    .mobilenav__menu ul li:hover {
        background-color: #fff;
        color: var(--sponsor-red)
    }

    .mobilenav__menu ul li a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 1rem 2rem;
        transition: unset
    }

.site-footer {
    --logo: white;
    position: absolute;
    left: 0;
    margin-top: 2rem;
    color: var(--white);
    background: #142a95;
    display: flex;
    font-size: 14px;
    line-height: 22px;
    width: 100vw
}

@media(max-width:50em) {
    .site-footer .swim-logo {
        margin-top: 1rem
    }
}

.site-footer h5 {
    font-size: clamp(12px, 10vmin, 22px)
}

.site-footer h6 {
    font-size: clamp(10px, 10vmin, 18px)
}

@media(min-width:70em) {
    .site-footer__left {
        margin-right: 4rem
    }
}

.site-footer__logos {
    display: flex;
    gap: .5rem;
    margin-top: 2rem
}

.site-footer__logo {
    max-height: 75px;
    max-width: 150px;
    width: auto
}

@media(max-width:50em) {
    .site-footer__right > div {
        display: block;
        margin: 1rem 0
    }

        .site-footer__right > div .flow {
            margin: 2rem 0
        }
}

.site-footer__right > div {
    gap: 2rem
}

    .site-footer__right > div.mb-2 {
        margin-bottom: 2rem
    }

    .site-footer__right > div.mb-4 {
        margin-bottom: 4rem
    }

@media(max-width:50em) {
    .site-footer__right > div.mb-4 {
        margin-bottom: 2rem
    }
}

.site-footer__inner {
    padding: 4rem 2rem;
    width: 100%;
    max-width: var(--outer-container-width);
    margin: auto
}

@media(min-width:50em) {
    .site-footer__inner {
        display: flex;
        justify-content: space-between
    }

        .site-footer__inner nav ul {
            display: flex;
            color: var(--blue-glow)
        }

            .site-footer__inner nav ul > * + * {
                margin-top: 0;
                margin-left: var(--flow)
            }
}

.site-footer .socials {
    font-size: 24px;
    margin-top: 1rem
}

    .site-footer .socials svg {
        min-width: 41px;
        min-height: 41px
    }

.site-footer a,
.site-footer a > * {
    --title-color: white;
    color: #fff
}

.site-footer .logo {
    display: block;
    margin-bottom: 1rem
}

.flx-1 {
    flex: 1 1 100%
}

.flx-2 {
    flex: 1 1 49%
}

.flx-3 {
    flex: 1 1 32%
}

#partners-logos {
    padding: 1.5rem 0;
    text-align: center
}

    #partners-logos .partner {
        height: 100%;
        display: flex;
        align-items: center
    }

        #partners-logos .partner img {
            max-width: 150px
        }

    #partners-logos .swiper-wrapper {
        padding-left: 60px;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: auto
    }

.inline-form {
    position: relative;
    line-height: 1.7;
    font-size: clamp(20px, 10vmin, 26px);
    font-weight: 700;
    letter-spacing: -.63px;
    text-transform: uppercase;
    text-align: center;
    font-family: var(--font-family-3)
}

.select-wrapper {
    position: relative;
    margin: 0 4px;
    white-space: nowrap
}

    .select-wrapper.js-active .options {
        transform: translateY(0%);
        opacity: 1;
        pointer-events: auto
    }

    .select-wrapper .options {
        position: absolute;
        top: 100%;
        z-index: 10;
        left: 0;
        min-width: 100px;
        color: var(--blue);
        background-color: #fff;
        border-radius: .5em;
        transform: translateY(50%);
        opacity: 0;
        pointer-events: none;
        transition: all .25s;
        padding: .25em .5em;
        text-align: left
    }

        .select-wrapper .options.dark {
            border: 1px solid var(--black)
        }

            .select-wrapper .options.dark li {
                color: var(--black)
            }

                .select-wrapper .options.dark li:hover {
                    color: var(--blue)
                }

        .select-wrapper .options li {
            cursor: pointer;
            display: block;
            font-size: .7em;
            white-space: nowrap
        }

            .select-wrapper .options li:hover {
                color: var(--accent, var(--pink-glow))
            }

            .select-wrapper .options li.js-active {
                color: var(--accent, var(--pink-glow))
            }

.select {
    cursor: pointer;
    position: relative;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 20px;
    padding: 4px 48px 4px 12px;
    font-size: clamp(14px, 10vmin, 16px);
    font-weight: 700;
    font-style: italic
}

    .select.dark {
        color: var(--black);
        border-color: var(--black)
    }

    .select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        font-weight: 300;
        font-style: normal;
        font-family: "Font Awesome 5 Pro"
    }

.smallprint {
    font-size: clamp(16px, 10vmin, 18px);
    font-weight: 700;
    letter-spacing: -.5px
}

.form,
.gform_body {
    --grid-min: 360px
}

    .form button,
    .form input[type=text],
    .form input[type=password],
    .form input[type=email],
    .form input[type=search],
    .form input[type=tel],
    .form input[type=number],
    .form select,
    .gform_body button,
    .gform_body input[type=text],
    .gform_body input[type=password],
    .gform_body input[type=email],
    .gform_body input[type=search],
    .gform_body input[type=tel],
    .gform_body input[type=number],
    .gform_body select {
        width: 100%;
        min-height: 34px
    }

    .form input[type=text],
    .form input[type=password],
    .form input[type=email],
    .form input[type=search],
    .form input[type=tel],
    .form input[type=number],
    .gform_body input[type=text],
    .gform_body input[type=password],
    .gform_body input[type=email],
    .gform_body input[type=search],
    .gform_body input[type=tel],
    .gform_body input[type=number] {
        padding: 0 1.5em;
        border-radius: 20px;
        box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
        border: solid 1px var(--glow);
        background-color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: -.5px;
        font-family: var(--font-family-2)
    }

@media(min-width:50em) {

    .form .ginput_container_name,
    .gform_body .ginput_container_name {
        display: flex !important
    }

        .form .ginput_container_name > *,
        .gform_body .ginput_container_name > * {
            flex: 1
        }
}

::-moz-placeholder {
    color: var(--shadow);
    opacity: .3
}

::placeholder {
    color: var(--shadow);
    opacity: .3
}

.gfield + .gfield {
    margin-top: 1.5rem
}

.gfield input[type=text],
.gfield input[type=password],
.gfield input[type=email],
.gfield input[type=search],
.gfield input[type=tel],
.gfield input[type=number],
.gfield textarea,
.gfield select {
    width: 100%
}

.gfield input[type=checkbox],
.gfield input[type=radio],
.gfield .gfield_checkbox label,
.gfield .gfield_radio label {
    cursor: pointer
}

.gform_footer {
    margin-top: 2rem;
    margin-bottom: 2rem
}

    .gform_footer .gform_button {
        color: #fff
    }

.chosen-container {
    position: relative;
    margin: 0 4px
}

    .chosen-container .chosen-single {
        cursor: pointer;
        position: relative;
        color: var(--accent, var(--pink));
        border: 1px solid var(--accent, var(--pink));
        border-radius: 20px;
        display: block;
        padding: 4px 48px 4px 12px;
        font-size: clamp(14px, 10vmin, 16px);
        font-weight: 700;
        font-style: italic
    }

        .chosen-container .chosen-single::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            font-weight: 300;
            font-style: normal;
            font-family: "Font Awesome 5 Pro"
        }

    .chosen-container.chosen-with-drop .chosen-drop {
        transform: translateY(0%);
        opacity: 1;
        pointer-events: auto
    }

    .chosen-container .chosen-drop {
        position: absolute;
        top: 100%;
        z-index: 10;
        left: 0;
        right: 0;
        min-width: 100px;
        color: var(--blue);
        background-color: #fff;
        border-radius: .5em;
        transform: translateY(50%);
        opacity: 0;
        pointer-events: none;
        transition: all .25s;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding: .25em .5em;
        text-align: left
    }

        .chosen-container .chosen-drop li {
            cursor: pointer;
            display: block;
            font-size: .7em;
            white-space: nowrap
        }

            .chosen-container .chosen-drop li:hover {
                color: var(--pink-glow)
            }

.form-after {
    font-size: .8em;
    text-align: center;
    justify-content: center
}

    .form-after a {
        text-decoration: underline
    }

.ui-datepicker {
    background: #fff !important;
    border: solid 1px #d6d6d6;
    border-radius: 10px;
    padding: .5rem
}

    .ui-datepicker th,
    .ui-datepicker td {
        padding: 3px;
        text-align: center
    }

.ui-datepicker-current-day {
    border-radius: 15px;
    background: #d6d6d6
}

.ui-datepicker-next {
    float: right
}

.ui-datepicker-title {
    margin: 5px 0
}

    .ui-datepicker-title select {
        margin-right: 10px
    }

.alt-form .gr-input {
    display: flex;
    align-items: center;
    text-align: left;
    margin-bottom: 1rem
}

@media only screen and (max-width:767px) {
    .alt-form .gr-input {
        margin-bottom: .5rem
    }
}

.alt-form .gr-input input:not([type=checkbox]),
.alt-form .gr-input select {
    width: 100%;
    min-height: 40px;
    padding: 0 1.5em;
    border-radius: 20px;
    box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
    border: solid 1px var(--glow);
    background-color: #fff;
    color: var(--glow);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.5px;
    font-family: var(--font-family-2);
    font-style: normal
}

@media only screen and (max-width:767px) {

    .alt-form .gr-input input:not([type=checkbox]),
    .alt-form .gr-input select {
        padding: 0 1em
    }
}

.alt-form .gr-input input:not([type=checkbox])::-moz-placeholder,
.alt-form .gr-input select::-moz-placeholder {
    color: #373741
}

.alt-form .gr-input input:not([type=checkbox])::placeholder,
.alt-form .gr-input select::placeholder {
    color: #373741
}

.alt-form .gr-input input:not([type=checkbox]):focus,
.alt-form .gr-input select:focus {
    outline: none
}

.alt-form .gr-input select option {
    color: var(--black)
}

.alt-form .gr-input label {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.625px;
    font-family: var(--font-family-2);
    text-transform: uppercase;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    margin-right: 1rem
}

.alt-form .gr-input__error {
    color: var(--red-glow);
    text-align: left;
    margin-top: -.5rem;
    font-style: italic;
    font-size: .8rem;
    margin-bottom: 1rem
}

.alt-form .gr-date-input input:not(:last-child) {
    margin-right: 10px
}

@media only screen and (max-width:767px) {
    .alt-form .gr-date-input input:not(:last-child) {
        margin-right: 0
    }
}

.alt-form .gr-file-input .upload-wrapper {
    position: relative;
    width: 100%
}

    .alt-form .gr-file-input .upload-wrapper .upload-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        padding: 0 1.5em;
        border-radius: 20px;
        box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
        border: solid 1px var(--glow);
        color: var(--glow);
        font-size: 14px;
        font-weight: 700;
        letter-spacing: -.5px;
        font-family: var(--font-family-2);
        font-style: normal;
        display: flex;
        align-items: center
    }

    .alt-form .gr-file-input .upload-wrapper .upload-overlay__text {
        white-space: nowrap;
        overflow: hidden
    }

    .alt-form .gr-file-input .upload-wrapper input {
        opacity: 0;
        cursor: pointer
    }

.gravity-form-custom .gfield .ginput_container {
    flex-grow: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.mobilenavbar {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw;
    z-index: 100;
    color: var(--blue);
    background: #fff;
    padding: 1em 1.5em;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.25em;
    letter-spacing: -.075em;
    box-shadow: 0 -6px 10px 0 rgb(0 0 0 / .1), 0 -1px 4px 0 rgb(0 0 0 / .1)
}

@supports(bottom:env(safe-area-inset-bottom)) {
    .mobilenavbar {
        bottom: env(safe-area-inset-bottom)
    }
}

@media(min-width:50em) {
    .mobilenavbar {
        display: none
    }
}

.mobilenavbar ul {
    --grid-min: 18px;
    --gap: 0.5em
}

    .mobilenavbar ul li {
        flex: 1;
        min-width: -webkit-fit-content;
        min-width: -moz-fit-content;
        min-width: fit-content
    }

        .mobilenavbar ul li + li {
            margin-left: .5em
        }

.mobilenavbar .menu-item {
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    text-transform: uppercase;
    transition: all .25s cubic-bezier(.65, .05, .36, 1)
}

    .mobilenavbar .menu-item .fas {
        font-size: 18px;
        margin-bottom: .25em
    }

    .mobilenavbar .menu-item::before {
        content: "";
        position: absolute;
        bottom: 0;
        width: 10px;
        height: 10px;
        opacity: 0;
        border-radius: 100%;
        background: var(--glow);
        transform: translateY(50%);
        transition: all .25s cubic-bezier(.65, .05, .36, 1)
    }

    .mobilenavbar .menu-item:hover,
    .mobilenavbar .menu-item.current-menu-item {
        color: var(--glow)
    }

        .mobilenavbar .menu-item:hover::before,
        .mobilenavbar .menu-item.current-menu-item::before {
            opacity: 1
        }

.gr-section {
    position: relative;
    overflow: hidden;
    margin-bottom: 2rem
}

    .gr-section.inset {
        margin: 0 10px
    }

@media(min-width:50em) {
    .gr-section.inset {
        margin: 0 40px
    }
}

.gr-section.blue {
    background-color: #142a95 !important;
    color: #fff
}

@media(min-width:50em) {

    .gr-section + .gr-section.image-behind,
    .gr-section + .gr-section.image-infront {
        margin-top: 40px
    }
}

.gr-section .image.infront {
    --offset: -45px;
    position: relative;
    z-index: 2;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    -webkit-clip-path: var(--clip-bottom);
    clip-path: var(--clip-bottom)
}

@media(min-width:50em) {
    .gr-section .image.infront {
        --offset: -90px;
        height: 620px
    }
}

.gr-section .image.behind {
    max-height: 95vh
}

.gr-section.newsletter {
    background: #373741;
    border-radius: 1.25em
}

@media(min-width:50em) {

    main > * .gr-section.image-infront:first-child .gr-badge,
    main > * .gr-section.behind:first-child .gr-badge {
        padding-top: 105px
    }
}

.gapless-sections .gr-section {
    margin-top: -40px
}

@media(min-width:50em) {
    .gapless-sections .gr-section {
        margin-top: -50px
    }
}

.gapless-sections .gr-section.image-infront,
.gapless-sections .gr-section.image-behind {
    margin-top: -10px
}

@media(min-width:50em) {

    .gapless-sections .gr-section.image-infront,
    .gapless-sections .gr-section.image-behind {
        margin-top: -10px
    }
}

.body-content #main .gr-section:first-of-type .gr-badge .gr-badge-bckgrd {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.gr-section .gr-badge-wrapper {
    max-width: var(--inner-container-width);
    margin: auto
}

    .gr-section .gr-badge-wrapper .image {
        overflow: hidden;
        border-radius: 1.25em
    }

@media(min-width:70em) {
    .gr-section .gr-badge-wrapper.image-left {
        display: flex;
        gap: 4rem
    }

        .gr-section .gr-badge-wrapper.image-left .image,
        .gr-section .gr-badge-wrapper.image-left .gr-content {
            flex: 1
        }
}

@media(max-width:70em) {
    .gr-section .gr-badge-wrapper.image-left .gr-content {
        margin-top: 3rem
    }
}

@media(min-width:70em) {
    .gr-section .gr-badge-wrapper.image-right {
        display: flex;
        flex-direction: row-reverse;
        gap: 4rem
    }

        .gr-section .gr-badge-wrapper.image-right .image,
        .gr-section .gr-badge-wrapper.image-right .gr-content {
            flex: 1
        }
}

@media(max-width:70em) {
    .gr-section .gr-badge-wrapper.image-right .gr-content {
        margin-top: 3rem
    }
}

@media(max-width:50em) {
    .gr-section .gr-badge-wrapper {
        display: block !important
    }
}

.gr-section.remove-gap {
    margin-top: -2rem;
    margin-bottom: 0
}

.swiper.js-inactive:not(.hero) .swiper-wrapper {
    justify-content: center
}

.swiper.js-inactive:not(.hero) .swiper-slide {
    max-width: 400px
}

.swiper-wrapper {
    height: auto
}

.swiper-slide:not(.timetable-slide):not(.video-pair-slide) {
    transition: all .5s cubic-bezier(.79, .14, .15, .86);
    height: auto
}

    .swiper-slide:not(.timetable-slide):not(.video-pair-slide) > .card {
        height: 100%
    }

    .swiper-slide:not(.timetable-slide):not(.video-pair-slide) p {
        margin-top: 0;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: all .25s ease-out
    }

    .swiper-slide:not(.timetable-slide):not(.video-pair-slide).video::after {
        content: "";
        display: table;
        padding-bottom: calc(var(--h)/var(--w)*100%)
    }

    .swiper-slide:not(.timetable-slide):not(.video-pair-slide) video {
        position: absolute;
        top: 0;
        width: auto;
        height: auto;
        min-width: 100%;
        min-height: 100%
    }

        .swiper-slide:not(.timetable-slide):not(.video-pair-slide) video.video-optimised {
            height: 100%;
            width: 100%;
            -o-object-fit: cover;
            object-fit: cover
        }

        .swiper-slide:not(.timetable-slide):not(.video-pair-slide) video.video-mobile {
            display: block;
            height: 100%;
            width: 100%;
            -o-object-fit: cover;
            object-fit: cover
        }

@media(min-width:50em) {
    .swiper-slide:not(.timetable-slide):not(.video-pair-slide) video.video-mobile {
        display: none
    }
}

.swiper-slide:not(.timetable-slide):not(.video-pair-slide) video.video-main:not(.is-mobile) {
    display: none;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width:50em) {
    .swiper-slide:not(.timetable-slide):not(.video-pair-slide) video.video-main:not(.is-mobile) {
        display: block
    }
}

.swiper-slide-active:not(.timetable-slide) p {
    display: block;
    opacity: 1;
    max-height: 140px
}

@media(max-width:50em) {
    .swiper:not(.hero) {
        margin-top: 3rem
    }
}

.swiper-counter {
    position: absolute;
    font-style: italic;
    top: -84px;
    left: 0;
    z-index: 2;
    color: #fff;
    width: 100%
}

.swiper-counter-inner {
    max-width: var(--inner-container-width);
    margin: auto;
    text-align: right
}

.swiper-inner {
    position: relative
}

.swiper-navigation {
    position: absolute;
    top: 50%;
    left: 1%;
    right: 1%;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none
}

    .swiper-navigation > * {
        pointer-events: auto;
        cursor: pointer;
        font-size: 1.85rem;
        border-radius: 50%;
        background-color: var(--sponsor-red);
        transition: all .25s;
        filter: drop-shadow(0 2px 8px rgb(0 0 0 / .2));
        height: 100px;
        width: 100px;
        display: flex;
        justify-content: center;
        align-items: center
    }

@media(hover:hover) {
    .swiper-navigation .prev:hover {
        transform: translateX(-10px)
    }
}

@media(hover:hover) {
    .swiper-navigation .next:hover {
        transform: translateX(10px)
    }
}

.gr-rtd-content {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem
}

.swiper.hero {
    z-index: 0
}

    .swiper.hero .swiper-slide {
        position: relative;
        width: 100%;
        min-height: calc(300px + var(--header-offset) + 40px);
        height: calc(var(--header-offset) + 120px + var(--hero-header));
        display: grid;
        align-items: center
    }

@media(min-width:50em) {
    .swiper.hero .swiper-slide {
        min-height: 640px;
        max-height: 55vh;
        height: auto
    }
}

.swiper.hero .swiper-slide::before {
    content: "";
    background: linear-gradient(180deg, rgb(0 0 0 / .6) 0%, rgb(0 0 0 / .0001) 97.77%)
}

.swiper.hero .swiper-slide img {
    min-width: 100%;
    min-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

@media(max-width:50em) {
    .swiper.hero .swiper-slide img {
        aspect-ratio: 1
    }
}

.swiper.hero .swiper-slide .text {
    position: absolute;
    left: 80px;
    z-index: 1;
    font-style: italic;
    color: #fff
}

@media(max-width:50em) {
    .swiper.hero .swiper-slide .text {
        top: calc(50% - var(--header-offset)/2);
        top: calc(50% + var(--header-offset)/2);
        left: 2rem;
        right: 2rem;
        bottom: 2rem
    }

    .swiper.hero .swiper-slide .mega {
        left: 25px
    }

    .swiper.hero .swiper-slide .button-group {
        justify-content: flex-start
    }
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: 100% !important
}

.flexible-social {
    position: relative
}

    .flexible-social h3 {
        font-style: italic;
        color: var(--glow, var(--blue-glow));
        font-size: 32px
    }

    .flexible-social ul a {
        margin-left: 1em;
        font-size: 20px;
        color: var(--glow, var(--blue-glow))
    }

.btn-ldt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    color: #142a95;
    background: #ebff00
}

    .btn-ldt > img {
        height: 20px;
        width: 125px;
        min-width: 125px;
        min-height: 20px;
        min-height: unset !important;
        min-width: unset !important
    }

    .btn-ldt > span {
        white-space: nowrap
    }

.flexible-hero .button-group.grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 240px), var(--max, 260px)))
}

.flexible-hero .button-group.flex {
    display: flex
}

.flexible-hero .swiper-slide {
    margin-bottom: 0
}

    .flexible-hero .swiper-slide.video {
        display: flex;
        justify-content: center;
        align-items: center
    }

@media screen and (max-width:799px) {
    .flexible-hero .swiper-slide.video {
        aspect-ratio: 1/1
    }
}

.flexible-hero .swiper-slide .h1 {
    margin-top: 1rem
}

.flexible-hero .swiper-slide .text {
    bottom: 4rem
}

.flexible-hero .swiper-slide.image {
    padding: 0;
    margin: -1px
}

.flexible-hero--has-sidebar {
    display: flex
}

    .flexible-hero--has-sidebar .hero {
        flex: 1
    }

.flexible-hero__sidebar {
    min-width: 400px;
    display: flex;
    flex-direction: column;
    margin: -2px
}

@media(max-width:70em) {
    .flexible-hero__sidebar {
        display: none
    }
}

.flexible-hero__sidebar .sidebar__item {
    background-size: cover;
    flex: 1;
    position: relative
}

    .flexible-hero__sidebar .sidebar__item:hover .sidebar__overlay {
        background-color: rgb(80 80 80 / .5)
    }

    .flexible-hero__sidebar .sidebar__item:hover .sidebar__title {
        background-color: var(--sponsor-red);
        color: var(--white);
        padding-bottom: 25px
    }

.flexible-hero__sidebar .sidebar__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 300ms ease-in-out;
    background: linear-gradient(180deg, #fff0 0%, rgb(0 0 0 / .6) 100%)
}

.flexible-hero__sidebar .sidebar__title {
    background-color: #fff;
    padding: 10px;
    text-align: center;
    font-size: clamp(20px, 10vmin, 24px);
    color: var(--sponsor-red);
    text-transform: uppercase;
    width: 96%;
    margin: auto;
    border-radius: 10px 10px 0 0;
    position: absolute;
    bottom: 0;
    left: 2%;
    transition: all 300ms ease-in-out
}

    .flexible-hero__sidebar .sidebar__title span {
        font-weight: 700;
        margin-left: .5rem
    }

.gfield_radio li {
    display: flex;
    align-items: center
}

    .gfield_radio li input {
        margin-right: .75em
    }

.flexible-form {
    text-align: left
}

    .flexible-form .container,
    .flexible-form #cm.bar #c-inr,
    #cm.bar .flexible-form #c-inr {
        width: clamp(16rem, 90%, 720px)
    }

    .flexible-form .gform_fields,
    .flexible-form .ginput_container_address,
    .flexible-form .ginput_container_email,
    .flexible-form .ginput_container_name {
        display: grid
    }

@media(min-width:30em) {

    .flexible-form .gform_fields,
    .flexible-form .ginput_container_address,
    .flexible-form .ginput_container_email,
    .flexible-form .ginput_container_name {
        gap: 0 1.5rem
    }
}

.flexible-form .gform_fields label {
    display: block;
    margin: .5em 0;
    font-size: .9em
}

.flexible-form .gform_fields .gfield + .gfield {
    margin-top: 0
}

.flexible-form .gform_fields select {
    cursor: pointer;
    position: relative;
    color: #373741;
    border: 1px solid #373741;
    border-radius: 20px;
    padding: 4px 48px 4px 12px;
    font-size: clamp(14px, 10vmin, 16px);
    font-weight: 700;
    font-style: italic
}

    .flexible-form .gform_fields select::after {
        content: "";
        position: absolute;
        top: 18px;
        right: 12px;
        font-weight: 300;
        font-style: normal;
        font-family: "Font Awesome 5 Pro"
    }

.flexible-form .gform_fields li.gchoice {
    display: flex;
    margin-top: .75em;
    align-items: center
}

    .flexible-form .gform_fields li.gchoice label {
        margin: 0
    }

.flexible-form .is-full {
    grid-column-start: 1;
    grid-column-end: -1
}

.gr-rtd-content__personalisation {
    position: absolute;
    top: 0;
    right: 0;
    font-style: italic;
    font-size: .8em;
    text-align: right
}

@media(min-width:50em) {
    .gr-rtd-content__personalisation {
        top: 20px
    }
}

@media(hover:hover) {
    .gr-rtd-content a:not(.btn):hover {
        text-decoration: underline
    }
}

.flexible-img-content {
    position: relative
}

.flexible-img-content__pair {
    width: 100%;
    gap: 3rem
}

@media(max-width:70em) {
    .flexible-img-content__pair {
        display: block !important;
        text-align: center
    }

        .flexible-img-content__pair .text {
            padding-bottom: 0 !important
        }
}

.flexible-img-content__pair > div {
    flex: 1
}

.flexible-img-content__content .gr-title {
    margin-bottom: 3rem;
    margin-top: 4rem
}

    .flexible-img-content__content .gr-title.dark {
        color: #373741
    }

.flexible-img-content > div {
    display: flex;
    align-items: center
}

@media(max-width:50em) {
    .flexible-img-content > div {
        flex-flow: row wrap
    }
}

@media(min-width:50em) {
    .flexible-img-content > div + * {
        margin-top: 4em
    }
}

@media(min-width:50em) {
    .flexible-img-content > div:nth-child(even) img {
        order: 1
    }
}

.flexible-img-content img {
    border-radius: 1.25em
}

.flexible-img-content .text h3 {
    color: var(--sponsor-red)
}

.variants-slider .swiper-wrapper,
.variants-slider .swiper-slide {
    height: auto;
    align-items: unset
}

.variants-slider .card .card-content,
.variants-slider .card .run-title {
    text-align: left
}

@media(min-width:50em) {
    .variants-slider .card .btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.variants {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem
}

    .variants .variant {
        border-radius: 1.25em;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        min-width: 300px;
        background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
        flex: 1
    }

        .variants .variant figure {
            margin: 3px;
            border-radius: 1.25em 1.25em 0 0;
            aspect-ratio: 5/4;
            overflow: hidden;
            -webkit-clip-path: var(--clip-bottom);
            clip-path: var(--clip-bottom);
            background: rgb(0 0 0 / .1)
        }

            .variants .variant figure img {
                min-width: 100%;
                min-height: 100%;
                -o-object-fit: cover;
                object-fit: cover
            }

        .variants .variant .run-title {
            font-style: normal
        }

.heading-with-cta {
    display: flex;
    justify-content: space-between;
    align-items: center
}

    .heading-with-cta .gr-title {
        margin-top: 0;
        margin-right: 3rem
    }

    .heading-with-cta .btn {
        padding: 0 3em
    }

@media(max-width:50em) {
    .heading-with-cta {
        display: block
    }

        .heading-with-cta .gr-title {
            margin-right: 0;
            margin-bottom: 2rem
        }
}

.bcc-banner {
    background: var(--blue-shadow);
    background-image: linear-gradient(180deg, var(--grad-top, var(--accent)), var(--grad-bottom, var(--blue-shadow)));
    color: var(--white)
}

.bcc-banner__action {
    background: var(--blue-glow);
    border-color: var(--blue-glow);
    color: var(--blue-shadow);
    border-radius: 2em;
    min-height: 40px;
    text-transform: uppercase;
    font-size: 1rem;
    padding: 0 1.5em;
    font-weight: 700;
    letter-spacing: -.04em;
    font-family: var(--font-family-3)
}

    .bcc-banner__action:hover {
        background: var(--blue-glow);
        color: var(--white)
    }

#cm.bar #c-inr {
    max-width: 980px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    gap: 10px;
    margin: 0 auto
}

@media(min-width:767px) {
    #cm.bar #c-inr {
        flex-direction: row;
        gap: 15px
    }
}

#c-bns {
    flex-direction: row;
    gap: 10px;
    margin-top: 10px
}

@media(min-width:767px) {
    #c-bns {
        margin-top: 0
    }
}

#c-s-bn {
    margin: 0
}

.c-bn {
    min-width: 115px
}

.cc_div #c-bns {
    margin-top: 0
}

#s-c-bn {
    min-width: initial
}

.gravity-form-custom {
    margin: auto
}

    .gravity-form-custom.is-small {
        max-width: 700px
    }

    .gravity-form-custom .gfield-dynamic .gform_button {
        color: #fff
    }

    .gravity-form-custom .gform_body {
        border-radius: 5px;
        box-shadow: 0 4px 10px rgb(0 0 0 / .5);
        padding: 1.5rem
    }

    .gravity-form-custom .gform_body__title {
        font-style: italic;
        color: var(--pink-glow);
        margin-bottom: 1.5rem;
        line-height: 1
    }

    .gravity-form-custom .gform_fields select {
        color: #000;
        font-weight: 700
    }

    .gravity-form-custom .ginput_complex > *:not(.gr_clear) {
        margin-bottom: 1em;
        display: block;
        flex: 1
    }

    .gravity-form-custom .ginput_complex .gr_clear {
        display: none
    }

    .gravity-form-custom .gfield-dynamic .gform_button {
        width: auto
    }

@media(min-width:768px) {
    .gravity-form-custom .gfield-dynamic .gform_button {
        margin-left: 200px
    }
}

.gravity-form-custom .gfield {
    display: flex;
    align-items: flex-start
}

    .gravity-form-custom .gfield .ginput_container {
        flex-grow: 1;
        display: flex;
        align-items: center;
        flex-wrap: wrap
    }

    .gravity-form-custom .gfield .required {
        color: var(--red-glow)
    }

.gravity-form-custom .gfield__error {
    color: var(--red-glow);
    margin-top: -.5rem;
    margin-bottom: 1rem;
    font-size: .8rem;
    font-style: italic
}

@media only screen and (max-width:767px) {
    .gravity-form-custom .gfield {
        display: block
    }
}

.gravity-form-custom .gfield:not(:last-child) {
    margin-bottom: .5rem
}

.gravity-form-custom .gfield label {
    font-weight: 800
}

.gravity-form-custom .gfield:not(.gr-checkbox):not(.gr-radio) label {
    width: 200px;
    min-width: 200px;
    max-width: 200px
}

.gravity-form-custom .gfield.gr-radio label:first-child {
    width: 200px;
    min-width: 200px;
    max-width: 200px
}

.gravity-form-custom .gfield input {
    min-height: 30px
}

.gravity-form-custom .gfield .gfield input[type=text],
.gravity-form-custom .gfield .gfield input[type=password],
.gravity-form-custom .gfield .gfield input[type=email],
.gravity-form-custom .gfield .gfield input[type=search],
.gravity-form-custom .gfield .gfield input[type=tel],
.gravity-form-custom .gfield .gfield input[type=number],
.gravity-form-custom .gfield .gfield textarea,
.gravity-form-custom .gfield .gfield select {
    border: none;
    outline: none
}

.gravity-form-custom .ginput_container_select select,
.gravity-form-custom .address_country select {
    padding: 0 1.5em;
    border-radius: 20px;
    box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
    border: 1px solid var(--glow);
    background-color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.5px;
    font-family: var(--font-family-2);
    min-height: 30px
}

.gravity-form-custom .ginput_container_select.gr-dob-select select:not(:last-child),
.gravity-form-custom .address_country.gr-dob-select select:not(:last-child) {
    margin-right: 10px
}

.gravity-form-custom .btn {
    margin-top: 1.5rem;
    width: 100px
}

.ginput_container_date .clear-multi {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

    .ginput_container_date .clear-multi > * {
        width: 30%
    }

.gfield_checkbox .gchoice {
    display: flex;
    align-items: center
}

.gfield_radio .gchoice {
    display: flex;
    align-items: center
}

    .gfield_radio .gchoice label {
        margin-left: 10px
    }

    .gfield_radio .gchoice input {
        transform: scale(1.5)
    }

@media screen and (min-width:800px) {
    .gf_list_2col_vertical .gfield_checkbox {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (min-width:800px) {
    .gf_list_2col_vertical .gfield_radio {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr
    }
}

.gsection_title {
    font-size: clamp(1.75rem, 10vmin, 2.25rem);
    line-height: .86em
}

.featured-event {
    border-radius: 1em;
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
    display: flex;
    overflow: hidden
}

@media(max-width:70em) {
    .featured-event {
        flex-direction: column
    }
}

.featured-event__left {
    color: #fff;
    padding: 2rem 5rem 2rem 3rem;
    text-align: left;
    position: relative;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDczIiBoZWlnaHQ9IjI3NSIgdmlld0JveD0iMCAwIDQ3MyAyNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjIxMS41IiBjeT0iMTM3LjUiIHI9IjI2MS41IiBmaWxsPSIjRDUwMDMyIi8+Cjwvc3ZnPgo=);
    background-position-x: 100%;
    background-repeat: no-repeat;
    background-size: cover
}

@media(max-width:70em) {
    .featured-event__left {
        background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDIxNyAxODIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyBpZD0iQXJ0Ym9hcmQyIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0wLjU2Nzc4OSwtOTMuODE4NikiPgogICAgICAgIDxyZWN0IHg9IjAuNTY4IiB5PSI5My44MTkiIHdpZHRoPSIyMTYuNjg5IiBoZWlnaHQ9IjE4MS45NDgiIHN0eWxlPSJmaWxsOm5vbmU7Ii8+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJfY2xpcDEiPgogICAgICAgICAgICA8cmVjdCB4PSIwLjU2OCIgeT0iOTMuODE5IiB3aWR0aD0iMjE2LjY4OSIgaGVpZ2h0PSIxODEuOTQ4Ii8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICA8ZyBjbGlwLXBhdGg9InVybCgjX2NsaXAxKSI+CiAgICAgICAgICAgIDxnIGlkPSJBcnRib2FyZDEiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTI1NS4xMzgsMC41MzA4ODcpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjI1NS43MDYiIHk9IjAuMjg4IiB3aWR0aD0iMjE2Ljk2NCIgaGVpZ2h0PSIyNzQuMzc1IiBzdHlsZT0iZmlsbDpub25lOyIvPgogICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxNTIuMzkyLC0xMjMuODM2KSI+CiAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjIxMS41IiBjeT0iMTM3LjUiIHI9IjI2MS41IiBzdHlsZT0iZmlsbDpyZ2IoMjEzLDAsNTApOyIvPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==);
        background-position-y: 100%;
        background-position-x: unset;
        text-align: center;
        padding: 1rem 2rem
    }
}

.featured-event__left-logo {
    max-height: 125px
}

@media(max-width:50em) {
    .featured-event__left-logo {
        max-height: 100px;
        margin: auto;
        margin-top: 1rem
    }
}

.featured-event__left-title {
    font-style: italic
}

@media(min-width:70em) {
    .featured-event__left-title {
        margin-bottom: 2rem
    }
}

.featured-event__right {
    padding: 2rem 3rem;
    text-align: center;
    flex: 1
}

.featured-event__right-title {
    margin-bottom: 2rem;
    font-style: italic;
    line-height: 1
}

.featured-event__breakdown {
    display: flex;
    justify-content: space-evenly;
    margin-bottom: 2rem
}

@media(max-width:50em) {
    .featured-event__breakdown {
        display: block
    }

        .featured-event__breakdown > div:not(:last-child) {
            margin-bottom: 1rem
        }
}

.featured-event__breakdown h3 {
    line-height: 1
}

.featured-event__prices {
    display: flex;
    justify-content: center;
    gap: .5rem
}

    .featured-event__prices > *:not(:last-child) {
        color: #8a8a8a;
        text-decoration: line-through
    }

    .featured-event__prices > *:last-child {
        color: var(--sponsor-red)
    }

.featured-event__links {
    display: flex;
    justify-content: space-evenly
}

    .featured-event__links img {
        height: 50px
    }

@media(min-width:50em) {
    .mobile-only {
        display: none !important
    }
}

@media(max-width:50em) {
    .desktop-only {
        display: none !important
    }
}

[hidden],
.js-hidden {
    display: none
}

html {
    scroll-behavior: smooth
}

body {
    background: var(--bckgrd, var(--light-grey));
    max-width: var(--outer-container-width);
    margin: auto
}

    body.menu-open,
    body.modal-open {
        overflow: hidden
    }

.page main .content,
.single main .content {
    -webkit-margin-after: 2em;
    margin-block-end: 2em
}

@media(max-width:50em) {

    .page main .content,
    .single main .content {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch
    }
}

.page main .content:empty,
.single main .content:empty {
    display: none
}

.page main .content > * + *,
.single main .content > * + * {
    -webkit-margin-before: 1em;
    margin-block-start: 1em
}

.page main .content ol,
.page main .content ul,
.single main .content ol,
.single main .content ul {
    list-style: auto;
    padding-left: 1.2em
}

    .page main .content ol > * + *,
    .page main .content ul > * + *,
    .single main .content ol > * + *,
    .single main .content ul > * + * {
        margin-top: .25em
    }

.page main .content ol,
.single main .content ol {
    list-style: decimal
}

.page main .content ul,
.single main .content ul {
    list-style: disc
}

.wp-block-embed-youtube {
    max-width: 720px
}

.gr-content,
.content {
    text-align: left
}

    .gr-content a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab),
    .content a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab) {
        color: #d50032;
        filter: brightness(.9)
    }

@media(hover:hover) {

    .gr-content a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab):hover,
    .content a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab):hover {
        text-decoration: underline
    }
}

.gr-content .gr-title {
    text-align: center
}

    .gr-content .gr-title.left {
        text-align: left
    }

    .gr-content .gr-title.center,
    .gr-content .gr-title.newsletter-popup__close,
    .gr-content .modal .gr-title.modal-close,
    .modal .gr-content .gr-title.modal-close,
    .gr-content .charities .gr-title.charity,
    .charities .gr-content .gr-title.charity,
    .gr-content .tabs .tab-triggers > .gr-title,
    .tabs .gr-content .tab-triggers > .gr-title,
    .gr-content .event-tabs-triggers .gr-title.event-tab-trigger,
    .event-tabs-triggers .gr-content .gr-title.event-tab-trigger,
    .gr-content .gr-title.event-header,
    .gr-content .gr-title.run-logo,
    .gr-content .gr-title.gr-fab,
    .gr-content .gr-title.adv-card,
    .gr-content .swiper-navigation > .gr-title {
        text-align: center
    }

        .gr-content .gr-title.center::before,
        .gr-content .gr-title.newsletter-popup__close::before,
        .gr-content .modal .gr-title.modal-close::before,
        .modal .gr-content .gr-title.modal-close::before,
        .gr-content .charities .gr-title.charity::before,
        .charities .gr-content .gr-title.charity::before,
        .gr-content .tabs .tab-triggers > .gr-title::before,
        .tabs .gr-content .tab-triggers > .gr-title::before,
        .gr-content .event-tabs-triggers .gr-title.event-tab-trigger::before,
        .event-tabs-triggers .gr-content .gr-title.event-tab-trigger::before,
        .gr-content .gr-title.event-header::before,
        .gr-content .gr-title.run-logo::before,
        .gr-content .gr-title.gr-fab::before,
        .gr-content .gr-title.adv-card::before,
        .gr-content .swiper-navigation > .gr-title::before {
            left: 50%
        }

    .gr-content .gr-title.right {
        text-align: right
    }

        .gr-content .gr-title.right::before {
            left: auto;
            right: 0
        }

    .gr-content .gr-title.sponsored {
        margin: 0 auto;
        max-width: 1048px
    }

        .gr-content .gr-title.sponsored img {
            max-width: 20rem;
            margin: 0 auto .5em
        }

pre.xdebug-var-dump {
    position: relative;
    padding: 1em;
    background: #fff;
    color: #000;
    text-align: left;
    height: 600px;
    overflow: auto
}

.demo {
    position: fixed;
    z-index: 20;
    bottom: 20px;
    right: 20px;
    background: #fff;
    color: #0d112c;
    display: grid;
    padding: 1em;
    border-radius: .5em;
    box-shadow: 0 2.8px 2.2px rgb(0 0 0 / .02), 0 6.7px 5.3px rgb(0 0 0 / .028), 0 12.5px 10px rgb(0 0 0 / .035), 0 22.3px 17.9px rgb(0 0 0 / .042), 0 41.8px 33.4px rgb(0 0 0 / .05), 0 100px 80px rgb(0 0 0 / .07)
}

    .demo .gr-title {
        color: var(--accent);
        -webkit-margin-after: .5rem;
        margin-block-end: .5rem
    }

    .demo a {
        text-transform: uppercase;
        font-weight: 700;
        font-family: var(--font-family-3);
        font-style: italic;
        font-size: 1.1rem;
        color: var(--shadow);
        transition: all .25s
    }

        .demo a + * {
            margin-top: .25em
        }

        .demo a:hover {
            color: var(--glow)
        }

.single-events .intro .content {
    color: #fff
}

.single-events .intro h3 {
    color: var(--shadow)
}

@media(max-width:50em) {
    .single-events .intro h3 {
        text-align: left
    }
}

.content-page {
    position: relative;
    margin: 40px 0 2rem 0;
    padding: 40px 0 1rem 0;
    background: #fff;
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem
}

.partners-list {
    margin: 50px 0;
    text-align: center
}

@media(min-width:50em) {
    .partners-list {
        --gap: 100px 70px;
        margin: 100px 0
    }
}

@media(min-width:50em) {
    .partners-list .btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.partners-list img {
    mix-blend-mode: multiply;
    flex: none;
    margin: auto
}

.partners-list > * {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center
}

.body-content {
    margin-top: var(--mobile-header-height)
}

@media(min-width:70em) {
    .body-content {
        margin-top: var(--header-height)
    }
}

.blog .body-content {
    position: relative
}

.single-post .body-content .breadcrumbs {
    position: relative;
    top: auto
}

@media(min-width:50em) {
    .single-post .body-content .breadcrumbs {
        position: absolute;
        top: var(--header-offset, 0)
    }
}

.breadcrumbs {
    position: relative;
    font-size: 16px;
    font-weight: 900;
    font-family: var(--font-family-3);
    text-transform: uppercase;
    font-style: italic;
    letter-spacing: -.05em;
    margin: 0 0 1em 40px;
    color: var(--accent)
}

.home .breadcrumbs,
.error404 .breadcrumbs {
    display: none
}

.breadcrumbs.header-over,
.single-events .breadcrumbs {
    position: absolute;
    top: var(--header-offset, 80px);
    left: 40px;
    z-index: 10;
    color: #fff;
    margin: 0;
    padding: .5rem 0
}

@media(min-width:50em) {

    .breadcrumbs.header-over,
    .single-events .breadcrumbs {
        margin-top: -.5rem;
        padding: 0 0 .5rem
    }
}

.blog .breadcrumbs.header-over,
.single-post .breadcrumbs.header-over,
.blog .single-events .breadcrumbs,
.single-post .single-events .breadcrumbs {
    left: 20px;
    right: 20px;
    transform: none
}

@media(min-width:30em) {

    .blog .breadcrumbs.header-over,
    .single-post .breadcrumbs.header-over,
    .blog .single-events .breadcrumbs,
    .single-post .single-events .breadcrumbs {
        left: 40px;
        right: unset
    }
}

.blog .breadcrumbs.header-over,
.blog .single-events .breadcrumbs {
    top: 2rem
}

.single-post .breadcrumbs.header-over,
.single-post .single-events .breadcrumbs {
    color: var(--blue);
    padding: 1rem 0
}

.breadcrumbs span > span {
    display: flex;
    align-items: center
}

.breadcrumbs .breadcrumbs-caret {
    display: inline-block;
    width: 11px;
    margin: 0 5px;
    color: var(--glow)
}

.breadcrumbs .breadcrumb_last {
    color: var(--glow)
}

.error404 h1 {
    padding: 1em 0
}

.pill {
    border-radius: 4em;
    font-size: .7em;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -.025em;
    padding: .15em 1em;
    color: #fff;
    background: var(--glow)
}

.gr-bulletlist {
    margin: 1rem 0;
    font-weight: 600
}

    .gr-bulletlist > * {
        position: relative;
        z-index: 0;
        font-style: italic;
        font-size: 1.2rem;
        font-weight: 800;
        font-family: var(--font-family-3);
        text-align: left;
        color: var(--bullet-text, white);
        text-transform: uppercase;
        padding: .5em 0 .75em 1.25em;
        border-bottom: 1px solid var(--bullet-border)
    }

        .gr-bulletlist > *::after {
            content: ">";
            position: absolute;
            top: .6rem;
            left: 0;
            color: var(--bullet-color);
            font-size: 1.2rem;
            line-height: 1;
            font-style: normal;
            transform: translateY(0)
        }

@media(min-width:50em) {
    .gr-bulletlist > *::after {
        top: calc(50% - 2px);
        transform: translateY(-50%)
    }
}

.gr-bulletlist > * .btn {
    margin-top: 1rem;
    display: grid
}

@media(min-width:50em) {
    .gr-bulletlist > * .btn {
        margin-top: 0
    }
}

@media(min-width:50em) {
    .gr-bulletlist > * {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 720px;
        margin: 0 auto
    }
}

.gr-bulletlist > * + * {
    margin-top: .5rem
}

@media(min-width:50em) {
    .gr-content.columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem
    }
}

@media(max-width:50em) {
    .gr-content.columns > div:first-child {
        margin-bottom: 2rem
    }
}

.single-post header .image {
    max-width: 90vw;
    margin: 0 auto var(--offset)
}

    .single-post header .image.infront {
        position: relative;
        z-index: 1;
        border-radius: 1.25rem;
        overflow: hidden
    }

.single-post header .gr-badge .gr-title {
    margin-top: 1.5rem
}

.single-post .flexible-social {
    color: var(--blue-glow)
}

.single .content {
    color: #0d2c23;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    -webkit-margin-after: 5rem;
    margin-block-end: 5rem
}

@media(min-width:50em) {
    .single .content {
        -webkit-margin-before: 2rem;
        margin-block-start: 2rem;
        -webkit-margin-after: 10rem;
        margin-block-end: 10rem
    }
}

.single .content > * + * {
    -webkit-margin-before: 1em;
    margin-block-start: 1em
}

.single .gr-related {
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem;
    border-radius: 1.25rem
}

    .single .gr-related .gr-content {
        -webkit-padding-before: 0;
        padding-block-start: 0
    }

    .single .gr-related h2 {
        text-align: left;
        -webkit-margin-before: 0;
        margin-block-start: 0;
        -webkit-margin-after: 0;
        margin-block-end: 0
    }

.news {
    position: relative;
    margin-top: -30px;
    padding: 30px 0 0;
    background-color: var(--accent);
    -webkit-clip-path: var(--clip-top);
    clip-path: var(--clip-top);
    border-bottom-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
    margin-bottom: 2rem
}

    .news .gr-title {
        color: var(--black)
    }

    .news h2.gr-title {
        margin: 3.5rem 1rem 2rem
    }

@media(min-width:50em) {
    .news h2.gr-title {
        margin: 5rem 0 3rem
    }
}

.hide-cat .post .meta {
    display: none
}

    .hide-cat .post .meta + br {
        display: none
    }

.posts.grid {
    --grid-min: 280px;
    --gap: 20px
}

@media(min-width:50em) {
    .posts.grid {
        --grid-min: 300px
    }
}

.posts.grid > .post .card {
    height: 100%;
    display: flex;
    flex-direction: column
}

    .posts.grid > .post .card * {
        text-align: left
    }

.posts.grid > .post .card-content {
    flex: 1;
    display: flex;
    flex-direction: column
}

    .posts.grid > .post .card-content > div:last-child {
        margin-top: auto
    }

    .posts.grid > .post .card-content .run-title {
        margin-top: 1rem;
        margin-bottom: 1rem
    }

    .posts.grid > .post .card-content .button-group .btn {
        width: 100%
    }

.post .date {
    font-size: 14px;
    line-height: 1.7em;
    letter-spacing: -.15px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: var(--font-family-3)
}

.pagination {
    padding: 4rem 0 3rem;
    color: var(--black);
    display: flex;
    align-items: center;
    justify-content: center
}

    .pagination .pages {
        display: flex;
        font-size: 18px
    }

        .pagination .pages.last > *:last-of-type,
        .pagination .pages.upcoming > *:last-of-type {
            display: inline-block
        }

        .pagination .pages > *:last-of-type {
            display: none
        }

    .pagination .page-number,
    .pagination .dots ƒ {
        padding: 0 1em
    }

        .pagination .page-number.current,
        .pagination .dots ƒ.current {
            font-weight: 700
        }

.faq-page .select {
    --accent: var(--blue-glow)
}

.faq-page .gr-section {
    overflow: unset
}

.faq-page .schema-faq-answer a {
    color: var(--glow);
    pointer-events: all
}

.schema-faq {
    position: relative;
    margin: 2rem 0
}

    .schema-faq .schema-faq-section {
        position: relative;
        padding: 20px 35px 20px
    }

        .schema-faq .schema-faq-section .top-level-category {
            margin-bottom: -.5rem
        }

        .schema-faq .schema-faq-section h3 {
            color: #d50032
        }

        .schema-faq .schema-faq-section .faq-category-name {
            font-size: 25px;
            color: #373741;
            margin: 2rem 0 1rem 0
        }

    .schema-faq .schema-faq-question-container {
        margin-bottom: 15px;
        padding: 0 35px
    }

        .schema-faq .schema-faq-question-container.js-active .schema-faq-question::before {
            content: "–"
        }

        .schema-faq .schema-faq-question-container.js-active .schema-faq-answer {
            opacity: 1
        }

        .schema-faq .schema-faq-question-container .schema-faq-question {
            cursor: pointer;
            position: relative;
            display: block;
            font-size: 20px;
            font-weight: 700;
            font-style: italic;
            font-family: var(--font-family-3);
            text-transform: uppercase;
            letter-spacing: -.25px;
            color: #6a6a6a
        }

            .schema-faq .schema-faq-question-container .schema-faq-question::before {
                content: "+";
                position: absolute;
                top: 50%;
                right: calc(100% + 12px);
                transform: translateY(-50%);
                color: var(--sponsor-red);
                font-style: italic;
                font-size: 20px
            }

        .schema-faq .schema-faq-question-container .schema-faq-answer {
            overflow: hidden;
            margin-top: 0;
            opacity: 0;
            transition: all .25s
        }

            .schema-faq .schema-faq-question-container .schema-faq-answer .schema-faq-content {
                padding-top: 1rem
            }

.iframe-wrapper {
    position: relative
}

    .iframe-wrapper::before {
        content: "";
        display: block;
        padding-top: 56.25%
    }

@media only screen and (max-width:767px) {
    .iframe-wrapper::before {
        content: "";
        display: block;
        padding-top: 160%
    }
}

.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.post-footer {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

@media(min-width:30em) {
    .post-footer {
        flex-direction: row;
        justify-content: space-between
    }
}

.accordion-component .schema-faq-section {
    padding: 0 !important
}

.accordion-component .faq-category-name {
    font-size: 30px !important
}

.accordion-component .schema-faq-question {
    font-size: 25px !important
}

.boxes {
    position: relative;
    margin: 70px 0 90px;
    --grid-min: 300px;
    -gap: 2em;
    grid-template-rows: 200px
}

    .boxes .box {
        position: relative;
        padding: 2em 1em;
        grid-row: var(--row);
        background: #fff;
        border-radius: .5em;
        box-shadow: 0 2px 4px rgb(0 0 0 / .1), 0 11px 20px rgb(0 0 0 / .4);
        text-align: center;
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-between
    }

        .boxes .box .button-group {
            --grid-min: 100%
        }

.icon-link {
    font-weight: 700;
    font-family: var(--font-family-3);
    transition: all .25s
}

@media(hover:hover) {
    .icon-link:hover {
        transform: scale(.95)
    }
}

.icon-link .icon {
    color: var(--glow);
    font-size: 28px;
    -webkit-margin-after: 5px;
    margin-block-end: 5px
}

.anchor-link-indicator {
    position: absolute;
    z-index: 1;
    opacity: .75;
    color: var(--color);
    transition: all .25s
}

.schema-faq-section .anchor-link-indicator {
    right: calc(100% + 1rem);
    margin-top: 10px
}

.gr-section .anchor-link-indicator {
    top: 30px;
    left: 70px
}

@media(hover:hover) {
    .anchor-link-indicator:hover {
        opacity: 1
    }
}

.event-header {
    position: relative
}

    .event-header .gr-title {
        text-align: left !important
    }

    .event-header .image {
        --h: var(--event-header, 400px);
        min-height: calc(var(--h) + 60px + var(--header-offset) - var(--offset));
        display: flex
    }

        .event-header .image.is-fw {
            width: 100%
        }

        .event-header .image.video {
            width: 100%
        }

            .event-header .image.video::after {
                padding-bottom: calc(var(--vh)/var(--vw)*100%)
            }

        .event-header .image picture {
            width: 100%;
            -o-object-fit: cover;
            object-fit: cover;
            -o-object-position: center 10%;
            object-position: center 10%
        }

            .event-header .image picture img {
                height: 100%
            }

.event-header__top {
    display: grid
}

@media(max-width:50em) {
    .event-header__top {
        height: 50vh
    }

        .event-header__top > .image {
            height: 100%
        }
}

@media(min-width:992px) {
    .event-header__new {
        display: none
    }
}

.event-header__new .image {
    -webkit-clip-path: var(--clip-badge);
    clip-path: var(--clip-badge);
    margin-bottom: -30px
}

.event-header h1 {
    position: absolute;
    bottom: 4rem;
    left: 4rem;
    z-index: 10;
    color: #fff;
    line-height: .75em;
    max-width: 560px;
    filter: drop-shadow(0 2px 4px rgb(0 0 0 / .2))
}

@media(max-width:50em) {
    .event-header h1 {
        bottom: 2rem;
        left: 2rem
    }
}

.event-header .event-date {
    word-spacing: normal;
    font-size: .4em
}

.single-events .intro header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem
}

    .single-events .intro header h3 {
        margin: 0
    }

.single-events .intro .booking-partner {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    flex-direction: column;
    align-items: center;
    gap: 1rem
}

@media(min-width:50em) {
    .single-events .intro .booking-partner {
        flex-direction: row;
        gap: .5rem
    }
}

.single-events .intro .booking-partner__logo {
    height: 23px;
    margin: 0 0 0 5px
}

.event-tabs {
    position: relative
}

    .event-tabs .event-tab-content {
        position: relative;
        display: none
    }

        .event-tabs .event-tab-content h1 {
            margin-bottom: .5em
        }

        .event-tabs .event-tab-content.js-active {
            display: block
        }

            .event-tabs .event-tab-content.js-active[data-tab=reward] .event-tab-trigger[data-tab=reward] {
                color: var(--glow);
                background: var(--shadow)
            }

@media(min-width:50em) {
    .event-tabs .event-tab-content.js-active[data-tab=reward] .event-tab-trigger[data-tab=reward] {
        background: #fff
    }

        .event-tabs .event-tab-content.js-active[data-tab=reward] .event-tab-trigger[data-tab=reward] i {
            color: #fff;
            background: #373741
        }

        .event-tabs .event-tab-content.js-active[data-tab=reward] .event-tab-trigger[data-tab=reward] div {
            color: #373741
        }
}

.event-tabs .event-tab-content.js-active[data-tab=run] .event-tab-trigger[data-tab=run] {
    color: var(--glow);
    background: var(--shadow)
}

@media(min-width:50em) {
    .event-tabs .event-tab-content.js-active[data-tab=run] .event-tab-trigger[data-tab=run] {
        background: #fff
    }

        .event-tabs .event-tab-content.js-active[data-tab=run] .event-tab-trigger[data-tab=run] i {
            color: #fff;
            background: #373741
        }

        .event-tabs .event-tab-content.js-active[data-tab=run] .event-tab-trigger[data-tab=run] div {
            color: #373741
        }
}

.event-tabs .event-tab-content.js-active[data-tab=route] .event-tab-trigger[data-tab=route] {
    color: var(--glow);
    background: var(--shadow)
}

@media(min-width:50em) {
    .event-tabs .event-tab-content.js-active[data-tab=route] .event-tab-trigger[data-tab=route] {
        background: #fff
    }

        .event-tabs .event-tab-content.js-active[data-tab=route] .event-tab-trigger[data-tab=route] i {
            color: #fff;
            background: #373741
        }

        .event-tabs .event-tab-content.js-active[data-tab=route] .event-tab-trigger[data-tab=route] div {
            color: #373741
        }
}

.event-tabs .event-tab-content.js-active[data-tab=charity] .event-tab-trigger[data-tab=charity] {
    color: var(--glow);
    background: var(--shadow)
}

@media(min-width:50em) {
    .event-tabs .event-tab-content.js-active[data-tab=charity] .event-tab-trigger[data-tab=charity] {
        background: #fff
    }

        .event-tabs .event-tab-content.js-active[data-tab=charity] .event-tab-trigger[data-tab=charity] i {
            color: #fff;
            background: #373741
        }

        .event-tabs .event-tab-content.js-active[data-tab=charity] .event-tab-trigger[data-tab=charity] div {
            color: #373741
        }
}

.event-tabs-triggers {
    display: flex
}

@media(min-width:50em) {
    .event-tabs-triggers {
        justify-content: center;
        margin: 2rem 0 0
    }

        .event-tabs-triggers.js-fixed {
            position: fixed;
            bottom: 0;
            z-index: 1000;
            width: 100%;
            left: 0;
            padding: 1em 0;
            background: var(--shadow)
        }
}

@media(max-width:50em) {
    .event-tabs-triggers {
        position: fixed;
        left: 4vw;
        bottom: calc(env(safe-area-inset-bottom) + 54px + 10px);
        z-index: 99
    }
}

@media(hover:hover) {
    .event-tabs-triggers > .btn {
        transition: all .25s
    }

        .event-tabs-triggers > .btn:hover {
            transform: translateY(-10%);
            color: #fff;
            background-color: var(--accent)
        }
}

.event-tabs-triggers .event-tab-trigger {
    cursor: pointer;
    width: 50px;
    height: 50px;
    color: #fff;
    background: #fff;
    border-radius: 100%;
    font-size: 22px
}

@media(min-width:50em) {
    .event-tabs-triggers .event-tab-trigger {
        width: 140px;
        height: 50px;
        border-radius: 50px;
        display: flex;
        align-items: center;
        background: #373741
    }

        .event-tabs-triggers .event-tab-trigger > * {
            display: grid;
            place-items: center
        }

        .event-tabs-triggers .event-tab-trigger i {
            border-radius: 100%;
            width: 50px;
            height: 50px;
            background: var(--white);
            color: #373741
        }

        .event-tabs-triggers .event-tab-trigger div {
            font-family: var(--font-family-3);
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: -.05em;
            font-size: 1rem;
            flex: 1;
            margin-right: 10px
        }
}

@media(max-width:30em) {
    .event-tabs-triggers .event-tab-trigger {
        width: 40px;
        height: 40px
    }
}

.event-tabs-triggers .event-tab-trigger + * {
    margin-left: 10px
}

@media(max-width:30em) {
    .event-tabs-triggers .event-tab-trigger + * {
        margin-left: 5px
    }
}

.event-tabs-triggers .event-tab-trigger + .has-image {
    display: inline-flex;
    height: 50px;
    padding: 0
}

    .event-tabs-triggers .event-tab-trigger + .has-image img {
        -o-object-fit: contain;
        object-fit: contain;
        width: auto;
        max-height: 100%
    }

.event-tabs-triggers .event-tab-trigger.js-active {
    color: var(--glow);
    background: var(--shadow)
}

@media(min-width:50em) {
    .event-tabs-triggers .event-tab-trigger.js-active {
        background: #fff
    }

        .event-tabs-triggers .event-tab-trigger.js-active i {
            background: var(--glow)
        }

        .event-tabs-triggers .event-tab-trigger.js-active span {
            color: var(--shadow)
        }
}

@media(hover:hover) {
    .event-tabs-triggers .event-tab-trigger {
        transition: all .25s
    }

        .event-tabs-triggers .event-tab-trigger:hover {
            transform: translateY(-10%)
        }
}

.event-tabs-triggers__new {
    background-color: #859195;
    width: 100%;
    position: relative;
    left: 0;
    display: flex;
    gap: 1px
}

    .event-tabs-triggers__new a,
    .event-tabs-triggers__new .modal-trigger {
        flex-grow: 1;
        text-transform: uppercase;
        font-style: italic;
        font-weight: 800;
        font-family: var(--font-family-3);
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 16px 0;
        background-color: #0d232c
    }

        .event-tabs-triggers__new a.js-active,
        .event-tabs-triggers__new .modal-trigger.js-active {
            color: #fff !important
        }

    .event-tabs-triggers__new .event-tab-trigger[data-tab=run] {
        background-color: #0d232c !important;
        color: #fff !important
    }

    .event-tabs-triggers__new .event-tab-trigger[data-tab=route] {
        background-color: #0d232c !important;
        color: #fff !important
    }

    .event-tabs-triggers__new .event-tab-trigger[data-tab=reward] {
        background-color: #0d232c !important;
        color: #fff !important
    }

    .event-tabs-triggers__new .event-tab-trigger {
        color: #fff !important
    }

        .event-tabs-triggers__new .event-tab-trigger.js-active {
            color: #ebff00 !important
        }

    .event-tabs-triggers__new a:not(.manage-personalisation-link):not(.btn):not(.event-tab-trigger):not(.page-number):not(.prev):not(.next):not(.gr-fab),
    .event-tabs-triggers__new .modal-trigger {
        background-color: #ebff00;
        color: #0d232c !important
    }

@media(max-width:50em) {
    .event-tabs-triggers__new {
        position: fixed;
        bottom: calc(env(safe-area-inset-bottom) + 54px);
        z-index: 99
    }
}

.event-tabs .intro__new {
    margin-top: 60px
}

    .event-tabs .intro__new .gr-badge {
        width: 100%
    }

        .event-tabs .intro__new .gr-badge .gr-badge-bckgrd {
            -webkit-clip-path: var(--clip-bottom);
            clip-path: var(--clip-bottom);
            background-color: var(--sponsor-red);
            color: #fff
        }

    .event-tabs .intro__new .gr-title {
        margin-bottom: 0;
        font-size: max(24px, min(10vmin, 30px));
        line-height: .75;
        width: 100%;
        text-align: center
    }

        .event-tabs .intro__new .gr-title i {
            display: block;
            font-size: 24px;
            margin-bottom: 10px
        }

        .event-tabs .intro__new .gr-title .event-date {
            font-size: 80%;
            margin-top: .5rem
        }

    .event-tabs .intro__new .run-title.intro-title {
        display: none
    }

@media(min-width:767px) {
    .event-tabs .intro__new {
        margin-top: 0
    }

        .event-tabs .intro__new .gr-title {
            display: none
        }

        .event-tabs .intro__new .run-title.intro-title {
            display: block;
            color: #fff
        }
}

.event-tabs .intro__new .intro-entry-button {
    background-color: #142a95 !important;
    color: #fff !important;
    text-transform: uppercase;
    font-style: italic;
    font-weight: 800;
    font-family: var(--font-family-3);
    background-color: #0d232c;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    padding: 14px 0;
    display: flex;
    width: 100px
}

@media(min-width:767px) {
    .event-tabs .intro__new .intro-entry-button {
        display: none
    }
}

.timetable {
    margin: 4rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem
}

@media(max-width:70em) {
    .timetable {
        display: block
    }

    .timetable-item {
        margin-bottom: 1rem
    }

    .timetable-item__right,
    .timetable-item__left {
        padding: 1rem !important
    }
}

.timetable-item {
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
    border-radius: 1.25em;
    display: flex
}

.timetable-item__right {
    padding: 2rem
}

.timetable-item__left {
    background-color: var(--glow);
    border-top-left-radius: 1.25em;
    border-bottom-left-radius: 1.25em;
    font-style: italic;
    padding: 2rem;
    display: flex;
    align-items: center
}

.closures-item {
    --flow: 1em;
    position: relative;
    padding: 25px 30px;
    border-radius: .5em;
    color: var(--blue-shadow);
    background: #fff;
    text-align: left;
    box-shadow: 0 2px 4px rgb(0 0 0 / .1), 0 11px 20px rgb(0 0 0 / .4)
}

    .closures-item h5 {
        font-style: italic;
        font-size: 22px;
        margin: 0
    }

@media(max-width:30em) {
    .closures-item {
        max-width: 100%
    }

        .closures-item + * {
            margin-top: 1em
        }
}

@media(max-width:50em) {
    .gallery .swiper {
        margin-top: 0 !important
    }

        .gallery .swiper .swiper-navigation {
            display: none
        }
}

@media(min-width:50em) {
    .gallery .swiper {
        width: 100%;
        margin: auto
    }

        .gallery .swiper .swiper-container {
            border-radius: 1.25em
        }

        .gallery .swiper .swiper-navigation {
            left: -50px;
            right: -50px
        }
}

.gallery .swiper-slide {
    display: flex
}

    .gallery .swiper-slide img {
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        aspect-ratio: 5/3;
        background-color: rgb(255 255 255 / .05);
        border-radius: 1.25em
    }

.gr-slider {
    margin: 3rem 0 0
}

    .gr-slider .swiper-wrapper {
        align-items: flex-start
    }

    .gr-slider .swiper-slide > .img {
        aspect-ratio: 1/1;
        background-color: #fff;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        background-origin: content-box;
        border-radius: 7px;
        padding: .5em;
        box-shadow: 0 2px 4px rgb(0 0 0 / .08), 0 11px 20px rgb(0 0 0 / .24)
    }

.tabs .tab-triggers {
    display: flex;
    justify-content: flex-start
}

    .tabs .tab-triggers > * {
        cursor: pointer;
        color: var(--shadow);
        background: #fff;
        border-radius: 50px;
        padding: .5em 1em;
        font-size: 16px;
        font-family: var(--font-family-3);
        font-weight: 700;
        text-transform: uppercase
    }

        .tabs .tab-triggers > *.js-active {
            background-color: #142a95;
            color: #fff
        }

        .tabs .tab-triggers > * + * {
            margin-left: 1em
        }

.tabs .tab-content {
    position: relative;
    -webkit-margin-before: 2em;
    margin-block-start: 2em
}

    .tabs .tab-content > * {
        display: none
    }

        .tabs .tab-content > *.js-active {
            display: block
        }

.course .tab-content-item {
    position: relative
}

    .course .tab-content-item figure {
        border-radius: 1.25rem;
        overflow: hidden
    }

        .course .tab-content-item figure img {
            width: 100%;
            display: block
        }

        .course .tab-content-item figure.zoomed {
            position: fixed;
            top: 50%;
            left: 50%;
            z-index: 100;
            transform: translate(-50%, -50%) scale(0);
            max-width: 1140px;
            transition: all .5s;
            max-height: 90vh
        }

            .course .tab-content-item figure.zoomed.js-active {
                transform: translate(-50%, -50%) scale(1)
            }

        .course .tab-content-item figure .close {
            cursor: pointer;
            position: absolute;
            top: .5em;
            right: .5em;
            font-size: 3rem;
            z-index: 10;
            width: 50px;
            height: 50px;
            padding: .5rem;
            border-radius: 50%;
            background: var(--shadow)
        }

    .course .tab-content-item .course-actions {
        display: flex;
        justify-content: flex-start
    }

        .course .tab-content-item .course-actions > * + * {
            margin-left: .5em
        }

@media(min-width:70em) {
    .testimonials .swiper {
        padding-top: 6rem
    }
}

.testimonials .swiper-wrapper {
    align-items: stretch
}

    .testimonials .swiper-wrapper .swiper-slide {
        height: auto
    }

        .testimonials .swiper-wrapper .swiper-slide:nth-child(odd) {
            --icon-color: var(--sponsor-red)
        }

        .testimonials .swiper-wrapper .swiper-slide:nth-child(even) {
            --icon-color: var(--blue)
        }

.testimonials .swiper-navigation {
    top: 6rem;
    right: 0rem;
    left: unset
}

@media(max-width:70em) {
    .testimonials .swiper-navigation {
        display: none
    }
}

.testimonials .swiper-navigation i {
    color: #fff
}

.testimonials .swiper-navigation .next {
    margin-left: 1rem
}

.testimonials .testimonial .quote {
    font-size: 20px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: -1px;
    text-align: left;
    text-transform: uppercase
}

.testimonials .testimonial .name {
    font-size: 25px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -1px;
    text-align: left;
    text-transform: uppercase;
    color: var(--icon-color)
}

.filters {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: 0
}

    .filters .filter-buttons {
        margin-left: 1rem
    }

@media(max-width:600px) {
    .filters {
        position: relative;
        justify-content: flex-start
    }

        .filters .filter-buttons {
            margin-left: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 10px
        }
}

.filters .selects {
    display: flex;
    justify-content: center
}

.filters form {
    display: flex;
    align-items: center
}

@media(max-width:30em) {
    .filters .gr-title {
        display: none
    }
}

.filters > * + * {
    margin-left: 1em
}

.offers .card {
    max-width: 400px
}

    .offers .card .run-title {
        margin-bottom: 1.5rem
    }

.offers .offer-logo {
    margin-left: auto;
    margin-right: auto
}

.modal.offers .offer-logo {
    max-width: 480px
}

.intro-logo {
    max-height: 90px;
    max-width: 160px
}

.intro-logo__new {
    margin: 0 auto
}

.charities .charity a {
    filter: unset !important
}

.event-charities-wrapper .modal h3 {
    color: var(--blue) !important
}

.event-charities-wrapper .charities.is-list {
    padding: .5rem 0
}

    .event-charities-wrapper .charities.is-list .charity {
        display: flex;
        align-items: flex-start;
        margin-bottom: 2rem
    }

@media only screen and (max-width:798px) {
    .event-charities-wrapper .charities.is-list .charity {
        display: block
    }
}

.event-charities-wrapper .charities.is-list .charity:last-child {
    margin-bottom: 0
}

.event-charities-wrapper .charities.is-list .charity__logo {
    width: 30%
}

    .event-charities-wrapper .charities.is-list .charity__logo img {
        max-width: 250px
    }

@media only screen and (max-width:798px) {
    .event-charities-wrapper .charities.is-list .charity__logo {
        width: 100%;
        margin-bottom: 1rem
    }

        .event-charities-wrapper .charities.is-list .charity__logo img {
            margin: auto
        }
}

.event-charities-wrapper .charities.is-list .charity__description {
    width: 70%;
    text-align: left
}

@media only screen and (max-width:798px) {
    .event-charities-wrapper .charities.is-list .charity__description {
        width: 100%
    }
}

.event-charities-wrapper .charities.is-list .charity__description-copy {
    margin-bottom: 1rem
}

.event-charities-wrapper .charities.is-grid {
    display: flex;
    flex-wrap: wrap;
    margin: -1rem;
    padding: 3rem 0;
    --cols-1: calc(100% - 2rem);
    --cols-2: calc(50% - 2rem);
    --cols-3: calc(33.33% - 2rem);
    --cols-4: calc(25% - 2rem);
    --cols-5: calc(20% - 2rem);
    --cols-6: calc(16.66% - 2rem)
}

    .event-charities-wrapper .charities.is-grid .charity {
        display: block;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin: 1rem;
        position: relative
    }

        .event-charities-wrapper .charities.is-grid .charity:before {
            content: "";
            width: 1px;
            margin-left: -1px;
            float: left;
            height: 0;
            padding-top: 80%
        }

        .event-charities-wrapper .charities.is-grid .charity:after {
            content: "";
            display: table;
            clear: both
        }

        .event-charities-wrapper .charities.is-grid .charity a {
            height: 100%;
            width: 100%;
            position: absolute;
            top: 0;
            left: 0
        }

    .event-charities-wrapper .charities.is-grid.is-large .charity {
        width: var(--cols-4)
    }

@media only screen and (max-width:991px) {
    .event-charities-wrapper .charities.is-grid.is-large .charity {
        width: var(--cols-3)
    }
}

@media only screen and (max-width:767px) {
    .event-charities-wrapper .charities.is-grid.is-large .charity {
        width: var(--cols-2)
    }
}

.event-charities-wrapper .charities.is-grid.is-medium .charity {
    width: var(--cols-5)
}

@media only screen and (max-width:991px) {
    .event-charities-wrapper .charities.is-grid.is-medium .charity {
        width: var(--cols-4)
    }
}

@media only screen and (max-width:767px) {
    .event-charities-wrapper .charities.is-grid.is-medium .charity {
        width: var(--cols-3)
    }
}

.event-charities-wrapper .charities.is-grid.is-small .charity {
    width: var(--cols-6)
}

@media only screen and (max-width:991px) {
    .event-charities-wrapper .charities.is-grid.is-small .charity {
        width: var(--cols-5)
    }
}

@media only screen and (max-width:767px) {
    .event-charities-wrapper .charities.is-grid.is-small .charity {
        width: var(--cols-4)
    }
}

.event header {
    --color: var(--shadow);
    color: var(--shadow);
    display: flex;
    justify-content: space-between
}

    .event header svg {
        width: 102px;
        height: 35px
    }

body.page-template-template-events .filters {
    z-index: 15
}

    body.page-template-template-events .filters .btn {
        margin-left: .5em
    }

body.page-template-template-events .posts .no-results {
    margin-bottom: 5rem;
    color: #fff
}

body.page-template-template-events .posts .adv-card {
    height: 100%
}

.prices {
    margin: 1em 0 0;
    text-align: center
}

    .prices.grouped-prices {
        display: flex;
        align-items: center;
        flex-direction: column
    }

        .prices.grouped-prices .price:not(:nth-child(1)):not(:nth-child(2)) {
            font-size: clamp(1.125rem, 5vmin, 1.688rem);
            color: rgb(255 255 255 / .7098039216);
            position: relative
        }

            .prices.grouped-prices .price:not(:nth-child(1)):not(:nth-child(2))::before {
                content: "";
                display: block;
                position: absolute;
                top: calc(50% - 1.5px);
                left: 0;
                height: 3px;
                width: 100%;
                background: #fff;
                transform: rotate(-7deg)
            }

    .prices .price {
        color: #fff;
        font-size: clamp(1.5rem, 5vmin, 2.25rem);
        line-height: 1.2;
        font-style: italic;
        font-weight: 700;
        font-family: var(--font-family-3);
        text-transform: uppercase;
        letter-spacing: -.01em
    }

.how-it-works div {
    display: flex;
    align-items: center;
    text-align: left;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto
}

.how-it-works span {
    color: #fff;
    font-family: var(--font-family-3);
    font-weight: 900;
    font-size: clamp(32px, 10vmin, 45px);
    font-style: italic;
    line-height: 80%;
    letter-spacing: -.05em;
    text-transform: uppercase;
    margin-right: 1rem
}

.under-prices-text {
    color: #fff;
    font-size: clamp(1.125rem, 5vmin, 1.688rem);
    line-height: 1.2;
    font-style: italic;
    font-weight: 700;
    font-family: var(--font-family-3);
    text-transform: uppercase;
    letter-spacing: -.01em;
    margin: 1em 0 0;
    text-align: center
}

.charity-search__wrapper {
    padding: 1.5rem 0
}

.charity-search__copy {
    margin-bottom: 2rem
}

.charity-search__form {
    display: flex;
    justify-content: center
}

    .charity-search__form .gr-input {
        margin-right: 1rem
    }

    .charity-search__form .btn {
        align-self: start
    }

@media only screen and (max-width:767px) {
    .charity-search__form {
        display: block
    }

        .charity-search__form .gr-input {
            display: block
        }
}

.charity-search__results {
    padding: 2rem 0
}

    .charity-search__results .results {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 1rem;
        font-size: 1rem;
        text-align: center
    }

        .charity-search__results .results p {
            white-space: no-wrap;
            margin: 10px 0
        }

@media only screen and (max-width:991px) {
    .charity-search__results .results {
        grid-template-columns: 1fr;
        grid-gap: 0rem
    }
}

.charity-search__message {
    padding: 2rem 0
}

.hidden {
    display: none !important
}

@media(min-width:767px) {
    .md-flex {
        display: flex !important
    }
}

@media(min-width:767px) {
    .md-none {
        display: none !important
    }
}

@media(min-width:767px) {
    .md-block {
        display: block !important
    }
}

@media(min-width:767px) {
    .md-flex-end {
        display: flex !important;
        justify-content: flex-end;
        align-items: center
    }
}

.event__new-style .gr-content {
    text-align: center
}

.gr-content p .event-tab-trigger {
    color: var(--blue-glow);
    filter: brightness(.9)
}

    .gr-content p .event-tab-trigger:hover {
        text-decoration: underline
    }

#racecheck-widget,
.racecheck-widget-iframe {
    right: unset !important;
    left: unset !important
}

@media only screen and (max-width:767px) {

    #racecheck-widget,
    .racecheck-widget-iframe {
        bottom: calc(env(safe-area-inset-bottom) + 96px) !important;
        top: auto;
        max-height: 100vh;
        z-index: 140 !important;
        right: 0 !important
    }
}

.gr-racecheck-carousel {
    margin: 0 !important;
    text-align: center
}

@media only screen and (max-width:479px) {
    .gr-racecheck-carousel iframe {
        min-height: 350px
    }
}

.event-sticky-nav {
    background-color: var(--blue);
    color: #fff;
    position: fixed;
    top: var(--header-height);
    width: 100vw;
    left: 0;
    z-index: 98;
    transition: all 200ms ease-in-out;
    transition-delay: 100ms
}

@media(max-width:70em) {
    .event-sticky-nav {
        display: none
    }
}

.event-sticky-nav__inner {
    display: flex;
    justify-content: space-between;
    max-width: var(--outer-container-width);
    margin: auto;
    padding: 1rem 2rem
}

.event-sticky-nav:not(.is-stuck) {
    transform: translateY(-100%)
}

.event-nav {
    background-color: var(--blue);
    color: #fff
}

@media(max-width:70em) {
    .event-nav {
        display: none
    }
}

.event-nav__inner {
    display: flex;
    justify-content: space-between;
    max-width: 1400px;
    margin: auto;
    height: 72px
}

.event-nav__entry {
    padding: 1rem 2rem
}

    .event-nav__entry img {
        height: 40px
    }

.event-nav__tabs {
    display: flex;
    align-items: center;
    font-style: italic
}

.event-nav__tabs-title {
    margin-right: 3rem;
    font-size: 20px
}

.event-nav__tabs ul {
    height: 100%;
    display: flex;
    align-items: center
}

    .event-nav__tabs ul li {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 1.5rem
    }

        .event-nav__tabs ul li.is-selected {
            background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
            color: #000
        }

        .event-nav__tabs ul li h6 {
            display: inline-block;
            font-size: 20px
        }

        .event-nav__tabs ul li i {
            font-size: 1.25rem;
            margin-right: .5rem
        }

.event-prices {
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%)
}

.event-prices__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 800;
    font-family: var(--font-family-3)
}

@media(max-width:70em) {
    .event-prices__inner {
        padding: 0;
        background: none;
        display: block;
        font-size: 27px
    }

        .event-prices__inner > div {
            background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
            padding: 1rem
        }
}

.event-prices.no-prices .event-prices__inner {
    justify-content: flex-end;
    max-width: 1400px;
    margin: auto
}

.event-prices__item {
    padding: 1rem 2rem
}

@media(max-width:70em) {
    .event-prices__item.hide-on-mobile {
        display: none
    }
}

.event-prices__spacer {
    background: linear-gradient(180deg, #dfdfdf .67%, #ffffff 100%);
    height: 64px;
    width: 2px
}

@media(max-width:70em) {
    .event-prices__spacer {
        display: none
    }
}

.event-prices em {
    color: var(--sponsor-red)
}

.event-prices small {
    font-size: 16px;
    display: flex;
    flex-direction: column;
    line-height: 1;
    margin-right: .5rem;
    text-align: right
}

.event-prices__groups {
    display: flex;
    align-items: center
}

    .event-prices__groups > div:nth-child(3) {
        opacity: .75
    }

        .event-prices__groups > div:nth-child(3) > span {
            position: relative
        }

            .event-prices__groups > div:nth-child(3) > span::before {
                content: "";
                display: block;
                position: absolute;
                top: calc(50% - 1.5px);
                left: -7.5%;
                height: 4px;
                width: 115%;
                background: #000;
                transform: rotate(-27deg)
            }

.event-prices__group {
    display: flex;
    align-items: center;
    margin-left: 2rem
}

@media(max-width:70em) {
    .event-prices em {
        white-space: nowrap
    }

    .event-prices small {
        font-size: 12px;
        margin-right: .25rem
    }

    .event-prices__group {
        margin-left: .75rem
    }
}

.event-mobile-nav {
    background-color: var(--blue);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 98;
    display: flex
}

@media(min-width:70em) {
    .event-mobile-nav {
        display: none
    }
}

.event-mobile-nav h6 {
    font-size: 15px;
    color: #fff
}

.event-mobile-nav .event-scroll.is-selected {
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%)
}

    .event-mobile-nav .event-scroll.is-selected h6 {
        color: #000
    }

.event-mobile-nav > * {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0
}

    .event-mobile-nav > *:nth-last-child(n+3) {
        border-right: 1px solid #fff
    }

    .event-mobile-nav > *:last-child {
        background-color: #d7e54b
    }

        .event-mobile-nav > *:last-child h6 {
            color: var(--blue)
        }

.event-body {
    background-color: #f2f2f2
}

    .event-body > .event-body-intro > .gr-section:first-child .gr-badge-bckgrd {
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }

.card-grid {
    display: flex;
    flex-wrap: wrap;
    margin: var(--flow, 1em) -.25rem
}

.card-grid__card {
    background-color: #fff;
    padding: 1rem;
    text-align: center;
    border-radius: 1.25em;
    margin: .25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

    .card-grid__card:nth-child(1),
    .card-grid__card:nth-child(2),
    .card-grid__card:nth-child(3),
    .card-grid__card:nth-child(4) {
        width: calc(25% - .5rem)
    }

    .card-grid__card:nth-child(5),
    .card-grid__card:nth-child(6),
    .card-grid__card:nth-child(7) {
        width: calc(33.33% - .5rem)
    }

    .card-grid__card > div:nth-child(1) {
        margin-bottom: 1rem
    }

@media(max-width:1000px) {

    .card-grid__card:nth-child(1),
    .card-grid__card:nth-child(2) {
        width: calc(50% - .5rem)
    }

    .card-grid__card:nth-child(3),
    .card-grid__card:nth-child(4),
    .card-grid__card:nth-child(5) {
        width: calc(33.33% - .5rem)
    }

    .card-grid__card:nth-child(6),
    .card-grid__card:nth-child(7) {
        width: calc(50% - .5rem)
    }
}

@media(max-width:600px) {

    .card-grid__card:nth-child(1),
    .card-grid__card:nth-child(2),
    .card-grid__card:nth-child(3),
    .card-grid__card:nth-child(4),
    .card-grid__card:nth-child(5),
    .card-grid__card:nth-child(6) {
        width: calc(50% - .5rem)
    }

    .card-grid__card:nth-child(7) {
        width: calc(100% - .5rem)
    }
}

.card-grid__card h4 {
    font-size: clamp(1.125rem, -0.6598rem + 3.3557vw, 1.4375rem)
}

.card-grid__card .btn {
    width: 100%;
    font-size: 17px;
    min-height: 34px
}

@media(max-width:600px) {
    .card-grid__card .btn {
        font-size: 14px;
        min-height: 30px
    }
}

.card-grid__icon {
    display: flex;
    justify-content: center;
    height: 35px;
    margin-bottom: 1rem
}

@media(max-width:1000px) {
    .card-grid__icon {
        height: 25px
    }
}

.numbered-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2.5rem
}

@media(max-width:70em) {
    .numbered-list {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:50em) {
    .numbered-list {
        display: block
    }
}

.numbered-list__item {
    flex: 1;
    text-align: left
}

@media(max-width:50em) {
    .numbered-list__item {
        margin-bottom: 4rem
    }
}

.numbered-list__item-number {
    background-color: #fff;
    border-radius: 100%;
    width: 150px;
    aspect-ratio: 1/1;
    margin-bottom: 2rem;
    color: var(--blue);
    font-size: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    font-weight: 800;
    font-family: var(--font-family-3);
    font-style: italic
}

.numbered-list__item-title {
    margin-bottom: 1rem
}

.numbered-list__item-text {
    margin-bottom: 2rem
}

.numbered-list__item .btn {
    width: 100%
}

.force-rounded .gr-section {
    border-radius: 1.25rem !important
}

@media screen and (max-width:1119px) {
    body.single-events #fc_frame {
        bottom: 55px !important
    }
}

@media screen and (max-width:800px) {
    body.single-solo #fc_frame {
        bottom: 55px !important
    }
}

#listing .grid-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr
}

@media screen and (max-width:1119px) {
    #listing .grid-4 {
        grid-template-columns: 1fr 1fr 1fr
    }
}

@media screen and (max-width:800px) {
    #listing .grid-4 {
        grid-template-columns: 1fr 1fr
    }
}

@media screen and (max-width:537px) {
    #listing .grid-4 {
        grid-template-columns: 1fr
    }
}

#listing .adv-card {
    height: unset !important
}

#listing .filters .select {
    display: flex;
    align-items: center;
    min-height: 40px;
    font-family: var(--font-family-3);
    font-style: unset;
    font-size: 1.1rem;
    text-transform: uppercase
}

.event-price-extra {
    background-color: #373741;
    padding: 1.5rem;
    color: #fff;
    font-family: var(--font-family-3);
    font-size: 24px;
    text-transform: uppercase;
    font-style: italic;
    font-weight: 700
}

.event-price-extra__content p {
    margin-bottom: 1rem
}

.event-price-extra__content .btn {
    width: 100%
}

.ldt-btn {
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    border-radius: 2em;
    min-height: 40px;
    text-transform: uppercase;
    font-size: 1.2rem;
    line-height: 1rem;
    padding: 0 1.5em;
    font-weight: 700;
    text-decoration: none;
    font-family: var(--font-family-3);
    color: #142a95;
    background: #ebff00;
    font-style: normal
}

    .ldt-btn > img {
        height: 23px
    }

/*.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100;
    width: 90vw;
    max-width: 720px;
    transform: translate(-50%, 100%);
    filter: drop-shadow(0 2px 4px rgb(0 0 0 / .32)) drop-shadow(0 4px 16px rgb(0 0 0 / .24));
    pointer-events: none;
    opacity: 0;
    transition: all .3s cubic-bezier(.6, .04, .98, .34)
}*/

    .modal.charities,
    .modal.offers {
        background-color: #fff;
        border-radius: .5em;
        padding: 2em 3em 2em 2em;
        text-align: left
    }

        .modal.charities img,
        .modal.offers img {
            margin: auto
        }

        .modal.charities a,
        .modal.offers a {
            background-color: #142a95;
            color: #fff
        }

            .modal.charities a:hover,
            .modal.offers a:hover {
                border: 2px solid #142a95;
                color: #142a95;
                background-color: #fff;
                box-shadow: none
            }

    .modal.js-active {
        pointer-events: auto;
        opacity: 1;
        transform: translate(-50%, -50%);
        transition-timing-function: cubic-bezier(.08, .82, .17, 1)
    }

/*    .modal .modal-close {
        cursor: pointer;
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 20;
        width: 40px;
        height: 40px;
        color: var(--blue-glow);
        background: #fff;
        transition: all .25s cubic-bezier(.79, .14, .15, .86)
    }*/

@media(hover:hover) {
    .modal .modal-close:hover {
        transform: scale(1.1)
    }
}

.modal .modal-content h3 {
    color: var(--accent)
}

.modal#entry-links {
    padding: 2em 1em 1em;
    background: #fff;
    border-radius: .5em
}

.gr-adv-banner {
    position: relative
}

    .gr-adv-banner img {
        width: 100%;
        border-radius: 1.25em
    }

.swiper-slide .gr-adv-wrap,
.swiper-slide .adv-card {
    width: 100%;
    max-width: 100%
}

.gr-adv-mpu {
    position: relative;
    margin-top: 2em;
    order: 4
}

@media only screen and (min-width:768px) {
    .gr-adv-mpu {
        position: relative;
        float: right;
        margin: 0 0 2rem 2rem;
        max-width: 300px
    }
}

@media only screen and (max-width:800px) {
    .gr-adv-mpu {
        display: none
    }
}

.gr-adv-mpu img {
    width: 100%
}

.newsletter-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 125;
    width: 90vw;
    max-width: 1200px;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 2px 4px rgb(0 0 0 / .32)) drop-shadow(0 4px 16px rgb(0 0 0 / .24));
    transition: all .3s cubic-bezier(.6, .04, .98, .34)
}

    .newsletter-popup .container,
    .newsletter-popup #cm.bar #c-inr,
    #cm.bar .newsletter-popup #c-inr {
        max-width: 100%
    }

        .newsletter-popup .container > .gr-content,
        .newsletter-popup #cm.bar #c-inr > .gr-content,
        #cm.bar .newsletter-popup #c-inr > .gr-content {
            padding: 30px 15px 20px
        }

.newsletter-popup__inner {
    text-align: center;
    border-radius: .5em
}

.newsletter-popup__close {
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
    width: 40px;
    height: 40px;
    color: #fff;
    background: var(--sponsor-red);
    transition: all .25s cubic-bezier(.79, .14, .15, .86)
}

@media(hover:hover) {
    .newsletter-popup__close:hover {
        transform: scale(1.1)
    }
}

@media screen and (max-width:800px) {
    .newsletter-popup {
        height: 100vh;
        width: 100vw;
        top: 0;
        left: 0;
        transform: none;
        overflow: scroll;
        padding: 10px
    }

        .newsletter-popup .gr-section {
            margin-bottom: 0
        }

        .newsletter-popup .newsletter {
            padding: 1.25rem
        }

        .newsletter-popup .newsletter__inner > .gr-content {
            margin-bottom: 20px
        }

    .newsletter-popup__close {
        top: 20px;
        right: 20px
    }
}

.newsletter {
    overflow-x: hidden;
    padding: 3rem
}

@media(max-width:50em) {
    .newsletter {
        padding: 1.5rem
    }

        .newsletter .gr-title {
            margin-bottom: 1.5rem
        }
}

.newsletter__inner {
    max-width: var(--inner-container-width);
    margin: auto
}

@media(min-width:70em) {
    .newsletter__inner {
        display: flex
    }

        .newsletter__inner > .smaller {
            width: 40%
        }

        .newsletter__inner > .larger {
            width: 60%;
            padding-left: 4rem
        }
}

.newsletter .grid {
    --gap: 1rem;
    margin-top: 2em;
    grid-template-columns: none
}

    .newsletter .grid > * {
        display: flex;
        align-items: center
    }

    .newsletter .grid label {
        text-align: left;
        max-width: 700px
    }

.newsletter .form input[type=text],
.newsletter .form input[type=email] {
    border: none;
    outline: none
}

.newsletter .form-after {
    text-align: left
}

@media(min-width:50em) {
    .newsletter #newsletter-submit {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        min-width: 250px
    }
}

.newsletter #submit_button:disabled {
    opacity: 1
}

@media(min-width:50em) {
    .grid .span {
        grid-column: var(--span, span 1)
    }
}

input[type=checkbox] {
    cursor: pointer;
    margin: 0 1em 0 .5em;
    width: 24px;
    height: 24px;
    display: block;
    border-radius: .5em;
    flex: none
}

.newsletter .newsletter__inner .gr-content .gr-title::before {
    font-size: 11rem !important
}

@media(max-width:50em) {
    .newsletter .newsletter__inner .gr-content .gr-title::before {
        font-size: 8rem !important
    }
}

.gr-personalisation-section {
    overflow: unset !important
}

    .gr-personalisation-section.is-hidden {
        display: none
    }

.personalisation-form {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0
}

@media only screen and (max-width:750px) {
    .personalisation-form {
        position: relative;
        margin-top: 1rem
    }
}

.personalisation-form.is-hidden {
    display: none
}

.personalisation-form #personalisation-anchor {
    position: relative;
    top: -250px
}

.personalisation-form .button-group {
    display: inline
}

@media only screen and (max-width:767px) {
    .personalisation-form .inline-form__item {
        display: block
    }

    .personalisation-form .button-group {
        text-align: center
    }
}

.gr-rtd-content__personalisation {
    z-index: 10
}

@media only screen and (max-width:1200px) {
    .gr-rtd-content__personalisation {
        position: relative;
        margin-bottom: 3rem
    }
}

#manage-personalisation {
    display: flex;
    align-items: center;
    gap: 1rem;
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (max-width:750px) {
    #manage-personalisation {
        position: relative;
        justify-content: flex-start;
        gap: 0;
        display: block;
        text-align: left !important
    }

        #manage-personalisation .manage-personalisation-text {
            text-align: left !important;
            max-width: unset !important
        }
}

#manage-personalisation.is-hidden {
    display: none
}

#manage-personalisation .manage-personalisation-text {
    font-size: 14px;
    max-width: 150px;
    text-align: right
}

.gr-rtd-content .swiper .button-group a,
.gr-rtd-content .swiper .button-group button {
    width: 100%
}

body.single-training .flexible-social {
    color: var(--green-glow)
}

    body.single-training .flexible-social h3,
    body.single-training .flexible-social i {
        color: #d50032
    }

@media(min-width:50em) {
    .grid .span {
        grid-column: var(--span, span 1)
    }
}

input[type=checkbox] {
    cursor: pointer;
    margin: 0 1em 0 .5em;
    width: 24px;
    height: 24px;
    display: block;
    border-radius: .5em;
    flex: none
}

.related-articles {
    margin-top: 2.5rem
}

.related-articles__title {
    font-style: italic;
    color: var(--sponsor-red);
    text-align: center;
    margin-bottom: 1rem
}

.related-articles .post .run-title {
    color: #000;
    text-align: left;
    margin-bottom: 1.5rem
}

.related-articles .post .post-preview {
    text-align: left;
    margin-bottom: 1rem
}

.related-articles .swiper-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem
}

    .related-articles .swiper-nav > div {
        background-color: #d4d4d4;
        border-radius: 100%;
        padding: 10px;
        font-size: 1rem;
        height: 40px;
        width: 40px;
        display: flex;
        justify-content: center;
        align-items: center
    }

        .related-articles .swiper-nav > div:hover {
            cursor: pointer;
            background-color: #b8b8b8
        }

.training-filters {
    display: flex;
    justify-content: center
}

    .training-filters .filter-buttons {
        display: flex;
        gap: .5rem
    }

    .training-filters .select-wrapper.js-active .options {
        top: calc(100% + 2px)
    }

    .training-filters .select-wrapper .options {
        padding: .5rem;
        background: none;
        left: 50%;
        transform: translateX(-50%)
    }

        .training-filters .select-wrapper .options .options-inner {
            background: #fff;
            border: 1px solid #000;
            border-radius: .5em;
            padding: .25em .5em
        }

        .training-filters .select-wrapper .options li {
            color: #000
        }

            .training-filters .select-wrapper .options li:hover {
                color: #000
            }

            .training-filters .select-wrapper .options li.js-active {
                color: var(--sponsor-red)
            }

.post-type-archive-training .new-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center
}

    .post-type-archive-training .new-filter-buttons .btn.selected {
        background: #fff;
        color: var(--sponsor-red);
        border: 1px solid var(--sponsor-red)
    }

@media(max-width:50em) {
    .post-type-archive-training .posts .card figure {
        aspect-ratio: 6/4
    }
}

@media(min-width:70em) {
    .training-article-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 3rem
    }
}

@media(max-width:70em) {
    .training-article-header .share {
        margin-top: 1.5rem
    }
}

.related-article {
    border-radius: 1.25em;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    background: linear-gradient(180deg, #FFFFFF 0%, #DFDFDF 100%);
    min-height: 250px;
    margin: 2rem auto;
    -webkit-margin-before: 3rem !important;
    margin-block-start: 3rem !important
}

    .related-article > div {
        width: 50%
    }

.related-article__image {
    --clip: 30px;
    background-size: cover;
    background-position: center;
    -webkit-clip-path: polygon(0 0, calc(100% - var(--clip)) 0, 100% 50%, calc(100% - var(--clip)) 100%, 0 100%);
    clip-path: polygon(0 0, calc(100% - var(--clip)) 0, 100% 50%, calc(100% - var(--clip)) 100%, 0 100%)
}

.related-article__text {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    justify-content: center
}

    .related-article__text h5 {
        color: #142a95;
        font-style: normal
    }

    .related-article__text h4 {
        font-style: normal;
        margin-bottom: .5rem
    }

@media(min-width:50em) {
    .related-article__text .btn {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

@media(max-width:70em) {
    .related-article {
        flex-direction: column;
        min-height: unset
    }

        .related-article > div {
            width: 100%
        }

    .related-article__text {
        padding: 2rem;
        max-width: 400px
    }
}

.training-form-section {
    max-width: var(--inner-container-width);
    margin: auto
}

@media(min-width:70em) {
    .training-form-section {
        display: flex
    }

        .training-form-section > .smaller {
            width: 40%
        }

        .training-form-section > .larger {
            width: 60%;
            padding-left: 4rem
        }
}

.gr-copy ul {
    list-style: disc;
    margin-left: 1rem;
    text-align: left
}

    .gr-copy ul li + li {
        margin-top: .5em
    }

.gr-copy p,
.gr-copy ul {
    margin-bottom: 1rem;
    text-align: left
}

.gr-copy iframe[src*=youtube],
.gr-copy .wp-video-shortcode {
    border-radius: 1.25rem;
    overflow: hidden
}

.gr-account .site-header {
    top: 0
}

.gr-account__container {
    width: calc(100vw - 80px);
    max-width: 1200px
}

@media only screen and (max-width:1118px) {
    .gr-account__container {
        width: calc(100vw - 40px)
    }
}

.gr-account__container.is-small {
    max-width: 700px
}

.gr-account .btn-red {
    background: var(--red-glow);
    color: var(--white)
}

.gr-account__body {
    margin: 3rem 0;
    display: flex
}

@media only screen and (max-width:767px) {
    .gr-account__body {
        flex-direction: column;
        justify-content: center;
        align-items: center
    }
}

.gr-account__body .btn-1 {
    background: var(--pink-glow)
}

.gr-account__body .btn-2 {
    background: var(--blue);
    color: var(--white)
}

.gr-account__navigation {
    margin-right: 5rem
}

@media only screen and (max-width:767px) {
    .gr-account__navigation {
        margin-right: 0;
        margin-bottom: 2rem
    }
}

.gr-account__navigation .btn {
    width: 100%
}

.gr-account__nav {
    margin-top: 2rem
}

.gr-account__content {
    flex: 1;
    width: 100%
}

.gr-account__nav-item {
    display: block;
    font-family: var(--font-family-3);
    text-transform: uppercase;
    font-weight: 800;
    font-size: calc(18px + 2*(100vw - 420px)/860);
    line-height: 1.2em;
    font-style: italic;
    margin: .75rem 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

    .gr-account__nav-item.is-active {
        color: var(--pink-glow)
    }

    .gr-account__nav-item i {
        margin-right: .5rem
    }

.gr-account__header {
    margin-top: 8rem
}

.gr-account__header__title {
    display: none;
    position: absolute;
    font-size: 2rem
}

    .gr-account__header__title i {
        margin-right: .5rem
    }

.gr-account__header__name {
    margin-bottom: 0rem
}

.gr-account__header__username {
    margin-top: 0;
    color: var(--pink-glow)
}

.gr-account__cards {
    display: flex;
    margin: -1rem;
    flex-wrap: wrap
}

.gr-account__card {
    border-radius: 5px;
    box-shadow: 0 4px 10px rgb(0 0 0 / .5);
    padding: 1.5rem;
    margin: 1rem;
    width: 100%
}

    .gr-account__card.is-half {
        width: calc(50% - 2rem)
    }

@media only screen and (max-width:1199px) {
    .gr-account__card.is-half {
        width: 100%
    }
}

.gr-account__card .btn {
    margin-top: 1.5rem
}

.gr-account__card-title {
    font-style: italic;
    color: var(--pink-glow);
    margin-bottom: 1.5rem;
    line-height: 1
}

.gr-account__card-intro {
    margin-bottom: 2rem
}

.gr-account .info-list__item {
    display: flex;
    justify-content: space-between
}

    .gr-account .info-list__item .label {
        font-weight: 800
    }

.gr-account__content .inline-form {
    display: inline
}

.gr-account__content .gr-account__title {
    font-size: 2.5rem;
    color: var(--pink-glow);
    font-style: italic;
    margin-bottom: .5rem
}

.gr-account__content .form {
    margin: 2rem 0
}

    .gr-account__content .form .form-section {
        border-radius: 5px;
        box-shadow: 0 4px 10px rgb(0 0 0 / .5);
        padding: 1.5rem;
        margin: 1rem 0 2rem 0
    }

    .gr-account__content .form .form-section__title {
        font-style: italic;
        color: var(--pink-glow);
        margin-bottom: 1.5rem;
        line-height: 1
    }

    .gr-account__content .form .gr-input {
        display: flex;
        align-items: center
    }

        .gr-account__content .form .gr-input .required {
            color: var(--red-glow)
        }

    .gr-account__content .form .gr-input__error {
        color: var(--red-glow);
        margin-top: -.5rem;
        margin-bottom: 1rem;
        font-size: .8rem;
        font-style: italic
    }

@media only screen and (max-width:767px) {
    .gr-account__content .form .gr-input {
        display: block
    }
}

.gr-account__content .form .gr-input:not(:last-child) {
    margin-bottom: .5rem
}

.gr-account__content .form .gr-input label {
    font-weight: 800
}

.gr-account__content .form .gr-input:not(.gr-checkbox):not(.gr-radio) label {
    width: 200px;
    min-width: 200px;
    max-width: 200px
}

.gr-account__content .form .gr-input.gr-radio label:first-child {
    width: 200px;
    min-width: 200px;
    max-width: 200px
}

.gr-account__content .form .gr-input input {
    min-height: 30px
}

.gr-account__content .form .gr-select select {
    padding: 0 1.5em;
    border-radius: 20px;
    box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
    border: 1px solid var(--glow);
    background-color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.5px;
    font-family: var(--font-family-2);
    min-height: 30px
}

.gr-account__content .form .gr-select.gr-dob-select select:not(:last-child) {
    margin-right: 10px
}

.gr-account__content .form .btn {
    margin-top: 1.5rem;
    width: 100px
}

.gr-account .my-details .contact-preferences p:first-child {
    margin-bottom: 1rem
}

.gr-account .more-info {
    margin: 2rem 0 1rem 0
}

.gr-account .edit-contact-preferences .gr-checkbox:not(:last-child) {
    margin-bottom: 1.5rem
}

.gr-account__body a:not(.gr-account__nav-item):not(.btn) {
    color: var(--pink-glow)
}

.gr-account__events:not(:last-child) {
    margin-bottom: 4rem
}

.gr-account__events .event {
    border-radius: 5px;
    box-shadow: 0 4px 10px rgb(0 0 0 / .5);
    padding: 1rem;
    margin: 1rem 0;
    cursor: pointer;
    transition: all 150ms ease-in-out
}

    .gr-account__events .event:hover {
        background: var(--grey)
    }

.gr-account__events .event__title {
    font-size: 1.75rem;
    line-height: 1;
    font-style: italic
}

.gr-account__events .event__results {
    display: flex
}

.gr-account__events .event__result {
    margin-right: 1rem
}

.gr-account__events .event__result-label {
    font-weight: 800
}

.gr-account__events .event__heading {
    display: flex;
    justify-content: space-between;
    align-items: center
}

    .gr-account__events .event__heading .event__result {
        text-align: right
    }

    .gr-account__events .event__heading .event__result-label {
        font-size: 1.25rem;
        margin-bottom: .5rem
    }

    .gr-account__events .event__heading .event__result-value {
        font-size: 1.5rem
    }

.gr-account__events .event__details .event__results {
    padding: 1.5rem 0
}

.gr-account__events .event__details .event__result {
    margin-right: 1.5rem
}

    .gr-account__events .event__details .event__result:last-child {
        flex: 1;
        text-align: right
    }

.gr-account__events .event:not(.is-open) .event__details {
    display: none
}

.gr-account .errors {
    margin-top: 2rem
}

.gr-account .errors__message {
    color: var(--red-glow);
    font-size: 1.25rem;
    font-style: italic
}

.gr-account .address-lookup #address-lookup-search #address-lookup-search-button {
    margin-top: 0;
    min-height: 30px;
    margin-left: 10px
}

body.gr-account:not(.menu-open) .logo {
    --logo: var(--blue)
}

body.gr-account:not(.menu-open) .site-header a {
    color: var(--blue)
}

.gr-photos {
    margin-bottom: 3rem;
    padding-top: 1rem
}

.gr-photos__copy {
    margin-bottom: 2rem
}

.gr-photos__form {
    display: flex;
    justify-content: center
}

    .gr-photos__form .gr-input:not(:last-child) {
        margin-right: 1rem
    }

@media(max-width:50em) {
    .gr-photos__form {
        display: block
    }

        .gr-photos__form .btn {
            width: 100%
        }

        .gr-photos__form .gr-input {
            margin-right: 0 !important
        }
}

.gr-photos__runners .runners {
    max-width: 1000px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding-top: 2rem;
    text-align: right;
    transform: translateX(-2rem)
}

@media(max-width:70em) {
    .gr-photos__runners .runners {
        grid-template-columns: repeat(3, 1fr);
        transform: translateX(-3rem)
    }
}

@media(max-width:50em) {
    .gr-photos__runners .runners {
        display: block;
        text-align: center;
        transform: unset
    }
}

.gr-photos__runners .runners .runner {
    padding: .5rem 1rem;
    opacity: .8
}

    .gr-photos__runners .runners .runner:hover {
        cursor: pointer;
        opacity: 1
    }

.gr-photos__results {
    max-width: 1200px;
    margin: auto;
    padding-top: 2rem
}

    .gr-photos__results .results {
        display: flex;
        flex-wrap: wrap
    }

        .gr-photos__results .results .result {
            position: relative;
            padding-bottom: 35%
        }

@media(max-width:50em) {
    .gr-photos__results .results .result {
        padding-bottom: 75%
    }
}

.gr-photos__results .results .result:hover {
    cursor: pointer
}

    .gr-photos__results .results .result:hover .result__overlay {
        opacity: 1
    }

.gr-photos__results .results .result.portrait {
    width: 25%
}

@media(max-width:50em) {
    .gr-photos__results .results .result.portrait {
        width: 50%
    }
}

.gr-photos__results .results .result.landscape {
    width: 50%
}

@media(max-width:50em) {
    .gr-photos__results .results .result.landscape {
        width: 100%
    }
}

.gr-photos__results .results .result__overlay {
    position: absolute;
    top: .5rem;
    left: .5rem;
    height: calc(100% - 1rem);
    width: calc(100% - 1rem);
    background: rgb(0 0 0 / .7);
    opacity: 0;
    transition: opacity 300ms ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 15px;
    overflow: hidden
}

    .gr-photos__results .results .result__overlay p {
        margin-bottom: 1rem;
        font-size: 1.25rem
    }

    .gr-photos__results .results .result__overlay i {
        font-size: 4rem
    }

.gr-photos__results .results .result__image {
    position: absolute;
    top: .5rem;
    left: .5rem;
    height: calc(100% - 1rem);
    width: calc(100% - 1rem);
    background-size: cover;
    border-radius: 15px;
    overflow: hidden
}

.gr-photos__results .mp-logo {
    max-width: 400px;
    margin: 3rem auto 0 auto
}

.gr-photos__authentication {
    margin-bottom: 2rem
}

    .gr-photos__authentication p,
    .gr-photos__authentication .alt-form {
        margin-bottom: 1rem
    }

    .gr-photos__authentication .gr-input {
        max-width: 500px;
        margin: auto
    }

        .gr-photos__authentication .gr-input input:not(:last-child) {
            margin-right: 5px
        }

@media(max-width:30em) {
    .gr-photos__authentication .btn {
        width: 100%
    }
}

.gr-solo-results {
    padding: 3rem 0
}

.gr-solo-results__form {
    max-width: 700px;
    margin: auto;
    padding: 1.5rem 0
}

.gr-solo-results .alt-form .gr-checkbox label {
    white-space: pre-wrap
}

.gr-solo-results h2 {
    margin: 0
}

.gr-solo-results h3 {
    color: var(--glow)
}

.gr-solo-results__title {
    margin-bottom: 2rem
}

.gr-solo-results__error {
    color: var(--red-glow);
    font-style: italic;
    margin: 4rem 0 0 0
}

.gr-solo-results__copy {
    max-width: 1200px;
    margin: 2.5rem auto
}

    .gr-solo-results__copy p:not(:last-child) {
        margin-bottom: .5rem
    }

.gr-solo-results__add-log {
    max-width: 700px;
    margin: auto;
    padding: 1.5rem 0
}

.gr-solo-results__confirm {
    max-width: 700px;
    margin: auto;
    padding: 1.5rem 0
}

.gr-solo-results__logs {
    max-width: 900px;
    margin: 0 auto 1.5rem auto;
    padding: 3rem 0 1.5rem 0
}

    .gr-solo-results__logs table {
        width: 100%
    }

        .gr-solo-results__logs table thead {
            background: var(--shadow)
        }

        .gr-solo-results__logs table th,
        .gr-solo-results__logs table td {
            padding: 5px;
            border: 1px solid var(--glow)
        }

        .gr-solo-results__logs table tbody {
            background-image: var(--white)
        }

.gr-solo-results__certificate {
    max-width: 1200px;
    margin: auto
}

.gr-solo-results .delete-btn {
    color: var(--red-glow);
    background: none;
    cursor: pointer
}

.gr-solo-results .ml-1 {
    margin-left: 10px
}

.gr-solo-results__log-totals {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem
}

.gr-solo-results__log-total {
    margin: 0 1.5rem
}

.gr-solo-results__copy {
    max-width: 900px
}

    .gr-solo-results__copy a {
        color: var(--glow)
    }

.gr-solo-results__plan {
    padding: 5rem 0;
    max-width: 900px;
    margin: auto
}

    .gr-solo-results__plan .group {
        text-align: left;
        margin-bottom: 2rem;
        position: relative
    }

    .gr-solo-results__plan .group__details {
        border-bottom: 2px solid var(--white);
        padding: .5rem 0
    }

    .gr-solo-results__plan .group__details-bottom {
        display: flex
    }

    .gr-solo-results__plan .group__toggle {
        position: absolute;
        top: 1rem;
        right: 0
    }

        .gr-solo-results__plan .group__toggle:before {
            content: "View Sessions";
            margin-right: 10px;
            font-family: var(--font-family-3);
            font-size: 20px;
            font-weight: 500
        }

        .gr-solo-results__plan .group__toggle:after {
            content: "";
            font-family: "Font Awesome 5 Pro";
            font-weight: 400
        }

        .gr-solo-results__plan .group__toggle:hover {
            cursor: pointer
        }

    .gr-solo-results__plan .group.is-open .group__toggle:before {
        content: "Close"
    }

    .gr-solo-results__plan .group.is-open .group__toggle:after {
        content: ""
    }

    .gr-solo-results__plan .group:not(.is-open) .group__sessions {
        height: 0;
        overflow: hidden
    }

    .gr-solo-results__plan .group__title {
        color: var(--white);
        text-transform: none;
        font-weight: 700;
        font-style: italic;
        margin-bottom: .5rem
    }

    .gr-solo-results__plan .group.is-complete .group__description {
        color: var(--glow)
    }

    .gr-solo-results__plan .plan-checkbox {
        font-family: var(--font-family-3);
        font-size: 18px;
        letter-spacing: -.04em;
        font-weight: 700;
        border: 2px solid var(--white);
        border-radius: 50px;
        padding: .4rem;
        width: 125px;
        min-width: 125px;
        align-self: center;
        transition: all .25s;
        display: flex
    }

        .gr-solo-results__plan .plan-checkbox:not(.is-disabled):hover {
            background: var(--glow);
            border-color: var(--glow);
            cursor: pointer
        }

        .gr-solo-results__plan .plan-checkbox.is-disabled {
            opacity: .5
        }

    .gr-solo-results__plan .plan-checkbox__title {
        flex: 1;
        text-align: center
    }

        .gr-solo-results__plan .plan-checkbox__title:after {
            content: "TO DO"
        }

    .gr-solo-results__plan .plan-checkbox__icon {
        border: 2px solid #fff;
        border-radius: 100%;
        height: 20px;
        width: 20px
    }

        .gr-solo-results__plan .plan-checkbox__icon:after {
            display: flex;
            justify-content: center;
            align-items: center;
            line-height: 20px;
            font-family: "Font Awesome 5 Pro";
            font-weight: 400;
            font-size: 14px
        }

    .gr-solo-results__plan .session {
        padding: .75rem 0;
        border-bottom: 2px solid var(--white);
        display: flex
    }

    .gr-solo-results__plan .session__title {
        font-family: var(--font-family-1);
        font-size: 18px;
        font-weight: 700;
        font-style: italic;
        margin-right: 1rem;
        white-space: nowrap
    }

    .gr-solo-results__plan .session__description {
        flex: 1;
        margin-right: 1rem
    }

    .gr-solo-results__plan .session.is-complete .session__title {
        color: var(--glow)
    }

    .gr-solo-results__plan .session.is-complete .session__description {
        color: var(--glow)
    }

    .gr-solo-results__plan .session.is-complete .plan-checkbox {
        background: var(--glow);
        border-color: var(--glow)
    }

    .gr-solo-results__plan .session.is-complete .plan-checkbox__title:after {
        content: "COMPLETE"
    }

    .gr-solo-results__plan .session.is-complete .plan-checkbox__icon:after {
        content: ""
    }

.training-plan-signup {
    overflow: hidden;
    margin-bottom: 2rem
}

    .training-plan-signup .grid {
        --gap: 1rem;
        margin-top: 2em;
        grid-template-columns: none
    }

        .training-plan-signup .grid > * {
            display: flex;
            align-items: center
        }

        .training-plan-signup .grid label {
            text-align: left;
            max-width: 700px
        }

        .training-plan-signup .grid .recaptcha {
            justify-content: center
        }

    .training-plan-signup .form input[type=text],
    .training-plan-signup .form input[type=email] {
        border: none;
        outline: none
    }

    .training-plan-signup #submit_button:disabled {
        opacity: 1
    }

    .training-plan-signup input::-moz-placeholder {
        color: #b2b2b2 !important;
        opacity: 1 !important
    }

    .training-plan-signup input::placeholder {
        color: #b2b2b2 !important;
        opacity: 1 !important
    }

    .training-plan-signup select {
        padding: 0 1.5em;
        border-radius: 20px;
        box-shadow: inset 0 1px 4px 0 rgb(0 0 0 / .5);
        background-color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: -.5px;
        font-family: var(--font-family-2);
        margin-top: 1.5rem
    }

        .training-plan-signup select:invalid {
            color: #b2b2b2
        }

.gr-results .gr-badge.is-solid.yellow .gr-title {
    color: var(--black)
}

.gr-results .gr-adv-banner {
    position: relative
}

.gr-results span.icon {
    display: block;
    height: 20px;
    width: 20px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: auto
}

.gr-results span.icon-gun {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAFBlWElmTU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFKADAAQAAAABAAAAFAAAAACgAN7jAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAACnklEQVQ4EeWTXUhTYRjH/0enbtN9+FVx5tKIkIKcbRUargQ1sovoE7pKCAmtoIuiiy6F6KKgIi0Jqgu9KYiKyogWJRkUTnJFU6vlZFPnnJvOs6PHbefpbDJJZ914FT03L+//ed7f+38/HuC/C8Z39zgxIT/kpkNgFGqQCKSpcxDkOHBiBlIpiin7a3gGbOB15TAdaAAfCoKX8obSUmbpjcmm+6xQpAJh92VEo2GkZWmQu4aFdXAOlzo9gBjBsC+A8ztWYV+hEw8fP0JYAlZW7lzKis9l3UozXlksiMyFJSEFuZopBMBDSNOCXV8MkjbJZCMYoSAYjwPbMgRk1Z7DppItSe5ixLh4qrGBQASFXIEZlx0/3W44p4G1en28YmR8AiXpHJoqVMgtyEdIwUJWXofVm81J0CTBN9BD9luncc/Dot/hwCzPwc8JqDexOFO9DoxSiY4eBy4+68PnQW/S+iQhZtt6pY46HZOo0YnodfphZOXI1qqQqc3B6Og4jj1woMS8F0O297jR3IyNBtMCJyUGWBrOcB7yp0cwF5iE1y/A5mNgHQoi4vdgbGIS4wEOg9/6pV+hwYnGk7C8eEoJxgI5ISRGt+0DuT51QW3cgyfPO5AubW0IfcEwD3R7Rbx8J+Vy8qBRqeAddePO7VaU7ar+Iy/OjUFFMULtbe0UJSL/j94FJ/fb20iv15G5ooJMRiPtr62K5/5KjAEtbS1Q6YqgLyzE9oP1i+rLthpJiBK0Gk3c5fVrVyFLHHG5scBQxji/D1DA40K6Ur1cCZiU+WfgZgV0vX3zd2CMULSheJGr36mHjxxFS+tNZEsO5YosfO2zS62xguCnxiDMzkAuNQSJUbhdrvlOWQETTRfO0sfefmQr5ajaXbMS1L+69hcHbw3t5LNkeAAAAABJRU5ErkJggg==)
}

.gr-results span.icon-chip {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADjSURBVHgB7ZSxCsIwEIavpYuIiKvgoOCim5vPIIJDBzcn38HVzcHncBJE3F3FVRCHQCcRdFCqqIOicoELpUlKkOJivyWXI/+fyx0EIIFYDNy3yRrG0hmZUu+NLa0hmWWbZTDBnzHJ1I66jQSn9Q5uh7OUU2lsVYVBAT/kXeGx3PP4VUpz01w1L2kQZQ/xyWhIIh1obFwhCZBRfw7DzlTkKFZpIntINGoFaLeKYt91K1rN76aMPSQBrtvJSsSUD2skw2A/2OYo8jjZjJMS+8vzrtQgsU/Z0R3E0n2PQWx8+zn8IR8/uZgcpLJxMgAAAABJRU5ErkJggg==)
}

.gr-results__result {
    padding: 3rem 0;
    color: var(--black)
}

    .gr-results__result .race-title {
        font-size: clamp(45px, 10vmin, 60px);
        margin: auto;
        max-width: 800px
    }

    .gr-results__result .info-items {
        margin: 4rem 0
    }

        .gr-results__result .info-items .info-item {
            margin-bottom: 2rem
        }

        .gr-results__result .info-items .info-item__label {
            margin: 0 0 .5rem 0;
            font-style: italic
        }

        .gr-results__result .info-items .info-item__value {
            margin: 0;
            font-size: clamp(35px, 10vmin, 50px);
            font-style: italic
        }

.gr-results__result__actions {
    margin-bottom: 2rem
}

.gr-results__result__share-title {
    margin-bottom: 1rem;
    font-style: italic
}

.gr-results__result__share .share-links .btn {
    display: inline-flex
}

    .gr-results__result__share .share-links .btn i {
        margin-left: 5px
    }

.gr-results__result .split-times {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

    .gr-results__result .split-times .split-time {
        width: 50%;
        order: 1;
        margin-bottom: 1rem
    }

        .gr-results__result .split-times .split-time:nth-child(4),
        .gr-results__result .split-times .split-time:nth-child(8),
        .gr-results__result .split-times .split-time:nth-child(12) {
            order: 0;
            width: 33.333%
        }

            .gr-results__result .split-times .split-time:nth-child(4) .split-time__label,
            .gr-results__result .split-times .split-time:nth-child(8) .split-time__label,
            .gr-results__result .split-times .split-time:nth-child(12) .split-time__label {
                font-size: max(1.125rem, min(10vmin, 1.25rem))
            }

            .gr-results__result .split-times .split-time:nth-child(4) .split-time__value,
            .gr-results__result .split-times .split-time:nth-child(8) .split-time__value,
            .gr-results__result .split-times .split-time:nth-child(12) .split-time__value {
                font-size: max(1.25rem, min(10vmin, 1.875rem))
            }

    .gr-results__result .split-times .split-time__label {
        font-size: 18px
    }

    .gr-results__result .split-times .split-time__value {
        font-size: 25px
    }

@media only screen and (min-width:768px) {
    .gr-results__result .split-times {
        justify-content: center
    }

        .gr-results__result .split-times .split-time {
            width: calc(25% - 2rem)
        }

            .gr-results__result .split-times .split-time:nth-child(4),
            .gr-results__result .split-times .split-time:nth-child(8),
            .gr-results__result .split-times .split-time:nth-child(12) {
                width: calc(33.333333% - 2rem)
            }

        .gr-results__result .split-times .split-time__label {
            font-size: max(1.1rem, min(10vmin, 1.2rem))
        }

        .gr-results__result .split-times .split-time__value {
            font-size: 25px
        }
}

.gr-results__related-results {
    padding: 3rem 0
}

    .gr-results__related-results .race-title {
        font-size: clamp(35px, 10vmin, 50px);
        margin-top: 0;
        margin-bottom: 3rem
    }

    .gr-results__related-results .results-table {
        margin-bottom: 2rem
    }

    .gr-results__related-results .results-tables {
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }

        .gr-results__related-results .results-tables .results-table {
            margin: 1rem
        }

@media only screen and (max-width:991px) {
    .gr-results__related-results .results-tables .results-table {
        margin: 1rem 0
    }
}

.gr-results__related-results .results-tables .results-table__title {
    margin-bottom: 1rem
}

.gr-results__related-results table thead {
    background: #142a95;
    color: #fff
}

    .gr-results__related-results table thead th {
        border: 1px solid #373741
    }

.gr-results__related-results table tbody {
    color: var(--black)
}

    .gr-results__related-results table tbody tr:nth-child(odd) {
        background: #d0d0d0
    }

    .gr-results__related-results table tbody tr:nth-child(even) {
        background: #a8a8a8
    }

    .gr-results__related-results table tbody tr td {
        border: 1px solid #373741
    }

    .gr-results__related-results table tbody tr.selected {
        background: #d50032;
        color: #fff
    }

.gr-results__results {
    padding: 3rem 0
}

    .gr-results__results .race-title {
        font-size: clamp(45px, 10vmin, 60px);
        margin: 0 auto 3rem auto;
        color: var(--black);
        max-width: 800px
    }

    .gr-results__results .no-results {
        font-size: 1.2rem
    }

    .gr-results__results table thead {
        background: #142a95;
        color: #fff
    }

        .gr-results__results table thead th {
            border: 1px solid #373741
        }

    .gr-results__results table tbody {
        color: var(--black)
    }

        .gr-results__results table tbody tr:nth-child(odd) {
            background: #d0d0d0
        }

        .gr-results__results table tbody tr:nth-child(even) {
            background: #a8a8a8
        }

        .gr-results__results table tbody tr:hover {
            cursor: pointer;
            background: #d50032;
            color: var(--white)
        }

        .gr-results__results table tbody tr td {
            border: 1px solid #373741
        }

.gr-results__pagination {
    margin-top: 1.5rem
}

@media screen and (max-width:900px) {
    .gr-results .results-table .results-table--desktop {
        display: none
    }
}

@media screen and (min-width:901px) {
    .gr-results .results-table .results-table--mobile {
        display: none
    }
}

.gr-results .results-table .results-table--mobile .result {
    padding: 1rem;
    border-radius: 1.25rem;
    margin-bottom: 1rem;
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
    color: #373742;
    text-align: left
}

    .gr-results .results-table .results-table--mobile .result span.icon {
        display: inline-block;
        transform: translateY(4px)
    }

.gr-results .results-table table {
    margin: auto;
    font-size: clamp(11px, 10vmin, 18px)
}

    .gr-results .results-table table thead th {
        padding: .5rem 1rem
    }

    .gr-results .results-table table tbody tr td {
        padding: .5rem 1rem
    }

@media only screen and (max-width:991px) {
    .gr-results .results-table table {
        width: 100%
    }

        .gr-results .results-table table thead th {
            padding: .5rem;
            font-size: 16px
        }

        .gr-results .results-table table tbody tr td {
            padding: .5rem;
            font-size: 14px
        }
}

@media only screen and (max-width:767px) {

    .gr-results .results-table table .th-gun-chip,
    .gr-results .results-table table .td-gun-chip {
        display: none
    }
}

@media only screen and (min-width:479px) {
    .gr-results__show {
        max-width: calc(100% - 1rem)
    }
}

.gr-results__show .copy {
    margin-bottom: 1.5rem
}

.gr-results__show .alt-form {
    max-width: 500px;
    margin: auto
}

    .gr-results__show .alt-form.is-wide {
        max-width: 800px
    }

    .gr-results__show .alt-form .gr-select {
        display: block
    }

        .gr-results__show .alt-form .gr-select select {
            background: var(--white);
            border-color: var(--white);
            --glow: var(--black)
        }

    .gr-results__show .alt-form .gr-input {
        display: block
    }

        .gr-results__show .alt-form .gr-input input {
            background: var(--white);
            border-color: var(--white);
            --glow: var(--black)
        }

.gr-results__show #advanced-search {
    grid-template-columns: 1fr 1fr;
    grid-gap: 0 1rem
}

@media only screen and (max-width:991px) {
    .gr-results__show #advanced-search {
        grid-template-columns: 1fr
    }
}

.gr-results__actions {
    display: flex;
    flex-wrap: wrap;
    margin: -.5rem
}

    .gr-results__actions button,
    .gr-results__actions a,
    .gr-results__actions #mode-toggle {
        background-color: #142a95;
        color: #fff
    }

    .gr-results__actions > * {
        margin: .5rem;
        flex: 1
    }

        .gr-results__actions > *:first-child {
            width: 100%;
            flex: auto
        }

.search-results .pagination {
    color: var(--blue-shadow)
}

.gr-search-results {
    margin: 4rem 0 0;
    padding-bottom: 2rem
}

    .gr-search-results .posts.grid > .post:first-child {
        grid-column: unset
    }

        .gr-search-results .posts.grid > .post:first-child figure {
            -webkit-clip-path: var(--clip-bottom);
            clip-path: var(--clip-bottom)
        }

@media screen and (max-width:889px) {
    .gr-search-results {
        margin: 2rem 0 0
    }
}

.gr-search-results .posts.grid > .post .run-title {
    margin-top: 0;
    margin-bottom: 0
}

.gr-search-results .search-pagination {
    --glow: white;
    --accent: #373741;
    display: flex;
    justify-content: space-between;
    padding: 5rem 0 8rem 0
}

    .gr-search-results .search-pagination a:disabled {
        pointer-events: none
    }

.gr-search-results .results-wrapper {
    margin-bottom: 4rem
}

@media screen and (max-width:889px) {
    .gr-search-results .results-wrapper {
        margin-bottom: 2rem
    }
}

.gr-search-results .results-title {
    margin-bottom: .5rem
}

.gr-search-results .quick-buttons {
    margin-top: 2rem;
    display: flex;
    gap: 1rem
}

.gr-search-results .results-footer {
    margin: 6rem 0;
    font-size: 1.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center
}

@media screen and (max-width:889px) {
    .gr-search-results .results-footer {
        margin-top: 4.5rem;
        margin-bottom: 3rem
    }
}

.gr-search-results .results-footer h4 {
    margin-bottom: .5rem
}

@media screen and (max-width:889px) {
    .gr-search-results .card figure {
        aspect-ratio: 7/4
    }
}

.gr-search {
    display: flex;
    height: 39px;
    margin: 2rem auto 1rem;
    max-width: 600px;
    border-radius: 48px;
    background: #fff;
    font-size: 1.25rem
}

@media screen and (max-width:700px) {
    .gr-search {
        margin: 0
    }
}

.gr-search > * {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 100%;
    border: 0;
    background: #fff0
}

.gr-search button {
    padding: .5em 1em;
    font-size: 1.25rem;
    color: var(--sponsor-red)
}

.gr-search input {
    flex: auto;
    margin: 0 24px 0 0;
    border-radius: 0 48px 48px 0;
    font-size: 1rem;
    color: var(--sponsor-red)
}

    .gr-search input::-moz-placeholder {
        opacity: 1;
        font-weight: 700;
        font-family: var(--font-family-3);
        text-transform: uppercase
    }

    .gr-search input::placeholder {
        opacity: 1;
        font-weight: 700;
        font-family: var(--font-family-3);
        text-transform: uppercase
    }

.gr-searchform input#for {
    margin-right: 0;
    padding-left: 5px
}

.gr-searchform__inner {
    margin-left: 0
}

.main-charities-modal {
    --glow: var(--blue-glow)
}

.gr-ballot-results {
    margin-bottom: 3rem;
    padding-top: 1rem
}

.gr-ballot-results__copy {
    margin-bottom: 2rem
}

.gr-ballot-results__form {
    max-width: 500px;
    margin: auto
}

.widget {
    position: fixed;
    bottom: 45px;
    right: 0;
    z-index: 150;
    padding: 1rem;
    pointer-events: none
}

@media only screen and (max-width:799px) {
    .widget {
        right: 4vw;
        padding: 0;
        bottom: calc(env(safe-area-inset-bottom) + 5vh + 24px);
        width: 92vw
    }
}

.widget__trigger {
    color: #373741;
    background: #32323b;
    height: 50px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 50px;
    display: flex;
    align-items: center;
    transition: all .25s;
    margin-left: auto;
    pointer-events: auto
}

@media(max-width:30em) {
    .widget__trigger {
        height: 40px;
        width: 40px;
        margin-right: auto;
        margin-left: unset
    }
}

.widget__trigger.is-hidden {
    display: none
}

.widget__trigger:hover {
    transform: translateY(-10%);
    cursor: pointer
}

.widget__trigger > * {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center
}

.widget__trigger i {
    border-radius: 100%;
    width: 50px;
    height: 50px;
    background: var(--white);
    font-size: 22px
}

@media(max-width:30em) {
    .widget__trigger i {
        height: 40px;
        width: 40px;
        background: #32323b;
        color: #fff
    }
}

.widget__trigger span {
    font-family: var(--font-family-3);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -.05em;
    font-size: 1rem;
    flex: 1;
    margin: 0 1.5rem 0 1rem;
    color: #fff
}

@media only screen and (max-width:550px) {
    .widget__trigger span {
        display: none
    }
}

.widget__content {
    margin-bottom: 1rem;
    width: 800px;
    pointer-events: auto
}

    .widget__content.is-hidden {
        display: none
    }

@media only screen and (max-width:799px) {
    .widget__content {
        width: 100%
    }
}

.widget__content iframe {
    height: 462px;
    width: 100%
}

@media only screen and (max-width:799px) {
    .widget__content iframe {
        height: 556px
    }
}

@media only screen and (max-width:550px) {
    .widget__content iframe {
        height: calc(100vh - 190px)
    }
}

@media screen and (min-width:50em) {
    #promo .gr-badge-wrapper {
        display: flex
    }

        #promo .gr-badge-wrapper > * {
            width: 50%
        }

        #promo .gr-badge-wrapper > .image {
            margin-right: 4rem
        }
}

#promo .gr-badge .gr-badge-wrapper .gr-content .gr-title.ghost-text::before {
    font-size: clamp(4.6875rem, -8.6986rem + 25.1678vw, 7.03125rem) !important
}

.content--video {
    --card-bg: #f2f2f2
}

.content--video-d {
    display: flex
}

@media(max-width:70em) {
    .content--video-d {
        display: none
    }
}

.content--video-d__left {
    width: 45%;
    margin-right: 4rem
}

.content--video-d__right {
    width: 55%
}

.content--video-d .pair__text {
    text-align: left;
    padding: 2rem;
    border-radius: 1.25em;
    cursor: pointer
}

    .content--video-d .pair__text .title {
        margin: 0;
        max-width: 400px
    }

    .content--video-d .pair__text .cta {
        margin-top: 1rem
    }

    .content--video-d .pair__text:not(.is-open) {
        opacity: .5
    }

        .content--video-d .pair__text:not(.is-open):hover {
            opacity: .6
        }

        .content--video-d .pair__text:not(.is-open) .text {
            display: none
        }

    .content--video-d .pair__text.is-open {
        background: var(--card-bg)
    }

        .content--video-d .pair__text.is-open .text {
            margin-top: 1rem
        }

.content--video-d .pair__video {
    background-color: var(--card-bg);
    height: 100%;
    width: 100%;
    border-radius: 1.25em;
    overflow: hidden
}

    .content--video-d .pair__video:not(.is-open) {
        display: none
    }

    .content--video-d .pair__video .iframe-wrapper {
        height: 100%
    }

    .content--video-d .pair__video video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }

@media(min-width:70em) {
    .content--video-m {
        display: none
    }
}

.content--video-m .swiper-wrapper,
.content--video-m .swiper-slide {
    height: auto;
    align-items: unset
}

.content--video-m .pair {
    background: linear-gradient(180deg, #ffffff 34%, #dfdfdf 100%);
    border-radius: 1.25em;
    overflow: hidden;
    text-align: center;
    display: flex;
    flex-direction: column;
    height: 100%
}

    .content--video-m .pair:not(:last-child) {
        margin-bottom: 2rem
    }

.content--video-m .pair__video video {
    width: 100%;
    border-radius: 1.25em
}

.content--video-m .pair__video .iframe-wrapper::before {
    padding-top: 100% !important
}

.content--video-m .pair__text {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left
}

    .content--video-m .pair__text .title {
        margin: 0 0 1rem 0;
        font-size: 30px
    }

    .content--video-m .pair__text .text {
        font-size: 15px;
        flex: 1;
        display: flex;
        justify-content: space-between;
        flex-direction: column
    }

    .content--video-m .pair__text .cta {
        margin-top: 1rem
    }

.gr-badge.none .content--video {
    --card-bg: white
}

body.single .article-title {
    font-size: clamp(2.625rem, -3.8003rem + 12.0805vw, 3.75rem);
    color: #373741
}

body.single .article-header {
    max-width: 1400px;
    margin: auto
}

    body.single .article-header .share h3 {
        color: var(--sponsor-red);
        text-wrap: nowrap
    }

    body.single .article-header .share ul {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: auto;
        display: flex;
        gap: 1rem
    }

        body.single .article-header .share ul a {
            margin: 0
        }

body.single .post-footer .flexible-social h3,
body.single .post-footer .flexible-social a {
    color: var(--sponsor-red)
}

body.single .content h1,
body.single .content h2,
body.single .content h3,
body.single .content h4 {
    font-style: italic
}

body.page-id-415 #main .gr-section .gr-title[data-title="Press & Media"]:before {
    font-size: clamp(4.6875rem, -22.0847rem + 50.3356vw, 9.375rem) !important
}

.single .under-content {
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem
}

.single .remove-margin-start {
    -webkit-margin-before: unset;
    margin-block-start: unset
}

body.single main {
    background: #fff
}

.icon-list {
    --icon-bg: white;
    --icon-color: #373741;
    --text-color: white;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2.5rem
}

@media(max-width:70em) {
    .icon-list {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:50em) {
    .icon-list {
        display: block
    }
}

.icon-list__item {
    flex: 1;
    text-align: left
}

@media(max-width:50em) {
    .icon-list__item {
        margin-bottom: 4rem
    }
}

.icon-list__item-icon {
    background-color: var(--icon-bg);
    border-radius: 100%;
    width: 150px;
    aspect-ratio: 1/1;
    margin-bottom: 2rem;
    color: var(--icon-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 5rem
}

.icon-list__item-title {
    margin-bottom: 1rem;
    color: var(--text-color)
}

.icon-list__item-text {
    margin-bottom: 2rem;
    color: var(--text-color)
}

.icon-list__item .btn {
    width: 100%
}

.gr-badge.none .icon-list {
    --text-color: #373741
}

.gr-badge.white .icon-list {
    --icon-bg: #f2f2f2;
    --text-color: #373741
}

body.single-solo .gr-section .gr-badge.none {
    padding-top: 1rem !important;
    padding-bottom: .5rem !important
}

body.single-solo .gr-section .gr-badge .gr-badge-wrapper .gr-content > *:first-child {
    margin-top: 0
}

body.single-solo .gr-solo-results {
    padding-bottom: 0 !important
}

@media screen and (max-width:800px) {
    body.single-solo .event-tabs-triggers {
        background-color: var(--blue);
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 98;
        display: flex;
        text-align: center
    }

        body.single-solo .event-tabs-triggers > *:not(:last-child) {
            border-right: 1px solid #fff
        }

        body.single-solo .event-tabs-triggers > .event-tab-trigger {
            border-radius: unset;
            flex: 1;
            display: block;
            height: 100%;
            padding: 1rem 0;
            background: none;
            color: #fff;
            margin: 0
        }

            body.single-solo .event-tabs-triggers > .event-tab-trigger.js-active {
                background: #fff !important;
                color: #0d112c !important
            }

            body.single-solo .event-tabs-triggers > .event-tab-trigger i {
                display: none
            }

            body.single-solo .event-tabs-triggers > .event-tab-trigger .tab-title {
                font-size: 15px;
                line-height: 1.2em;
                font-weight: 700;
                letter-spacing: -.5px;
                font-family: var(--font-family-3);
                text-transform: uppercase
            }

        body.single-solo .event-tabs-triggers > .btn {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 1rem 0;
            font-size: 15px;
            line-height: 1.2em;
            font-weight: 700;
            letter-spacing: -.5px;
            font-family: var(--font-family-3);
            text-transform: uppercase;
            margin: 0;
            background: #d7e54b !important;
            color: #142a95 !important;
            border-radius: 0
        }

            body.single-solo .event-tabs-triggers > .btn:hover {
                border: none !important
            }

    body.single-solo .event-tabs .event-tab-content.js-active[data-tab=run] .event-tab-trigger[data-tab=run] {
        background: #fff !important;
        color: #0d112c !important
    }

    body.single-solo .event-tabs .event-tab-content.js-active[data-tab=route] .event-tab-trigger[data-tab=route] {
        background: #fff !important;
        color: #0d112c !important
    }

    body.single-solo .event-tabs .event-tab-content.js-active[data-tab=reward] .event-tab-trigger[data-tab=reward] {
        background: #fff !important;
        color: #0d112c !important
    }
}

.pure360 .form > *:not(:last-child) {
    margin-bottom: 2rem
}

.pure360 .form ::-moz-placeholder {
    color: #000;
    opacity: .3
}

.pure360 .form ::placeholder {
    color: #000;
    opacity: .3
}

.pure360 .form .fields {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem
}

.pure360 .form .field {
    flex: 1;
    min-width: calc(50% - 1.5rem);
    display: flex;
    text-align: left;
    align-items: center
}

.pure360 .form .field-checkbox {
    min-width: 100%
}

.pure360 .form .recaptcha {
    display: flex;
    justify-content: center
}

@media screen and (max-width:700px) {
    .pure360 .form .fields {
        gap: 1rem
    }

    .pure360 .form .field {
        min-width: 100%
    }
}

.pure360 .thank-you {
    font-size: 1.5rem;
    margin-top: 2rem
}

.gr-timer {
    background-color: #f2f2f2;
    padding: 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    border-radius: 1.25em;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content
}

@media(max-width:50em) {
    .gr-timer {
        padding: 1.25rem
    }
}

.gr-timer p {
    line-height: 1
}

.gr-timer__text-above {
    color: var(--sponsor-red);
    font-style: italic;
    font-family: var(--font-family-3);
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 700
}

.gr-timer__time {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 1rem
}

    .gr-timer__time > div:nth-child(2) {
        border-left: 1px solid #8a8a8a;
        border-right: 1px solid #8a8a8a
    }

.gr-timer__digit {
    font-size: 100px;
    font-family: "LiquidCrystal", sans-serif;
    font-weight: 700;
    color: var(--sponsor-red)
}

@media(max-width:50em) {
    .gr-timer__digit {
        font-size: 75px
    }
}

.gr-timer__period {
    color: #8a8a8a;
    font-style: italic;
    font-family: var(--font-family-3);
    font-size: 35px;
    text-transform: uppercase;
    font-weight: 700
}

@media(max-width:50em) {
    .gr-timer__period {
        font-size: 20px
    }
}
