﻿/*===================================
=           PAGE ELEMENTS           =
===================================*/
.page-element {
    margin: 0;
    padding: 0;
    background-color: #fff;
}

    .page-element.footeroffset {
        margin-bottom: 10px;
    }

.wrap {
    margin: 0;
    padding: 0;
}

.sectionContentWrapper {
    padding: 20px 2% 2em 2%;
}

.parallax .sectionContentWrapper, .parallax .wrap .sectionContentWrapper {
    padding: 0;
}

figcaption.captionbelow p {
    margin: 1rem auto 0.6rem auto;
}

.nopadding .sectionContentWrapper {
    padding: 0;
}

article h1, article h2, article h3, article h4, article p, article ol, article ul {
    max-width: var(--text-width);
    margin-left: auto;
    margin-right: auto;
}

ul.bullet, article ul {
    list-style-type: disc;
}

    ul.bullet li {
        list-style-type: disc;
        font-weight: 300;
        padding-bottom: 20px;
        margin-left: 30px;
    }

.fullWidth .cat-0.sectionContentWrapper, .fullWidth .cat-4.sectionContentWrapper,
.fullScreen .cat-0.sectionContentWrapper, .fullScreen .cat-4.sectionContentWrapper,
.fullWidth .cat-5.sectionContentWrapper,
.fullWidth .cat-9.sectionContentWrapper, .fullWidth .cat-7.sectionContentWrapper,
.fullWidth .cat-12.sectionContentWrapper {
    padding: 0;
}

.fullWidth .cat-0.sectionContentWrapper {
    overflow: hidden;
}

.fullWidth .cat-9.sectionContentWrapper, .fullWidth .cat-7.sectionContentWrapper {
    padding-bottom: 20px;
}

.paddingleftright .wrap .sectionContentWrapper {
    padding-left: 20px;
    padding-right: 20px;
}

/* makes section or div fullwidth whatever its parent column */
.make-full-width {
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

    .make-full-width .sectionContentWrapper {
        padding: 0;
        max-width: unset;
    }

/* escapes the initial sectioncontentwrapper only */
.escapeColumn .wrap > .sectionContentWrapper {
    max-width: unset;
    padding: 0;
}

.fullWidth .cat-0.sectionContentWrapper img, .fullWidth .cat-4.sectionContentWrapper img {
    display: block;
}

.cat-1 article p {
    margin: 0.865em auto;
}

p.highlight, .pale p.highlight, .pale .sectionContentWrapper p.highlight {
    background-color: var(--sbp-dark);
    color: #fff;
    padding: 20px;
}

    p.highlight.pale {
        background-color: var(--sbp-pale);
        color: var(--sbp-dark);
        padding: 20px;
    }

div.highlight {
    background-color: var(--sbp-dark);
    color: #fff;
    padding: 20px;
    margin: 40px auto 30px auto;
}

    div.highlight.pale {
        background-color: var(--sbp-pale);
        color: var(--sbp-dark);
    }

    div.highlight h1, div.highlight h2, div.highlight h3, div.highlight p, div.highlight li {
        color: #fff;
    }

    div.highlight.pale h1, div.highlight.pale h2, div.highlight.pale h3, div.highlight.pale p, div.highlight.pale li {
        color: var(--sbp-dark);
    }

.border-bottom {
    border-bottom: 1px solid #ccc;
}

.pale .border-bottom {
    border-bottom: 1px solid #bbb;
}

/*===================================
=             IMAGES               =
===================================*/

.cat-4 figure {
    text-align: center;
}

.cat-4.sectionContentWrapper figure.fitwidth img, .cat-4.sectionContentWrapper figure.fitfullwidth img {
    width: 100%;
}

/*===================================
=            SUBMENU               =
===================================*/

.section-has-submenu {
    left: 0;
    right: 0;
    border-bottom: 1px solid #ccc;
    z-index: 40;
    position: sticky;
    top: 101px;
}

    .section-has-submenu .sectionContentWrapper {
        padding: 0;
    }

    .section-has-submenu .submenuwrap {
        width: auto;
        margin: 0 auto;
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: space-between;
    }

    .section-has-submenu .wrap .sectionContentWrapper, .section-has-submenu.fullWidth .wrap .sectionContentWrapper {
        padding: 3px 0;
    }

    .section-has-submenu .submenu-nav {
        visibility: hidden;
        width: 0;
        margin: 0 2px;
        height: auto;
        background: transparent;
    }

    .section-has-submenu.shownav .submenu-nav {
        width: 36px;
    }

.dark.section-has-submenu .submenu-nav {
    background: var(--sbp-dark);
}

.section-has-submenu .submenu-nav.submenu-previous {
    visibility: hidden;
    visibility: visible;
    padding-right: 8px;
}

.section-has-submenu .submenu-nav.submenu-next {
    visibility: hidden;
    visibility: visible;
    padding-left: 8px;
}

.section-has-submenu .submenu-nav a {
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.section-has-submenu .submenu-nav i {
    color: #fff;
    font-size: 1.26rem;
    display: inline-block;
}

.section-has-submenu .submenunav {
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.section-has-submenu.shownav .submenunav {
    text-align: center;
    padding: 3px 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    overflow-x: hidden;
    max-width: var(--main-column);
}

.section-has-submenu .submenunav ul {
    margin: 0 auto;
    padding: 0;
    text-align: center;
    /*! max-width: var(--main-column); */
    max-width: none;
    flex: 0 0 auto;
    list-style-type: none;
}

    .section-has-submenu .submenunav ul li {
        display: inline-block;
        padding: 12px 10px 12px 10px;
    }

        .section-has-submenu .submenunav ul li:first-of-type {
            padding: 12px 10px 12px 4px;
        }

        .section-has-submenu .submenunav ul li:last-of-type {
            padding: 12px 4px 12px 10px;
        }

.submenunav li a, .submenunav li a:hover, .submenunav li a:focus, .submenunav li a:visited {
    line-height: 138%;
    font-size: 0.92rem;
    padding: 10px 8px;
    color: var(--sbp-orange);
    background-color: transparent;
    text-decoration: none;
    text-transform: uppercase;
}

    .submenunav li a, .submenunav li a:hover, .submenunav li a:focus, .submenunav li a:visited {
        line-height: 138%;
        font-size: 0.92rem;
        padding: 10px 20px;
        color: var(--sbp-link) !important;
    }

        .submenunav li a:hover {
        }

/*===================================
=              CONTENT             =
===================================*/
.quote, blockquote {
    font-size: 1.25rem;
    line-height: 1.55;
    /*font-style: italic;*/
    background-color: rgba(150,150,145,0.25);
    padding: 1em;
    margin: 1em auto 1em auto;
    border-radius: 0.5em;
    max-width: 820px;
    font-weight: 400;
}

    blockquote.aspen-fact {
        background-color: var(--sbp-dark);
        color: #fff;
        margin: 3em auto 3em auto;
        max-width: 700px;
        font-size: 1rem;
        position: relative;
    }

        blockquote.aspen-fact:before {
            content: "";
            display: inline-block;
            width: 116px;
            height: 120px;
            background-image: url('https://www.scotlandbigpicture.com/Images/2023/06/288f47ef-bf45-4531-ad35-a4ead6664011_Aspen-leaf.png');
            background-repeat: no-repeat;
            background-size: 120px;
            position: absolute;
            right: -18px;
            top: -38px
        }

    blockquote h3 {
        font-family: quotes, 'Open Sans',sans-serif;
        text-align: center;
        font-size: 1.5rem;
        font-weight: 400;
    }

    blockquote.aspen-fact p, blockquote.aspen-fact h1, blockquote.aspen-fact h2, blockquote.aspen-fact h3, blockquote.aspen-fact li {
        color: #fff;
    }

    blockquote.aspen-fact p {
        font-size: 1.125rem;
        padding: 20px;
        font-weight: 300;
    }

    blockquote.aspen-fact h3 {
        text-align: left;
        padding-left: 20px;
        font-family: 'Open Sans', sans-serif, Helvetica, Arial, sans-serif;
    }

.author {
    font-size: 1rem;
    font-style: normal;
    opacity: 0.7;
}

.testimonial .author {
    font-weight: 300;
    padding: 0;
    text-align: right;
    opacity: 1;
}

.content-wrap.infographic {
    padding: 0;
}


.minimal-spacing h1, .minimal-spacing h2, .minimal-spacing h3, .minimal-spacing h4 {
    margin-top: 0;
    margin-bottom: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.width100 .teaser.headline-banner .content {
    right: 3%;
    left: auto;
    width: 45%;
    margin-bottom: 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.headline-banner .content h1, .headline-banner .content h2, .headline-banner .content h3, .headline-banner .content h4,
.headline-banner .content p {
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    flex: 0 1 auto;
}

.headline-banner .content p {
    font-weight: 400;
    font-size: 1.125rem;
}

    .headline-banner .content p:before {
        display: none;
    }

.headline-banner a.button {
    margin: 30px 0 0 0;
    color: #444;
    background-color: var(--sbp-orange);
    border: 0;
}

    .headline-banner a.button:hover {
        color: #fff;
    }

.headline-banner .content h1 span {
    font-size: 3.825rem;
}

.headline-banner .content a.button {
    margin: 30px 0 0 0;
}

.social-wrapper h3, .social-wrapper ul {
    margin: 0 auto;
    text-align: center;
}

.social-wrapper h3 {
    font-size: 1.25rem;
}

.social-wrapper ul {
    padding: 0;
    list-style-type: none;
}

.social-wrapper li {
    display: inline-block;
    width: auto;
    padding: 6px 4px 4px 0;
    margin: 0;
    line-height: 100%;
}

.social-wrapper a {
    color: #858B25
}



/* two-col layouts */
.two-column.article {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0 2%;
}

.two-column .content {
    margin: 0 auto;
    text-align: center;
    height: 100%;
}

.two-column .ratio-25-75 .imgPart {
    flex: 0 0 75%;
    max-width: 75%;
}

.two-column .ratio-25-75 .textPart {
    flex: 0 0 25%;
    max-width: 25%;
}

.two-column .ratio-40-60 .imgPart {
    flex: 0 0 60%;
    max-width: 60%;
}

.two-column .ratio-40-60 .textPart {
    flex: 0 0 40%;
    max-width: 40%;
}

.two-column .ratio-50-50 .imgPart {
    flex: 0 0 50%;
    max-width: 50%;
}

.two-column .ratio-50-50 .textPart {
    flex: 0 0 50%;
    max-width: 50%;
}

.two-column .ratio-60-40 .imgPart {
    flex: 0 0 40%;
    max-width: 40%
}

.two-column .ratio-60-40 .textPart {
    flex: 0 0 60%;
    max-width: 60%
}

.two-column .ratio-75-25 .imgPart {
    flex: 0 0 25%;
    max-width: 25%;
}

.two-column .ratio-75-25 .textPart {
    flex: 0 0 75%;
    max-width: 75%;
}

.two-column .img-text .imgPart {
    order: 1;
}

.two-column .img-text .textPart {
    order: 2;
}

.two-column .text-img .imgPart {
    order: 2;
}

.two-column .text-img .textPart {
    order: 1;
}

.two-column .img-text .textPart .inner {
    padding: 0 30px 0 30px;
}

.two-column .text-img .textPart .inner {
    padding: 0 30px;
}

.two-column .imgPart, .two-column .textPart {
    height: auto;
}

    .two-column .imgPart img {
        display: block;
        width: auto;
    }

.two-column .fillheight .imgPart img {
    display: block;
    height: 100%;
    object-fit: cover;
}

/* 2 column with slider */
.page-element .twocol .static-content, .twocol .slider-content,
.twocol.ratio-50-50 .static-content, .twocol.ratio-50-50 .slider-content {
    flex: 0 0 50%;
    box-sizing: border-box;
    width: 50vw;
    display: flex;
    flex-direction: column;
}

.static-content .inner, .slider-content .inner {
    flex: 1 1 0px;
    overflow-y: hidden;
}

.static-content.limiter .inner, .slider-content.limiter .inner {
    overflow: unset;
    flex: 0 0 auto;
}

.twocol .static-content img {
    display: block;
}

.twocol .slider, .twocol.ratio-50-50 .slider {
    /* assume 50:50 ratio and allow for container margin */
    width: calc(50vw - 2%);
}

.nopadding .twocol .slider, .twocol.ratio-50-50 .slider {
    width: 50vw;
}

.twocol.slider-to-right .static-content {
    order: 1;
}

.twocol.slider-to-right .slider-content {
    order: 2;
}

.twocol.slider-to-left .static-content {
    order: 2;
}

.twocol.slider-to-left .slider-content {
    order: 1;
}

.twocol.ratio-40-60 .static-content {
    flex: 0 0 40%;
    width: 40%;
}

.align-stretch.twocol .slider-content div,
.align-stretch.twocol .slider-content .slick-slider {
    height: 100%;
}

.twocol.ratio-40-60 .slider-content {
    flex: 0 0 60%;
    width: 60%;
}

.twocol.ratio-40-60 .slider {
    width: calc(60vw - 2%);
}

.nopadding .twocol.ratio-40-60 .slider {
    width: 60vw;
}

.twocol.ratio-60-40 .slider {
    width: calc(40vw - 2%);
}

.nopadding .twocol.ratio-60-40 .slider {
    width: 40vw;
}

.twocol.ratio-60-40 .static-content {
    flex: 0 0 60%;
}

.twocol.ratio-60-40 .slider-content {
    flex: 0 0 40%;
}

.twocol.ratio-25-75 .slider {
    width: calc(75vw - 2%);
}

.nopadding .twocol.ratio-25-75 .slider {
    width: 75vw;
}

.twocol.ratio-25-75 .static-content {
    flex: 0 0 25%;
}

.twocol.ratio-25-75 .slider-content {
    flex: 0 0 75%;
}

.twocol.ratio-75-25 .slider {
    width: calc(25vw - 2%);
}

.twocol.ratio-75-25 .static-content {
    flex: 0 0 75%;
}

.twocol.ratio-75-25 .slider-content {
    flex: 0 0 25%;
}

.twocol .slider .htmlslider-img-wrap {
}

    .twocol .slider .htmlslider-img-wrap img {
        display: block;
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center center;
        opacity: 0.9;
    }

.twocol .slider .htmlslider-caption {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-sizing: border-box;
    padding: 24px 60px 24px 60px;
    justify-content: flex-end;
}

.twocol .htmlslider-caption h1, .twocol .htmlslider-caption h2, .twocol .htmlslider-caption h3 {
    color: #ffffff;
    background-color: rgba(30,30,30,0.3);
}

.twocol .button.spaceabovebelow {
    margin-bottom: 1rem
}

.twocol .slider .slick-prev, .twocol .slider .slick-next {
    width: 26px;
    height: 26px;
    top: 10%;
}

    .twocol .slider .slick-prev::before, .twocol .slider .slick-next::before {
        font-size: 26px;
        opacity: .75;
    }

.clickableBlock {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    cursor: pointer;
}

.play-graphic {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 128px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.teaser .play-graphic {
    font-size: 86px;
}

.signupWrapper {
    background: #e4e4e4;
    margin: -30px auto 40px auto;
    box-sizing: content-box;
    text-align: left;
    max-width: 422px;
    padding: 14px;
    border-radius: 3px;
    font-size: 1rem;
    color: #5a5a5e;
}

    .signupWrapper form {
        margin: 0;
        font: normal 100% 'Open Sans', sans-serif, Helvetica, Arial, sans-serif;
        font-size: 100%;
        padding: 12px 12px 0 12px;
    }

    .signupWrapper .ctct-form-custom input[type="text"], .signupWrapper .ctct-form-custom input[type="email"] {
        border-radius: 0;
        border: 1px solid #d2d2d2;
        background: #fff;
        color: #333;
        margin: 2px 0 16px 0;
        padding: 10px 12px;
        font-size: 0.865rem;
    }

    .signupWrapper .ctct-form-custom button {
        margin: 2px 0 20px 0 !important;
        flex-basis: 100%;
    }

    .signupWrapper .ctct-form-custom #email_address_field_0,
    .signupWrapper .ctct-form-custom #email_address_field_1,
    .signupWrapper .ctct-form-custom #email_address_field_2 {
        flex-basis: 100%;
    }

    .signupWrapper .ctct-form-custom input[type="text"]::-moz-placeholder, .signupWrapper .ctct-form-custom input[type="email"]::-moz-placeholder,
    .signupWrapper .ctct-form-custom input[type="text"]::-webkit-input-placeholder, .signupWrapper .ctct-form-custom input[type="email"]::-webkit-input-placeholder,
    .signupWrapper .ctct-form-custom input[type="text"]:-ms-input-placeholder, .signupWrapper .ctct-form-custom input[type="email"]:-ms-input-placeholder {
        color: #767676;
        font-family: inherit;
        font-style: normal;
    }

/* infographics */
.infographicImageWrap {
    margin: 0;
    padding: 0;
}

    .infographicImageWrap figure {
        margin: 0;
        position: relative;
    }

    .infographicImageWrap.full-width-background img {
        width: 100%;
        margin: 0 auto;
        max-height: 100%;
        display: block;
        object-fit: cover;
    }

.teaser-background-image-wrap {
    margin-bottom: -20px;
}

    .teaser-background-image-wrap figure.background-image img {
        display: block;
        width: 100%;
    }

.overlay-on-parent, .teaserset-overlay {
    position: absolute;
    width: 100%;
    z-index: 10;
    top: 0;
    margin: 0 auto;
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .teaserset-overlay .text-before h1 {
        color: var(--sbp-white);
        padding: 2px 18px 10px 18px;
        display: table;
        margin-right: auto;
        margin-left: auto;
        background-color: rgba(30,30,30,0.3);
        max-width: 820px;
    }

    .teaserset-overlay .text-before h2 {
        color: var(--sbp-white);
        padding: 6px 12px;
        display: table;
        margin-right: auto;
        margin-left: auto;
        background-color: rgba(30,30,30,0.3);
    }

    .overlay-on-parent .overlaycaption, .infographicImageWrap .overlaycaption {
        position: relative;
        top: unset;
        margin: 30px auto;
    }

        .overlay-on-parent .overlaycaption h2 {
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }

    .overlay-on-parent .content {
        margin: 0 auto;
        padding: 30px 0;
        color: var(--sbp-paler);
        position: relative;
        align-items: stretch;
        max-width: var(--inner-column);
    }

.infog {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-self: flex-start;
    flex: 1 0 16%;
    position: relative;
    -webkit-transition: all 175ms ease;
    -moz-transition: all 175ms ease;
    transition: all 175ms ease;
}

.nrn-partners .infog {
    flex: 0 0 33%;
}

.overlay-on-parent .infog {
    background-color: var(--sbp-dark);
    color: #fff;
    margin: 10px 0.5%;
    height: 100%;
}

.icon {
    height: 75px;
    width: 75px;
    margin: 0 auto;
    background-color: var(--sbp-dark);
    border-radius: 50%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 0px solid var(--sbp-orange);
}

    .icon.white {
        background-color: var(--sbp-white);
    }

    .icon.blue {
        background-color: var(--sbp-blue);
    }

    .icon.stone {
        background-color: var(--sbp-stone);
    }

    .icon.pale {
        background-color: var(--sbp-pale);
    }

    .icon.paler {
        background-color: var(--sbp-paler);
    }

    .icon.dark {
        background-color: var(--sbp-dark);
    }

icon.darkgreen {
    background-color: var(--sbp-darkgreen);
}

icon.forest {
    background-color: var(--sbp-forest);
}

icon.ochre {
    background-color: var(--sbp-ochre);
}

.icon img {
    max-width: 62%;
    max-height: 62%;
    width: auto;
    margin: 0 auto;
    height: 100%;
    padding: 0;
}

.icon i {
    font-size: 46px;
    padding: 0;
    color: #fff;
    -webkit-transition: all 175ms ease;
    -moz-transition: all 175ms ease;
    transition: all 175ms ease;
}

.infog:hover .infog-icon i {
    color: var(--sbp-paler);
}

.infog .description {
    margin: 18px 8% 10px 8%;
}

.infog .title h2, .infog .title h3, .infog .title h4, .infog .title p {
    text-align: center;
    line-height: 1.15;
}

.infog .title h3 {
    font-size: 1.26rem;
}

.mryb-reasons .infog .title h3 {
    color: #858B25;
}

.infog .description {
    font-size: 1rem;
    font-weight: 400;
}

    .infog .description .small {
        font-size: 0.78rem;
    }

    .infog .description p {
        line-height: 140%;
        text-align: center;
        margin: 0 0 2px 0;
        padding: 0;
        font-size: 0.96rem;
    }

        .infog .description p strong {
            font-weight: 600;
        }

.normal-weight-body .infog .description p {
    font-weight: 300;
}

.overlay-on-parent .infog .icon {
    border-radius: 0;
    border: 0;
    width: auto;
    height: auto;
    margin: 20px 0 8px 0;
}

    .overlay-on-parent .infog .icon img {
        max-height: 100px;
        max-width: unset;
        width: auto;
        height: auto;
    }

.overlay-on-parent .infog h3 {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    margin: 10px auto 0 auto;
    font-size: 1.26rem;
}

.overlay-on-parent .infog .description p {
    color: #fff;
    line-height: 165%;
    font-size: 1rem;
    text-align: left;
}

.dark .infog .description, .dark .infog .description p {
    color: var(--inversetext);
}

@media screen and (max-width:960px) {
    .overlay-on-parent {
        position: relative;
        z-index: unset;
        margin: 0 auto;
        padding: 0;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .infographicImageWrap .overlaycaption.mobileOnly {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: auto;
        height: 100%;
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .infographicImageWrap .overlaycaption.hideOnMobile {
        display: none;
    }

    .infographicImageWrap .overlaycaption.mobileOnly h2 {
        margin: 0 auto;
    }

    .overlay-on-parent .content {
        flex-direction: column;
        padding: 30px 4% 0 4%;
    }
}


/*===================================
=              EVENTS              =
===================================*/
.eventswrapper .teaser .content-wrap {
    overflow: hidden;
    flex: 1 1 100%;
    flex-direction: row;
    height: 100%;
    padding: 0;
}

.eventdatewrapper {
    margin: 20px 20px 0 20px;
    line-height: 1;
    flex: 0 0 auto;
    max-width: 36px;
    text-align: center;
    font-weight: 400;
}

    .eventdatewrapper .month {
        color: var(--sbp-pale);
        font-size: 0.985rem;
    }

    .eventdatewrapper .day {
        color: var(--sbp-paler);
        font-size: 1.7rem;
    }

    .eventdatewrapper .year {
        color: var(--sbp-pale)d;
        font-size: 0.725rem;
        padding-top: 2px;
    }

.eventswrapper .teaser .content-wrap .content {
    flex: 1 1 auto;
}

    .eventswrapper .teaser .content-wrap .content,
    .eventswrapper .teaser .content-wrap .content p,
    .eventswrapper .teaser .content-wrap h1,
    .eventswrapper .teaser .content-wrap h2,
    .eventswrapper .teaser .content-wrap h3 {
        text-align: left;
        margin: 0;
        padding-left: 0;
        color: #ccc;
    }

.eventswrapper .teaser .content-wrap .content {
    padding-right: 6px;
}

.teaser.events h2, .teaser.events h2 a {
    text-transform: uppercase;
}

.eventswrapper .ticketBuy {
    align-self: flex-end;
    margin: 12px 0 0 0;
    width: 100%;
}

.teaser.events a.button {
    background-color: var(--sbp-orange);
    border: 0;
    color: #444;
    padding: 12px 24px;
}

    .teaser.events a.button:hover {
        color: rgba(255, 255, 255, 0.72) !important;
    }


/*===================================
=               TEAM               =
===================================*/
.team-member {
    -webkit-transition: all 175ms ease;
    -moz-transition: all 175ms ease;
    transition: all 175ms ease;
}

.flex-wrap article.team-member {
    margin-bottom: 24px;
}

article.team-member.dummy {
    visibility: hidden;
}

.team-member .thumbnail {
    opacity: 1;
    width: auto;
    max-width: 90%;
    margin: 0 auto;
    text-align: center;
    cursor: pointer;
}


.info {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 1.26rem;
}

.team-member .info {
    display: none;
}

.isTouchEnabled .team-member .info {
    display: block;
}

.info i {
    color: #b8b8b8;
}

.team-member .thumbnail img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.team-member:hover img {
    opacity: 0.8;
    -webkit-transition: all 275ms ease;
    -moz-transition: all 275ms ease;
    transition: all 275ms ease;
}

.team-member .content {
    max-width: 90%;
    margin: 0 auto;
    padding: 8px 0
}

.keynote-header {
    font-size: 1.6rem;
    padding: 6px 0 6px 0;
    margin: 0 auto;
    line-height: 1.6;
    color: #ffffff;
    font-style: normal;
    text-align: center;
    font-weight: 400;
    display: block;
    white-space: nowrap;
    background-color: #858B25;
}

.speakers .team-member .thumbnail, .speakers .team-member .content, .keynote-header {
    max-width: 95%;
}

.speakers .team-member .scroll {
    overflow-y: scroll;
    max-height: calc(85% - 52px);
    margin-right: -16px;
    padding-right: 10px;
    /*
    -webkit-mask-image: linear-gradient(180deg, #000 90%, transparent);
    mask-image: linear-gradient(180deg, #000 90%, transparent); */
}

.masked-overflow {
    /* scroll bar width, for use in mask calculations */
    --scrollbar-width: 8px;
    /* mask fade distance, for use in mask calculations */
    --top-mask-height: 0px;
    --mask-height: 26px;
    /* If content exceeds height of container, overflow! */
    overflow-y: auto;
    /* Our height limit 
    height: 300px;*/
    /* Need to make sure container has bottom space,
  otherwise content at the bottom is always faded out */
    padding-bottom: var(--mask-height);
    padding-top: var(--top-mask-height);
    /* Keep some space between content and scrollbar */
    padding-right: 20px;
    /* The CSS mask */
    /* The content mask is a linear gradient from top to bottom */
    --mask-image-content: linear-gradient( to bottom, transparent, black var(--top-mask-height), black calc(100% - var(--mask-height)), transparent );
    /* Here we scale the content gradient to the width of the container 
  minus the scrollbar width. The height is the full container height */
    --mask-size-content: calc(100% - var(--scrollbar-width)) 100%;
    /* The scrollbar mask is a black pixel */
    --mask-image-scrollbar: linear-gradient(black, black);
    /* The width of our black pixel is the width of the scrollbar.
  The height is the full container height */
    --mask-size-scrollbar: var(--scrollbar-width) 100%;
    /* Apply the mask image and mask size variables */
    mask-image: var(--mask-image-content), var(--mask-image-scrollbar);
    mask-size: var(--mask-size-content), var(--mask-size-scrollbar);
    /* Position the content gradient in the top left, and the 
  scroll gradient in the top right */
    mask-position: 0 0, 100% 0;
    /* We don't repeat our mask images */
    mask-repeat: no-repeat, no-repeat;
}

.masked-overflow {
    scrollbar-width: thin; /* can also be normal, or none, to not render scrollbar */
    scrollbar-color: currentColor transparent; /* foreground background */
}

    /* Webkit / Blink */
    .masked-overflow::-webkit-scrollbar {
        width: var(--scrollbar-width);
    }

    .masked-overflow::-webkit-scrollbar-thumb {
        background-color: currentColor;
        border-radius: 9999px; /* always round */
    }

    .masked-overflow::-webkit-scrollbar-track {
        background-color: transparent;
    }


.team-member .content.title h2 {
    font-size: 1.3rem;
    color: #626668;
    text-align: left;
    padding: 0 25px;
    margin: 0 0 4px 0;
    text-transform: uppercase;
}

.team-member .quote {
    background-color: transparent;
    color: #626668;
    font-size: 1rem;
    font-weight: 300;
    text-align: center;
    padding: 0.26em;
    margin: 1em auto 0.2em auto;
}

.team-member .title a {
    color: #999;
}

    .team-member .title a:hover {
        color: var(--sbp-orange);
    }

.team-member .title .lineonethird {
    display: block;
    border-top: 1px solid #999;
    width: 50%;
    margin: 8px auto;
}

.team-member .title .jobtitle {
    display: block;
    font-size: 1rem;
    line-height: 1.35;
    min-height: 44px;
    margin-top: 4px;
    margin-bottom: 4px;
    text-transform: initial;
    font-family: 'Open Sans', sans-serif, Helvetica, Arial, sans-serif;
}

.team-member .team-social i, .team-bio .social i {
    padding: 4px 6px 4px 0;
    font-size: 1.625rem;
}

.team-bio {
    position: absolute;
    background: rgba(87,87,87,0.88);
}

    .team-bio .social a {
        color: #787878;
    }

        .team-bio .social a:hover {
            color: var(--sbp-orange);
        }

    .team-bio .content {
        padding: 30px 26px;
        display: block;
    }

        .team-bio .content p {
            line-height: 150%;
            color: #fff;
        }

.fancybox__container .content p {
    color: var(--sbp-dark);
}

.speakers .team-bio .content {
    z-index: 2;
    height: 100%;
}

    .speakers .team-bio .content p {
        font-size: 1rem;
        line-height: 145%;
    }

.team-bio aside {
    width: 300px;
    margin: 0 20px 0 0;
}

@media screen and (max-width:810px) {

    .team-bio .content {
        flex-direction: column;
        justify-content: space-apart;
    }
}

/*===================================
=                FAQs               =
===================================*/
.faq-list {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.faq {
    border-bottom: 1px solid #ccc;
    padding-bottom: 16px;
    margin-top: 20px;
}

    .faq:last-of-type {
        border-bottom: 0px;
    }

    .faq h2 {
        text-align: left;
        cursor: pointer;
    }

.faq-heading {
    margin-left: 2.2rem;
}

    .faq-heading a {
        color: #626368;
    }

    .faq-heading span, .faq-heading a {
        font-weight: 400;
    }

.headings-blue .faq-heading, .headings-blue .faq-heading a {
    color: #4d7584
}

.headings-forest .faq-heading, .headings-forest .faq-heading a {
    color: #858B25;
}

.headings-dark .faq-heading, .headings-dark .faq-heading a {
    color: var(--sbp-dark);
}

.faq-heading a:before {
    content: '';
    border-width: .5rem;
    border-style: solid;
    border-color: transparent transparent transparent #626368;
    position: absolute;
    top: 1.3rem;
    left: 0rem;
    transform: rotate(0);
    transform-origin: .2rem 50%;
    transition: .25s transform ease;
}

.faq-heading span:before {
    position: absolute;
    top: .5rem;
    left: 0rem;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font: var(--fa-font-solid);
    content: '\f111';
    font-size: 0.6rem;
    color: #626368;
}

p.faq-heading a:before {
    top: 0.5rem;
}

h3.faq-heading a:before {
    top: 1.3rem;
}

.faq.active .faq-heading a:before {
    transform: rotate(90deg);
}

.faq-body {
    height: 0;
    overflow: hidden;
    transition: height 0.5s;
}

    .faq-body .faq-body-text {
        opacity: 0;
        padding: 0 1.5rem 1.2rem 2.2rem;
        transition: opacity 0.5s;
    }

.faq.active .faq-body .faq-body-text {
    opacity: 1;
}

/*===================================
=              BOOKINGS             =
===================================*/
.bookingProgress {
    padding: 20px;
}

    .bookingProgress ul {
        margin: 0 auto;
        text-align: center;
    }

    .bookingProgress li {
        display: inline-block;
        margin: 0;
        padding: 0 10px;
        color: #aaa;
        font-weight: 400;
    }

        .bookingProgress li.active {
            color: #3C4F4F;
        }

.bookingProcess,
.contactform {
    max-width: 820px;
    padding: 20px 30px;
    background-color: #E5E2DF;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}

    .bookingProcess.paler {
        background-color: var(--sbp-paler);
    }

    .bookingProcess.pale {
        background-color: var(--sbp-pale);
    }

    .bookingProcess h2,
    .contactform h2 {
        text-align: left;
        margin: 0 0 0.265em 0;
        padding-top: 0.225em;
    }

    .bookingProcess h3, .bookingProcess h4 {
        font-family: 'Open Sans', sans-serif;
        font-weight: 400;
        margin-bottom: 0.3em;
        padding-bottom: 0;
        font-size: 1.2rem;
    }

    .bookingProcess td {
        padding: 2px 12px 2px 0;
        font-weight: 400;
    }

        .bookingProcess td.event-description {
            padding-top: 12px;
        }

        .bookingProcess td p {
            font-size: 1rem;
        }

    .bookingProcess .rolledup {
        margin-bottom: 30px;
    }

    .bookingProcess .rolledup {
        display: none;
    }

        .bookingProcess .rolledup.active {
            background-color: unset;
            display: block;
        }

.singleguest, .secondguest {
    flex: 0 0 47%;
}

    .secondguest.inactive {
        display: none;
    }

    .secondguest.active {
        display: block;
        background: transparent;
    }

.bookingProcess .group input:not(.button), .bookingProcess textarea {
    background-color: #fafafa;
}

.bookingProcess fieldset ol, .bookingProcess fieldset ul, .contactform ol {
    list-style-type: none;
    margin: 20px 0;
    padding: 0;
}

.bookingProcess fieldset li {
    margin: 0;
    padding: 6px 0 6px 0;
}

.bookingProcess fieldset label {
    min-width: unset;
    width: auto;
    display: inline-block;
}

.bookingProcess fieldset .eventTicketChoices label {
    display: inline-block;
    min-width: unset;
    width: 8em;
    text-align: right;
    padding-right: 8px;
}

.eventTicketChoices input[type="number"] {
    width: 6em;
}

.bookingProcess fieldset select {
    min-width: 90px;
    width: calc(100% - 6px);
    max-width: 100%;
    padding: 24px 12px 8px 10px;
    margin-bottom: 16px;
    color: #323338;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    background-position: right 50%;
    background-repeat: no-repeat;
    background-color: #fff;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
}

    .bookingProcess fieldset select.floatlabel {
        padding: 26px 12px 8px 10px;
    }

.bookingProcess .group select ~ label {
    top: 1px;
}

.bookingProcess .radiolabel {
    min-width: 190px;
    display: inline-block;
}

.bookingProcess [type="radio"]:checked,
.bookingProcess [type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

    .bookingProcess [type="radio"]:checked + label,
    .bookingProcess [type="radio"]:not(:checked) + label {
        padding: 12px 24px;
        text-transform: uppercase;
        color: #323338;
        background-color: transparent;
        border: 1px solid #8C9351;
        text-align: center;
        cursor: pointer;
    }

    .bookingProcess [type="radio"]:not(:checked) + label {
        border: 1px solid var(--sbp-orange);
    }

        .bookingProcess [type="radio"]:not(:checked) + label:hover {
            color: #fff;
            background-color: var(--sbp-orange);
            ;
        }

.bookingProcess input.button[disabled], .bookingProcess input.button[disabled]:hover {
    color: #999;
    border: 1px solid #999;
    background-color: transparent;
}

.bookingProcess [type="radio"]:checked + label {
    color: var(--sbp-white);
    background: var(--sbp-orange);
    border: 1px solid var(--sbp-orange);
    font-weight: 400;
}

.bookingProcess .totals {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 40px 0 20px 0;
    align-items: flex-end;
}

    .bookingProcess .totals .totalsLabels, .bookingProcess .totals .totalsAction {
        flex: 0 0 50%;
        width: 50%;
    }

.bookingProcess .totalsLabels p {
    margin-bottom: 0;
    font-weight: 400;
}

.bookingProcess .totals .totalsAction {
    text-align: right;
    padding-bottom: 6px;
}

.normalRadio [type="radio"]:checked,
.normalRadio [type="radio"]:not(:checked) {
    position: relative;
    left: unset;
}

.normalCheck [type="checkbox"]:checked,
.normalCheck [type="checkbox"]:not(:checked) {
    margin-left: 0px;
    width: 60px;
}

#terms-please-check {
    font-weight: 400;
    margin-left: 64px;
    color: #cc3300;
}
/*===================================
=               STORE              =
===================================*/
.store-header p {
    text-align: center;
    font-size: 1rem;
}

.store-header {
    margin-bottom: 40px;
}

    .store-header h2 {
        margin-bottom: 12px;
    }

    .store-header .active {
        background: transparent;
        color: var(--sbp-dark);
    }

    .store-header .yet-to-complete {
        color: #ccc;
    }

.store-banner .content {
    padding: 10px 12px;
    max-width: var(--main-column);
    margin: 0 auto;
}

.store-banner h1, .store-banner h2, .store-banner h3, .store-banner p {
    margin: 6px auto 6px 12px;
    padding: 0;
    text-align: left;
    max-width: unset;
}

.banner-link {
    text-align: center;
}

.store-cat-item.prints .itemOptions {
    font-size: 0.82rem
}

    .store-cat-item.prints .itemOptions a.button {
        font-size: 0.82rem;
        padding: 12px 12px;
        background-color: var(--sbp-orange);
    }

.featured-items article .content-wrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    height: 100%;
}

.featured-items .teaser .thumbnail, .featured-items .teaser .content {
    flex: 0 0 50%;
    max-width: 50%;
    text-align: center;
}

.featured-items .teaser .content {
    justify-content: center;
    align-items: center;
}

    .featured-items .teaser .heading h2, .featured-items .teaser .heading h3, .featured-items .teaser .content p {
        padding-left: 36px;
        padding-right: 36px;
        text-align: center;
    }

.dark.teaser .content {
    color: #f0f0f0
}

.featured-items .teaser .content h3, .featured-items .teaser .content .item-purchase {
    flex: 0 1 auto;
}

.featured-items .teaser .content h3 {
    font-size: 2.2rem
}

.featured-items .teaser .content a.button, .store-cat .purchaseDetails a.button, .store-cat-item .purchaseDetails a.button,
.store-cat-item.prints .button {
    background-color: var(--sbp-orange);
    border: 0px;
    z-index: 10;
}

    .featured-items .teaser .content a.button:hover, .store-cat .purchaseDetails a.button:hover, .store-cat-item .purchaseDetails a.button:hover,
    .store-cat-item.prints .button:hover {
        color: rgba(255, 255, 255, 0.72);
    }

.store-cat-item-listing .store-cat-item {
    display: flex;
    flex-direction: column;
}

    .store-categories .store-cat-item .content-wrap, .store-cat-item-listing .store-cat-item .content-wrap {
    }

    .store-categories .store-cat-item .content, .store-cat-item-listing .store-cat-item .content {
        text-align: center;
        width: 100%;
    }

.block-mode .category-block {
    border-bottom: 1px solid var(--sbp-pale);
    padding: 50px 0 0 0;
}

.block-mode .store-cat {
    max-width: 31%;
    margin: 0 auto 30px auto;
}

.teaser.store-cat .content-wrap {
    padding-bottom: 20px
}

    .teaser.store-cat .content-wrap .content {
        margin: 0 20px;
        text-align: center;
    }

        .teaser.store-cat .heading h1, .teaser.store-cat .heading h2, .teaser.store-cat .heading h3, .teaser.store-cat .content-wrap .content p {
            text-align: center;
        }

.store-cat-item .content h3 {
    font-size: 0.92rem;
    text-align: center;
}

.store-cat-item .item-purchase {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.store-cat-item .purchaseDetails .add-cart-part, .store-cat-item .purchaseDetails .item-price {
    flex: 1 1 auto;
}

.store-cat-item .item-listing {
    border-bottom: 1px solid var(--sbp-pale);
    margin-bottom: 50px;
    padding-bottom: 30px;
}

.store-full-item .content {
    margin-bottom: 20px;
}

.store-full-item .image {
    flex: 0 1 40%;
}

.store-full-item .inner {
    flex: 1 1 auto;
    padding-left: 30px;
}

    .store-full-item .inner p, .store-full-item .inner h1, .store-full-item .inner h2, .store-full-item .inner h3, .store-full-item .inner ul {
        text-align: left;
        margin-left: 0;
    }

    .store-full-item .inner h1 {
        margin-top: -8px;
        padding-top: 0;
    }

    .store-full-item .inner h2 {
        font-family: 'Open Sans', sans-serif, Helvetica, Arial, sans-serif;
        font-size: 1.5rem;
        font-weight: 300;
        margin: 0 0 10px 0;
        padding-top: 0;
    }

.store-full-item .issuu-preview {
    margin: 50px auto;
}

.itemLabel {
    width: 120px;
    display: inline-block;
    vertical-align: top;
}

.itemContent {
    display: inline-block;
    vertical-align: top;
}

.store-full-item .purchaseDetails {
    margin-top: 34px;
}

.purchaseDetails .return-to-store {
    margin-left: 24px;
}

.cart-checkout {
    max-width: var(--inner-column);
    margin: 0 auto;
    padding: 0 2%;
}

    .cart-checkout.cart-confirmation {
        max-width: 820px;
    }

.checkoutFlowLeft {
    border-right: 1px solid #d8d8d8;
    padding-right: 6%;
    max-width: 57%;
    flex: 1 1 60%;
}

.checkoutFlowRight {
    padding-left: 6%;
    max-width: 31%;
    flex: 1 1 40%
}

#cartOverlay {
    background-color: rgba(33,33,33,0.7);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    align-items: center
}

.cart-stage {
    padding: 0 0 30px 0;
    margin: 0 auto;
    font-weight: 300;
    font-size: 0.96rem;
}

    .cart-stage ol, .cart-stage li, .donationOption ul, .donateDetails ol {
        margin-top: 0;
    }

    .cart-stage ol, .donationOption ul, .donateDetails ol {
        padding: 0;
    }

    .cart-stage li.donationOption {
        padding-left: 0;
    }

.bookingProcess input[type=text], .bookingProcess input[type=number] {
    background-color: #fdfdfd;
}

.bookingProcess .donationOption input[type="radio"] {
    display: inline-block;
    position: relative;
    width: 60px;
    left: 0;
    flex-grow: 0;
    flex-shrink: 0;
}

    .bookingProcess .donationOption input[type="radio"] + label {
        display: inline-block;
        text-transform: unset;
        border: 0;
        padding: 4px;
        cursor: auto;
        color: #323338;
        background-color: transparent;
    }

        .bookingProcess .donationOption input[type="radio"] + label:hover {
            color: #323338;
            background-color: transparent;
        }

.bookingProcess .donateDetails input[type="checkbox"] {
    margin-left: 0;
    margin-right: 30px;
}

.cart-stage p, .cart-stage li {
    font-size: 0.96rem;
    font-weight: 300;
    padding: 0 0 16px 24px
}

.cart-stage label {
    max-width: unset;
    width: auto;
    font-size: 0.86rem;
    line-height: 160%;
    font-weight: 300;
}

#cartGiftAidWrap p {
    padding-left: 0;
}

.donationOption label {
    font-weight: 300;
    width: auto;
    max-width: unset;
}

#paymentWrapper #donationAmount {
    margin: 20px 0 16px 0;
}

.currencyInputWrap label.currencySymbol {
    position: relative;
    display: inline-block;
    width: auto;
    padding: 19px 5px 0 6px;
    margin-right: -24px;
    z-index: 10;
    color: #676767;
}

.currencyInputWrap input[type="number"] {
    padding-left: 2em;
    width: 14em;
}

img.giftaidlogo {
    max-width: 120px;
    height: auto;
}

.cart-row, .cart-extras, .cart-subtotals {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.cart-row {
    border-bottom: 1px dotted #c5c5c5;
    margin-bottom: 4px;
}

    .cart-row:last-of-type {
        border-bottom: 1px solid #c5c5c5;
    }

    .cart-row.cart-header {
        border-bottom: 1px solid #c5c5c5;
        margin-bottom: 12px;
    }

.cart-col, .cart-message, .cart-extras-content {
    padding: 3px 0;
}

.cart-col {
    max-width: 16.67%;
    flex: 0 0 16.67%;
    min-width: 60px;
}

    .cart-col.cart-item-image {
        padding: 0 12px 0 0;
        flex: 0 0 12%;
        max-width: 12%;
    }

.cart-item-image img {
    display: block;
    padding: 2px 0;
    max-width: 120px;
    width: 100%;
}

.cart-col.cart-item {
    max-width: 38%;
    flex: 0 0 38%;
}

.cart-col.cart-price {
    max-width: 12%;
    flex: 0 0 12%;
}

.cart-col.cart-remove-item {
    max-width: 12%;
    flex: 0 0 12%;
}

.cart-col.cart-qty {
    max-width: 12%;
    flex: 0 0 12%;
}

select.cart-qty-select {
    width: 85px;
    margin-right: 10px;
    padding: 8px 12px;
}

.cart-col.cart-total {
    max-width: 12%;
    flex: 0 0 12%;
}

.cart-col.cart-total, .cart-stage .cart-voucher-amount {
    margin-right: 20px;
    font-weight: 400;
    vertical-align: middle;
    text-align: right;
}

.cart-col.cart-placeholder {
    max-width: 74%;
    flex: 0 0 74%;
    text-align: right;
}

.cart-checkout h3 {
    font-size: 1.125rem;
}

.cart-spacer {
    height: 30px;
}

.cart-extras.voucher {
    display: block;
    text-align: right;
    padding-right: 13%;
    margin-bottom: 12px;
}

.cart-extras .message {
}

    .cart-extras .message ul, .cart-extras .message p {
        padding: 0;
        margin: 4px 0 4px auto;
        font-size: 0.96rem;
    }

    .cart-extras .message li {
        padding: 0;
        margin: 0 0 6px 0;
        display: inline-block;
        font-size: 0.96rem;
    }

.cart-extras h2 {
    margin: 0;
    padding: 0;
    display: inline-block;
}

.cart-extras.voucher input[type="text"] {
    min-width: 10em;
    width: calc(36% - 78px);
}

#cart-subtotals {
    border-bottom: 0px;
    padding: 12px 0;
    font-weight: 400;
}

#cart-subtotals-message {
    border-bottom: 1px solid;
    padding-bottom: 20px;
    padding-right: 14%;
    text-align: right;
    display: block;
}

.cart-stage .cart-message {
    background-color: var(--sbp-orange);
    color: #454545;
    text-align: center;
    font-weight: 400;
    position: fixed;
    left: 0;
    right: 0;
    top: 42%;
    width: 250px;
    text-align: center;
    margin: 0px auto;
    font-size: 1rem;
    z-index: 10;
    padding: 40px 40px;
    display: none;
    box-shadow: 0 2px 20px 2px rgba(0,0,0,.26);
}

.next-stage {
    text-align: center;
}

.cart-stage .next-stage a.return {
    margin-left: 0;
    background-color: #ccc;
    margin: 5px 0 6px 0;
}

.cart-review {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    clear: both;
    margin: 0 auto 20px auto;
}

    .cart-review:first-of-type {
        margin-top: 20px;
    }

.cart-review-label {
    width: 66%;
}

.cart-review-item {
    text-align: right;
    min-width: 90px;
    width: 34%;
}

.cart-review.totalDue {
    border-top: 1px solid var(--sbp-pale);
    padding-top: 20px;
    font-weight: 400;
}

.cart-totals td {
    font-weight: 400;
}

.cart-explanatory {
    font-size: 0.86rem;
    font-weight: 300;
}

.paymentOptions {
    /*! display: flex; */
    /*! flex-direction: row; */
    /*! justify-content: space-between; */
}

.paymentOption {
    margin: 0 auto 16px auto;
    padding: 0 10px 0 10px;
    flex-grow: 1;
}

    .paymentOption .cartPayment-label {
        padding: 12px;
        background-color: var(--sbp-orange);
        color: #333;
        font-weight: 400;
        cursor: pointer;
        display: block;
        margin: 0 0 16px 0
    }

        .paymentOption .cartPayment-label span {
            padding-right: 16px;
        }

            .paymentOption .cartPayment-label span.paymentLogo {
                float: right;
                padding-right: 6px;
            }

#pay-by-paypal button {
    background-color: var(--sbp-orange);
    padding: 12px 24px;
    color: #333;
    font-weight: 400;
    vertical-align: middle;
    border: 0
}

#pay-by-worldpay-label span.paymentLogo img {
    width: 30px;
    vertical-align: middle;
}

#pay-by-worldpay button {
    background-color: var(--sbp-orange);
    padding: 12px 24px;
    vertical-align: middle;
    border: 0;
}

    #pay-by-worldpay button.suppliedLogo {
        background-color: transparent;
        padding: 0;
        vertical-align: middle;
    }

#pay-by-worldpay img {
    height: 47px;
    width: auto;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    background: #ffffff;
}

.paymentOption button:hover {
    color: var(--sbp-paler);
}

.paymentOption .cartPayment-label:hover {
    color: var(--sbp-paler);
}

.paymentOption .cartPayment {
    display: none;
}

.store-item-actions {
    max-width: 820px;
    margin: 0.8em auto 1em auto;
}

.store-confirmation {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.mewilding-wrapper p {
    font-size: 0.96rem;
}

.store-confirmation td p {
    text-align: left;
}

.supporter {
    min-height: 190px;
    flex: 0 1 23%;
    border: 1px solid #ccc;
    padding: 0;
    margin: 8px 0.8%;
}

.supporter-section-filmstrip .supporter {
    border: 0;
    min-height: 120px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 8px 40px;
}

.supporter.rowbreak {
    max-width: unset;
    flex: 1 0 100%;
    border: 0;
    min-height: unset;
    height: 0;
    margin: 0;
}

.five-per-row .supporter {
    flex: 0 1 18%;
}

.six-per-row .supporter {
    flex: 0 1 14%;
}

.no-border .supporter {
    border: 0;
}

.supporter .supporter-inner {
    width: auto;
    height: calc(100% - 16px);
    padding: 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.supporter-section-filmstrip {
    padding-left: 36px;
    padding-right: 36px;
}

    .supporter-section-filmstrip .supporter .supporter-inner {
        height: 100%;
        width: 100%;
    }

    .supporter-section-filmstrip img {
        border: 0;
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 94px;
        padding: 0 12px;
        object-fit: contain;
        display: inline-block;
        vertical-align: middle;
    }

    .supporter-section-filmstrip .slick-prev {
        left: 0;
    }

    .supporter-section-filmstrip .slick-next {
        right: 0;
    }

.supporter .supporter-logo {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}

.supporter-section-filmstrip .supporter .supporter-logo {
    height: 100%;
    width: 100%;
}

.supporter-logo img {
    max-width: 98%;
    max-height: 100px;
    width: auto;
    height: auto;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

.supporter-section-filmstrip .supporter .supporter-logo img {
    display: inline-block !important;
    vertical-align: middle;
}

.max-width-200 .supporter-logo img {
    max-width: 200px;
    max-height: 150px;
}

.max-width-160 .supporter-logo img {
    max-width: 160px;
    max-height: 120px;
}




.share-icons {
    text-align: center;
    margin: 0.2em 0;
    box-sizing: border-box;
}

.share-icon {
    display: inline-block;
    vertical-align: top;
    margin: .3em 0;
}

    .share-icon:first-child {
        margin-left: 0;
    }

    .share-icon:last-child {
        margin-right: 0
    }

.share-link {
    color: #fff;
    outline: none;
    padding: 2px 0px 4px 0px;
    line-height: 1;
    transition: all 175ms ease;
    background-color: #999;
}

    .share-link:active, .share-link:focus, .share-link:hover {
        background-color: var(--sbp-dark);
    }

/** share-bar   **/
.share-bar {
    margin-top: 50px;
    margin-bottom: 50px;
}

    .share-bar .post-share {
        max-width: unset;
        margin: 0;
    }

    .share-bar .socialshare {
        padding-left: 30px;
    }

    .share-bar .share-link, .share-bar .share-link:hover, .dark .fa-stack {
        background-color: transparent !important;
        color: transparent !important;
    }

/*===================================
=           MEDIA QUERIES           =
===================================*/
@media screen and (max-width:1180px) {
    .twocol .button.spaceabovebelow, .twocol button.spaceabovebelow {
        margin-top: 1.4rem;
        margin-bottom: 0.7rem;
    }

    .twocol .slider .htmlslider-caption {
        padding: 24px 60px 14px 60px;
    }
}

@media screen and (max-width:920px) {
    .parallax-caption .inner {
        margin-left: 6%;
        margin-right: auto;
    }

    .parallax-caption.parallaxCaptionCenter .inner {
        margin-right: auto;
        margin-left: auto;
        background: rgba(30,30,30,0.7);
        padding: 30px;
    }

    .parallax-caption.parallaxCaptionRight .inner {
        margin-left: auto;
        margin-right: 6%;
    }
}

@media screen and (max-width:960px) {
    .supporter-section-filmstrip img {
        max-height: 78px;
    }
}

@media screen and (max-width:860px) {
    .film-wrapper.width32 article {
        flex-basis: 50%;
        max-width: 48%;
    }

    .store-wrapper {
        padding-left: 2%;
        padding-right: 2%;
    }

    .cart-checkout .mobileOnly {
        display: block;
    }

    .cart-checkout .desktopOnly {
        display: none;
    }

    .checkoutFlow {
        flex-direction: column;
    }

    .checkoutFlowRight {
        order: 1;
        max-width: unset;
        flex: 1 1 auto;
        padding-left: 0;
        padding-right: 0;
        width: 100%;
    }

    .checkoutFlowLeft {
        order: 2;
        border-right: 0;
        max-width: none;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        flex: 1 1 auto;
        padding-right: 0;
    }

    .cart-checkout .cart-stage li {
        padding: 0 2% 16px 2%;
    }

    .cart-checkout .mobileOnly.cartReview {
        background-color: var(--sbp-pale);
        display: flex;
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 8px 0 8px 0;
        justify-content: space-between;
        align-items: center;
    }

    .mobileSummaryLabel {
        padding-left: 4%;
    }

    .mobileSummaryTotal {
        font-weight: 400;
        padding-right: 4%;
    }

    #cartTotals {
        margin-top: 20px;
        padding-left: 2%;
        padding-right: 2%;
    }

    .two-column .content {
        flex-direction: column;
    }

        .two-column .content .img-text .imgPart, .two-column .content .imgPart {
            order: 1;
            max-width: 100%;
            flex-basis: 100%;
            width: 100vw;
        }

        .two-column .content .img-text .textPart, .two-column .content .textPart {
            order: 2;
            max-width: 96%;
            flex-basis: 96%;
            margin-left: 2%;
            margin-right: auto;
        }

        .two-column .content .img-text .imgPart img, .two-column .content .imgPart img {
            width: 100%;
        }

    .twocol.htmlslider {
        flex-direction: column;
    }

    .twocol .static-content, .twocol .slider-content, .twocol.ratio-40-60 .static-content, .twocol.ratio-40-60 .slider-content {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .nopadding .twocol .slider {
        width: 100vw !important;
    }

    .twocol .static-content .inner, .twocol .slider-content .inner {
        overflow: unset;
        /*! flex: 1 1 auto; */
    }

    .section-has-submenu.shownav .submenunav {
        overflow-x: auto;
    }

    .two-column .img-text .textPart .inner {
        padding: 0 30px 0 0;
    }

    .two-column .text-img .textPart .inner {
        padding: 0 30px 0 0;
    }
}

@media screen and (max-width:768px) {
    .section-has-submenu {
        top: 68.5px;
    }

    .bookingProcess .person-one-two {
        flex-direction: column;
        justify-content: space-between;
    }

    .singleguest, .secondguest {
        flex: 1 100%;
    }

    .supporter {
        min-height: 150px;
        flex: 0 1 31%;
    }

    html.hasSubmenu .overlaycaption {
        top: -1px;
    }

    article.page-content {
        display: flex;
        flex-direction: column;
    }

    .element-0 {
        order: 0;
    }

    .element-1 {
        order: 1;
    }

    .element-2 {
        order: 2;
    }

    .element-3 {
        order: 3;
    }

    .element-4 {
        order: 4;
    }

    .element-5 {
        order: 5;
    }

    .element-6 {
        order: 6;
    }

    .element-7 {
        order: 7;
    }

    .element-8 {
        order: 8;
    }

    .element-9 {
        order: 9;
    }

    .element-10 {
        order: 10;
    }

    .element-11 {
        order: 11;
    }

    .element-12 {
        order: 12;
    }

    .element-13 {
        order: 13;
    }

    .element-142 {
        order: 14;
    }

    .element-15 {
        order: 15;
    }

    .supporter-logo img {
        max-height: 120px;
        max-width: 90%;
    }
}

@media screen and (max-width:640px) {
    .film-wrapper.width32 article {
        flex-basis: 100%;
        max-width: 98%;
    }

    .parallax-caption .inner {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .parallax-caption.parallaxCaptionCenter .inner {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .parallax-caption.parallaxCaptionRight .inner {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    blockquote.aspen-fact {
        margin: 3em 1% 3em 1%;
    }

    .cart-row.cart-header {
        display: none;
    }

    .cart-row, .cart-extras, .cart-subtotals {
        flex-wrap: wrap;
    }

    .cart-row {
        margin-bottom: 20px;
        padding-bottom: 16px;
    }

    .cart-col.cart-item-image {
        max-width: 120px;
        flex-basis: 120px;
    }

    .cart-col.cart-item {
        max-width: unset;
        flex: 1 1 65%;
    }

    .cart-col.cart-placeholder {
        max-width: 55%;
        flex-basis: 55%;
        text-align: right;
    }

    select.cart-qty-select {
        margin-right: 10px;
        padding: 8px 10px;
    }

    .cart-col.cart-remove-item {
        max-width: 68px;
        flex: 0 0 68px;
    }

    fieldset .relatedGroup {
        flex-direction: column;
    }

        fieldset .relatedGroup .group,
        fieldset .relatedGroup.includesTitle .group,
        fieldset .relatedGroup.includesTitle .group.isTitle {
            width: auto;
            margin-bottom: 8px;
        }

            fieldset .relatedGroup .group:first-of-type {
                margin-right: 0;
            }

            fieldset .relatedGroup .group:last-of-type {
                margin-left: 0;
            }

    input.autocomplete {
        width: 96%;
    }

    .supporter {
        min-height: 150px;
        flex: 0 1 47%;
    }

    .six-per-row .supporter, .five-per-row .supporter {
        flex: 0 1 47%;
    }

    .max-width-160 .supporter-logo img {
        min-height: unset;
        max-width: 99%;
    }

    .store-full-item .content.flex-row {
        flex-direction: column;
    }

    .store-full-item .share-bar .content-wrapper {
        text-align: left;
        justify-content: center;
    }

    .store-full-item .share-bar .share {
        flex: 0 1 auto;
    }

    .store-full-item .share-bar p {
        flex: 0 1 auto;
    }

    .store-full-item .content .image, .store-full-item .content .inner {
        flex: 1 1 100%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px
    }

    .store-full-item .content .inner {
        margin-bottom: 0;
    }
}

@media screen and (max-width:420px) {

    .cart-col.cart-item-image {
        max-width: 90px;
        flex-basis: 90px;
    }

    .cart-col.cart-item {
        max-width: unset;
        flex: 1 1 65%;
    }

    .cart-col.cart-total, .cart-stage .cart-voucher-amount {
        margin-right: 10px;
    }

    select.cart-qty-select {
        margin-right: 10px;
        padding: 8px 10px;
        width: 65px;
    }

    .cart-stage .next-stage a.return {
        padding: 12px 16px;
    }

    blockquote.aspen-fact::before {
        width: 87px;
        height: 90px;
        background-size: 90px;
        right: -12px;
        top: -40px;
    }
}
