/*
    ----------------
    - Global
    ----------------
*/

@font-face {
	font-family: 'Flexo';
	src: url("../fonts/Flexo-Medium.woff") format("woff");
}
@font-face {
	font-family: 'Flexo';
	src: url("../fonts/Flexo-Light.woff") format("woff");
	font-weight: 300;
}
@font-face {
	font-family: 'Flexo';
	src: url("../fonts/FlexoDem.woff") format("woff");
	font-weight: bold;
}
@font-face {
	font-family: 'Flexo';
	src: url("../fonts/FlexoBla.woff") format("woff");
	font-weight: 800;
}

body {
    background-color: var(--root--ba-co);
    color: var(--root--co);
    font-family: var(--root--fo-fa);
    font-size: var(--root--fo-si);
    line-height: 1.5;
}
a {
    text-decoration: none;
    color: var(--primary);
}
main { margin-top:160px; }
body.home main { margin-top:0; }
.width {
    width: 100%;
    max-width: min(var(--root--wi), 100vw - 50px);
    margin-left: auto;
    margin-right: auto;
}
.width.narrow { max-width: min(996px, 100vw - 50px); }
@media (max-width: 1023px) {
    .width.narrow { max-width:calc(100vw - 50px ); }    
}


/*
    ----------------
    - Header
    ----------------
*/
.siteHeader {
    height: 160px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    color: #fff;
    background:url(../images/2025/hero.jpg) no-repeat center center;
    background-size:cover;
    border-bottom:30px solid #F6921E;
}
body.home .siteHeader {
    background:none;
    border-bottom:none;
    height: var(--siteHeader--he);
}
body.admin-bar .siteHeader { top:32px; }
.siteHeader a { color: inherit; }
.siteHeader .width { position:relative; }
.siteHeader__logo {
    position:absolute;
    left:-130px;
    top:25px;
}
body.home .siteHeader__logo { display:none; }

.siteHeader__top {
    font-size: .8em;
    display: flex;
    justify-content: end;
    align-items: center;
    /*gap: 1.4em;*/
    gap: 0.8em;
    border-bottom: 1px solid;
    min-height: calc(var(--siteHeader--he) / 2);
    text-transform: uppercase;
    font-weight: 600;
}
.siteHeader__top svg { display: block; }
.siteHeader__nav > ul {
    display: flex;
    align-items: center;
    justify-content: var(--if-small, center) var(--if-large, flex-start);
    flex-wrap: wrap;
    text-transform: lowercase;
    min-height: calc(var(--siteHeader--he) / 2);
    font-weight: 500;
    /*margin-top: .3em;*/
    margin-top:0;
    margin-inline: var(--if-small, -20px) var(--if-large, 0px);
    font-size: var(--if-small, 13px) var(--if-large, 18px);
    position:relative;
}
.siteHeader__nav > ul > li {
    display: flex;
    position:static;
}
.siteHeader__nav > ul > li:not(:last-child)::after {
    content: "";
    align-self: center;
    background: currentColor;
    width: 2px;
    height: 1em;
    margin: 0 1.2em;
    border-radius: 3px;
}
.siteHeader__nav > ul > li > a {
    display: block;
    padding: .3em 0;
    text-underline-offset: .3em;
}
ul.sub-menu {
    background:rgba(255, 255, 255, 0.9);
    color:#000;
    padding-left:40px;
    padding-right:40px;
    padding-top:20px;
    padding-bottom:20px;
    border-bottom:9px solid #F6921E;
    column-count:3;
    column-gap:40px;
}
.menu-heading { column-span:all; }
.menu-heading h3 {
    font-size:20px;
    font-weight:800;
    margin-bottom:6px;
}
.menu-item-has-children > a::after {
    content:"\f107";
    display:inline-block;
    margin-left:10px;
    font-family:'FontAwesome';
}
.menu-item-has-children.sfHover > a::after { content:"\f106"; }
.siteHeader__nav > ul > li > a:hover { color:#F6921E; }
ul.sub-menu li {
    margin-bottom:10px;
    break-inside:avoid;
}
ul.sub-menu a {
    line-height:1.2em;
    border-bottom:1px solid transparent;
}
ul.sub-menu a:hover { border-bottom:1px solid #231F20; }

/*
    ----------------
    - Sections
    ----------------
*/
.section {
    background: var(--root--ba-co);
    padding: 80px 0;
}
.section--alt {
    background-color: #F2F2F2;
    color: #231F20;
}
.section--primary {
    color: var(--root--co);
    background: var(--primary);
}
.section--secondary {
    color: var(--root--co);
    background: var(--secondary);
}
.section__columns {
    display: grid;
    align-items: var(--_align, center);
    gap: 100px;
    grid-template-columns: var(--if-small, 1fr) var(--if-large, var(--_columns, 3fr 2fr));
}
.section__columns > :first-child { align-self: end; }

/* Sticky logo section */
.stickyLogoWrapper { position: relative; }
.stickyLogoWrapper__logo {
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    display: var(--if-small, none) var(--if-large, block);
}
.stickyLogoWrapper__logo .width {
    position: sticky;
    top: 50%;
    transform: translateY(-50%);
}
/* Mobile logo, for when the sticky logo is hidden */
.carousel__mobileLogo {
    display: var(--if-small, block) var(--if-large, none);
    margin: 80px auto;
    width: min(60vw, 300px);
}

/*
    ----------------
    - Carousel
    ----------------
*/
.carousel {
    color: #fff;
	display: flex;
	overflow-x: scroll;
	overscroll-behavior-x: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.carousel::-webkit-scrollbar {
	-webkit-appearance: none;
	height: 0px;
}
/* Carousel items */
.carousel__item {
	flex: 0 0 100%;
	scroll-snap-align: start;
    background-size: cover;
    background-position: 50%;
    position: relative;
    background: hsl(0 0% 0% / .6);
}
.carousel__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.carousel__item video {
    position:absolute;
    z-index:-1;
    width: 100%;
    height: 100%;
    object-fit:cover;
}
.carousel .section__columns {
    min-height: min(100vh, 1000px);
    min-height: min(100svh, 1000px);
    padding: 80px 0;
}
.carousel__title {
    font-size: clamp(18px, 1em + 2vw, 50px);
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: -.04em;
}
.carousel__meta { font-size: clamp(17px, .6em + 1vw, 30px); }
.carousel__meta::before{
    content: "";
    display: block;
    max-width: 140px;
    height: 3px;
    background: #fff;
    margin: 1em 0 0.4em;
}
.carousel__meta ._date {
    color: var(--primary);
    font-weight: 100;
}
.carousel__meta ._date strong { font-weight: 800; }
.carousel__meta ._meta {
    font-weight: 700;
    font-size: .75em;
}

/* Navigation buttons */
.carouselNav {
    display: flex;
    gap: 8px;
    margin-top: 1em;
}
.carouselNav__button {
	display: block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    opacity: .5;
	touch-action: manipulation;
}
.carouselNav__button--active { opacity: 1; }
@media (any-hover:hover) {
	.carouselNav__button:hover { opacity: 1; }
}

/*
    ----------------
    - Rich text
    ----------------
*/
.richText > * {
    margin: revert;
    padding: revert;
    list-style: revert;
}
.richText > *:first-child { margin-top: 0; }
.richText > *:last-child { margin-bottom: 0; }

/*
    ----------------
    - Titles
    ----------------
*/
.section__title {
    font-size: clamp(20px, 1em + 2vw, 42px);
    line-height: 1.2;
    margin-bottom: .5em;
}
.stickyLogoWrapper .richText h1 {
    font-size: clamp(20px, 1em + 2vw, 42px);
    line-height: 1.2;
    margin-bottom: .5em;
}
.section--alt .section__title { color: #600032; }

/*
    ----------------
    - Buttons
    ----------------
*/
a.button, input.button, button.button, button.nf-fu-fileinput-button {
    color: inherit;
    border: 1px solid;
    display: inline-block;
    padding: .8em 2em;
    min-width: 140px;
    text-transform: uppercase;
    font-size: max(15px, .75em);
}

/*
    ----------------
    - Bookings opening soon
    ----------------
*/
.section--bookings { overflow: hidden; }
.section--bookings .section__columns > * { position: relative; }

/*
.section--bookings ._bubble{
    position: relative;
    isolation: isolate;
    padding: 40px;
    container-type: inline-size;
}
.section--bookings ._bubble::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 120%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1;
    background: #fff;
    border-radius: 50%;
    box-shadow: hsl(32 96% 49.6% / 0.18) 30px 0 0 0;
}
*/
.section--bookings { padding:0; }
.section--bookings .width {
    margin-left:0;
    max-width:1200px;
}
.section--bookings .section__columns { gap:40px; }
.section--bookings ._bubble {
    position:relative;
    width:637px;
    height:400px;
    background:url(../images/2025/bubble.png) no-repeat center center;
    background-size:contain;
}
.section--bookings ._bubble > div {
    padding-left:80px;
    padding-top:80px;
}
.section--bookings ._bubble h2{
    /*font-size: 6cqw;*/
    font-size:17px;
}
.section--bookings ._bubble span { display:block; }
.bookings__dates {
    font-size: 1.3em;
    margin-top: 1.8em;
    font-weight: 100;
}
.bookings__dates strong {
    font-weight: 900;
}

@media (max-width: 1023px) {
    .section--bookings .section__columns { display:block; }
    .section--bookings ._bubble + div {
        max-width: min(var(--root--wi), 100vw - 50px);
        margin-left:auto;
        margin-right:auto;
        margin-top:20px;
        margin-bottom:20px;
    }
}
@media (max-width: 767px) {
    .section--bookings ._bubble {
        width:100%;
        height:auto;
        min-height:260px;
        background-position:left top;
    }
    .section--bookings ._bubble > div {
        padding-left:40px;
        padding-top:40px;
    }
    .section--bookings ._bubble h2 { font-size:16px; }
    .section--bookings ._bubble p { font-size:50px !important; }
    .section--bookings ._bubble p + div { margin-top:10px !important; }
    .section--bookings .button {
        padding-left:1em;
        padding-right:1em;
    }
}

/*
    ----------------
    - Statistics
    ----------------
*/
.section--statistics {
    overflow: hidden;
    padding: 0;
}
.statistics {
    display: grid;
    grid-template-columns: var(--if-small, 1fr) var(--if-large, 3fr 2fr);
    gap: 40px;
    position: relative;
    padding: 80px 0;
}
.statistics > * { container-type: inline-size; }
.statistics ._chartWrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1.2;
    container-type: inline-size;
}
.statistics ._hand {
    position: absolute;
    z-index: 1;
    top: -18%;
    right: 67%;
    width: var(--if-small, 50%) var(--if-large, 90%);
    transform:translateY(-100%);
    transition:all 0.5s;
    -webkit-transition:all 0.5s;
}
.statistics ._hand.animate { transform: translateY(-25%); }
.statistics ._chart {
    width: 80%;
    height: auto;
    position: absolute;
    top: 7%;
    right: 0;
    display: var(--if-small, none) var(--if-large, block);
}
.statistics ._mobileChart {
    display: var(--if-small, block) var(--if-large, none);
    position: absolute;
    width: 70%;
    left: 18%;
    top: 6%;
}
.statistics ._number {
    position: absolute;
    top: 38%;
    left: 31%;
    font-weight: 800;
    /*font-size: 16cqw;*/
    font-size:100px;
    line-height:1em;
    width: 4ch;
    text-align: center;
    letter-spacing:-6px;
}
.statistics ._summary {
    font-size: clamp(13px, 3cqw, 18px);
    max-width: 45ch;
}
.statistics ._list {
    display: grid;
    gap: 1.5em;
    font-size: min(4.6cqw, 20px);
}
.statistics ._list h3 {
    font-weight: 800;
    font-size: 1.2em;
}
.statistics ._list > li:first-child h3 { font-size: 2em; }
.statistics ._swatch {
    display: var(--if-small, inline-block) var(--if-large, none);
    vertical-align: middle;
    margin-inline-end: 20px;
    width: 24px;
    height: 24px;
    border-radius: 6px;
}
.statistics ._source {
    font-size: 4.6cqw;
    margin-top: 2em;
}

.page__title {
    font-size:58px;
    color:#F6921E;
    border-bottom:2px solid #F6921E;
    margin-bottom:40px;
}
.post__title {
    font-size:20px;
    font-weight:bold;
    margin-bottom:1em;
}
#featured_image {
    min-width:455px;
}
@media (max-width: 1023px) {
    #featured_image { min-width:auto; }
}
body.single-sponsors #featured_image, body.single-displays #featured_image, body.single-display-holders #featured_image {
    height:340px;
    display:flex;
    background:#e6e7e8;
    justify-content:center;
    align-items:center;
}
body.single-displays #featured_image, body.single-display-holders #featured_image { margin-bottom:40px; }
body.single-sponsors #featured_image img, body.single-displays #featured_image img, body.single-display-holders #featured_image img {
    max-width:350px;
    max-height:250px;
    object-fit:contain;
}
#featured_image .button {
    width:100%;
    margin-top:20px;
    text-align:center;
}
#featured_image .button.file_button {
    margin-top:10px;
    width:70%;
}
#featured_image .button.file_button:first-of-type { margin-top:20px; }
#file_icons h3 {
    font-size:10px;
    text-transform:uppercase;
    margin-top:3em;
    margin-bottom:2em;
}
#file_icons a { margin-right:5px; }

.smaller { font-size:16px; }
.richText h2 {
    font-weight:bold;
    font-size:16px;
    margin-bottom:0;
}
.richText h3 {
    font-weight:bold;
    font-size:16px;
    margin-top:2em;
    margin-bottom:1em;
}
.richText p { margin-top:0; }
.richText + .button { margin-top:30px; }
body.page-breel-competition .richText, body.page-sponsors .richText, body.single-sponsors .richText,
body.page-interactive-displays .richText, body.single-displays .richText,
body.page-interactive-display-holders .richText, body.single-display-holders .richText, body.page-venue-map .richText,
body.page-testimonials .richText, #testimonials, body.tax-faq-categories .richText,
body.page-template-template_survey .richText, body.page-bstreetsmart-channel .richText,
body.page-teacher-resources .richText, body.page-register-for-lets-talk .richText,
body.single-learning-resources .richText, body.blog .richText, body.single-post .richText {
    font-size:16px;
    line-height:1.5em;
}

.section--cta { padding:0; }
.section--cta .section__columns {
    gap:0px;
    min-height:395px;
}
.section--cta .section__columns > :first-child { align-self:center; }
.section--cta h2 {
    font-size:20px;
    font-weight:500;
    line-height:1em;
    text-transform:uppercase;
    margin-bottom:10px;
}
.section--cta .richText {
    font-size:60px;
    letter-spacing:-2px;
    line-height:0.95em;
    font-weight:800;
}
.section--cta .button {
    margin-top:3em;
    min-width:220px;
    text-align:center;
}

.ninja-forms-req-symbol { display:none; }
.nf-field-container {
    position:relative;
    margin-bottom:10px !important;
}
form { margin-top:50px; }
.form_embed form { max-width:491px; }
body.page-template-template_survey .nf-form-cont { max-width:492px; }
form h2 {
    font-size:20px;
    line-height:1em;
    font-weight:600;
    margin-bottom:1em;
}
.form_rows {
    display:flex;
    justify-content:space-between;
}
.form_row {
    position:relative;
    margin-bottom:10px;
}
.form_row label, .textbox-wrap label, .textarea-wrap label, .number-wrap label, .email-wrap label, .date-wrap .nf-label-span {
    position:absolute;
    font:normal 14px 'Montserrat';
    font-weight:normal !important;
    color:#303232;
    top:16px;
    left:20px;
    text-transform:uppercase;
    transition:all 0.5s; -webkit-transition:all 0.5s;
    transform-origin:0 0;
    background:#fff;
    z-index:2;
}
.file_upload-wrap label {
    position:static;
    text-transform:none;
    font-weight:bold !important;
}
.checkbox-wrap label { font-weight:normal !important; }
.form_row.focus label, .textbox-wrap.focus label, .textarea-wrap.focus label, .number-wrap.focus label,
.email-wrap.focus label, .date-wrap.focus .nf-label-span {
    font-weight:bold;
    transform:translateY(-23px) scale(0.8);
}
.form_row input, .form_row textarea, .textbox-wrap input, .textarea-wrap textarea, .number-wrap input,
.email-wrap input, .date-wrap input {
    display:block;
    width:100%;
    border:1px solid #303232 !important;
    font:normal 14px 'Montserrat';
    padding-left:20px;
    padding-right:20px;
    outline:none;
}
.form_row input, .textbox-wrap input, .number-wrap input, .email-wrap input, .date-wrap input {
    height:50px !important;
    line-height:50px;
    padding-top:0;
    padding-bottom:0;
    outline:none;
}
.form_row textarea, .textarea-wrap textarea {
    padding-top:16px;
    padding-bottom:16px;
    height:200px;
}
.listselect-wrap .selectric-wrapper {
    font-size:14px;
    line-height:50px;
    text-transform:uppercase;
}
.listselect-wrap .selectric {
    display:flex;
    justify-content:space-between;
    background:#fff;
    border:1px solid #303232;
}
.listselect-wrap .selectric .label {
    line-height:50px;
    height:50px;
    margin-left:16px;
    margin-right:25px;
}
.listselect-wrap .selectric-items {
    background:none;
    border:none;
}
.listselect-wrap .selectric-items li {
    line-height:50px;
    padding-top:0;
    padding-bottom:0;
    padding-left:16px;
    background:#e5e5e5;
    margin-bottom:5px;
}
.listselect-wrap .selectric-items li.selected, .listselect-wrap .selectric-items li:not(.disabled):hover {
    background:#000;
    color:#fff;
}
.twocols .listselect-wrap .selectric-scroll ul {
    column-count:2;
    margin-top:5px;
}
.listselect-wrap .selectric-button, .listselect-wrap b.button {
    width:25px;
    font-weight:normal;
}
.listselect-wrap .selectric-button::after, .listselect-wrap b.button::after {
    content:"\f107";
    font-family:'FontAwesome';
}
.button_list .list-radio-wrap .nf-field-element ul {
    column-count:2;
    column-gap:10px;
}
.button_list .list-radio-wrap .nf-field-element li {
    padding:0;
    break-inside:avoid;
}
.button_list .list-radio-wrap .nf-field-element li label {
    margin-left:0;
    font-size:14px;
    line-height:50px;
    height:50px;
    text-transform:uppercase;
    padding-left:20px;
    border:1px solid #303232;
    user-select:none;
    -webkit-user-select:none;
}
.button_list .list-radio-wrap .nf-field-element li .nf-checked-label { background:#e5e5e5; }
.button_list .list-radio-wrap input[type="radio"] { display:none; }
.field-wrap hr {
    border:1px solid #231f20;
    width:160px;
    margin-top:16px;
    margin-bottom:10px;
}
.fullwidth .field-wrap hr { width:100%; }
.listselect-wrap label, .html-wrap label, .file_upload-wrap label {
    font-size:16px;
    line-height:1.5em;
}
.nf-field-container.html-container .nf-field-label { display:block !important; }
.html-wrap, .checkbox-wrap {
    font-size:16px;
    line-height:1.5em;
}
.submit-wrap input {
    border:none !important;
    min-width:220px;
}

.err {
    color:red;
    display:none;
    font-size:13px;
}
.nf-error-wrap {
    color:red;
    font-size:12px;
    position:absolute;
    right:2px;
    bottom:2px;
}
.nf-after-field .nf-error-msg { margin-right:0 !important; }
form input[type="submit"] {
    appearance:none; -webkit-appearance:none;
    border:none;
    font:bold 15px 'Montserrat';
    width:220px;
    height:50px;
    line-height:50px;
    background:#F6921E;
    color:#fff;
    text-align:center;
    text-transform:uppercase;
}
#success {
    display:none;
    margin-top:1em;
}

body.page-template-template_2025 .richText, body.page-template-template_conversation_starters .richText,
body.page-template-template_programme .richText, body.page-template-template_volunteer_register .richText,
body.page-template-template_volunteer_login .richText, body.page-template-template_volunteer_dashboard .richText {
    font-size:16px;
    line-height:1.6em;
}
#conversation_starters {
    border-top:1px solid #000;
    padding-top:45px;
    margin-top:85px;
}
#conversation_starters li {
    display:flex;
    border-bottom:1px solid #000;
    padding-bottom:45px;
    margin-bottom:45px;
}
#conversation_starters li img {
    min-width:122px;
    height:83px;
}
#conversation_starters li div {
    margin-left:20px;
    flex-basis:546px;
}
#conversation_starters h2 {
    font-size:20px;
    line-height:1em;
    margin-bottom:1em;
    font-weight:bold;
    text-transform:uppercase;
}
#conversation_starters h3 {
    font-size:16px;
    line-height:1.5em;
    font-weight:800;
    color:#F6921E;
    text-transform:uppercase;
}
#conversation_starters h4 {
    font-size:22px;
    line-height:1.4em;
    margin-bottom:0.7em;
}
#conversation_starters h5 {
    font-size:16px;
    line-height:1.5em;
    font-weight:800;
    color:#939598;
    text-transform:uppercase;
}
#conversation_starters p {
    font-size:16px;
    line-height:1.5em;
}

body.single-sponsors .section__columns { margin-bottom:40px; }
body.page-template-template_2025 .section__columns :first-child,
body.page-template-template_programme .section__columns :first-child,
body.page-sponsors .section__columns :first-child,
body.single-sponsors .section__columns > :first-child,
body.page-interactive-displays .section__columns :first-child,
body.single-displays .section__columns > :first-child,
body.page-interactive-display-holders .section__columns :first-child,
body.single-display-holders .section__columns > :first-child,
body.tax-faq-categories .section__columns :first-child,
body.page-template-template_survey .section__columns :first-child,
body.page-bstreetsmart-channel .section__columns :first-child,
body.page-teacher-resources .section__columns :first-child,
body.page-register-for-lets-talk .section__columns :first-child,
body.blog .section__columns :first-child,
body.single-post .section__columns :first-child {
    align-self:flex-start; 
}
body.single-sponsors .section__columns > :first-child,
body.page-template-template_volunteer_register .section__columns > :first-child {
    display:flex;
    height:100%;
    flex-direction:column;
    justify-content:space-between;
}

h2.subtitle, h2.table_heading, .nf-form-title h3 {
    font-size:36px;
    line-height:1em;
    font-weight:bold;
    color:#121F41;
    margin-top:50px;
    margin-bottom:30px;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    text-transform:uppercase;
    padding-top:14px;
    padding-bottom:14px;
}
h2.subtitle {
    margin-top:60px;
    margin-bottom:40px;
}
table { border-bottom:1px solid #797979; }
td {
    font-size:16px;
    line-height:2em;
    padding-left:6px;
    padding-right:64px;
    padding-top:6px;
    padding-bottom:6px;
    vertical-align:top;
    border-top:1px solid #797979;
}
tr:nth-child(odd) td { background:#f2f2f2; }
.nowrap { white-space:nowrap; }
.richText a.button.block_button {
    margin-top:40px;
    min-width:220px;
    font-weight:bold;
    text-align:center;
}

.grid { display:grid; }
.grid_2 {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 22px;
    grid-row-gap: 22px;
}
.grid_3 {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 18px;
    grid-row-gap: 18px;
}
body.single-displays .grid, body.single-display-holders .grid {
    margin-top:80px;
    border-top:1px solid #000;
    padding-top:40px;
}
.grid > li { background:#e6e7e8; }
.grid_2 > li { height:250px; }
.grid_3 > li { height:165px; }
.grid > li > a {
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
}
.grid img { object-fit:contain; }
.grid_2 img {
    max-width:340px;
    max-height:140px;
}
.grid_3 img {
    max-width:263px;
    max-height:112px;
}

body.page-venue-map iframe {
    display:block;
    margin-top:60px;
}

ul#testimonials { max-width:470px; }
#testimonials > li { margin-bottom:4em; }
#testimonials h2 {
    font-weight:800;
    color:#f6921e;
    margin-bottom:1em;
}
#testimonials > li:first-child h2 { text-transform:uppercase; }
#testimonials p { margin-bottom:1em; }
#testimonials > li:first-child p:first-of-type {
    font-size:20px;
    line-height:1.5em;
}

#faq_tabs {
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}
#faq_tabs li { flex-basis:23.5%; }
#faq_tabs a {
    display:block;
    font-size:14px;
    line-height:50px;
    height:50px;
    padding-left:22px;
    text-transform:uppercase;
    border:1px solid #303232;
    color:#303232;
}
#faq_tabs a.active {
    background:#f6921e;
    border-color:#f6921e;
    color:#fff;
}
#faqs { max-width:440px; }
#faqs li { margin-bottom:2em; }
#faqs h2 {
    font-weight:bold;
    font-size:16px;
    line-height:1.5em;
    margin-bottom:1em;
}

#playlists h3 {
    font-size:20px;
    font-weight:bold;
    line-height:1em;
    text-transform:uppercase;
    margin-top:2em;
    margin-bottom:1em;
}
#playlists h4 {
    font-weight:bold;
    text-transform:uppercase;
}
ul.videos {
	list-style:none;
	padding:0;
	margin-left:-10px;
    font-size:16px;
    line-height:1em;
}
ul.videos::after {
	content:"";
	display:table;
	clear:both;
}
ul.videos li {
	display:block;
	float:left;
	position:relative;
	margin-top:0;
	margin-left:10px;
	margin-bottom:10px;
	width:325px;
	height:197px;
	
}
ul.videos li a {
	position:absolute;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	transition:all 0.5s;
	-webkit-transition:all 0.5s;
	border:1px solid #fff;
}
ul.videos li a:hover {
	left:-20px;
	top:-20px;
	right:-20px;
	bottom:-20px;
	z-index:100;
}
ul.videos li a .bg {
	position:absolute;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	background:rgba(0, 0, 0, 0.7);
	mix-blend-mode:multiply;
	transition:all 0.5s;
	-webkit-transition:all 0.5s;
}
ul.videos li a:hover .bg { opacity:0.2; }
ul.videos li a img {
	position:absolute;
	right:20px;
	bottom:22px;
}
ul.videos li a .meta {
	position:absolute;
	left:10px;
	bottom:10px;
	color:#fff;
	max-width:255px;
	line-height:1.2em;
}
ul.videos li a .meta h3 {
    font-size:16px;
    font-weight:bold;
    line-height:1.2em;
    text-transform:none;
    line-height:1.2em;
    margin-top:0;
}
#player_wrap {
	display:none;
	position:fixed;
	background:#000;
	left:0px;
	top:0px;
	right:0px;
	bottom:0px;
	z-index:100;
}
#player_wrap.active { display:block; }
#player_wrap a {
	display:block;
	position:absolute;
	right:0px;
	top:0px;
	padding-right:20px;
	font-size:32px;
	color:#fff;
	opacity:0.25;
	transition:all 0.5s;
	-webkit-transition:all 0.5s;
	text-decoration:none;
}
#player_wrap a:hover { opacity:1; }
#player_wrap > div {
  width:100%;
  position:absolute;
  left:0px;
  top:50%;
  transform:translateY(-50%);
  -webkit-transform:translateY(-50%);
}

#resources li, #news li {
    display:flex;
    justify-content:space-between;
    font-size:16px;
    line-height:1.6em;
    padding-bottom:40px;
    border-bottom:1px solid #000;
    margin-bottom:30px;
}
#resources .main_icon {
    flex-basis:85px;
}
#resources .resource_description { flex-basis:507px; }
#resources .resource_description a.readmore, #news .news_description a.readmore {
    display:inline-block;
    color:#000;
    text-transform:uppercase;
    margin-top:10px;
    font-weight:bold;
}
#resources h3 {
    font-size:20px;
    line-height:1em;
    margin-bottom:1em;
    font-weight:bold;
    text-transform:uppercase;
}
#resources .resource_action { flex-basis:220px; }
#resources .resource_action a.button {
    width:220px;
    text-align:center;
    margin-bottom:10px;
}
a.button.disabled { opacity:0.25; }
#resource_actions {
    display:flex;
    justify-content:space-between;
}
#resource_actions > a { flex-basis:48%; }
#news h3 {
    font-size:20px;
    line-height:1.5em;
    font-weight:bold;
    margin-bottom:1em;
}
#news h3 a { color:#000; }
#news .news_description { flex-basis:575px; }
#news .news_thumbnail img {
    width:322px;
    height:232px;
    object-fit:cover;
    object-position:50% 50%;
}
body.blog form { margin-top:0; }

#checkout { display:flex; }
#checkout .col {
    flex-basis:50%;    
    padding-top:55px;
}
#checkout .col:last-child { background:#f3f2f1; }
#checkout .col > div {
    max-width:500px;
    margin-left:auto;
    margin-right:60px;
    position:relative;
    padding-top:120px;
}
#checkout .col:last-child > div {
    max-width:447px;
    margin-left:70px;
}
#checkout h1 {
    position:absolute;
    left:0px;
    top:0px;
    width:1077px;
    z-index:10;
}
#checkout h2 {
    font-size:14px;
    text-transform:uppercase;
    margin-top:2em;
    margin-bottom:1em;
}
#checkout small { font-size:14px; }
#checkout p {
    margin-top:0.5em;
    margin-bottom:0.5em;
}
#checkout p img { vertical-align:middle; }
#checkout .tc { font-size:12px; }
#checkout table { margin-bottom:20px; }
#checkout td {
    background:none;
    white-space:nowrap;
    padding-right:10px;
}
#checkout tr:first-child td { border-top:none; }
#checkout td:last-child {
    padding-right:6px;
    text-align:right;
}
#checkout td small { font-size:12px; }
.donation_fields {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
.basis\:33p {
    min-width:160px;
    margin-bottom:10px;
}
.basis\:66p {
    min-width:330px;
    margin-bottom:10px;
}
.amount_button {
    display:block;
    font-size: 26px;
    font-weight:500;
    height: 73px;
    line-height: 73px;
    width: 100%;
    padding-left: 26px;
    color: #949698;
    border: 1px solid #303232;
    text-decoration: none;
}
.amount_button.selected {
    background:#f6921e;
    color:#000;
}
#amount {
    border: 1px solid #303232;
    position:relative;
}
#amount span {
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    height: 71px;
    line-height: 71px;
    width: 71px;
    text-align: center;
    background: #f6921e;
}
#amount input {
    border: none;
    padding-left: 10px;
    outline: none;
    display: inline-block;
    font-size: 26px;
    font-weight: 500;
    height: 71px;
    line-height: 71px;
    max-width: 200px;
    color: #000;
}
.md_pay_note {
    line-height:1em;
    padding-bottom:1em;
    border-bottom:1px solid #000;
}
#checkout input[type="submit"] {
    margin-top:20px;
    margin-bottom:60px;
    width:100%;
}
#checkout .err {
    font-size:11px;
    position:absolute;
    right:4px;
    bottom:2px;
}
#captcha + .err { bottom:-14px; }
.tc {
    position:relative;
    padding-bottom:15px;
}
#checkout #wait { display:none; }

body.page-checkin, body.page-guest {
    text-align:center;
    background:#8dc63f;
    padding-top:30px;
    padding-left:20px;
    padding-right:20px;
    font-size:21px;
    line-height:1.2em;
}
body.page-guest { background:#3fa9f5; }
body.page-checkin main, body.page-guest main { margin-top:0; }
body.page-checkin h1, body.page-guest h1 {
    font-size:40px;
    letter-spacing:-1px;
    line-height:0.8em;
    font-weight:800;
    text-align:center;
    text-transform:uppercase;
    border-top:8px solid #000;
    border-bottom:8px solid #000;
    margin-top:30px;
    margin-bottom:20px;
    padding-top:20px;
    padding-bottom:18px;
}
body.page-checkin p, body.page-guest p { margin-bottom:0.8em; }
body.page-checkin form, body.page-guest form { margin-top:0; }
body.page-checkin input[type="text"], body.page-guest input[type="text"] {
    display:block;
    width:100%;
    background:#fff;
    font:600 16px 'Montserrat', sans-serif;
    line-height:50px;
    height:50px;
    margin-bottom:10px;
}
body.page-checkin input[type="submit"], body.page-checkin a.button, body.page-guest input[type="submit"],
body.page-guest a.button {
    background:#000;
    border-color:#000;
    color:#fff;
    display:block;
    width:100%;
    text-align:center;
    font-weight:bold;
}
body.page-checkin a.button, body.page-guest a.button {
    height:50px;
    line-height:50px;
    padding-top:0;
    padding-bottom:0;
}
#checkin_thanks {
    display:none;
    text-align:left;
    font-size:24px;
    line-height:1.2em;
}
#checkin_thanks header {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
#checkin_thanks h2 {
    font-weight:800;
    font-size:19px;
    line-height:1em;
    text-transform:uppercase;
    flex-basis:145px;
}
#checkin_thanks h3 {
    font-size:14px;
    line-height:1em;
    margin-bottom:6px;
    text-transform:uppercase;
}
#checkin_thanks h4 {
    font-size:33px;
    font-weight:800;
    letter-spacing:-1px;
    line-height:1em;
}
#checkin_thanks h5 {
    font-size:33px;
    letter-spacing:-1px;
    line-height:1em;
}
#checkin_thanks h1 span {
    display:block;
    font-size:17px;
    line-height:1.5em;
}
#checkin_thanks h6 {
    font-size:20px;
    line-height:1em;
}
#checkin_check { margin-top:20px; }
#checkin_check span {
    display:block;
    font-size:14px;
    line-height:1.3em;
    margin-bottom:10px;
}
#checkin_cloak, #checkin_display { display:none; }
#checkin_cloak { margin-top:20px; }
#checkin_cloak span {
    font-size:100px;
    font-weight:800;
    line-height:1em;
}
.page-numbers, a.page-numbers {
    display:inline-block;
    font-size:16px;
    line-height:1em;
    text-transform:uppercase;
    color:#221f1f;
    padding-right:12px;
    margin-right:8px;
    border-right:1px solid #221f1f;
}
a.page-numbers { text-decoration:none; }
a:hover.page-numbers { text-decoration:underline; }
.page-numbers.prev, .page-numbers.next { font-weight:bold; }
.page-numbers:last-child { border-right:none; }

@media (max-width: 767px) {
    body.page-interest { background:#3fa9f5; }
    body.page-interest header, body.page-interest #featured_image, body.page-interest footer, body.page-interest .nf-form-title h3 {
        display:none;
    }
    body.page-interest .page__title {
        font-size:32px;
        font-weight:bold;
        line-height:1em;
        color:#000;
        border-bottom:none;
        margin-bottom:40px;
    }
    body.page-interest .page__title::before {
        content:'';
        display:block;
        float:left;
        margin-top:-20px;
        margin-right:20px;
        width:152px;
        height:98px;
        background:url(../images/2025/logo_black.png) no-repeat center center;
        background-size:contain;
    }
    body.page-interest .page__title::after {
        content:"REGISTER YOUR INTEREST";
        display:block;
        font-size:14px;
        line-height:1em;
        clear:right;
    }
    body.page-interest .section {
        background:none;
        padding-top:40px;
        padding-bottom:20px;
    }
    body.page-interest .section__columns { display:block; }
    body.page-interest main { margin-top:0; }
    body.page-interest .richText::before {
        content:'';
        display:table;
        clear:both;
    }
    body.page-interest .form_embed form { margin-top:30px; }
    body.page-interest .textbox-wrap label, body.page-interest .email-wrap label { background:none; }
    body.page-interest .textbox-wrap input, body.page-interest .email-wrap input {
        background:rgba(255, 255, 255, 0.5);
        border:none !important;
    }
    body.page-interest .submit-wrap input {
        background:#00488c;
        width:100%;
    }
}

.modal {
	position:fixed;
	left:0;
	top:0;
    right:0;
    bottom:0;
	background:rgba(0, 0, 0, 0.7);
	z-index:999;
	display:none;
}
.modal > div {
	position:relative;
	top:100px;
	width:665px;
	padding-left:30px;
	padding-right:30px;
	padding-bottom:30px;
	padding-top:5px;
	margin:auto;
	background:#fff;
	z-index:1000;
}
a.btn_modal_close {
	position:absolute;
	top:8px;
	right:10px;
	font-size:40px;
	color:#000;
	text-decoration:none;
}
.modal h2 { text-align:center; }
.register_modal h3 {
	font-family:'Flexo';
	font-size:46px;
	letter-spacing:-2px;
	line-height:1em;
	margin-top:2em;
	margin-bottom:0.8em;
	font-weight:bold;
}
.register_modal h4 {
	font-family:'Flexo';
	font-size:42px;
	letter-spacing:-1px;
	line-height:1em;
	font-weight:normal;
	margin-bottom:0;
}
.register_modal a.button_close {
    margin-top:20px;
    text-align:center;
}

/*
    ----------------
    - Footer
    ----------------
*/

/* "Thanks" logos */
.siteFooter__top { background-color: #E6E7E8; }
.siteFooter__top ._thanks {
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: space-between;
    padding: 40px 0;
}
@media (max-width: 1023px) {
    .siteFooter__top ._thanks {
        flex-wrap:wrap;
        justify-content:space-evenly;
    }
}
.siteFooter__top ._thanks ._paragraph { flex-shrink: 0; }
.siteFooter__top ._thanks img {
    width: 100%;
    max-height: 130px;
    max-width: 180px;
    transition-duration: .15s;
    transition-timing-function: ease-in-out;
    transition-property: opacity;
    object-fit: contain;
}
.siteFooter__top ._thanks img:hover { opacity: .7; }
.siteFooter__top ._thanks p {
    font-size: 16px;
    font-weight: bold;
}
@media (min-width: 701px) {
    .siteFooter__top ._thanks p {
        border-inline-end: 1px solid currentColor;
        text-align: end;
        padding-inline-end: 2em;
        width: min-content;
    }
}
@media (max-width: 700px) {
    .siteFooter__top ._thanks {
        flex-wrap: wrap;
        justify-content: space-evenly;
    }
    .siteFooter__top ._thanks img {
        max-height: 70px;
        max-width: 120px;
    }
    .siteFooter__top ._thanks ._paragraph { flex: 1 1 100%; }
}
/* Bottom footer */
.siteFooter__bottom {
    background-color: #4D4D4D;
    color: #fff;
    padding: 40px 0;
}
/* Sponsors */
.siteFooter__bottom ._sponsors{
    display: flex;
    flex-wrap: wrap;
    gap: 50px clamp(40px, 5vw, 100px);
}
.siteFooter__bottom ._sponsors > * { flex: 1 1 350px; }
.siteFooter__bottom ._sponsors h3 {
    font-weight: 600;
    margin-bottom: 1em;
}
.siteFooter__bottom ._sponsors ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 50px;
}
.siteFooter__bottom ._sponsors li {
    display: flex;
    align-items: center;
    gap: 20px;
}
.siteFooter__bottom ._sponsors img {
    flex: 0 0 auto;
    width: auto;
    height: var(--if-large, 100px) var(--if-small, 60px);
    object-fit: contain;
}
.siteFooter__bottom ._sponsors p { font-size: 13px; }
/* Contact information */
.siteFooter__bottom ._contact{
    font-weight: 600;
    margin-top: 2em;
    font-size: 13px;
}
.siteFooter__bottom ._contact a { color: inherit; }
.siteFooter__bottom ._contact a:hover { text-decoration: underline; }
.siteFooter__bottom ._contact p:last-child { color: var(--secondary); }