/**
 * Theme Name:       Liverpool Cathedral
 * Theme URI:        https://bizbudding.com/mai-theme/
 * Description:      Mai Prosper child theme for the Genesis Framework.
 * Author:           Poke Marketing
 * Author URI:       https://pokemarketing.co.uk/
 * Version:          2.1.1
 * Text Domain:      mai-prosper
 * Template:         genesis
 * Template Version: 3.3.5
 * License:          GPL-2.0-or-later
 * License URI:      http://www.gnu.org/licenses/gpl-2.0.html
 */

/**
Set as much as you can in variables like this

:root {
    --menu-item-link-color: red;
}
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Abstracts
  - Variables
# Base
  - Typography
  - Buttons
  - Contact Form
# Components
  - Welcome Banner
  - Welcome Dropdown
  - Explore More Nav
  - Breadcrumb
  - Page List (Sidebar)
  - Page Header (Hero)
  - Header
  - Mobile Menu
  - Footer
  - Newsletter
# Layouts
  - Inner Page
# Sections
  - Opening Hours Page 
  - Visiting / Opening Times 
  - Title Area / Site Header 
  - Testimonial / Review 
  - Feed Carousel 
  - Post Grid Carousel 
  - Post/Events Carousel Header 
  - Mai Post Grid 
  - Search 
  - Events - Global or Single Elements 
  - Events Calendar Page 
  - Content Carousel
  - Accordion
  - Hidden Content - Show/Hide
  - Map
# Backgrounds 
  - Page Intro / Columns
  - Timeline
  - Left side column shape
  - Community
  - Right side cutout, large angle 
  - Left side cutout, large angle 
  - Music Under 5s 
  - Review
  - Overlapping Backgrounds
*/

/*--------------------------------------------------------------
# Abstracts
--------------------------------------------------------------*/

/* Variables
--------------------------------------------- */
:root {
    --body-font-family: "articulat-cf", sans-serif;
    --heading-font-family: "articulat-cf", sans-serif;
    --h1-font-size: 32px;
    --h2-font-size: 28px;
    --h3-font-size: 26px;
    --h4-font-size: 24px; 
    --h5-font-size: 22px; 
    --h6-font-size: 20px;
    --body-line-height: 1.2;

    --button-border-radius: 0;
    --button-font-size: 16px;
    --button-padding: .55em 1em;

    --menu-font-size: 16px;
    --menu-item-link-padding: 0;
    --menu-toggle-line-height: 3px;
    --sub-menu-border: 0;
    --sub-menu-width: 280px;

    --mobile-menu-background: var(--color-orange);
    --mobile-menu-animation: none;

    --font-size-base: 18px;
    --body-font-size: 18px;

    --color-body: #212427;
    --color-header: #212427;
    --sidebar-width: 390px;

    --padding-sm: 20px;
    --padding-md: 30px;
    --padding-lg: 50px;
    --padding-xl: 60px;
    --padding-xxl: 80px;

    --wp--style--color--link: #EC6B47;

    --wp--preset--color--alt: #d0cfc2;
    --wp--preset--color--body: #212427;
    --wp--preset--color--heading: #212427;
    --wp--preset--color--primary: #000000;
    --wp--preset--color--secondary: #E6633F;
    --wp--preset--color--orange: #EC6B47;
    --wp--preset--color--light-orange: #F9D3C8;
    --wp--preset--color--blue: #8ACED7;
    --wp--preset--color--dark-blue: #023F54;
    --wp--preset--color--dark-blue-02: #356576;
    --wp--preset--color--blue-grey: #42595c;
    --wp--preset--color--dark-grey: #5F5F53;
    --wp--preset--color--warm-grey: #D0CFC2;
    --wp--preset--color--light-grey: #E3E2DA;
    --wp--preset--color--pale-blue: #D1E7EC;

    --side-spacing--negative: calc(var(--side-spacing) - calc(var(--side-spacing) * 2));

    --input-border: 2px solid var(--color-light-grey, #E3E2DA);
    --input-border-color-focus: var(--color-blue, #8ACED7);
    --input-border-radius: 6px;
    --label-margin: 0 0 18px;
    --input-font-size: 18px; 

    --header-height-full: 119px;
    --header-height: 119px;

    --horizontal-rule-margin: var(--spacing-xl) 0;
}


@media all and (min-width: 960px) {
    :root {
        --menu-item-margin: 0 0 0 42px;
    }
}
@media all and (min-width: 600px) {
    :root {
        --padding-sm: 30px;
        --padding-md: 50px;
        --padding-lg: 70px;
        --padding-xl: 90px;
        --padding-xxl: 120px;
    }
}
@media all and (min-width: 800px) {
    :root {
        --font-size-base: 18px;
        --body-font-size: 18px;
        
        --padding-sm: 40px;
        --padding-md: 60px;
        --padding-lg: 90px;
        --padding-xl: 120px;
        --padding-xxl: 180px;
    }
}

@media all and (min-width: 960px) {
    :root {
        --h1-font-size: 40px;
        --h2-font-size: 32px;
        --h3-font-size: 28px;
        --h4-font-size: 26px;
        --h5-font-size: 22px;
        --h6-font-size: 20px;

        --title-area-padding-desktop: 20px;

        --content-sidebar-gap: 50px;
    }
}
@media all and (min-width: 1200px) {
    :root {
        --font-size-base: 20px;
        --body-font-size: 20px;

        --padding-sm: 40px;
        --padding-md: 60px;
        --padding-lg: 90px;
        --padding-xl: 120px;
        --padding-xxl: 180px;
        --content-sidebar-gap: 110px;
    }
}
.has-transparent-header:not(.header-stuck) {
    --site-header-background: rgba(236, 107, 71, 0.85); 
}
.page-shop.has-transparent-header:not(.header-stuck) {
    --site-header-background: rgba(2, 63, 84, 0.85);
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

html {
  scroll-behavior: smooth;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    background-color: #FFFFFF;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #474747;
    display: block;
    font-size: 0.875rem;
    font-weight: var(--body-font-weight-bold);
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Typography
--------------------------------------------- */
body {
    font-family: "articulat-cf", sans-serif;
    --body-font-family: "articulat-cf", sans-serif;
    --heading-font-family: "articulat-cf", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: antialiased;
    font-smoothing: antialiased;
}
.is-style-heading, .is-style-subheading, h1, h2, h3, h4, h5, h6, legend {
    --heading-font-family: "articulat-cf", sans-serif;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  text-rendering: optimizelegibility;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: .75em;
}

h1, .h1 { font-size: var(--h1-font-size); }
h2, .h2 { font-size: var(--h2-font-size); } 
h3, .h3 { font-size: var(--h3-font-size); }
h4, .h4 { font-size: var(--h4-font-size); }
h5, .h5 { font-size: var(--h5-font-size); }
h6, .h6 { font-size: var(--h6-font-size); }

h1 { 
    --font-size-sm: calc( var( --h1-font-size ) * 0.8 );
    --font-size-md: calc( var( --h1-font-size ) * .9375 );
    --font-size-lg: calc( var( --h1-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h1-font-size ) * 1.25 );
    --font-size-xxl: calc( var( --h1-font-size ) * 1.5 );
}
h2 { 
    --font-size-sm: calc( var( --h2-font-size ) * .8 );
    --font-size-md: calc( var( --h2-font-size ) * .9375 );
    --font-size-lg: calc( var( --h2-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h2-font-size ) * 1.25 );
} 
h3 { 
    --font-size-sm: calc( var( --h3-font-size ) * 0.8 );
    --font-size-md: calc( var( --h3-font-size ) * .9375 );
    --font-size-lg: calc( var( --h3-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h3-font-size ) * 1.25 );
}
h4 { 
    --font-size-sm: calc( var( --h4-font-size ) * 0.8 );
    --font-size-md: calc( var( --h4-font-size ) * .9375 );
    --font-size-lg: calc( var( --h4-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h4-font-size ) * 1.25 );
}
h5 { 
    --font-size-sm: calc( var( --h5-font-size ) * 0.8 );
    --font-size-md: calc( var( --h5-font-size ) * .9375 );
    --font-size-lg: calc( var( --h5-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h5-font-size ) * 1.25 ); 
}
h6 { 
    --font-size-sm: calc( var( --h6-font-size ) * 0.8 );
    --font-size-md: calc( var( --h6-font-size ) * .9375 );
    --font-size-lg: calc( var( --h6-font-size ) * 1.125 );
    --font-size-xl: calc( var( --h6-font-size ) * 1.25 );
}
.entry-content>.is-style-heading:not(:first-child), 
.entry-content>.is-style-subheading:not(:first-child), 
.entry-content>h1:not(:first-child), 
.entry-content>h2:not(:first-child), 
.entry-content>h3:not(:first-child), 
.entry-content>h4:not(:first-child), 
.entry-content>h5:not(:first-child), 
.entry-content>h6:not(:first-child), 
.entry-content>legend:not(:first-child) {
    margin-block-start: var(--heading-margin-top);
}
.wp-block-separator {
    --separator-block-margin-top: var(--spacing-xxl);
    --separator-block-margin-bottom: var(--spacing-xxl);
    --border-width: 2px;
    --border-color: #000;
    --border: 2px solid #000;
}
.big-header {
    font-size: 32px;
    margin-bottom: .5em;
}
.header--community {
    max-width: 16ch;
}
p.lead {
    font-size: 1.125em;
}

@media all and (min-width: 400px) {
    .big-header {
        font-size: 34px;
    }
    p.lead {
        font-size: 1.2em;
    }
}
@media all and (min-width: 600px) {
    .big-header {
        font-size: 36px;
    }
}
@media all and (min-width: 800px) {
    .big-header {
        font-size: 38px;
    }
}
@media all and (min-width: 1200px) {
    .big-header {
        font-size: 48px;
    }
}

/* Buttons
--------------------------------------------- */
.button-outline, .button-outline:visited {
    --button-border: 1px solid var(--button-outline-color,var(--button-color));
}
.wp-block-buttons {
    padding-top: 1em;
    --column-gap:  .75em;
}
.wp-block-button__link {
    position: relative;
    display: var(--button-display,inline-flex);
    gap: var(--spacing-xs);
    align-items: center;
    justify-content: center;
    width: var(--button-width,auto);
    max-height: var(--button-max-height,100%);
    margin: var(--button-margin,0);
    padding: var(--button-padding,.9rem 2rem);
    color: var(--button-color);
    font-weight: var(--button-font-weight,var(--body-font-weight));
    font-size: var(--button-font-size,var(--font-size-base));
    font-family: var(--button-font-family,var(--body-font-family));
    line-height: var(--button-line-height,1.1);
    letter-spacing: var(--button-letter-spacing,normal);
    white-space: var(--button-white-space,normal);
    text-align: var(--button-text-align,center);
    text-transform: var(--button-text-transform,none);
    -webkit-text-decoration: var(--button-text-decoration,none);
    text-decoration: var(--button-text-decoration,none);
    word-break: var(--button-word-break,normal);
    overflow-wrap: var(--button-overflow-wrap,break-word);
    background: var(--button-background,var(--color-primary));
    border: var(--button-border,0);
    border-radius: var(--button-border-radius,var(--border-radius));
    outline: var(--button-outline,none);
    box-shadow: var(--button-box-shadow,none);
    -webkit-transform: var(--button-transform,none);
    transform: var(--button-transform,none);
    -webkit-filter: var(--button-filter,none);
    filter: var(--button-filter,none);
    cursor: var(--button-cursor,pointer);
    opacity: var(--button-opacity,1);
    transition: var(--button-transition,var(--transition));
}
.wp-block-button__link.is-style-outline {
    --button-max-height: calc(100% - 4px);
    --button-color: var(--button-outline-color,var(--color-primary));
    --button-color-hover: var(--button-outline-color-hover,var(--color-white));
    --button-background: var(--button-outline-background,transparent);
    --button-background-hover: var(--button-outline-background-hover,var(--button-outline-color,var(--button-color)));
    --button-border: 2px solid var(--button-outline-color,var(--button-color));
    --button-border-hover: var(--button-border);
}

/* Contact Form
--------------------------------------------- */
.wpcf7-form .label {
    display: block;
    --input-font-size: 18px;
    --input-padding: .6em .75em;
    --select-height: 48px;
}
.label__text {  
    line-height: 1.23;
    margin-bottom: 0.5em;
    display: block;
}
.wpcf7-form .label b {
    color: var(--color-orange); 
}
span.wpcf7-list-item {
  margin: 0;
  display: block;
}
span.wpcf7-not-valid-tip {
  margin: .5em 0 1em;
  color: var(--heading-color);
  font-weight: 700;
  background-color: var(--color-light-orange);
  padding: .5em;
}
.wpcf7-not-valid,
.wpcf7-not-valid:focus {
    --input-border: 2px solid var(--wp--preset--color--orange);
    --input-border-color-focus: var(--wp--preset--color--orange);
    background-color: rgb(236, 107, 71, .05);
}
div.wpcf7 .ajax-loader {
  width: 0;
  height: 0;
  display: none;
}
div.wpcf7 .ajax-loader.is-active {
  display: block;
  width: 16px;
  height: 16px;
}
.wpcf7 form .wpcf7-response-output {
  background-color: #d9f9ff;
  color: #3a3a3a;
  border: none;
  font-size: 16px;
  font-size: 1rem;
  padding: 1.25em 1em;
  line-height: 1.4;
  margin: 30px 0 0;
  width: 100%;
}
.wpcf7 form .wpcf7-response-output.invalid {
  background-color: #fef9ee;
  color: #E15554;
}
.wpcf7 form .wpcf7-response-output.sent {
  background-color: #5ad89f;
  color: #ffffff;
}
.wpcf7-list-item-label {
  max-width: 38ch;
  margin-left: 1em;
}
span.wpcf7-list-item-label {
  display: inline;
}
@media all and (min-width: 1000px) {
    .contact-col {
        max-width: 592px; 
        margin-left: auto; 
    }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Welcome Banner
--------------------------------------------------------------*/

.home.has-transparent-header:not(.header-stuck) {
    --site-header-background: transparent;
}
.home {
    --menu-item-link-color: var(--color-white);
}
.welcome-banner__title {
    font-size: 8vw;
    line-height: 1;
}
.welcome-banner__description {
    font-size: 6.5vw;
    font-weight: var(--body-font-weight-bold);
    margin-bottom: .75em;
}
.welcome-banner {
    background: rgba(236, 107, 71, 0.85) url(assets/img/liverpool-cathedral-welcome.jpeg) no-repeat center;
    background-size: cover;
    height: calc(100vh + 1px); 
    max-height: 900px;
    font-weight: var(--body-font-weight-bold);
    position: relative;
}
.welcome-banner__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 1;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.welcome-banner__wrap,
.welcome-banner__section,
.welcome-banner__inner {
    height: 100%;
}
.welcome-banner .button.solid {
    background-color: #FFF;
    color: #000;
}
.welcome-banner__inner {
    display: flex;
    flex-direction: column;
    /*justify-content: flex-end;*/
    justify-content: center;
    flex: 1;
    background: url(assets/img/welcome-bg.svg) no-repeat 0 0;
    background-size: 100% auto;
    max-width: 755px;
    padding-right: 25px;
    padding-bottom: 60px;
    position: relative;
}
.welcome-banner__after {
    background-color: rgba(236, 107, 71, 0.85);
}
@media all and (min-width: 400px) {
    .welcome-banner__title {
        font-size: 7vw;
    }
    .welcome-banner__description {
        font-size: 5.5vw;
    }        
}
@media all and (max-width: 599px) {
    .welcome-banner {
        height: calc(100vh + 1px); 
        max-height: 900px;
    }
    .wrap.welcome-banner__wrap {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        width: 100%;
    }
    .welcome-banner__inner {
        background-position: left 0 top -30px;
        padding-left: var(--side-spacing);
        padding-right: var(--side-spacing);
    }
}
@media all and (min-width: 600px) {
    .welcome-banner__inner {
        padding-top: var(--header-height-full);
    }
    .welcome-banner__inner:before {
        content: "";
        position: absolute;
        height: 100%;
        right: 100%;
        top: 0;
        display: block;
        padding-right: 999em;
        background-color: rgba(236, 107, 71, 0.85);
    }
    .welcome-banner__title {
        font-size: 49px;
    }
    .welcome-banner__description {
        font-size: 40px;
    }
}
@media all and (min-width: 600px) and (min-height: 782px) {
    .welcome-banner {
        min-height: 720px;
    }
}
@media all and (min-width: 768px) and (min-height: 920px) {
    .welcome-banner {
        min-height: 721px;
        max-height: 900px;
    }
}
@media all and (min-width: 800px) and (min-height: 600px) {
    .welcome-banner {
        min-height: 721px;
        height: calc(100vh + 1px);
    }
    .admin-bar .welcome-banner {
        height: calc(100vh - 30px);
    }
    .welcome-banner__inner {
        justify-content: center;
        padding-bottom: 0;
        padding-right: 45px;
    }
}
@media all and (min-width: 800px) {
    .welcome-banner__inner {
        padding-left: 45px;
    }
}
@media all and (min-width: 1000px) {
    .welcome-banner__description {
        margin-bottom: 1.5em;
    }
}

/* Welcome Dropdown
--------------------------------------------- */ 

.welcome-nav__label {
    font-size: 16px;
    padding: .5em;
    display: block;
}
.welcome-nav .button,
.welcome-nav .button-outline, 
.welcome-nav .button-outline:visited {
    --button-outline-color: var(--color-white);
    --button-color: var(--color-white);
    --button-color-hover: var(--color-black);
}
.select-nav {
    position: relative; 
    cursor: pointer;
    max-width: 400px;
    margin-bottom: 15px;
}
.select-nav__option,
.select-nav__default {
    padding: 10px;
    color: var(--color-body); 
    font-size: 16px; 
    font-weight: var(--body-font-weight-bold);
    background-color: var(--color-white);
}
.select-nav__option:not(.default):hover {
    background-color: #f1f1f1;
}
.select-nav__option.active,
.select-nav__option.active:hover {
    background-color: var(--color-orange);
    color: var(--color-white);
}
.select-nav__default {
    background: var(--color-light-orange) url(assets/img/expand-down.svg) no-repeat right center;
    background-size: auto 38px;
    padding-right: 40px;
}
.select-nav .other-options {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 2;
}
.select-nav.active .other-options {
    display: block;
}

/* Explore More Nav
--------------------------------------------- */
.explore-nav__header {
    font-size: 22px;
}
.explore-nav__list {
    list-style: none;
    margin: 26px 0 0;
    font-size: 32px;
    font-weight: var(--body-font-weight-bold);
}
.explore-nav__list li {
    margin-bottom: .25em;
}
.explore-nav__list--sm li {
    margin-bottom: .5em;
}
.explore-nav__list a {
    text-decoration: none;
}
@media all and (min-width: 600px) {
    /*.explore-nav__list--sm {
        margin-top: 40px;
        font-size: 36px;
    }*/
    .explore-nav__list--sm li {
        margin-bottom: .35em;
    }
}
@media all and (min-width: 800px) {
    .explore-nav__header {
        font-size: 28px;
    }
    .explore-nav__list {
        margin: 60px 0 0;
        font-size: 38px;
    }
    .explore-nav__list--sm {
        margin-top: 40px;
        font-size: 32px;
    }
    .explore-nav__list--sm li {
        margin-bottom: .35em;
    }
}
@media all and (min-width: 1000px) {
    .explore-nav__list {
        font-size: 42px;
    }
    .explore-nav__list--sm {
        font-size: 32px;
    }
}
@media all and (min-width: 1200px) {
    .explore-nav__list {
        margin: 75px 0 0;
        font-size: 48px;
    }
    .explore-nav__list--sm {
        margin-top: 60px;
        font-size: 36px;
    }
}

/* Breadcrumb
--------------------------------------------- */
.breadcrumb {
    margin-top: 48px;
    --breadcrumb-font-size:  16px;
    color: var(--color-dark-blue);
}
.breadcrumb .separator {
    margin-left: .5em;
    margin-right: .5em;
    display: inline-block;
    line-height: 1.2;
}
.breadcrumb a {
    --link-color: var(--color-dark-blue);
    font-weight: var(--body-font-weight);
}

/* Page List (Sidebar)
--------------------------------------------- */
.page-list ul {
    list-style: none;
    margin: 0;
    font-size: 20px;
    --link-color: var(--color-dark-blue);
}
.page-list ul:not(.children) {
    margin-bottom: 40px;
    padding: 0;
    border-top: 1px solid var(--color-black);
}
.page-list ul.children {
    margin-bottom: .5em;
}
.page-list ul li {
    margin: 0;
    font-weight: 500;
    border-bottom: 1px solid var(--color-black);
}
.page-list ul li.current_page_item {
    font-weight: var(--body-font-weight-bold);
}
.page-list ul li:not(.page_item_has_children) {
    padding: 1em 0;
}
.page-list ul li.page_item_has_children {
    padding-top: 1em;
    margin: 0;
}
.page-list ul.children li:before {
    display: block;
    position: absolute;
    top: 1.15em;
    left: .5em;
    content: "";
    width: .5em;
    height: .5em;
    border-bottom: 2px solid currentColor;
}
.page-list ul.children li {
    border: none;
    padding-left: 1.5em;
    position: relative;

}
@media all and (min-width: 600px) {
    .page-list ul {
        font-size: 22px;
    }
}
@media all and (min-width: 1000px) {
    .page-list ul {
        font-size: 24px;
    }
}

/* Page Header
--------------------------------------------- */
.page-header {
    height: 45vh;
    min-height: 320px;
}
.page-child .page-header h1 {
    font-weight: var(--body-font-weight-normal);
    margin-bottom: 0;
}
.page-child .page-header {
    height: auto;
    min-height: 35vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;    
    --page-header-padding-bottom: 65px;
    --page-header-inner-max-width: 940px;
}
.page-header-wrap {
    justify-content: flex-end;
}
.page-header-title + .page-header-description {
    margin-top: .5em;
    --page-header-font-size: 22px;
}

.page-header h1 {
    font-weight: var(--body-font-weight-normal);
    font-size: 9vw;
}
.page-header h1.h1-xl {
    font-size: 16vw;
}
.page-header .button {
    --button-color:  #FFF;
    --button-outline-color:  #FFF;
    --button-outline-color-hover: var(--color-black, #000);
}
.archive .page-header,
.category .page-header,
.single .page-header,
.blog .page-header,
.search .page-header {
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.archive .page-header h1,
.category .page-header h1,
.single .page-header h1,
.blog .page-header h1,
.search .page-header h1,
.page-child .page-header h1 {
    margin-bottom: 0;
}
.page-header-overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, .6) 15%, rgba(0, 0, 0, 0) 100%);
    opacity: 1;
}
.hero__buttons .button {
    --button-background: var(--color-light-orange);
    --button-background-hover: var(--color-black);
    --button-color: var(--color-black);
    --button-color-hover: var(--color-white);
}
.hero__buttons {
    position: fixed;
    bottom:  20px;
    right: 20px;
    z-index: 9999;
}

.page-shop .page-header {
    align-items: flex-end;
    --page-header-padding-bottom: 0;
    font-size: 26px;
}
.page-shop .page-header .page-header-button {
    background-color: var(--color-orange);
    padding: 0 30px 30px;
    max-width: 380px;
}
.page-shop .page-header .page-header-description {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: var(--color-orange);
    padding: 15px 30px 30px;
    position: relative;
    margin-top: auto;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    flex: 0;
    max-width: 380px;
    --page-header-font-size: 20px;
    font-size: 20px;
}
.page-shop .page-header .page-header-description:before {
    position: absolute;
    display: block;
    content: "";
    width: 100%; 
    height: 50px; 
    top: -48px;
    left: 0;
    background-color: var(--color-orange);
    clip-path: polygon(0 0, 0% 100%, 103% 100%);
}

.shop-category__name a {
    display: block;
    padding: 1em .5em;
    text-decoration: none;
}
.shop-category__name a:hover {
    background-color: var(--color-dark-blue);
    color: #FFFFFF;
}
@media (min-width: 600px) {
    .page-header {
        height: 60vh;
        min-height: 420px;
    }
    .page-header h1 {
        font-size: calc(52px + (76 - 52) * ((100vw - 600px) / (960 - 600)));
    }
    .page-child .page-header h1,
    .archive .page-header h1,
    .category .page-header h1,
    .single .page-header h1,
    .blog .page-header h1,
    .search .page-header h1 {
        font-size: calc(42px + (52 - 42) * ((100vw - 600px) / (960 - 600)));
    }
    .page-header h1.h1-xl {
        font-size: 116px;
    }
}

@media (min-width: 800px) {
    .page-header h1.h1-xl {
        font-size: 20vw;
        line-height: 1;
    }
    .page-shop .page-header .page-header-description {
        --page-header-font-size: 22px; 
        font-size: 22px;
    }
    .page-shop .page-header .page-header-description:before {
        height: 110px; 
        top: -108px;
    }
}
@media (min-width: 1000px) {
    .page-header {
        height: 830px; 
        --page-header-padding-bottom: 65px;
        --page-header-inner-max-width: 940px;
    }
    .archive .page-header,
    .category .page-header,
    .single .page-header,
    .blog .page-header,
    .search .page-header {
        --page-header-inner-max-width: 940px;
    }
    .page-child .page-header {
        height: 416px;
    }
    .page-header h1 {
        font-size: 76px;
    }
    .page-header h1.h1-xl {
        font-size: 116px;
    }
    .page-child .page-header h1,
    .archive .page-header h1,
    .category .page-header h1,
    .single .page-header h1,
    .blog .page-header h1,
    .search .page-header h1 {
        font-size: 48px;
    }
    .hero__buttons {
        bottom:  68px;
        right: 40px;
    }
    .page-shop .page-header .page-header-description {
        padding: 15px 50px 40px;
        --page-header-font-size: 26px;
        font-size: 26px;
    }
    .page-shop .page-header .page-header-description:before {
        height: 214px; 
        top: -212px;
    }
    .page-shop .page-header .page-header-button {
        padding: 0 50px 40px;
    }
}
@media all and (min-width: 1000px) and (max-height: 899px) {
    .page-header {
        height: 100vh; 
    }
}
@media all and (min-width: 1000px) and (min-height: 900px) {
    .page-header {
        --page-header-padding-bottom: 65px;
    }
}
@media (min-width: 1200px) {
    .page-child .page-header h1 {
        font-size: 56px;
    }
}
@media all and (min-width: 1920px) {
    .page-header-overlay {
        background: linear-gradient(90deg, rgba(0, 0, 0, .6) 40%, rgba(0, 0, 0, 0) 70%);
    }
}

/* Header
--------------------------------------------- */

.header-right {
    column-gap: 42px;
}
.menu-item-link {
    outline-color: transparent;
}
.menu-item-link-current {
    color: var(--menu-item-link-color);
    filter: none;
}
.menu-item-link-current>span, 
.menu-item-link:focus>span, 
.menu-item-link:hover>span {
    color: var(--wp--preset--color--light-orange);
    filter: none;
}
.wp-block-search .wp-block-search__label {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.wp-block-search,
.wp-block-search__inside-wrapper,
.is-search-form {
    justify-content: flex-end;
}
.wp-block-search__button svg {
    display: none;
}
.is-search-form  button.is-search-submit,
.is-form-style button.is-search-submit,
.wp-block-search__button,
.wp-block-search__button:hover {
    background: url(assets/img/search-icon.svg) no-repeat center;
    background-size: 28px auto;
    text-indent: -999em;
}
.is-form-style .is-search-icon {
    display: none;
}
#is-search-input-5415,
.is-form-style input.is-search-input,
.wp-block-search .wp-block-search__input,
.wp-block-search__button-behavior-expand .wp-block-search__input {
    /*background-color: var(--color-orange);*/
    --input-border: 0;
    background: transparent;
    border-radius: 0;
    border: none !important;;
    border-bottom: 1px solid var(--color-white) !important;;
    --input-border-color-focus: var(--color-white);
    --input-padding: 5px;
    font-size: 16px;
    color: var(--color-white);
}

/* Mobile Menu
--------------------------------------------- */
.mobile-menu .wp-block-search {
    margin-top: 20px;
    margin-bottom: 10px;
}
.mobile-menu .wp-block-search .wp-block-search__inside-wrapper {
    flex: 0 0 100%;
}
.mobile-menu .wp-block-navigation {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    grid-row-gap: .75em;
    row-gap: .75em;
    margin-bottom: 20px;
    width: 100%;
}
.mobile-menu a {
    display: block;
    font-size: 24px;
}
.mobile-menu {
    --body-font-size: 24px;
    --menu-font-size: 24px;
    --menu-item-margin: 0 0 .75em;
}
.mobile-menu .wp-block-navigation .wp-block-navigation-item__content {
    width: 100%;
}
@media all and (max-width: 999px) {
    .mobile-menu-visible {
        overflow: hidden;
    }
    .home.mobile-menu-visible .site-header,
    .mobile-menu-visible .site-header {
        background: var(--mobile-menu-background);
    }
    .mobile-menu-visible {
        --menu-toggle-color: #FFF;
        --menu-item-link-color: #FFF;
        --menu-item-link-current: #FFF;
    }
    .mobile-menu .menu-item-link-current {
        color: #FFF;
    }
    .mobile-menu {
        max-height: calc(100vh - var(--header-height, 0px) + 1);
        height: 100vh;
        height: 100dvh;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .mobile-menu-visible .menu-item-link:not(.button) {
        padding: 0;
    }
    .mobile-menu-visible .menu-item-button:not(.menu-item-first) {
        margin-left: 0;
    }
    .menu-item-button {
        --button-outline-color:  #FFF;
    }
    .mobile-menu-visible .menu-item-button>.button {
        --button-font-size: 20px;
    }
}

/* Footer
--------------------------------------------- */
.page-footer {
    padding-bottom: 20px;
}
.site-footer {
    font-size: 14px;
}
.site-footer .mai-column.follow-us .wp-block-navigation__container {
    column-gap: 10px;
}
.site-footer .mai-column.follow-us .wp-block-navigation .wp-block-navigation-item {
    flex: 0 0 calc(50% - 5px);
}
.site-footer .wp-block-navigation__container {
    grid-row-gap: 1.25em;
    row-gap: 1.25em;
}
.footer__top {
    padding-top: 60px;
}
.site-footer .opening-hours {
    width: 100%;
    max-width: 600px;
}

@media all and (max-width: 799px) {
    .site-footer .opening-hours {
        margin-left: auto;
        margin-right: auto;
    }
    .site-footer__main {
        background-image: url(assets/img/logo-icon--white-5.svg);
        background-repeat: no-repeat; 
        background-position: right top;
    }
}
@media all and (max-width: 599px) {
    .site-footer__main {
        background-position: right 30px bottom 30px;
        background-size: 220px auto;
    }
}
@media all and (min-width: 800px) {
    .footer__top {
        padding-top: 60px;
    }
    .site-footer .mai-column.follow-us {
        flex-basis: 140px;
        --flex-basis: 140px;
        --flex-lg: 0 0 140px;
        flex-grow: 0;
    }
    .site-footer .opening-hours {
        margin-left: auto;
        max-width: 410px;
    }
} 
@media all and (min-width: 1000px) {
    .footer__top {
        padding-top: 90px;
    }
    .site-footer__main > .wp-block-group__inner-container {
        background-image: url(assets/img/logo-icon--blue@2x.webp);
        background-repeat: no-repeat; 
        background-position: right top;
        background-size: auto 100%; 
    }
    .site-footer .opening-hours {
        width: 410px;
    }
}

/* Newsletter
--------------------------------------------- */
.form-group .label {
    margin-bottom: 30px; 
    display: block; 
} 
.form-group--newsletter {
    max-width: 590px; 
    margin: 0; 
} 

.newsletter__header {
    font-size: 34px;
    line-height: 1.15;
    margin-bottom: 1.25em;
    font-weight: var(--body-font-weight-bold);
}
.newsletter ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #FFFFFF;
    opacity: 1; /* Firefox */
}
.newsletter :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #FFFFFF;
}
.newsletter ::-ms-input-placeholder { /* Microsoft Edge */
    color: #FFFFFF;
}
.newsletter [type=submit] {
    --button-outline-color: #FFFFFF;
}
.newsletter [type=submit]:hover {
    color:  var(--color-orange);
}
.newsletter [type=email], 
.newsletter [type=text] {
    --input-background-color: var(--color-orange);
    --input-border: 0;
    --input-padding: 13px 0;
    --input-color: #FFFFFF;
    --input-border-radius: 0;
    --input-font-size: 14px;
    border-bottom: 1px solid #FFFFFF;
}
.newsletter [type=email]:focus, 
.newsletter [type=text]:focus {
    border-color: #023f54;
}
.newsletter input[type=submit] {
    margin-top: 14px; 
} 
@media all and (max-width: 799px) {
    .newsletter {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        max-width: var(--content-max-width);
    }
} 
@media all and (min-width: 960px) {
    .newsletter__header {
        font-size: 40px;
    }
    .form-group {
        display: flex; 
        flex-flow: row wrap; 
    } 
    .form-group .label {
        width: 100%; 
    } 
    .form-group .label--50 {
        width: calc(50% - 13px); 
    } 
    .form-group .label--last {
        margin-left: auto; 
    } 
    .form-group .label--double {
        display: flex; 
        flex-flow: row wrap; 
    } 
}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/* Inner Page Layout
--------------------------------------------- */

.sidebar {
    --sidebar-margin-top: 120px;
}
@media only screen and (min-width: 1000px){
    .content-sidebar .content-sidebar-wrap {
        --content-sidebar-wrap-columns: minmax(580px,690px) minmax(320px,var(--sidebar-width)); 
        justify-content: space-between;
    }
    .sidebar {
        width: auto;
        --sidebar-margin-top: 0;
    }
}

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/

/* Opening Hours Page
--------------------------------------------- */
.time-block {
    line-height: 1.5;
    font-weight: var(--body-font-weight-bold);
}
.time-block strong {
    font-size: .75em;
    font-weight: 400;
}
.hours-table__row {
    --spacing-xl: 50px;
    padding-bottom: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
    border-bottom: 1px solid #d9d9d9;
}
.hours-table__heading {
    font-size: 20px;
    font-weight: 400;   
    text-align: center;
}
.hours-table__row {
    font-size: 14px;
}
.hours-table__row a {
    text-decoration: underline;
    --link-text-decoration-offset: .25em;
}
.hours-table__columns {
    font-size: 20px;
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
}
.hours-table__columns .time-block {
    text-align: center;
    flex: 1 0 100%;
}
@media all and (min-width: 320px) {
    .hours-table__columns .time-block {
        flex: 1 0 calc(50% - 12px);
    }
} 

@media all and (min-width: 800px) {
    .hours-table__heading {
        font-size: 24px;
    }
    .hours-table__row {
        font-size: 16px;
    }
    .hours-table__columns .time-block {
        flex: 1 0 calc(25% - 18px);
    }
} 

/* Visiting / Opening Times
--------------------------------------------- */
.visiting-times {
    padding: 40px;
}
.bg--logo-icon--grey {
    background-image: url(assets/img/bg--logo-icon--grey.svg);
    background-repeat: no-repeat; 
    background-position: right bottom;
    background-size: 50vw auto; 
}
@media all and (min-width: 1200px) {
    .bg--logo-icon--grey {
        background-size: auto 95%;
        background-position: right bottom;
    }
}
.visiting-times__content {
    max-width: 510px;
}
.visiting-times p {
    margin-bottom: 1.1em;
}
.visiting-times strong {
    font-size: 16px;
} 
.visiting-times .is-style-heading {
    margin-bottom: 1.5em;
}
.visiting-times .is-style-heading strong {
    font-size: 20px;
} 

@media all and (min-width: 400px) {
    .visiting-times  {
        padding: 60px;
    }
} 
@media all and (min-width: 600px) {
    .visiting-times  {
        background-image: url(assets/img/logo-icon--blue@2x.webp);
        background-repeat: no-repeat; 
        background-position: right bottom;
        background-position: left 240px bottom;
        background-size: auto 95%; 
        padding: 60px 40px;
        background-position: right bottom;
        background-position: left 540px bottom;
        background-size: auto 95%; 
    }
} 
@media all and (min-width: 800px) {
    .visiting-times  {
        background-size: auto 100%;
        background-position: right bottom;
        background-position: left 540px bottom;
    }
}
@media all and (min-width: 1000px) {
    .visiting-times  {
        padding: 125px 85px;
        background-size: auto 95%;
        background-position: left 670px bottom;
    }
}

/* Title Area / Site Header
--------------------------------------------- */

.title-area {
    padding: 20px 0;
}
@media all and (min-width: 800px) {
    .home .title-area {
        padding-top: 37px;
    }
} 

/* Testimonial / Review
--------------------------------------------- */
.ta-review {
    padding: 35px 36px 25px;
    background-image: url(assets/img/quote--left.svg), url(assets/img/quote--right.svg);
    background-size: 30px auto;
    background-position: left top, right bottom;
    background-repeat: no-repeat;
}
.ta-review blockquote {
    color: #5F5F53; 
    font-size: 22px; 
    font-weight: var(--body-font-weight-bold); 
    line-height: 1.2;
    --blockquote-font-style: normal;
    margin: 0;
    padding: 0;
    border: 0;
}
.ta-review blockquote cite {
    font-weight: var(--body-font-weight, 400); 
    --cite-font-size: 16px;
    line-height: 1.2;
    display: block;
}
.ta-review blockquote>p:last-of-type:not(:last-child) {
    margin-bottom: .5em;
}
.ta-review__buttons .wp-block-buttons {
    padding-top: 0;
    align-items: center;
    flex: 0 0 auto;
}

@media all and (max-width: 599px) {
    .wp-container-core-group-layout-8.wp-container-core-group-layout-8,
    .ta-review__buttons {
        flex-wrap: wrap !important;
    }
} 
@media all and (min-width: 1000px) {
    .ta-review blockquote {
        font-size: 32px; 
    }
    .ta-review {
        background-position: left top, right bottom;
        padding: 120px 100px 90px;
        background-size: 80px auto;
    }
    .ta-review blockquote cite {
        --cite-font-size: 20px;
    }
}

/* Feed Carousel
--------------------------------------------- */
.FeedGridLayout__grid .slick-slide:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
.FeedGridLayout__grid .slick-slide {
    display: block;
    padding-bottom: 0 !important;
    margin: 0 10px;
}
.FeedGridLayout__grid.slick-slider {
    display: block;
}

/* Post Grid Carousel
--------------------------------------------- */
.upcoming-events, 
.todays-services,
.recent-posts {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}
@media all and (max-width: 1279px) {
    .upcoming-events, 
    .todays-services,
    .recent-posts {
        width: calc(100% - (var(--side-spacing) * 2)); 
        margin-left: auto; 
        margin-right: auto; 
    }
    .carousel-wrap.wp-block-group.alignfull>.wp-block-group__inner-container {
        margin-right: auto;
        margin-left: auto;
    }
    .carousel-wrap .wp-block-group__inner-container {
        width: 100%!important;
        max-width: 100%;
    }
}
.card-carousel .slick-track {
    margin: 0;
}
.card-carousel.slick-initialized {
    margin-left: -8px;
    margin-right: -8px;
}
.card-carousel.slick-initialized .slick-slide {
    margin-left: 8px;
    margin-right: 8px;
} 
.card-carousel .post-card, 
.card-carousel .event-card {
    flex: 0 0 100%;
}
@media all and (min-width: 640px) {
    .card-carousel .post-card,
    .card-carousel .event-card {
        flex: 0 0 calc(50% - 10px);
    }
}
@media all and (min-width: 1000px) {
    .card-carousel .post-card,
    .card-carousel .event-card {
        flex: 0 0 calc(33.333% - 11px);
    }
}

/* Carousel Navigation */
.button--prev,
.button--next,
.posts-prev,
.posts-next {
    padding: 7px; 
}
.button--prev,
.posts-prev {
    padding-left: 7px; 
    padding-right: 2px; 
}
.button--next,
.posts-next {
    padding-left: 2px; 
    padding-right: 7px; 
}
.button--prev span,
.button--next span,
.posts-prev span,
.posts-next span {
  border: solid var(--button-color);
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 4.5px; 
  margin: 5px;
}
.button--next span,
.posts-next span {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.button--prev span,
.posts-prev span {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
.button--prev:hover span,
.button--next:hover span,
.posts-prev:hover span,
.posts-next:hover span {
    border-color: var(--button-color-hover);
}
.slider-controls .slick-disabled,
.slider-controls .slick-disabled span,
.slider-controls .slick-disabled:hover,
.recent-posts .slick-disabled,
.recent-posts .slick-disabled span,
.recent-posts .slick-disabled:hover {
    background:  transparent;
    opacity: .2;
}
.slider-controls .slick-disabled:hover,
.recent-posts .slick-disabled:hover {
    cursor: default;
}


/* Posts/Events Carousel Header
--------------------------------------------- */

.carousel-header {
    margin-bottom: 40px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.carousel-header__heading {
    display: block;
    margin-right: auto;
    margin-bottom: 0;
    line-height: 1;
    flex: 1 1 100%;
    margin-bottom: 20px;
}
.carousel-header__heading .big-header {
    margin-bottom: 0;
}

.carousel-header__controls {
    display: flex;
    flex-direction: row;
    margin-right: 16px;
    column-gap: 16px;
    flex: 0 0 82px;
}
.carousel-header__link {
    margin-left: auto;
}
.photo-gallery__header .carousel-header__link {
    flex: 0 0 200px;
}

@media all and (min-width: 600px) {
    .carousel-header {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .carousel-header__heading {
        flex-basis: auto;
        margin-bottom: 0;
    }
}
@media all and (min-width: 1200px) {
    .carousel-header {
        margin-bottom: 80px;
    }
}


/* Mai Post Grid
--------------------------------------------- */
.recent-posts__grid {
    width: 100%;
}
.entries-wrap.has-columns,
.rp-grid {
    display: flex;
    flex-direction: row;
    column-gap: 16px;
    row-gap: 16px;
    flex-wrap: wrap;
    width: 100%;
}
.rp-grid .post-card {
    flex: 0 0 100%;
}
.post-card {
    background-color: var(--color-pale-blue);
    background-size: cover;
    background-position: center bottom;
    border-radius: 0;
    color: var(--color-dark-blue);
    z-index: 0;
    font-size: 16px;
    line-height: 1.2;
}
.entries-wrap .entry-wrap {
    padding: 0;
    margin: 0;
    --entry-wrap-color: var(--color-dark-blue);
    color: var(--color-dark-blue);
}
.entries-wrap .entry-wrap .entry-card__overlay .entry-title-archive {
    margin-bottom: 0;
    color: var(--color-dark-blue);
}
.entries-wrap .entry-wrap .entry-card__overlay .entry-title-link {
    color: var(--color-dark-blue);
    --entry-title-font-size: 28px;
}
.entry-image-link {
    position: relative;
}
.entry-overlay {
    background: transparent;
}
.entries-wrap .entry.type-post,
.post-card a.post-card__link {
    --entry-title-link-color: var(--color-dark-blue);
    color: var(--color-dark-blue);
    display: flex;
    flex-direction: column;
    height: 525px;
    padding: 25px 13px 0; 
    position: relative;
}
.post-card a.post-card__link {
    padding: 15px 0 0;
}
.entry {
    --entry-border-radius: 0;
}
.entries-wrap > .is-column {
    width: 100%;
}

@media all and (min-width: 640px) {
    .entries-wrap > .is-column,
    .rp-grid .post-card {
        flex: 0 0 calc(50% - 10px);
        width: calc(50% - 10px);
    }
    .post-card a.post-card__link {
        height: 415px;
    }
}
@media all and (min-width: 1000px) {
    .entries-wrap > .is-column,
    .rp-grid .post-card {
        flex: 0 0 calc(33.333% - 11px);
        width: calc(33.333% - 11px);
    }
    .post-card a.post-card__link {
        height: 525px;
    }
}
.post-card a:hover {
    text-decoration: none;
}
.entry-wrap>.entry-card__overlay {
    z-index: 3;
}
.entry-card__overlay:before,
.post-card__overlay:before {
    display: block;
    content: "";
    width: 100%; 
    height: 70px; 
    background-color: var(--color-blue);
    clip-path: polygon(0 0, 0% 100%, 103% 100%);
    position: absolute;
    left: 0;
    top: -68px;
}
.entry-card__overlay,
.post-card__overlay {
    background-color: var(--color-blue);
    --entry-wrap-color: var(--color-blue);
    padding: 15px 20px 20px;
    position: relative;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    flex: 0;
}
.entry-card__overlay {
    padding: 30px 15px 15px;
}
.entries-wrap .entry.type-post .entry-meta,
.entry__date,
.post-card__date {
    color: var(--color-white);
    font-size: 16px; 
    font-weight: var(--body-font-weight-bold);
    line-height: 1.2;
    padding: 0 15px;
    margin-bottom: 30px;
    display: block;
    position: relative;
}
.entries-wrap .entry.type-post .entry-meta {
    position: absolute;
    top: 25px;
    left: 28px;
    z-index: 10;
    padding: 0;
}

.entry__date {
    z-index: 100;
    position: absolute;
    top: 25px;
    left: 28px;
}
.entries-wrap .entry-card__overlay .entry-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.20) 0, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 2;
}
.entry-card__overlay .entry-image-link:before,
.post-card__gradient {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.20) 0, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.00) 100%);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
}
.entry-card .entry-card__overlay h2.entry-title,
.post-card h5.post-card__title {
    font-size: 22px;
    max-width: 28ch;
    margin-bottom: .5em;
    color: var(--color-dark-blue);
    --heading-color: var(--color-dark-blue);
    --color-heading: var(--color-dark-blue);
}
.entry-card__overlay p,
.post-card__excerpt p {
    max-width: 38ch;
}
.entry-card__overlay .entry-excerpt,
.post-card__excerpt {
    padding-right: 15px;
    max-height: 185px;
}
@media all and (min-width: 1080px) {
    .entry-card,
    .post-card {
        font-size: 18px;
    }
    .entry-card .entry-card__overlay h2.entry-title,
    .post-card h5.post-card__title {
        font-size: 24px;
        margin-bottom: 0;
    }
    /* Hover Animation */
    .entry-card__overlay,
    .post-card__overlay {
        flex: 1;
        bottom: 0;
        left: 0;
        right: 0;
        position: absolute;
        transition: top .35s ease 0s;
        width: 100%;
        z-index: 2;
    }
    .entry-card__overlay {
        left: 15px;
        right: 15px;
        width: calc(100% - 30px);
    }
    .entries-wrap .entry-card__overlay .entry-excerpt,
    .post-card__excerpt {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: all .75s ease 0s;
    }
    .entries-wrap .entry-card__overlay p:first-of-type,
    .post-card__excerpt p:first-of-type {
        margin-top: .75em;
    }
    .entries-wrap .entry:hover .entry-card__overlay .entry-excerpt,
    .post-card:hover .post-card__excerpt {
        max-height: 185px;
        opacity: 1;
    }
}
@media all and (min-width: 1200px) {
    .entry-card,
    .post-card {
        font-size: 20px;
    }
    .entry-card .entry-card__overlay h2.entry-title,
    .post-card h5.post-card__title {
        font-size: 28px;
    }
}

/* Search
--------------------------------------------- */ 

.search-results .entries-wrap {
    flex-direction: column;
    grid-row-gap: 30px;
}
.search-results .entries-wrap .entry,
.search-results .entries-wrap .entry.type-post {
    width: auto;
    height: auto;
    padding: 0;
    padding-bottom: 30px;
    border-bottom: 2px solid #eaeaea;
}
.search-results .entries-wrap .entry-type {
    text-transform: uppercase;
    opacity: .8;
    font-size: 14px;
    margin-bottom: .5em;
}
.search-results .entries-wrap > .is-column {
    max-width: 640px;
    width: 100%;
    flex: 0 0 auto;
}
.search-results .entries-wrap .entry h2.entry-title {
    margin-bottom: .5em;
}


/* 
--------------------------------------------- */ 
.two-shape-block img {
    display: block;
}

/* Events - Global or Single Elements
--------------------------------------------- */
.tribe-events-notices {
    border: none;
    background-color: var(--color-light-orange);
    padding: .5em;
    margin-bottom: 40px;
}
.tribe-events-notices ul {
    list-style: none;
}
.tribe-events-content ol, 
.tribe-events-content p, 
.tribe-events-content ul {
    font-size: var(--body-font-size);
    line-height: 1.5;
}
.tribe-events-content ol, 
.tribe-events-content ul {
    list-style-position: inherit;
}
.tribe-events-header__title,
.tribe-events-header__breadcrumbs {
    display: none;
}

.tribe-events-content>.is-style-heading:not(:first-child), 
.tribe-events-content>.is-style-subheading:not(:first-child), 
.tribe-events-content>h1:not(:first-child), 
.tribe-events-content>h2:not(:first-child), 
.tribe-events-content>h3:not(:first-child), 
.tribe-events-content>h4:not(:first-child), 
.tribe-events-content>h5:not(:first-child), 
.tribe-events-content>h6:not(:first-child), 
.tribe-events-content>legend:not(:first-child) {
    margin-block-start: var(--spacing-xl);
}

.single-tribe_events .page-header .event-date h2 {
    margin-top: .75em;
    margin-bottom: 0;
    font-weight: var(--body-font-weight-normal);
}
.single-tribe_events .page-header,
.post-type-archive-tribe_events .page-header {
    height: auto;
    min-height: 40vh;
    align-items: flex-end;
    --page-header-padding-bottom: 65px;
    --page-header-inner-max-width: 940px;
}
.single-tribe_events .page-header h1,
.post-type-archive-tribe_events .page-header h1 {
    font-weight: var(--body-font-weight-normal);
    margin-bottom: 0;
}
.single-tribe_events h1 {
    font-weight: var(--body-font-weight-normal);
    font-size: 9vw;
}


.single-tribe_events .tribe-events-single-event-description > p:first-child {
    font-size: 1.125em;
}
.single-tribe_events .tribe-events-series-relationship-single-marker,
.single-tribe_events .breadcrumb {
    display: none;
}
.single-event-columns {
    display: flex;
    flex-direction: column;
}
.tribe-events-event-meta dl {
    margin: 0;
}
.single-event-columns .tribe-events-event-meta.primary, 
.single-event-columns .tribe-events-event-meta.secondary {
    position: relative;
}
.tribe-events-meta-group {
    width: auto;
    flex: 1 0 100%;
}

@media (min-width: 600px) {
    .single-tribe_events .page-header h1 {
        font-size: calc(52px + (76 - 52) * ((100vw - 600px) / (960 - 600)));
    }
    .single-event-columns {
        flex-direction: row;
        justify-content: space-between;
    }
    .single-event-columns__main {
        flex: 0 1 700px;
    }
    .single-event-columns__aside {
        flex: 0 0 390px;
    }
    .tribe-events-event-meta.primary, 
    .tribe-events-event-meta.secondary {
        flex-direction: column;
    }
}
@media all and (min-width: 960px) {
    .single-tribe_events .page-header {
        height: 500px;
        --page-header-padding-bottom: 65px;
        --page-header-inner-max-width: 940px;
    }
    .single-tribe_events .page-header h1 {
        font-size: 56px;
    }
}
@media all and (min-width: 960px) and (min-height: 900px) {
    .single-tribe_events .page-header {
        --page-header-padding-bottom: 65px;
    }
}
/*.tribe-events-notices ul li {

}
.tribe-events-series-relationship-single-marker*/


/* Events Summary View
--------------------------------------------- */

:root {
    --tec-color-border-default: #cacaca;
}
.tribe-events-calendar-list__month-separator,
.tribe-events-pro-summary__event-datetime {
    font-size: 16px;
}
.tribe-common hr {
    width: auto;
    background-color: #cacaca;
    border: 0;
}
.tribe-events-pro-summary__event-date-tag {
    font-size: 16px;
    line-height: 1.3;
}
.tribe-events .tribe-events-calendar-list__month-separator:not(:first-child),
.tribe-events-pro .tribe-events-pro-summary__month-separator:not(:first-child) {
    margin-top: 40px;
}
.tribe-events .tribe-events-calendar-list__month-separator:after,
.tribe-events-pro .tribe-events-pro-summary__month-separator:after {
    background-color: var(--tec-color-border-default);
    content: "";
    display: block;
    flex: auto;
    height: 1px;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events-pro .tribe-events-pro-summary__event-date-tag-weekday {
    color: #5d5d5d;
    font-size: 12px;
    font-weight: var(--body-font-weight);
    text-transform: uppercase;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events-pro .tribe-events-pro-summary__event-date-tag-daynum {
    font-weight: var(--body-font-weight-bold);
    font-size: 24px;
    color: #000;
}
.tribe-events-pro-summary__event-title a {
    color: #000;
}
.tribe-events-calendar-list__event-header,
.tribe-events-pro-summary__event-header,
.tribe-events-pro-summary__event-title {
    font-size: 16px;
}
.content .tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-details {
    padding-left: 0;
}
.content .tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-summary__event-details {
    width: auto;
}
.tribe-events-calendar-series-archive__container {
    display: none;
}


/* Events Calendar Page
--------------------------------------------- */

/* Intereactive element colours */
.tribe-common button {
    --button-background-hover: #FFFFFF;
    --button-color: var(--color-heading);
}
.tribe-common button, .tribe-common input, .tribe-common select, .tribe-common textarea {
    background-color: #FFFFFF;
}
.tribe-common-c-btn-border {
}

.post-type-archive-tribe_events .entry-footer {
    display: none;
}
.tribe-common.tribe-events .tribe-events-l-container {
    padding-bottom: 60px;
}

.tribe-common .tribe-common-b2 button,
.tribe-common .tribe-common-c-btn-border button {
    background-color: transparent;
}
.tribe-common a.tribe-common-b2,
.tribe-common button.tribe-common-b2,
.tribe-common a.tribe-common-c-btn-border,
.tribe-common button.tribe-common-c-btn-border,
.tribe-common .tribe-events-c-top-bar__nav-link, 
.tribe-common a.tribe-common-c-btn-border-small,
.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border-small,
.tribe-events-nav-previous a,
.tribe-events-nav-next a {
    border: 1px solid #000;
    font-size: 16px;
    padding: .5em;
    color: #000;
}
.tribe-common--breakpoint-medium.tribe-common .tribe-common-c-btn-border-small, 
.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border-small {

}
.tribe-common .tribe-common-b2:hover button,
.tribe-common .tribe-common-c-btn-border:hover button {
    color: #FFF;
}
/*.tribe-common .tribe-common-b2:hover,*/
.tribe-common a.tribe-common-b2:hover,
.tribe-common a.tribe-common-b2:focus,
.tribe-common button.tribe-common-b2:hover,
.tribe-common button.tribe-common-b2:focus,
.tribe-common .tribe-common-c-btn-border:hover, 
.tribe-common .tribe-common-c-btn-border:focus,
.tribe-common .tribe-events-c-top-bar__nav-link:hover,
.tribe-common .tribe-events-c-top-bar__nav-link:focus,
.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border-small:hover,
.tribe-common--breakpoint-medium.tribe-common a.tribe-common-c-btn-border-small:focus,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:focus {
    text-decoration: none;
    background-color: #000;
    color: #FFF;
}

.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:after {
    background: url(data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.084 2.159L2 .243l9.9 9.9L2 20.041.084 18.126l7.983-7.984z' fill='%235d5d5d'/%3E%3C/svg%3E) 100%/7px no-repeat;
}
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:before {
    background: url(data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.916 17.841L10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z' fill='%235d5d5d'/%3E%3C/svg%3E) 0/7px no-repeat;
}


.datepicker table {
    --table-header-background-color: #FFFFFF;
}
.tribe-common .datepicker table tr td.active, 
.tribe-common .datepicker table tr td.active.disabled, 
.tribe-common .datepicker table tr td.active.disabled:hover, 
.tribe-common .datepicker table tr td.active:hover {
    background: var(--color-dark-blue);
}
.tribe-common .datepicker.dropdown-menu,
.tribe-common .tribe-events .datepicker table,
.tribe-events .datepicker .datepicker-switch, 
.tribe-events .datepicker .next, 
.tribe-events .datepicker .prev,
.tribe-events .datepicker .day,
.tribe-events .datepicker .dow {
    border: 0;
}
.tribe-events .datepicker .datepicker-switch, 
.tribe-events .datepicker .next, 
.tribe-events .datepicker .prev {
    font-size: 16px;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown {
    margin-right: auto;
}
.tribe-common .tribe-events-c-subscribe-dropdown__content {
    border: 1px solid #000;
    border-top: none;
}
.tribe-events-meta-group .tribe-events-single-section-title {
    font-size: 18px;
    margin-bottom: 1em;
}
.single-tribe_events .tribe-events-meta-group-venue,
.single-tribe_events .tribe-events-meta-group-details {
    margin-right: 0;
}
.single-tribe_events .tribe-events-meta-group-venue {
    border-bottom: 1px solid #000;
    margin-bottom: 30px;
}
.single-tribe_events .tribe-events-meta-group-details {
    border-top: 1px solid #000;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list, 
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list {
    transform: none;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item {
    padding: 0;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a, 
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a {
    color: #000;
    padding: 0;
    padding: .5em;
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a:hover, 
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a:hover {
    background-color: var(--color-light-grey);
    text-decoration: none;
}

/* View Dropdown */
.tribe-events .tribe-events-c-view-selector__button {
    --button-color: var(--button-outline-color,var(--color-primary));
    --button-color-hover: var(--button-outline-color-hover,var(--color-white));
    --button-background: var(--button-outline-background,transparent);
    --button-background-hover: var(--button-outline-background-hover,var(--button-outline-color,var(--button-color)));
    --button-border: 1px solid var(--button-outline-color,var(--button-color));
    --button-border-hover: var(--button-border);
}
.tribe-events-c-view-selector__button--active {
    --button-background: var(--color-pale-blue,#D1E7EC);
    background-color: var(--color-pale-blue,#D1E7EC);
}
.tribe-events-c-view-selector__content {
    background-color: var(--color-pale-blue,#D1E7EC);
    font-size: 14px;
    --link-color: var(--color-black, #000);
    --link-color-hover: var(--color-black, #000);
}
.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
    background-color: var(--color-blue);
}
.tribe-events .tribe-events-c-view-selector__list-item-text {
    flex: 1 0 auto;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector__content {
    min-width: 140px;
}
.tribe-events-c-view-selector__list,
.tribe-filter-bar .tribe-filter-bar-c-filter__toggle,
.tribe-common button {
    --button-color: var(--color-heading);
    color: var(--color-heading);
}
.tribe-filter-bar .tribe-filter-bar-c-filter__toggle {
    font-weight: var(--body-font-weight-bold);
    font-size: 20px;
}
.tribe-filter-bar .tribe-filter-bar-c-filter__toggle:focus {
    outline: none;
}
.tribe-filter-bar .tribe-filter-bar-c-checkbox .tribe-common-form-control-checkbox__label, 
.tribe-filter-bar .tribe-filter-bar-c-radio .tribe-common-form-control-radio__label {
    flex: 1;
    font-weight: var(--body-font-weight);
}
.tribe-common .tribe-common-form-control-checkbox__input, 
.tribe-common .tribe-common-form-control-radio__input {
    margin-top: 4px;
}
.tribe-events-single .tribe-events-sub-nav {
    list-style: none;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-clear-button {
    border: none;
    font-size: 12px;
    color: #000;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-clear-button:hover {
    color: #000;
}

.tribe-common--breakpoint-medium .tribe-filter-bar--vertical.tribe-filter-bar .tribe-filter-bar__form-heading {
    font-size: 16px;
    font-weight: var(--body-font-weight);
    padding-top: 0;
}
.tribe-filter-bar.tribe-filter-bar--horizontal, .tribe-filter-bar.tribe-filter-bar--vertical {
    padding:  0;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-header {
    padding: 0;
    margin-bottom: 10px;
    font-weight: var(--body-font-weight-bold);
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-clear-button {
    background-color: transparent;
    column-gap: 0;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar-c-pill--has-selections .tribe-filter-bar-c-pill__remove-button {
    background-color: var(--color-orange);
    color: #FFF;
    right: 7px;
}
.tribe-events-c-messages__message svg {
    margin-right: .5em;

}
.tribe-events-c-messages__message[role=alert] {
    background-color: var(--color-light-orange);
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-list-item {
    background-color: var(--color-light-grey);
    padding: 0;
    margin-bottom: 6px;
    font-size: 14px;
}
.tribe-filter-bar .tribe-filter-bar-c-clear-button__reset-icon {
    top: 0;
    width: 12px;
}
.tribe-common div.tribe-filter-bar__selected-filters {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 16px 0;
    font-size: 16px;
    margin-bottom: 30px;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar__selected-filters-list {
    gap: 6px;
}
.tribe-common .tribe-filter-bar .tribe-filter-bar-c-pill--has-selections .tribe-filter-bar-c-pill__pill {
    padding: 5px var(--tec-spacer-7) 5px 7px;
}

/* Grid */
.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters {
    margin-left: 0;
    margin-right: 0;
}
.post-type-archive-tribe_events .content-sidebar-wrap,
.post-type-archive-tribe_events .content-sidebar-wrap .content {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

/* Hide elements */
.post-type-archive-tribe_events .breadcrumb,
.post-type-archive-tribe_events .archive-pagination {
    display: none;
}
/* Archive description */
.post-type-archive-tribe_events .content-sidebar-wrap .archive-description > .archives-description {
    width: 100%;
    max-width: 100%;
}
.post-type-archive-tribe_events .content-sidebar-wrap .archives-description, 
.post-type-archive-tribe_events .content-sidebar-wrap .term-description,
.post-type-archive-tribe_events .content-sidebar-wrap .taxonomy-archive-description {
    width: var(--wrap-width,calc(100% - (var(--side-spacing) * 2)));
    max-width: var(--wrap-max-width);
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
}
.post-type-archive-tribe_events .content-sidebar-wrap .term-description p,
.post-type-archive-tribe_events .content-sidebar-wrap .term-description ol,
.post-type-archive-tribe_events .content-sidebar-wrap .term-description ul {
    max-width: 52ch;
}
.post-type-archive-tribe_events .content-sidebar-wrap .term-description .button {
    margin-top: 1em;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.entry-content .tribe-events .tribe-events-l-container {
    width: var(--wrap-width,calc(100% - (var(--side-spacing) * 2)));
    max-width: var(--wrap-max-width);
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
    margin-right: auto;
    margin-left: auto;
}
.tribe-common .tribe-common-g-row--gutters {
    margin-left: auto;
    margin-right: auto;
}

.events-list__grid .card-carousel:not(.slick-initialized),
.event-list .el-grid,
.tribe-events-widget-events-list__events,
.tribe-events-pro-photo .tribe-common-g-row {
    display: flex;
    flex-direction: row;
    column-gap: 16px;
    row-gap: 16px;
    flex-wrap: wrap;
    width: 100%;
}
.tribe-events-pro-photo .tribe-common-g-row .event-card,
.events-list__grid .carousel:not(.slick-slider) .event-card,
.event-list__item,
.tribe-events-widget-events-list__events > .event-card {
    flex: 0 0 100%;
}
@media all and (min-width: 640px) {
    .events-list__grid .carousel:not(.slick-slider) .event-card,
    .event-list__item,
    .tribe-events-pro-photo .tribe-common-g-row .event-card,
    .tribe-events-widget-events-list__events > .event-card {
        flex: 0 0 calc(50% - 10px);
    }
}
@media all and (min-width: 1000px) {
    .events-list__grid .carousel:not(.slick-slider) .event-card,
    .event-list__item,
    .tribe-events-pro-photo .tribe-common-g-row .event-card,
    .tribe-events-widget-events-list__events > .event-card {
        flex: 0 0 calc(33.333% - 11px);
    }
}
@media all and (min-width: 1000px)  and (max-width: 1200px) {
    .tribe-events--filter-bar-vertical .tribe-events-pro-photo .tribe-common-g-row .event-card {
        flex: 0 0 calc(50% - 10px);
    }
}
@media all and (max-width: 1199px) {
    .post-type-archive-tribe_events .content-sidebar-wrap .archive-description  .tribe-events-l-container,
    .post-type-archive-tribe_events .content-sidebar-wrap .archive-description > .archives-description {
        width: 100%;
        max-width: 100%;
    }
}
.event-card {
    background-color: var(--color-light-orange);
    background-size: cover;
    background-position: center bottom;
    color: #FFFFFF;
    z-index: 0;
    font-size: 16px;
    line-height: 1.2;
}
.tribe-common .event-card a.event-card__link,
.event-card__link {
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    height: 525px;
    position: relative;
    padding: 25px 13px 0; 
}
.tribe-common-g-row .event-card a.event-card__link {
    height: 400px;
}
.event-card a:hover,
.tribe-common .event-card a:hover {
    color: #FFFFFF;
    text-decoration: none;
}
.event-card__overlay:before {
    display: block;
    content: "";
    width: 100%; 
    height: 70px; 
    background-color: var(--color-orange);
    clip-path: polygon(0 0, 0% 100%, 103% 100%);
    position: absolute;
    left: 0;
    top: -68px;
}
.tribe-common-g-row .event-card__overlay:before {
    height: 50px;
    top: -48px;
}

.tribe-common article.event-card__overlay,
.tribe-common div.event-card__overlay,
.event-card__overlay {
    background-color: var(--color-orange);
    padding: 15px;
    position: relative;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    flex: 1;
    bottom: 0;
    left: 15px;
    right: 15px;
    position: absolute;
    transition: top .35s ease 0s;
    width: calc(100% - 30px);
    z-index: 2;
}
.event-card__date {
    color: #FFF; 
    font-size: 16px; 
    font-weight: var(--body-font-weight-bold);
    line-height: 1.2;
    padding: 0 15px;
    margin-bottom: 30px;
    display: block;
    position: relative;
}
.event-card__gradient {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 100%);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
}
.event-card .event-card__title,
.event-card h5.event-card__title {
    font-size: 22px;
    margin-bottom: .35em;
    color: #FFF; 
    --heading-color: #FFF;
    --color-heading: #FFF;
}
.event-card__excerpt {
    padding-right: 15px;
}
.event-card__meta,
.tribe-common div.event-card__meta {
    line-height: 1.2;
    display: flex;
    width: 100%;
    column-gap: .75em;
    font-size: 14px; 
    margin-bottom: .5em;
}
.tribe-common .event-card__meta span,
.event-card__meta span {
    display: block;
}
.tribe-common span.event-meta__time,
.event-meta__time {
    font-weight: var(--body-font-weight-bold);
    padding-right: .25em;
    border-right: 1px solid #FFF;
    flex: 0 0 54px;
}

@media all and (min-width: 800px) {
    .tribe-common article.event-card,
    .event-card {
        font-size: 18px;
    }
    .event-card h5.event-card__title {
        font-size: 26px;
    }
    .event-card__meta,
    .tribe-common div.event-card__meta {
        font-size: 16px;
    }
}

@media all and (min-width: 1080px) {
    .tribe-common article.event-card,
    .event-card {
        font-size: 18px;
    }
    .event-card h5.event-card__title {
        font-size: 28px;
    }
    /* Hover Animation */ 
    .event-card__overlay, 
    .tribe-common div.event-card__overlay, 
    .tribe-common article.event-card__overlay {
        flex: 1;
        bottom: 0;
        left: 15px;
        right: 15px;
        position: absolute;
        transition: top .35s ease 0s;
        width: calc(100% - 30px);
        z-index: 2;
    }
    .event-card__excerpt {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: all .75s ease 0s;
    }
    .event-card__excerpt p:first-of-type {
        margin-top: .75em;
    }
    .event-card:hover .event-card__excerpt {
        max-height: 185px;
        opacity: 1;
    }
}
@media all and (min-width: 1200px) {
    .event-card {
        font-size: 20px;
    }
    .event-card h5.event-card__title {
        font-size: 28px;
        margin-bottom: 0;
    }
    .tribe-common article.event-card__overlay,
    .tribe-common div.event-card__overlay,
    .event-card__overlay {
        padding: 30px 15px 15px;
    }
}


.next-event-row {
    padding: 40px var(--side-spacing);
    margin: 0 var(--side-spacing--negative);
}
.next-event-row .big-header {
    margin-bottom: 0;
}

#next-event .event-card,
#next-event .event-card__overlay {
    background: none !important;
    height: auto;
}
#next-event .event-card__gradient,
#next-event .event-card__overlay:before {
    display: none;
}
#next-event .event-card__overlay,
#next-event .event-card__date {
    position: static;
}
#next-event .event-card,
#next-event .event-card__date,
#next-event .event-card__link,
#next-event .event-card h4 {
    color: currentColor; 
    --heading-color: currentColor;
    --color-heading: currentColor;
}
#next-event h4 {
    font-size: 28px;
    max-width: 22ch;
}
#next-event .event-meta {
    font-size: 14px;
    display: flex;
    flex-direction: row;
    grid-column-gap: .5em;
    width: 100%;
    margin-bottom: 26px;
}
#next-event .event-meta {
    line-height: 1.5;
    display: flex;
    width: 100%;
    column-gap: .875em;
    font-size: 14px; 
    margin-bottom: 1.5em;
}
#next-event .event-meta span {
    display: block;
}
#next-event span.event-meta__date {
    padding-right: .75em;
    border-right: 1px solid currentColor;
}
#next-event span.event-meta__hour {
    flex: 0 0 54px;
    font-weight: var(--body-font-weight);
}
#next-event p + .button {
    margin-top: 20px;
}

@media all and (min-width: 600px) {
    .next-event-row {
        margin-left: auto;
        margin-right: auto;
    }
}

@media all and (min-width: 1000px) {
    #next-event h4 {
        font-size: 36px;
    }
    .next-event-row {
        padding: 80px 60px;
    }
}

@media all and (min-width: 1280px) {
    .next-event-row {
        padding: 120px 90px;
    }
}

/* Content Carousel
--------------------------------------------- */
.site-inner {
    position: relative;
    overflow: hidden;
}
.content-carousel {
    width: calc(100% - var(--side-spacing) - var(--side-spacing));
    overflow: hidden;
    margin-left: var(--side-spacing);
    margin-right: var(--side-spacing);
    font-size: 16px;
}
.content-carousel .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.cc-slide {
    background-size: cover;
    background-position: left bottom;
}
.cc-slide__inner {
    height: 580px;
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--color-white, #FFFFFF);
    --heading-color: var(--color-white, #FFFFFF);
    background: linear-gradient(0deg, rgba(0, 0, 0, .7) 15%, rgba(0, 0, 0, 0) 100%);
}
.cc-slide__header,
.cc-slide__text {
    max-width: 530px;
}
.cc-slide__header {
    font-size: 32px;
    margin-bottom: .35em;
}
.cc-dots .slick-dots {
    display: flex;
    flex-direction: row;
    position: static;
}
.cc-dots .slick-dots li:before {
    display: none;
}
.cc-dots .slick-dots li {
    flex: 1;
    width: auto;
    height: auto;
    margin: 0;
}
.cc-dots .slick-dots li.slick-active {
}
.cc-dots .slick-dots li button:before {
    display: none;
}
.cc-dots .slick-dots li button {
    width: 100%;
    height: 18px;
    background-color: var(--color-light-orange);
}
.cc-dots .slick-dots li.slick-active button {
    background-color: var(--color-orange);
}
.progress {
    display: block; 
    width: 100%; 
    height: 18px; 
    overflow: hidden;
    background-color: rgba(236, 107, 71, 0.50);
}
.progress__marker {
    width: 0;
    display: block; 
    background-color: var(--color-orange);
    height: 18px;
    transition: width .4s ease-in-out;
}
.cc-slide .slider-controls {
    margin-bottom: 30px;
    display: flex;
    flex-direction: row;
    column-gap: 16px;
}
.cc-slide .button {
    --button-color: #FFFFFF;
    --button-color-hover: #000000;
}


@media all and (min-width: 800px) {
    .content-carousel {
        font-size: 18px;
    }
    .cc-slide__header {
        font-size: 40px;
        margin-bottom: .75em;
    }
    .cc-slide__inner {
        padding: 40px 30px;
    }
}
@media all and (min-width: 1000px) {
    .content-carousel {
        font-size: 20px;
    }
}

@media all and (min-width: 1280px) {
    .content-carousel {
        width: auto;
        margin: 0;
    }
    .cc-slide__inner {
        height: 710px;
    }
}


/* Accordion
--------------------------------------------- */ 

.accordion {
    color: var(--body-color, currentColor);
    border-top: 1px solid currentColor;
}
.accordion__toggle {
    padding: 17px 0;
    font-size: 20px;
    color: var(--heading-color, currentColor);
    line-height: 1.15;
    border-bottom: 1px solid var(--heading-color, currentColor);
    position: relative;
    font-family: var(--heading-font-family);
    font-weight: var(--heading-font-weight);
    -webkit-transition: all 0.15s;
    transition: all 0.15s;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.accordion__toggle .wp-block-group__inner-container {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.toggle-bar__icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;

    flex: 0 0 58px;
}
.toggle-bar__text {
    max-width: 95%;
    display: block;
    flex: 0 0 calc(100% - 58px);
}
.toggle-icon {
    top: 0;
    right: 10px;
    position: absolute;
    display: block;
    content: "";
    border: solid var(--heading-color, currentColor);
    border-width: 0 5px 5px 0;
    display: inline-block;
    padding: 8.5px;
    margin: 4px;
    transform: rotate(45deg); 
    -webkit-transform: rotate(45deg);
}
.accordion__toggle .wp-block-group__inner-container .toggle-icon {
    margin: 0;
}
.accordion__toggle--active {
    border: none;
    color: var(--color-heading);
}
.accordion__toggle:hover {
    cursor: pointer;
}
.accordion__toggle:last-of-type {
    margin-bottom: 0;
}
.accordion__toggle--active {
    padding-top: 24px;
}
.accordion__toggle--active .toggle-icon {
    transform: rotate(225deg); 
    -webkit-transform: rotate(225deg);
    top: 10px;
}
.accordion__content {
    display: none;
    padding-bottom: 23px;
    margin: 0;
}
.accordion__content--active,
.accordion__content.default {
    display: block;
}
.accordion__content--active {
    border-bottom: 1px solid #000;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

.accordion__toggle--sm {
    font-size: 20px;
}
.toggle-icon--sm {
    padding: 6.5px;
    border-width: 0 3px 3px 0;
    margin: 0px;
    top: 0;
    top: -2px;
}
.accordion__toggle--active .toggle-icon--sm {
    top: 6px;
}

.accordion__toggle--md {
    font-size: 22px;
}
.toggle-icon--md {
    padding: 6.5px;
    border-width: 0 3px 3px 0;
    margin: 0px;
    top: 0;
}
.accordion__toggle--active .toggle-icon--md {
    top: 8px;
}

.accordion__toggle--lg {
    font-size: 24px;
}
.toggle-icon--lg {
    border-width: 0 4px 4px 0;
    padding: 6.5px;
    margin: 1px;
    top: 0px;
}
.accordion__toggle--active .toggle-icon--lg {
    top: 8px;
}

@media all and (min-width: 800px) {
    .accordion__toggle {
        font-size: 24px; 
    }
    .accordion__toggle--sm {
        font-size: 22px;
    }
    .toggle-icon--sm {
        border-width: 0 4px 4px 0;
    }
    .accordion__toggle--md {
        font-size: 24px;
    }
    .toggle-icon--md {
        border-width: 0 4px 4px 0;
    }
    .accordion__toggle--lg {
        font-size: 28px;
    }
    .toggle-icon--lg {
        border-width: 0 5px 5px 0;
        display: inline-block;
        padding: 8.5px;
        margin: 4px;
        top: -4px;
    }
} 

@media all and (min-width: 1000px) {
    .accordion__toggle {
        font-size: 24px; 
    }
    .accordion__toggle--sm {
        font-size: 22px;
    }
    .accordion__toggle--md {
        font-size: 28px;
    }
    .toggle-icon--md {
        border-width: 0 5px 5px 0;
        display: inline-block;
        padding: 8.5px;
        margin: 4px;
        top: -4px;
    }
    .accordion__toggle--lg {
        font-size: 32px;
    }
} 
@media all and (min-width: 1280px) {
    .accordion__toggle--sm {
        font-size: 24px; 
    }
    .toggle-icon--sm {
        display: inline-block;
        padding: 7.5px;
        margin: 4px;
        top: -4px;
    }
    .accordion__toggle--md {
        font-size: 32px; 
    }
    .accordion__toggle--lg {
        font-size: 36px; 
    }
}


/* Hidden Content
--------------------------------------------- */

.hidden-content__toggle--active {
    /*border: none;*/
    --button-color: var(--color-light-grey);
    /*color: var(--color-light-grey);*/
}
.hidden-content__panel {
    display: none;
    padding-bottom: 23px;
    margin: 0;
}
.hidden-content__panel--active,
.hidden-content__panel.default {
    display: block;
}
.hidden-content__panel--active {
    padding-top: 30px;
    padding-bottom: 30px;
}


/* Map
--------------------------------------------- */
.map {
    max-width: 100vw;
    overflow: hidden;
}
.map .acf-map {
    height: 340px;
    max-height: 77vh;
    width: 100%;
}
.map .acf-map img {
   max-width: inherit !important;
}
@media all and (min-width: 800px) {
    .map .acf-map {
        height: 440px;
    }
} 
@media all and (min-width: 1000px) {
    .map .acf-map {
        height: 520px;
    }
} 


/*--------------------------------------------------------------
# Backgrounds
--------------------------------------------------------------*/

/* Column Text Width Limits
--------------------------------------------- */
.text-col--narrow p,
.text-col--narrow li {
    max-width: 35ch;
}
.text-col--sm p,
.text-col--sm li {
    max-width: 40ch;
}
.text-col--slim p,
.text-col--slim li {
    max-width: 44ch;
}
.text-col--music {
    max-width: 405px;
}
.schools-singing .text-col--slim p,
.schools-singing .text-col--slim li,
.music-under-five .text-col--slim p,
.music-under-five .text-col--slim li {
    max-width: 40ch;
}

/* Page Intro / Columns
--------------------------------------------- */
.bg-columns {
    background-image: url(assets/img/intro-bg.svg);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto 100%;
}
.bg-columns--tall {
    background-image: url(assets/img/columns-bg--tall.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1280px auto;
}
.bg-abstract-02 {
    background: var(--color-white) url(assets/img/columns@2x.png) no-repeat center bottom -280px;
    background-size: 1200px auto;
}

.page-intro {
    --padding-xl: 60px;
}

@media all and (min-width: 400px) { 
    .page-intro {
        --padding-xl: 100px;
    }
}

@media all and (min-width: 600px) { 
    .bg-columns {
        background-position: right bottom;
    }
    .bg-columns--tall {
        background-position: center top;
    }
}

@media all and (min-width: 960px) and (min-height: 900px) {
    .page-intro {
        --padding-xl: 165px;
    }
}

/* Timeline
--------------------------------------------- */
@media all and (min-width: 600px) {
    .bg--timeline {
        background: #ec6b47 url(assets/img/bg--timeline.webp) no-repeat left bottom;
        background-size: 100% auto;
        /*padding-top: 12%;
        padding-bottom: 14vh;*/
        --padding-xl: 90px;
    }
    .bg--timeline {
        /*padding-bottom: 28vh;*/
    }
}
@media all and (min-width: 800px) {
    .bg--timeline {
        /*padding-bottom: 12%;*/
        background-size: auto 100%;
    }
}
@media all and (min-width: 1000px) {
    .bg--timeline {
        background-position: right bottom;
        background-size: 80% auto;
    }
}
@media all and (min-width: 1000px) and (min-height: 1000px) {
    .bg--timeline {
        --padding-lg: 120px;
    }
    .bg--timeline {
        --padding-xl: 210px;
    }
}

/* Left side column shape
--------------------------------------------- */
.bg--programmes,
.bg--place-to-visit,
.bg--beliefs {
    --padding-xl: 70px;
}
@media all and (min-width: 600px) {
    .bg--programmes,
    .bg--place-to-visit, 
    .bg--beliefs {
        background-repeat: no-repeat; 
        background-position: left -220px bottom; 
        padding-left: 200px; 
        background-size: 360px auto;
    }
    .bg--beliefs {
        background-image: url(assets/img/bg--beliefs--small.webp); 
    }
    .bg--place-to-visit {
        background-image: url(assets/img/bg--place-to-visit--small.webp); 
    }
    .bg--programmes {
        background-image: url(assets/img/bg--our-programmes--small.webp); 
    }
}
@media all and (min-width: 800px) {
    .bg--programmes,
    .bg--place-to-visit, 
    .bg--beliefs {
        background-position: right 90px bottom;
        background-size: 920px auto;
        padding-left: 0;
        --padding-xl: 90px;
    }
    .bg--place-to-visit {
        background-image: url(assets/img/bg--place-to-visit.webp); 
    }
    .bg--programmes {
        background-image: url(assets/img/bg--our-programmes.webp);
    }
    .bg--beliefs {
        background-image: url(assets/img/bg--beliefs.webp); 
    }
}
@media all and (min-width: 960px) {
    .bg--programmes,
    .bg--place-to-visit, 
    .bg--beliefs {
        background-position: right bottom; 
        background-size: 1220px auto;
    }
}
@media all and (min-width: 1000px) {
    .bg--programmes,
    .bg--place-to-visit, 
    .bg--beliefs {
        --padding-xl: 140px;
    }
}
@media all and (min-width: 1200px) {
    .bg--programmes,
    .bg--place-to-visit, 
    .bg--beliefs {
        background-size: 1200px auto;
        --padding-xl: 210px;
    }
}

/* Community
--------------------------------------------- */
/*.cta--community {
    background: #FFFFFF url(assets/img/background--community@2x.jpg) no-repeat right bottom;
    background-size: auto 100%;
    padding-top: 195px;
    padding-bottom: 120px;
}*/

/* Right side cutout, large angle 
--------------------------------------------- */
@media all and (min-width: 600px) and (max-width: 800px) {
    .bg--100-years .text-col--slim {
        max-width: 90%;
    }
}
@media all and (min-width: 600px) {
    .bg--community,
    .bg--explore-faith,
    .bg--teachers,
    .bg--100-years,
    .bg--bistro-hours,
    .bg--explore-hire {
        background-repeat: no-repeat; 
        background-position: left top;
        background-size: auto 106%; 
    }
    .bg--teachers {
        background-image: url(assets/img/bg--teachers-curriculum.webp);
        background-position: left 40px top 0;
    }
    .bg--explore-faith {
        background-image: url(assets/img/bg--explore-faith.webp);
    }
    .bg--explore-hire {
        background-image: url(assets/img/bg--explore-hire.webp);
    }
    .bg--community {
        background-image: url(assets/img/bg--community.webp);
    }
    .bg--100-years {
        background-image: url(assets/img/bg--100-years.webp);
    }
    .bg--bistro-hours {
        background-image: url(assets/img/bg--bistro-hours.webp);
    }
}
@media all and (min-width: 800px) {
    .bg--community,
    .bg--explore-faith,
    .bg--teachers,
    .bg--100-years
    .bg--bistro-hours,
    .bg--explore-hire {
        background-size: auto 100%;
        background-position: right top; 
        background-position: right -100px top 0; 
    }
}
/*@media all and (min-width: 900px) {
    .bg--community,
    .bg--explore-faith,
    .bg--teachers,
    .bg--100-years,
    .bg--bistro-hours,
    .bg--explore-hire {
        background-size: auto 100%;
        background-position: right top; 
    }
}*/
@media all and (min-width: 1000px) {
    .bg--community,
    .bg--explore-faith,
    .bg--teachers,
    .bg--100-years,
    .bg--bistro-hours,
    .bg--explore-hire {
        background-size: auto 100%;
        background-position: right top; 
    }
}
@media all and (min-width: 1240px) {
    .bg--community,
    .bg--explore-faith,
    .bg--100-years,
    .bg--explore-hire {
        background-size: 1280px auto;
        --padding-xl: 190px;
    }
    .bg--bistro-hours {
        background-size: auto 100%;
        --padding-xl: 110px;
    }
    .bg--teachers {
        background-size: auto 100%;
        --padding-xl: 210px;
    }
}
/*@media all and (min-width: 1200px) and (max-width: 1300px) {
    .bg--community,
    .bg--explore-faith,
    .bg--100-years,
    .bg--explore-hire {
        background-size: 1180px auto;
        --padding-xl: 190px;
    }
}*/

/* Left side cutout, large angle 
--------------------------------------------- */

.bg--tower-tour .text-col, 
.bg--make-donation .text-col,
.bg--organ .text-col,
.bg--shop-what .text-col {
    max-width: calc(540px + var(--padding-md));
}
@media all and (max-width: 599px) {
    .bg--tower-tour .text-col, 
    .bg--make-donation .text-col,
    .bg--organ .text-col,
    .bg--learning .text-col, 
    .bg--shop-what .text-col {
        padding-left: 0;
    }
}
@media all and (min-width: 600px) {
    .bg--tower-tour,
    .bg--make-donation,
    .bg--organ,
    .bg--learning,
    .bg--shop-what {
        background-size: auto 101%; 
        background-repeat: no-repeat; 
        background-position: right 70vw bottom 0;
        --padding-xl: 90px;
    }
    .bg--tower-tour {
        background-image: url(assets/img/bg--tower-tour--small.webp); 
    }
    .bg--make-donation {
        background-image: url(assets/img/bg--make-donation--small.webp);
    }
    .bg--organ {
        background-image: url(assets/img/bg--organ--small.webp);
    }
    .bg--organ .text-col {
        padding-left: var(--padding-lg);
    }
    .bg--learning {
        background-image: url(assets/img/bg--learning--small.webp);
    }
    .bg--shop-what {
        background-image: url(assets/img/bg--shop--small.webp);
    }
}
@media all and (min-width: 800px) {
    .bg--tower-tour .text-col,
    .bg--make-donation .text-col,
    .bg--organ .text-col,
    .bg--learning .text-col--narrow, 
    .bg--shop-what .text-col {
        margin-left: auto;
        margin-right: auto;
    }
    .bg--make-donation,
    .bg--organ,
    .bg--tower-tour,
    .bg--shop-what {
        background-position: left top;
    }
    .bg--tower-tour {
        background-image: url(assets/img/bg--tower-tour.webp);
    }
    .bg--make-donation {
        background-image: url(assets/img/bg--make-donation.webp);
    }
    .bg--organ {
        background-image: url(assets/img/bg--organ@2x.webp);
    }
    .bg--learning {
        background-image: url(assets/img/bg--learning.webp);
        background-size: 140vw auto;
        background-position: right bottom;
    }
    .bg--shop-what {
        background-image: url(assets/img/bg--shop.webp);
    }
}
@media all and (min-width: 1000px) {
    .bg--learning,
    .bg--shop-what,
    .bg--organ {
        background-size: 110vw auto;
        --padding-xl: 120px;
    }
    .bg--make-donation .text-col,
    .bg--organ .text-col,
    .bg--tower-tour .text-col, 
    .bg--shop-what .text-col {
        margin-left: auto;
        margin-right: 0;
    }
}
/*@media all and (min-width: 1080px) {
    .bg--organ {
        background-size: auto 100%;
        background-position: left top;
    }
}*/
@media all and (min-width: 1240px) {
    .bg--tower-tour,
    .bg--make-donation,
    .bg--organ,
    .bg--learning,
    .bg--shop-what {
        background-size: auto 100%;
        background-position: left top;
    }
    .bg--organ {
        --padding-xl: 190px;
        --padding-l: 150px;
    }
    .bg--tower-tour,
    .bg--make-donation,
    .bg--shop-what {
        --padding-xl: 165px;
    }
    .bg--learning {
        --padding-xl: 220px;
    }
}
@media all and (min-width: 1200px) and (max-width: 1420px) {
    .bg--tower-tour,
    .bg--make-donation,
    .bg--learning,
    .bg--shop-what {
        background-position: left -100px top 0; 
    }
}

/* Music Under 5s
--------------------------------------------- */
@media all and (min-width: 600px) {
    .music-under-five {
        background-color: var(--color-blue-grey);
        background-image: url(assets/img/bg-under-5s@2x.webp);
        background-repeat: no-repeat; 
        background-position: left top;
        background-size: auto 100%; 
    }
}
@media all and (min-width: 800px) {
    .music-under-five {
        background-size: auto 100%;
        background-position: right top; 
        background-position: right -100px top 0; 
    }
}
@media all and (min-width: 900px) {
    .music-under-five {
        background-size: auto 100%;
        background-position: right top; 
    }
}
@media all and (min-width: 1000px) {
    .music-under-five {
        background-size: auto 100%;
        background-position: right top; 
    }
}
@media all and (min-width: 1240px) {
    .music-under-five {
        background-size: auto 100%;
        --padding-xl: 190px;
    }
}

/* Review
--------------------------------------------- */
.bg--review {
    background-image: url(assets/img/bg--logo-icon--grey.svg);
    background-repeat: no-repeat; 
    background-position: left bottom;
    background-size: 750px auto; 
}


/* Overlapping Backgrounds
--------------------------------------------- */

.overlap--top-50,
.overlap--bottom-50 {
    position: relative;
}
.overlap--top-50:after,
.overlap--bottom-50:after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #FFFFFF;
    z-index: -1;
}
.overlap--top-50:after {
    top: 0;
}
.overlap--bottom-50:after {
    bottom: 0;
}

