
/**** INDEX ****************

    1. General
        1.1 Backgrounds
        1.2 Padding & Margin
        1.3 

    2. Heros
        2.1 Hero Image & Text
        2.2 EMPTY
        2.3 Hero Slider With Static WYSIWYG
        2.4 Multihero
        2.5 Product Hero 

    3. Basic Layout
        3.1 Fullwidth Textarea
        3.2 Narrow Textarea
        3.3 Two Col Text 
        3.4 Text and Image
        3.5 Image Repeater
        3.6 Text & Two Images
        3.7 Overlaid text & Image
        3.8 Shout Out Text
        3.9 Shout Out Text Headless
        3.10 Accordion
        3.11 Divider Line
        3.12 Iframe
        3.13 Call To Action
        3.14 REMOVED
        3.15 EMPTY
        3.16 Spacer
        3.17 Download Card
        3.18 Contact Section
        3.19 Google Map
        3.20 Call To Action Ribbon
        3.21 Logo Repeater
        3.22 Video Repeater

    4. Galleries & Carousels
        4.1 ACF Gallery
        4.2 Testimonials
        4.3 Team
        4.4 REMOVED
        4.5 Featured News Block
        4.6 Gallery Repeater
        4.7 Full Width Carousel
        4.8 Gallery
        4.9 Tickertape
        4.10 Featured Case Studies
        4.11 Hero Carousel Repeater
        4.12 Card Repeater Carousel

    5. Cards
        5.1 Service Cards
        5.2 Vertical Cards
        5.3 Scrollspy Cards

    6. Custom Items
        6.1 ARCHIVED
        6.2 Icon List
        6.3 Regular Irregular Four Block
        6.4 Before / After With Accordion
        6.5 Awards
        6.6 Before / After Repeater 
        6.7 Qualifications
        6.8 Work Experience
        6.9 Published Papers
        6.10 Mixed Button Panels
        6.11 Image Panes
        6.12 Counter 
        6.13 Vertical Accordion
        6.14 Schedule
        6.15 Image with Tooltips
        6.16 Quote
        6.17 Counter Icons
        6.18 CPT by Category
        6.19 Relational Cards



*****************************/


/****************************************/
/****************************************/
/********  START ACF Page Builder *******/
/****************************************/
/****************************************/

/*
*   1. General
*/


/**** ACF.1.1 Backgrounds ****/

.acfpb--layout--background--None {
    background: transparent;
}

.acfpb--background-white, .acfpb--layout--background--White {
    background: white;
}

.acfpb--background-subtle, .acfpb--layout--background--Subtle {
    background: var(--background-subtle);
}

.acfpb--background-strong, .acfpb--layout--background--Strong {
    background: var(--background-strong);
}

.acfpb--background-Black, .acfpb--layout--background--Black {
    background: #000;
}


/**** ACF.1.2 Padding & Margin ****/

/* Margin Top */

.acfpb--layout--margin-top--None {
    margin-top: 0px;
}

.acfpb--layout--margin-top--Half {
    margin-top: var(--height-half);
}

.acfpb--layout--margin-top--Standard {
    margin-top: var(--height-standard);
}

.acfpb--layout--margin-top--Large {
    margin-top: var(--height-double);
}

/* Margin Bottom */

.acfpb--layout--margin-bottom--None {
    margin-bottom: 0px;
}

.acfpb--layout--margin-bottom--Half {
    margin-bottom: var(--height-half);
}

.acfpb--layout--margin-bottom--Standard {
    margin-bottom: var(--height-standard);
}

.acfpb--layout--margin-bottom--Large {
    margin-bottom: var(--height-double);
}

/* Padding Top */

.acfpb--layout--padding-top--None {
    padding-top: 0px;
}

.acfpb--layout--padding-top--Half {
    padding-top: var(--height-half);
}

.acfpb--layout--padding-top--Standard {
    padding-top: var(--height-standard);
}

.acfpb--layout--padding-top--Large {
    padding-top: var(--height-double);
}

/* Padding Bottom */

.acfpb--layout--padding-bottom--None {
    padding-bottom: 0px;
}

.acfpb--layout--padding-bottom--Half {
    padding-bottom: var(--height-half);
}

.acfpb--layout--padding-bottom--Standard {
    padding-bottom: var(--height-standard);
}

.acfpb--layout--padding-bottom--Large {
    padding-bottom: var(--height-double);
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/*
*   2. Heros
*/

/**** ACF.2.1 Hero Image & Text ****/

.acfpb--hero-text-and-image--title {
    padding: 0 0 20px
}

.acfpb--hero-text-and-image--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)  minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 1fr);
    height: 100%;
    grid-gap: 50px;
    align-items: center;
    min-height: calc( 100vh - 100px );
    padding: 0 50px 0px;
}

.acfpb--hero-text-and-image--img {
  /*  grid-column: span 5;*/
    background-size: cover;
    background-position: top center;
    height: 100%;

    width: 100%;
    aspect-ratio: 1.6;
    overflow: hidden;
    position: relative;
}


.acfpb--hero-text-and-image--srcset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}


.acfpb--hero-text-and-image--text {
  /*  grid-column: span 4;*/
}

.acfpb--hero-text-and-image--text h1 {
    font-size: 100px;
}

.acfpb--hero-text-and-image--text h4 {
    max-width: 230px;
}

.acfpb--hero-text-and-image--text p {
    max-width: 350px;
}

.acfpb--hero-text-and-image--align-left--1 .acfpb--hero-text-and-image--text {
    order: 2;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--hero-text-and-image--img {
        padding-top: 120%;
        margin: 50px 0 0;
        order: 2;
    }

    .acfpb--hero-text-and-image--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 0;
        padding: 0 20px 0px;
    }

    .acfpb--hero-text-and-image--text h1 {
        font-size: 40px;
    }
}



/**** ACF.2.2 EMPTY ****/



/**** ACF.2.3 Hero Slider With Static WYSIWYG ****/

.acfpb--slider--static-wysisyg .header-text {
   /* min-height: 100vh;*/
}

.acfpb--slider--static-wysisyg .header-text-inner {
    padding: 20px 20px 20px;
}

.acfpb--slider--static-wysisyg--height--Narrow .header-text {
    min-height: 200px;
}


.acfpb--slider--static-wysisyg--height--Medium .header-text {
    min-height: 400px;
}

.acfpb--slider--static-wysisyg--height--Viewport .header-text {
    min-height: calc( 100vh - 200px );
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--slider--static-wysisyg .header-text {
        min-height: calc( 100vh - 108px )!important;
    }

}

.acfpb--slider--static-wysisyg .carousel--header--slide {
    width: 100%;
    background-size: cover !important;
    background-position: center !important;
    /* min-height: 400px; */
    /*aspect-ratio: 4 / 1;*/
    aspect-ratio: inherit;
    position: relative;
    display: grid;
}

/**** ACF.2.4 Multihero ****/

.acfpb--multihero--background {
    background-size: cover;
    background-position: center;
    position: relative;
    display: grid;
    width: 100%;
    overflow: hidden;
    position: relative;
    isolation: isolate;
}

.acfpb--multihero--srcset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    z-index: -1;
}

.acfpb--multihero--overlay {
    background: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}

.acfpb--multihero--positioning {
    display: grid;
    align-items: end;
}

.acfpb--multihero--textarea {
    padding: 20px 20px;
    max-width: 800px;
}

.acfpb--multihero--vimeo-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.acfpb--multihero--vimeo-wrapper iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.acfpb--multihero--video-overlay {
    background: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
    z-index: 1;
}

.acfpb--multihero--video-positioning {
    display: grid;
    align-items: end;
    min-height: 400px;
}

.acfpb--multihero--video-textarea {
    padding: 20px 40px;
    max-width: 800px;
}

/** Heights **/

.acfpb--multihero--height--Narrow {
    min-height: 200px;
}

.acfpb--multihero--height--Medium {
    min-height: 400px;
}

.acfpb--multihero--height--Viewport {
    min-height: calc( 100vh - 200px );
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/** Arrow **/

.acfpb--multihero--arrow {
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: center;
    width: 100%;
    pointer-events: none;
}

.acfpb--multihero--scroll {
    pointer-events: auto;
    padding: 0;
    background: none;
    border: none;
    color: white;
    border-radius: 50%;
}

.acfpb--multihero--scroll:hover {
    background-color: transparent;
}

/**/

.acfpb--multihero--button {
    z-index: 4;
    bottom: 0;
    left: 0;
    position: absolute;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: background .4s;
    transition: background .4s;
    -webkit-backface-visibility: hidden;
    position: relative;
    height: 100px;
    width: 100px;
}

.acfpb--multihero--button-arrow {
    height: 23px;
    width: 46px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    -webkit-transition: top .3s cubic-bezier(.645,.045,.355,1), left .3s cubic-bezier(.645,.045,.355,1);
    transition: top .3s cubic-bezier(.645,.045,.355,1), left .3s cubic-bezier(.645,.045,.355,1);
    -webkit-backface-visibility: hidden;
}

.acfpb--multihero--button-arrow:after, .acfpb--multihero--button-arrow:before {
    height: 3px;
    width: 28px;
    background-color: var(--content);
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.645,.045,.355,1);
    transition: -webkit-transform .3s cubic-bezier(.645,.045,.355,1);
    transition: transform .3s cubic-bezier(.645,.045,.355,1);
    transition: transform .3s cubic-bezier(.645,.045,.355,1), -webkit-transform .3s cubic-bezier(.645,.045,.355,1);
    -webkit-backface-visibility: hidden;
    border-radius: 2px;
}

.acfpb--multihero--button .acfpb--multihero--button-arrow:after {
    left: 18px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.acfpb--multihero--button-line {
    height: 0;
    border-radius: 2px;
    width: 3px;
    background-color: var(--content);
    bottom: calc(50% - 10px);
    display: block;
    left: calc(50% - 1px);
    position: absolute;
    -webkit-transition: height .3s cubic-bezier(.645,.045,.355,1), bottom .3s cubic-bezier(.645,.045,.355,1), top .3s cubic-bezier(.645,.045,.355,1), left .3s cubic-bezier(.645,.045,.355,1);
    transition: height .3s cubic-bezier(.645,.045,.355,1), bottom .3s cubic-bezier(.645,.045,.355,1), top .3s cubic-bezier(.645,.045,.355,1), left .3s cubic-bezier(.645,.045,.355,1);
    -webkit-backface-visibility: hidden;
}

.on-black .acfpb--multihero--button-arrow:after, .on-black .acfpb--multihero--button-arrow:before {
    background-color: #fff;
}

.on-black .acfpb--multihero--button-line {
    background-color: #fff;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

@media screen and (min-width: 1025px) {
    .acfpb--multihero--button:hover .acfpb--multihero--button-arrow {
        top: 59%
    }
    .acfpb--multihero--button:hover .acfpb--multihero--button-line {
        height: 38%;
        bottom: calc(42% - 10px)
    }
}


/**** ACF.2.5 Product Hero  ****/
/* This is on section 14.17 on style.css */


/*
*   3. Basic Layout
*/

/**** ACF.3.1 Fullwidth Textarea ****/

/**** ACF.3.2 Narrow Textarea ****/

.acfpb--narrow-text--textarea {
    width: 100%;
}

.acfpb--narrow-text--boxed {
    padding: 40px 40px;
    border-radius: 40px;
}

.acfpb--narrow-text--alignment--Left {
    display: grid;
    justify-items: start;
}

.acfpb--narrow-text--alignment--Middle {
    display: grid;
    justify-items: center;
}

.acfpb--narrow-text--alignment--Right {
    display: grid;
    justify-items: end;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--narrow-text--width--Fifth, .acfpb--narrow-text--internal-width--Fifth {
        max-width: 20%;
    }

    .acfpb--narrow-text--width--Third, .acfpb--narrow-text--internal-width--Third {
        max-width: 33%;
    }

    .acfpb--narrow-text--width--TwoFifths, .acfpb--narrow-text--internal-width--TwoFifths {
        max-width: 40%;
    }

    .acfpb--narrow-text--width--Half, .acfpb--narrow-text--internal-width--Half {
        max-width: 50%;
    }

    .acfpb--narrow-text--width--ThreeFifths, .acfpb--narrow-text--internal-width--ThreeFifths {
        max-width: 60%;
    }

    .acfpb--narrow-text--width--TwoThirds, .acfpb--narrow-text--internal-width--TwoThirds {
        max-width: 66%;
    }

    .acfpb--narrow-text--width--FourFifths, .acfpb--narrow-text--internal-width--FourFifths {
        max-width: 80%;
    }

    .acfpb--narrow-text--width--Full, .acfpb--narrow-text--internal-width--Full {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--narrow-text--boxed {
        padding: 20px 20px;
        border-radius: 20px;
    }

    .acfpb--narrow-text--mobile-width--Fifth, .acfpb--narrow-text--mobile-internal-width--Fifth {
        max-width: 20%;
    }

    .acfpb--narrow-text--mobile-width--Third, .acfpb--narrow-text--mobile-mobile-internal-width--Third {
        max-width: 33%;
    }

    .acfpb--narrow-text--mobile-width--TwoFifths, .acfpb--narrow-text--mobile-internal-width--TwoFifths {
        max-width: 40%;
    }

    .acfpb--narrow-text--mobile-width--Half, .acfpb--narrow-text--mobile-internal-width--Half {
        max-width: 50%;
    }

    .acfpb--narrow-text--mobile-width--ThreeFifths, .acfpb--narrow-text--mobile-internal-width--ThreeFifths {
        max-width: 60%;
    }

    .acfpb--narrow-text--mobile-width--TwoThirds, .acfpb--narrow-text--mobile-internal-width--TwoThirds {
        max-width: 66%;
    }

    .acfpb--narrow-text--mobile-width--FourFifths, .acfpb--narrow-text--mobile-internal-width--FourFifths {
        max-width: 80%;
    }

    .acfpb--narrow-text--mobile-width--Full, .acfpb--narrow-text--mobile-internal-width--Full {
        max-width: 100%;
    }
}


/**** ACF.3.3 Two Col Text ****/

.acfpb--two-text-columns--title {
    padding: 0 0 20px;
}

.acfpb--two-text-columns--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    grid-gap: 80px;
}

/* Column Width */

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--two-text-columns--width--quarter {
        grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    }

    .acfpb--two-text-columns--width--twofifths {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }

    .acfpb--two-text-columns--width--third {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    }

    .acfpb--two-text-columns--width--half {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .acfpb--two-text-columns--width--twothirds {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }

    .acfpb--two-text-columns--width--threefifths {
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    }

    .acfpb--two-text-columns--width--threequarters {
        grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--two-text-columns--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 20px;
    }
}


/**** ACF.3.4 Text and Image ****/

.acfpb--text-and-image--title {
    padding: 0 0 20px
}

.acfpb--text-and-image--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-gap: var(--grid-gap-horizontal);
}

.acfpb--text-and-image--image-col {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    overflow: clip;
}

.acfpb--text-and-image--img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
    border-radius: 0px;
}

.acfpb--text-and-image--text-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

.acfpb--text-and-image--text  {
    margin: 0 auto;
}

/* Image Width */

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-image--left-width--quarter {
        grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    }

    .acfpb--text-and-image--left-width--twofifths {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }

    .acfpb--text-and-image--left-width--third {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    }

    .acfpb--text-and-image--left-width--half {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .acfpb--text-and-image--left-width--twothirds {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }

    .acfpb--text-and-image--left-width--threefifths {
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    }

    .acfpb--text-and-image--left-width--threequarters {
        grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    }
}

/* Order */

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-image--align-text-left--1 .acfpb--text-and-image--image-col, .acfpb--text-and-image--align-text-left--1 .acfpb--text-and-image--regular-irregular--image-col {
        order: 2;
    }
}

/* Sticky */


@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-image--sticky--1 .acfpb--text-and-image--text, .acfpb--text-and-image--sticky--1 .acfpb--text-and-image--img {
        position: sticky;
        top: 170px;
    }

    .acfpb--text-and-image--sticky--1 .acfpb--text-and-image--image-col {
        position: sticky;
        top: 170px;
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */

    .acfpb--text-and-image--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 30px;
    }

}

/* Regular Irregular */

.acfpb--text-and-image--regular-irregular--grid {
    grid-gap: 0;
}

.acfpb--text-and-image--regular-irregular--image-col {
    width: 100%;
    overflow: hidden;
    position: relative;
}

img.acfpb--text-and-image--regular-irregular--img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    inset: 0;
}

.acfpb--text-and-image--regular-irregular--text-col {
    display: grid;
    align-items: center;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--align-text-left--1 .acfpb--text-and-image--regular-irregular--text-col {
        padding: 50px 50px 50px 0;
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--align-text-left-- .acfpb--text-and-image--regular-irregular--text-col {
        padding:  50px 0px 50px 50px;
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--align-text-left--:after {
        content: "";
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--align-text-left--1:before {
        content: "";
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--quarter.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 2fr) calc( 100% / 4 * 1 );
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--quarter {
        grid-template-columns: calc( 100% / 4 * 3 ) minmax(0, 2fr) calc(50% - 580px);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--twofifths.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 2fr) calc( 100% / 5 *2 );
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--twofifths {
        grid-template-columns: calc( 100% / 5 * 2 ) minmax(0, 2fr) calc(50% - 580px);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--third.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) calc( 100% / 3 ) minmax(0, 2fr);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--third {
        grid-template-columns: calc( 100% / 3 * 2 ) minmax(0, 2fr) calc(50% - 580px);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--half.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 2fr) calc( 100% / 2 );
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--half {
        grid-template-columns: calc( 100% / 2 ) minmax(0, 2fr) calc(50% - 580px);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--twothirds.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 1fr) calc( 100% / 3 * 2 ) ;
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--twothirds {
        grid-template-columns: calc( 100% / 3 * 2 ) minmax(0, 1fr) calc(50% - 580px);
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--threefifths.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 2fr) calc( 100% / 5 * 3 );
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--threefifths {
        grid-template-columns: calc( 100% / 5 * 3 ) minmax(0, 2fr) calc(50% - 580px);
    }


    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--threequarters.acfpb--text-and-image--align-text-left--1 {
        grid-template-columns: calc(50% - 580px) minmax(0, 2fr) calc( 100% / 4 * 3 );
    }

    .acfpb--text-and-image--regular-irregular--grid.acfpb--text-and-image--left-width--threequarters {
        grid-template-columns: calc( 100% / 4  ) minmax(0, 2fr) calc(50% - 580px);
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--text-and-image--regular-irregular--text-col {
        padding: 20px 20px 0px;
    }

    .acfpb--text-and-image--regular-irregular--image-col {
        aspect-ratio: 2;
    }
}


/**** ACF.3.5 Image Repeater ****/

.acfpb--images--grid {
    display: grid;
    grid-gap: 20px;
}

.acfpb--images--algnment--Top {
    align-items: start;
}

.acfpb--images--algnment--Middle {
    align-items: center;
}

.acfpb--images--algnment--Bottom {
    align-items: end;
}

/** Background Images **/

.acfpb--images--background {
    width: 100%;
    aspect-ratio: 1.6;
    overflow: hidden;
    position: relative;
}

.acfpb--images--custom-grid {
    aspect-ratio: 3;
}

.acfpb--images--background--1to1 {
    aspect-ratio: 1;
}

.acfpb--images--background--2to1 {
    aspect-ratio: 2;
}

.acfpb--images--background--1to16 {
    aspect-ratio: 1.6;
}

.acfpb--images--background-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    inset: 0;
}

.acfpb--images--background--custom {
    height: 100%;
}

/** Custom Grid **/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.3.6 Text & Two Images  ****/

.acfpb--text-and-two-images--grid {
    display: grid;
    grid-gap: 50px;
    grid-template-columns: minmax(0,1fr);
    align-items: center;
}

.acfpb--text-and-two-images--text {
    height: fit-content;
}

.acfpb--text-and-two-images--titlearea {
    padding: 0 0 25px;
}

.acfpb--text-and-two-images--textarea {
    padding: 0 0 0 30px;
}

.acfpb--text-and-two-images--images {
    display: grid;
    height: fit-content;
}

/** Variations -- Width **/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-two-images--left_item_width--quarter {
        grid-template-columns: minmax(0,1fr) minmax(0,3fr);
    }

    .acfpb--text-and-two-images--left_item_width--third {
        grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    }

    .acfpb--text-and-two-images--left_item_width--twofifths {
        grid-template-columns: minmax(0,2fr) minmax(0,3fr);
    }

    .acfpb--text-and-two-images--left_item_width--half {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }

    .acfpb--text-and-two-images--left_item_width--threefifths {
        grid-template-columns: minmax(0,3fr) minmax(0,2fr);
    }

    .acfpb--text-and-two-images--left_item_width--twothirds {
        grid-template-columns: minmax(0,2fr) minmax(0,1fr);
    }

    .acfpb--text-and-two-images--left_item_width--threewuarters {
        grid-template-columns: minmax(0,4fr) minmax(0,1fr);
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--text-and-two-images--textarea {
        padding: 0 0 0 0;
    }
}


/** Variations -- Alignment **/

.acfpb--text-and-two-images--align_text_right--1 .acfpb--text-and-two-images--text {
    order: 2;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--text-and-two-images--text {
        order: 2;
    }
}

/** Variations -- Sticky **/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--text-and-two-images--sticky--1 .acfpb--text-and-two-images--images {
        position: sticky;
        top: 250px;
    }
}

/** Variations -- Arrangement **/

.acfpb--text-and-two-images--image_arrangement--OverlappedCorners {
    grid-gap: 0px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.acfpb--text-and-two-images--image_arrangement--OverlappedCorners .acfpb--text-and-two-images--img-one {
    position: relative;
    width: calc(100%);
    z-index: 4;
}

.acfpb--text-and-two-images--image_arrangement--OverlappedCorners .acfpb--text-and-two-images--img-two {
    margin: 15% 0 0;
    max-width: calc(100% + 25%);
    position: relative;
    left: -25%;
}

.acfpb--text-and-two-images--image_arrangement--OverlappedBodies {
    grid-gap: 0px;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.acfpb--text-and-two-images--image_arrangement--OverlappedBodies .acfpb--text-and-two-images--img-one {
    position: relative;
    max-width: calc(100% + 25%);
    z-index: 4;
}

.acfpb--text-and-two-images--image_arrangement--OverlappedBodies .acfpb--text-and-two-images--img-two {
    max-width: calc(100% + 25%);
    position: relative;
    left: -25%;
    margin: 25% 0 0 0;
    z-index: 5;
}

.acfpb--text-and-two-images--image_arrangement--SideBySide {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-gap: 20px;
}

.acfpb--text-and-two-images--image_arrangement--SideBySide .acfpb--text-and-two-images--img-one {
    padding: 30px 0 0 0;
}

.acfpb--text-and-two-images--image_arrangement--SideBySide .acfpb--text-and-two-images--img-two {
    padding: 0 0 30px 0;
}

.acfpb--text-and-two-images--image_arrangement--Vertical {
    grid-template-columns: minmax(0,1fr);
    grid-gap: 20px;
}

.acfpb--text-and-two-images--image_arrangement--Vertical .acfpb--text-and-two-images--img-one {
    padding: 0 30px 0 0;
    width: calc(100% - 30px);
}

.acfpb--text-and-two-images--image_arrangement--Vertical .acfpb--text-and-two-images--img-two {
    padding: 0 0 0 30px;
    width: calc(100% - 30px);
} 

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--text-and-two-images--grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/**** ACF.3.7 Overlaid text & Image ****/


.acfpb--overlaid-text-and-image--item {
    display: grid;
    grid-template-areas: "stack";
}

img.acfpb--overlaid-text-and-image--img {
    grid-area: stack;
}

.acfpb--overlaid-text-and-image--overlay {
    min-height: 100%;
    width: 100%;
    object-fit: cover;
    grid-area: stack;
    display: grid;
}

/* Positioning */

.acfpb--overlaid-text-and-image--position-topleft {
    justify-items: start;
    align-items: start;
}

.acfpb--overlaid-text-and-image--position-topright {
    justify-items: end;
    align-items: start;
}

.acfpb--overlaid-text-and-image--position-bottomleft {
    justify-items: start;
    align-items: end;
}

.acfpb--overlaid-text-and-image--position-bottomright {
    justify-items: end;
    align-items: end;
}

.acfpb--overlaid-text-and-image--position-centre {
    justify-items: center;
    align-items: center;
}

.acfpb--overlaid-text-and-image--position-left {
    justify-items: start;
    align-items: center;
}

.acfpb--overlaid-text-and-image--position-right {
    justify-items: end;
    align-items: center;
}

.acfpb--overlaid-text-and-image--position-bottom {
    justify-items: center;
    align-items: end;
}

.acfpb--overlaid-text-and-image--position-top {
    justify-items: center;
    align-items: start;
}

/* Background */

.acfpb--overlaid-text-and-image--background-light {
    background: rgba(255,255,255,0.3);
}

.acfpb--overlaid-text-and-image--background-medium  {
    background: rgba(255,255,255,0.5);
}

.acfpb--overlaid-text-and-image--background-white  {
    background: rgba(255,255,255,1);
}

.acfpb--overlaid-text-and-image--background-dark  {
    background: rgba(0,0,0,0.6);
}

.acfpb--overlaid-text-and-image--background-black {
    background: rgba(0,0,0,1);
}

.acfpb--overlaid-text-and-image--background-black *, .acfpb--overlaid-text-and-image--background-dark * {
    color: white;
}

.acfpb--overlaid-text-and-image--text {
    max-width: 300px;
    padding: 20px 20px 5px;
    margin: 10px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.3.8 Shout Out Text - ARCHIVED ****/
/**** ACF.3.9 Shout Out Text Headless - ARCHIVED ****/


/**** ACF.3.10 Accordion ****/

.acfpb--accordion--body  {
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-gap: 30px;
    width: 100%;
}

.acfpb--accordion--header {
    padding: 0 0 0px;
}

.acfpb--accordion--item {
    border: 1px solid var(--mid-border);
    padding: 0px 25px 0px;
    margin: 0 0 15px;
    border-radius: 5px;
}

.acfpb--accordion--accordion-header {
    margin-bottom: 0;
    font-size: 22px;
    color: var(--content);
    position: relative;
    cursor: pointer;
}

.acfpb--accordion--header-grid {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    grid-gap: 10px;
    padding: 15px 0px 15px;
    align-items: center;
    cursor: pointer;
}

.acfpb--accordion--button:after {
    display: block;
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    height: 26px;
    width: 26px;
    background-position: center;
    padding: 0px 2px;
    margin: 0px 2px;
    background-color: var(--content); 
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>') no-repeat center / contain;
}

.acfpb--accordion--header-grid.collapsed .acfpb--accordion--button:after {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="black" viewBox="0 0 16 16"><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>') no-repeat center / contain;
}

.on-black .acfpb--accordion--button:after {
    background-color: var(--on-black); 
}

.acfpb--accordion--item-title {
    /*  font-size: 30px;*/
}

.acfpb--accordion--collapse {
    border: none;
}

.acfpb--accordion--accordion-body {
    padding: 0 0 15px;
}


/* Layout */

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */

    .acfpb--accordion--position--text-above .acfpb--accordion--body {
        max-width: 800px;
    }
    
    .acfpb--accordion--position--text-left .acfpb--accordion--body {
        grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    }
    
    .acfpb--accordion--position--text-right .acfpb--accordion--body {
        grid-template-columns: minmax(0,2fr) minmax(0,1fr);
    }
    
    .acfpb--accordion--position--text-right .acfpb--accordion--header {
        order: 2;
    }

}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--accordion--item-title {
        font-size: 16px;
    }
}

/**** ACF.3.11 Divider Line ****/

.acfpb--divider-line--line {
    border-top: 1px solid var(--detail);
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.3.12 Iframe ****/

.acfpb--iframe--header {
    padding: 0 0 20px;
}

.acfpb--iframe--iframe {
    width: 100%;
    border:none
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.3.13 Call To Action ****/

.acfpb--cta {
    overflow: hidden;
}

.acfpb--cta--grid {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    padding: 0px 0 0px 150px;
}

.acfpb--cta--grid-left {
    max-width: 500px;
    padding: 150px 0 100px;
    z-index: 2;
}

.acfpb--cta--grid-left h1 {
    font-size: 80px;
}

.acfpb--cta--grid-left .button {
    font-size: 22px;
    padding: 15px 30px;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--cta--grid {
        padding: 0px 0 0px 0px;
        align-items: center;
        grid-gap: 20px;
        padding: 0 0 0 20px;
    }

    .acfpb--cta--grid-left {
        max-width: 180px;
        padding: 20px 0 20px;
    }

    .acfpb--cta--grid-left h1 {
        font-size: 22px;
    }

    .acfpb--cta--grid-left .button {
        font-size: 16px;
        padding: 10px 24px;
    }

    img.acfpb--cta--image {
        width: 150%;
        max-width: 150%;
        position: relative;
        right: 50%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
    /* INTERMEDIATE RULES GO HERE */
    .acfpb--cta--grid {
        display: grid;
        grid-template-columns: auto auto;
        justify-content: space-between;
        padding: 0px 0 0px 100px;
        align-items: center;
    }

    .acfpb--cta--grid-left h1 {
        font-size: 60px;
    }

}

/**** ACF.3.14 REMOVED ****/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.3.15 REMOVED ****/



@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.3.16 Spacer AAA ****/

/**** ACF.3.17 Download Card AAA ****/

/**** ACF.3.18 Contact Section AAA ****/

/**** ACF.3.19 Google Map ****/

.acfpb--map--map.acf-map {
    height: 400px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** 3.20 Call To Action Ribbon ****/

.acfpb--cta {
    overflow: hidden;
}

.acfpb--cta-ribbon--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-gap: 20px;
    padding: 20px 30px;
    align-items: center;
    background: var(--background-subtle);
    border-radius: 20px;
}

h2.acfpb--cta-ribbon--title {
    margin: 0;
}

p.acfpb--cta-ribbon--p {
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--cta-ribbon--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 10px;
    }
}


/**** 3.21 Logo Grid ****/

.acfpb--logo-grid--header {
    padding: 0 0 30px;
}

.acfpb--logo-grid--repeater {
    display: grid;
    grid-gap: 35px;
    align-items: center;
}

.acfpb--logo-grid--card {
    max-height: 110px;
    margin: 0 auto;
    filter: grayscale(100%);
    transition: 1s;
}

.acfpb--logo-grid--card:hover {
    filter: grayscale(0%);
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** 3.22 Video Repeater ****/

.acfpb--videos--header {
    padding: 0 0 20px;
}

/* Widths */

.acfpb--video--width-fullscreen {
    max-width: 100%;
    padding: 0 0px;
    margin: 0 auto;
}

.acfpb--video--width-content {
    max-width: var(--col-full);
    padding: 0 20px;
    margin: 0 auto;
}

.acfpb--video--width-twothirds {
    max-width: calc(var(--col-full) / 3 * 2);
    padding: 0 20px;
    margin: 0 auto;
}

.acfpb--video--width-half {
    max-width: calc(var(--col-full) / 2);
    padding: 0 20px;
    margin: 0 auto;
}

/**/

.acfpb--video--grid {
    display: grid;
    grid-gap: 20px;
}

/**/

.acfpb--videos--card {
    display: grid;
    grid-gap: 50px;
    align-items: center;
}

.acfpb--videos--add_textbox--1 {
    grid-template-columns: minmax(0,1fr);
}

.acfpb--videos--add_textbox--1.acfpb--videos--textbox_position--1 {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}

/**/

.acfpb--videos--has-modal {
    cursor: pointer;
}

.acfpb--videos--has-modal * {
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--video--desktop--1 {
        grid-template-columns: repeat(1,minmax(0,1fr));
    }

    .acfpb--video--desktop--2 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .acfpb--video--desktop--3 {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--video--mobile--1 {
        grid-template-columns: repeat(1,minmax(0,1fr));
    }

    .acfpb--video--mobile--2 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .acfpb--video--mobile--3 {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}



/****************************************
*
*   4. Galleries & Carousels
*
*****************************************/


/**** ACF.4.1 ACF Gallery ****/

.acfpb--gallery ul.slides li {
    min-height: 0px!important;
    padding-top: 50%;
}

.acfpb--gallery ol.flex-control-nav.flex-control-paging {
    z-index: 2;
}

.acfpb--gallery .flex-control-paging li a {
    background: rgba(255,255,255,.5);
}

.acfpb--gallery .flex-control-paging li a:hover {
    background: rgba(255,255,255,.7);
}

.acfpb--gallery .flex-control-paging li a.flex-active {
    background: rgba(255,255,255,1);
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.4.2 Testimonials ****/

.acfpb--testimonials h4 {
    text-align: center;
}

.acfpb--testimonials--header {
    padding: 0 0 20px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.4.3 Team ****/

.acfpb--team--block {
    overflow: hidden;
}

.acfpb--team--header {
    padding: 20px 0 20px;
}

.acfpb--team--grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-gap: 20px;
    align-items: start;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--team--grid {
        grid-template-columns: repeat(1,minmax(0,1fr));
    }
}


/**** ACF.4.4 EMPTY ****/


/**** ACF.4.5 Featured News Block ****/

.acfpb--featured-news-block--textarea {
    padding: 0 0 20px;
}

.news--first-three-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    grid-gap: 20px;
}

.news--first-three-inner h1 {
  /*  text-align: center;*/
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .news--first-three-grid {
        grid-template-columns: minmax(0,1fr);
    }
}


/**** ACF.4.6 Gallery Repeater ****/

.acfpb--gallery-repeater-rebuild--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,2fr);
    grid-gap: 200px;
}

.acfpb--gallery-repeater-rebuild--controllers span {
    display: inline-block;
}

.acfpb--gallery-repeater-rebuild div#pills-tab {
    font-size: 30px;
}

.acfpb--gallery-repeater-rebuild--nav-link {
    color: var(--content);
    padding: 0!important;
}

.acfpb--gallery-repeater-rebuild .mySwiper--arrow {
    color: var(--content);
}

.acfpb--gallery-repeater-rebuild--grid .nav-link.active {
    background-color: transparent!important;
    border-radius: 0;
    color: var(--detail)!important;
    text-decoration: underline;
}

.acfpb--gallery-repeater-rebuild--nav-link {
    cursor: pointer;
}

.acfpb--gallery-repeater-rebuild div#pills-tab span:last-of-type {
    display: none;
}

.acfpb--gallery-repeater-rebuild--right {
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    grid-gap: 30px;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet {
    height: 0;
    width: fit-content;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet:after {
    content: "This is a long title, ";
    display: block;
    font-size: 30px;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet.swiper-pagination-bullet-active:after {
    color: var(--detail);
    text-decoration: underline;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet {
    opacity: 1;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet:after {
    content: "This is a long title, ";
    display: block;
    font-size: 30px;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet:nth-of-type(1) {
    background: orange;
}

.acfpb--gallery-repeater-rebuild span.swiper-pagination-bullet:after {
    content: "This is a long title, ";
    display: block;
    font-size: 30px;
    color: white;
    font-size: 25px;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--gallery-repeater-rebuild--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 50px;
        margin-bottom: 20px;
    }

    .acfpb--gallery-repeater-rebuild--left {
        order: 2;
    }

    .acfpb--gallery-repeater-rebuild--controllers .mySwiper--meta {
        padding: 0;
    }
}

/**** ACF.4.7 Full Width Carousel AAA ****/


/**** ACF.4.8 Gallery AAA ****/


/**** ACF.4.9 Tickertape AAA ****/

.acfpb--tickertape {
    pointer-events: none;
    overflow: hidden;
}

/**** ACF.4.10 Featured Case Studies ****/

.acfpb--case-studies--header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    padding: 0 0 20px;
}



.acfpb--case-studies {
    
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.4.11 Hero Carousel Repeater ****/


.acfpb--repeater-slider .header-text-inner {
    padding: 20px 20px 20px;
}
 
.acfpb--repeater-slider--height--Narrow .header-text {
    min-height: 200px;
}

.acfpb--repeater-slider--height--Medium .header-text {
    min-height: 400px;
}

.acfpb--repeater-slider--height--Viewport .header-text {
    min-height: calc( 100vh - 200px );
}
 
@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--repeater-slider ul.slides li, .acfpb--repeater-slider .header-text {
        min-height: calc( 100vh - 108px )!important;
    } 
}
 
.acfpb--repeater-slider .carousel--header--slide {
    width: 100%;
    background-size: cover !important;
    background-position: center !important;
    /* min-height: 400px; */
    /*aspect-ratio: 4 / 1;*/
    aspect-ratio: inherit;
    position: relative;
    display: grid;
}

 

/**** ACF.4.12 Card Repeater Carousel ****/



/*
*   5. Cards
*/

/**** ACF.5.1 Service Cards ****/

.acfpb--service-cards {
    padding: 0px 0 0;
}

.acfpb--service-cards--header {
  
}

.acfpb--service-cards--header-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    padding: 0px 0 20px;
}

.acfpb--service-cards--controller {
    display: flex
;
    justify-content: flex-end;
}

.acfpb--service-cards--repeater {
    display: grid;
    grid-gap: 30px;
}

.card038 {
    text-decoration: none!important;
}

.card038--image {
    transition: all .5s;
    width: 100%;
    aspect-ratio: 0.7;
    overflow: hidden;
    position: relative;
    display: grid;
    align-items: end;
    /* border-radius: 20px; */
}

.card038--srcset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    position: absolute;
    inset: 0;
    transition: 0.5s;
}

.card038--overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    inset: 0;
    background: linear-gradient(182deg, transparent 24.33%, rgba(0, 0, 0, .6) 69.06%);
}

.card038:hover .card038--srcset, .card038:focus .card038--srcset {
    transform: scale(1.1);
}

.card038--text {
    padding: 20px 20px 20px;
    display: grid;
    grid-gap: 16px;
    z-index: 1;
    position: relative;
}

.card038--title {
    color: white;
    font-size: 40px;
}

.card038--desc {
    padding: 0;
    color: white;
}

.card038--button {
    margin: 0;
    border-radius: 33px;
    padding: 9px 20px 9px 25px;
    border: 0px solid white;
    color: black!important;
    background: white;
    font-weight: 400;
    position: relative;
    padding-right: 40px;
    text-align: left;
    pointer-events: none;
}

.card038--button:after {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px; 
    background-color: black;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8"/></svg>') no-repeat center / contain;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.card038:hover .card038--button {
    background: var(--detail);
    color: white!important;
}

.card038:hover button.card038--button:after {
    background-color: white;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--service-cards--repeater {
        grid-template-columns: repeat( 1, minmax(0px, 1fr) )!important;
    }
}


/**** ACF.5.2 Vertical Cards ****/

.acfpb--vertical-cards--grid {
    display: grid;
    grid-template-columns: minmax(0,3fr) minmax(0,3fr);
    grid-gap: 60px;
}

.acfpb--vertical-cards--textarea {
    position: sticky;
    top: 200px;
    margin-bottom: 40px;
}

a.vertical-card {
    text-decoration: none;
}

.vertical-card--background {
    margin: 0 0 20px;
    width: 100%;
    /* border-radius: 20px;
    transition: 0.5s;
    aspect-ratio: 1.6;
    overflow: hidden;
    position: relative; */
}

/* .vertical-card--srcset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
} */

/* .vertical-card:hover .vertical-card--background {
    padding-top: 0%;
    aspect-ratio: 1.2;
} */

.vertical-card--text {
    margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--vertical-cards--grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 0px;
    }
}


/**** ACF.5.3 Scrollspy Cards ****/

.acfpb--scrollspy-cards--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-gap: 50px;
}

.acfpb--scrollspy-cards--content-item {
    display: grid;
    align-items: center;
}

.acfpb--scrollspy-cards--sticky {
    position: sticky;
    top: 15vh;
}

img.acfpb--scrollspy-cards--image, .acfpb--scrollspy-cards--image-div {
    opacity: 0;
    transition: 0.5s;
}

.acfpb--scrollspy-cards--image--link.active > img, .acfpb--scrollspy-cards--image--link.active > div {
    opacity: 1;
}

.acfpb--scrollspy-cards--pane {
    display: grid;
    grid-template-areas: "imagearea";
    align-items: center;
    min-height: calc(100vh - 300px);
}

.acfpb--scrollspy-cards--image--link {
    grid-area: imagearea; 
    pointer-events: none;
}

.acfpb--scrollspy-cards--image-div {
    min-height: 70vh;
    width: 100%;
    height: 60%;
    overflow: hidden;
    position: relative;
}


.acfpb--scrollspy-cards--img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
    object-position: center;
    display: block;
}

.acfpb-builder--scrollspy-cards--content-image {
    margin: 0 0 40px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--scrollspy-cards--content-item {
        min-height: calc(100vh - 300px);
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--scrollspy-cards--grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .acfpb--scrollspy-cards--content-item {
        padding: 0 0 20px;
    }

    .acfpb--scrollspy-cards--content-item {
        grid-gap: 20px;
    }
}


/*
*   6. Custom Items
*/

/**** ACF.6.1 ARCHIVED ****/


/**** ACF.6.2 Icon List ****/

.acfpb--icon-bullets--grid {
    display: grid;
    grid-gap: 50px;
    align-items: center;
    margin: 0 auto;
    max-width: 1030px;
    justify-content: space-between;
}

.acfpb--icon-bullets--grid-item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    grid-gap: 15px;
    align-items: center;
}

.acfpb--icon-bullets--grid-item-left {
    padding-top: 100%;
    background: var(--background);
    border-radius: 50%;
    margin: 0px;
}

.acfpb--icon-bullets--grid-item-top {
    font-size: 20px;
    font-weight: 600;
}

.acfpb--icon-bullets--grid-item-bottom {
    font-size: 16px;
    font-weight: 200;
}

.acfpb--icon-bullets--icon {
    padding-top: 0%;
    margin: 0px;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 14px;
    background: #fff;
    border-radius: 50%;
    margin: 0px;
    height: 64px;
    width: 64px;
}

img.acfpb--icon-bullets--srcset {
    max-height: 36px;
    max-width: 36px;
    width: auto;
    height: auto;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--icon-bullets--grid {
        grid-template-columns: minmax(0,1fr)!important;
        grid-gap: 25px;
    }
}


/**** ACF.6.3 Regular Irregular Four Block ****/

.acfpb--regular-irregular-four-block--master-grid {
    display: grid;
    grid-template-columns: minmax(10px, 1fr)  minmax(0, var(--col-full)) minmax(10px, 1fr);
    grid-template-rows: 0px minmax(0, auto) 60px 60px minmax(0, auto);
    overflow-wrap: break-word;
}

.acfpb--regular-irregular-four-block--grid {
    grid-column: 2 / span 1;
    grid-row: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    grid-template-rows: subgrid;
}

.acfpb--regular-irregular-four-block--top-text {
    grid-column: 1 / span 1;
    grid-row: 2  / span 1;
    padding-bottom: 50px;
}

.acfpb--regular-irregular-four-block--top-image {
    grid-column: 2 / span 1;
    grid-row: 2 / span 2;
}

.acfpb--regular-irregular-four-block--bottom-text {
    grid-column: 2 / span 1;
    grid-row: 5 / span 1;
    padding: 30px 0 0px;
    max-width: 450px;
}

.acfpb--regular-irregular-four-block--bottom-image {
    grid-column: 1 / span 1;
    grid-row: 3 / span 3;
}

/* .acfpb--regular-irregular-four-block--image {
    width: 100%;
    height: 100%;
    aspect-ratio: 1.6;
    position: relative;
    overflow: clip;
}

.acfpb--regular-irregular-four-block-srcset {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
} */

.acfpb--regular-irregular-four-block--background {
    grid-column: 1 / -1;
    grid-row: 1 / span 4;
    background: var(--background-strong);
    z-index: -1;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--regular-irregular-four-block--grid {
        column-gap: 50px;
    }

    .acfpb--regular-irregular-four-block--bottom-img {
        max-width: 85%;
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--regular-irregular-four-block--master-grid {
        display: grid;
        grid-template-rows: 0px minmax(0, auto) minmax(0, auto) 100px minmax(0, auto) minmax(0, auto);
        grid-template-columns: minmax(20px, 1fr)  minmax(0, var(--col-full)) minmax(20px, 1fr);
    }

    .acfpb--regular-irregular-four-block--grid {
        grid-column: 2 / span 1;
        grid-row: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: subgrid;
    }

    .acfpb--regular-irregular-four-block--top-text {
        grid-column: 2 / span 1;
        grid-row: 2  / span 1;
        padding: 30px 0 30px;
    }

    .acfpb--regular-irregular-four-block--top-image {
        grid-column: 2 / span 1;
        grid-row: 3 / span 2;
    }

    .acfpb--regular-irregular-four-block--bottom-text {
        grid-column: 2 / span 1;
        grid-row: 5 / span 1;
        padding-bottom: 30px;
    }

    .acfpb--regular-irregular-four-block--bottom-image {
        grid-column: 2 / span 1;
        grid-row: 6 / span 1;
    }

    .acfpb--regular-irregular-four-block--background {
        grid-column: 1 / -1;
        grid-row: 1 / span 3;
    }
}


/**** ACF.6.4 Before / After With Accordion ****/

/**** ACF.6.5 Awards ****/

.acfpb--awards--header {
    padding: 0 0 20px;
}

.acfpb--awards--title {
    color: white;
    text-align: center;
}

.acfpb--awards--grid {
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto;
    /* grid-gap: 66px; */
    align-items: center;
    justify-content: space-between;
}

img.acfpb--awards--img {
    max-height: 116px;
    margin: 0 auto;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--awards--grid {
        grid-template-columns: auto auto;
        grid-gap: 20px;
    }
}


/**** ACF.6.6 Before / After Repeater  ****/

.acfpb--before-after-repeater--header {
    max-width: 400px!important;
}

.acfpb--before-after-repeater {
    margin: 0 auto 135px;
    padding: 0px 0px 0;
    position: relative;
    align-items: center;
}

label.acfpb--before-after-repeater--label {
    color: #909b92;
    cursor: pointer;
    position: relative;
    transition: 1s; 
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */

    .acfpb--before-after-repeater {
        margin: 0 auto 50px
    }

    .acfpb--before-after-repeater--item {
        display: grid;
        grid-template-rows: minmax(0,1fr);
    }

    label.acfpb--before-after-repeater--label.acfpb--before-after-repeater--label-one {
        order: 2;
    }

    .acfpb--before-after-repeater--item {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: auto auto auto;
        margin: 0 0 35px;
    }

    .acfpb--before-after-repeater--input {
        display: none;
    }

    label.acfpb--before-after-repeater--label {
        order: 2;
        text-align: center;
        color: #826d5c;
        margin: 10px 0 0;
        font-size: 20px;
        padding: 0 0 20px;
    }
}

.acfpb--before-after-repeater--slider {
    display: grid;
    place-content: center;
    position: relative;
    overflow: hidden;
    --position: 50%;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */

    .acfpb--before-after-repeater--grid {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,2fr);
        grid-template-rows:  auto auto auto auto auto auto auto auto minmax(0,1fr);
        grid-gap: 0 50px;
        grid-template-areas:
        "befafttitleone befaftpane"
        "befafttitletwo befaftpane"
        "befafttitlethree befaftpane"
        "befafttitlefour befaftpane"
        "befafttitlefive befaftpane"
        "befafttitlesix befaftpane"
        "befafttitleseven befaftpane"
        "befafttitleeight befaftpane"
        ". befaftpane";
    }

    .acfpb--before-after-repeater--pane {
        grid-area: befaftpane; 
        background: white;
        height: 100%;
        display: grid;
        align-items: start;
        isolation: isolate;
    }

    .acfpb--before-after-repeater--header {
        grid-area: befafttitletitle;
        margin: 20px 0 0;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(1) .acfpb--before-after-repeater--label {
        grid-area: befafttitleone;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(2) .acfpb--before-after-repeater--label {
        grid-area: befafttitletwo;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(3) .acfpb--before-after-repeater--label {
        grid-area: befafttitlethree;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(4) .acfpb--before-after-repeater--label {
        grid-area: befafttitlefour;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(5) .acfpb--before-after-repeater--label {
        grid-area: befafttitlefive;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(6) .acfpb--before-after-repeater--label {
        grid-area: befafttitlesix;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(7) .acfpb--before-after-repeater--label {
        grid-area: befafttitleseven;   
    }

    .acfpb--before-after-repeater--item:nth-of-type(8) .acfpb--before-after-repeater--label {
        grid-area: befafttitleeight;   
    }

    .acfpb--before-after-repeater--input {
        position: absolute;
        left: -4000px;
    }

    .acfpb--before-after-repeater--item {
        display: contents;
    }

    input:checked + label.acfpb--before-after-repeater--label {
        background: #F5F4F2;
    }

    .acfpb--before-after-repeater--item:first-of-type label.acfpb--before-after-repeater--label {
        border-top: 1px solid #777777;
    }

    .acfpb--before-after-repeater--label {
        background: grey;
        padding: 5px 5px;
        border-bottom: 1px solid #777777;
    }

    label.acfpb--before-after-repeater--label:hover {
        color: #826d5c;
    }

    input:checked + label.acfpb--before-after-repeater--label + .acfpb--before-after-repeater--pane {
        z-index: 5;
        opacity: 1;
    }

    label.acfpb--before-after-repeater--label:hover + .acfpb--before-after-repeater--pane {
        z-index: 6;
        opacity: 1;
    }

    label.acfpb--before-after-repeater--label {
        left: 0px;
        padding: 5px 0;
        margin: 0;
        font-size: 16px;
        background: #fff;
        padding: 10px 15px;
        cursor: pointer;
        text-transform: uppercase;
        font-family: Montserrat, sans-serif;
    }

}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}

/**** ACF.6.7 Qualifications  - ARCHIVED  ****/
/**** ACF.6.8 Work Experience - ARCHIVED ****/
/**** ACF.6.9 Published Papers - ARCHIVED ****/
/**** ACF.6.10 Mixed Button Panels - ARCHIVED ****/


/**** ACF.6.11 Image Panes ****/

.acfpb--image-panes {
    padding: 0px 0 0px;
}

.acfpb--image-panes--header {
    text-align: right;
    padding: 0 0 20px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.6.12 Counter ****/

.acfpb--counter--grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-gap: 40px;
}

.acfpb--counter--item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    grid-gap: 10px;
    align-items: end;
    border-bottom: 1px solid var(--content);
}

.acfpb--counter--left {
    font-size: 100px;
    line-height: 1em;
}

.acfpb--counter--right {
    margin-bottom: 10px;
}

.acfpb--counter--append {
    font-size: 16px;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--counter--grid {
        grid-template-columns: minmax(0,1fr);
    }

    .acfpb--counter--left {
        font-size: 50px;
    }
}


/**** ACF.6.13 Vertical Accordion ****/

.acfpb--vertical-accordion--header {
    padding: 0 0 30px;
}

.acfpb--vertical-accordion--grid {
    display: flex;
    grid-gap: 20px;
    transition: 0.5s;
    align-items: stretch;
  }

.acfpb--vertical-accordion--item--item {
    flex-grow: 1;
    background: lightgray;
    border-radius: 15px;
}

.acfpb--vertical-accordion--item--column {
    min-width: 44px;
    margin: 10px 0;
    transition: 0.3s;
    align-self: end;
}

input:checked + label.acfpb--vertical-accordion--item--label .acfpb--vertical-accordion--item--column {
    margin: 0px 0;
    align-self: start;
}

.acfpb--vertical-accordion--item--input {
    position: absolute;
    left: -50000px;
}

.acfpb--vertical-accordion--item--label {
    cursor: pointer;
    margin: 0!important;
    height: 100%;
    padding: 20px 15px 20px 20px;
    display: grid;
    min-height: 360px;
}

input:checked + label.acfpb--vertical-accordion--item--label {
    position: relative;
    padding: 20px 30px 20px;
}

.acfpb--vertical-accordion--item--name {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 40px;
    font-weight: 700;
    padding: 15px 0 15px;
}

.acfpb--vertical-accordion--item--item svg.bi {
    background: var(--detail);
    padding: 2px;
    border-radius: 50%;
    fill: white;
    width: 24px;
    height: 24px;
}

span.acfpb--vertical-accordion--item--plus {
    margin-bottom: 7px;
    position: relative;
    left: -7px;
}

span.acfpb--vertical-accordion--item--minus {
    position: absolute;
    bottom: 30px;
    right: 30px;
}

input:checked + label.acfpb--vertical-accordion--item--label .acfpb--vertical-accordion--item--name {
    writing-mode: horizontal-tb;
    transform: rotate(0deg);
}

input:checked + label.acfpb--vertical-accordion--item--label .acfpb--vertical-accordion--item--plus {
    display: none;
}

.acfpb--vertical-accordion--item--wysiwyg {
    display: none;
}

input:checked + label.acfpb--vertical-accordion--item--label .acfpb--vertical-accordion--item--wysiwyg {
    display: block;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--vertical-accordion--header-grid {
        grid-template-columns: minmax(0,1fr);
        grid-gap: 0px;
    }

    .acfpb--vertical-accordion--grid {
        display: block;
    }

    .acfpb--vertical-accordion--item--item {
        margin-bottom: 20px;
    }

    .acfpb--vertical-accordion--item--label {
        min-height: 0px; 
    }

    .acfpb--vertical-accordion--item--name {
        writing-mode: horizontal-tb;
        transform: none; 
        font-size: 26px;
    }

    .acfpb--vertical-accordion--item--name {
        display: grid;
        grid-template-columns: auto minmax(0,1fr);
    }

    .acfpb--vertical-accordion--item--name {
        padding: 0px 0 0px;
    }

    .acfpb--vertical-accordion--item--column {
        margin: 0px 0;
    }

    input:checked + label.acfpb--vertical-accordion--item--label {
        padding: 20px 50px 20px 25px;
    }

    span.acfpb--vertical-accordion--item--minus {
        bottom: 15px;
        right: 15px;
    }
}



/**** ACF.6.14 Schedule -  ARCHIVED ****/


/**** ACF.6.15 Image with Tooltips ****/

.acfpb--image-tooltips--tooltips {
    min-height: 100%;
    width: 100%;
    grid-area: stack;
    position: relative;
}

.acfpb--image-tooltips--tooltip {
    position: absolute;
    background: var(--detail);
    border-radius: 50%;
    cursor: pointer;
    width: 50px;
    height: 50px;
    text-align: center;
    display: grid;
    align-content: center;
    justify-items: center;
}

.acfpb--image-tooltips--tooltip:after {
    content: "";
    top: 0px;
    position: relative;
    transition: 0.5s;
    display: inline-block;
    width: 27px;
    height: 27px;
    background-color:white;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-plus-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-plus-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2"/></svg>') no-repeat center / contain;
}

.acfpb--image-tooltips--tooltip:hover:after {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-dash-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-dash-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8"/></svg>') no-repeat center / contain;
}

.acfpb--image-tooltips--tooltip-content {
    background: white;
    padding: 0px 0px;
    border-radius: 15px;
    position: absolute;
    width: max-content;
    left: 50%;
    bottom: 10px;
    transform: translate(-50%, 0);
    display: none;
    max-width: 300px;
    z-index: 5;
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

img.acfpb--image-tooltips--tooltip-content--img {
    border-radius: 15px 15px 0 0;
}

.acfpb--image-tooltips--tooltip-content--text {
    font-size: 14px;
    text-align: left;
    padding: 10px 13px;
    color: var(--content);
}

.acfpb--image-tooltips--header {
    max-width: 800px;
    margin: 60px auto;
    text-align: center;
}

.acfpb--image-tooltips--grid {
    display: grid;
    grid-template-areas: "stack";
}

.acfpb--image-tooltips--image-layer {
    grid-area: stack;
}


/*
.acfpb--image-tooltips--tooltips {
    min-height: 100%;
    width: 100%;
    grid-area: stack;
    position: relative;
}

.acfpb--image-tooltips--tooltip {
    position: absolute;
    background: var(--detail);
    border-radius: 50%;
    cursor: pointer;
    width: 26px;
    height: 26px;
    text-align: center;
    display: grid;
    align-content: center;
}

.acfpb--image-tooltips--tooltip:after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" fill="white" class="bi bi-plus-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2"/></svg>');
    top: 4px;
    position: relative;
    transition: 0.5s;
}

.acfpb--image-tooltips--tooltip:hover:after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" fill="white" class="bi bi-dash-lg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8"/></svg>');
}*/

.acfpb--image-tooltips--tooltip-reference {
    position: relative;
}
/*
.acfpb--image-tooltips--tooltip-content {
    background: white;
    padding: 2px 15px;
    border-radius: 15px;
    position: absolute;
    width: max-content;
    left: 50%;
    bottom: 0px;
    transform: translate(-50%, 0);
    display: none;
}*/

.acfpb--image-tooltips--tooltip:hover .acfpb--image-tooltips--tooltip-content {
    display: block;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.6.16 Quote ****/


.acfpb--quote--background--White {
    background: #fff;
}

.acfpb--quote--background--Subtle {
    background: var(--background-subtle);
}

.acfpb--quote--background--Strong {
    background: var(--background-strong);
}

.acfpb--quote--background--Black {
    background: #000;
}

.acfpb--quote-card {
    background: var(--background-strong);
    padding: 70px 160px 70px 50px;
    border-radius: 20px;
}

.acfpb--quote--has-sidetext {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    grid-gap: 50px;
}

.acfpb--quote--side-line {
    height: 100%;
    width: 3px;
    background: var(--detail);
    position: relative;
    left: 2px;
}

.acfpb--quote--side {
    color: var(--detail) !important;
    text-transform: uppercase;
    letter-spacing: 0px;
    font-size: 12px;
    writing-mode: vertical-lr;
    text-align: right;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-gap: 8px;
    align-items: center;
}

.acfpb--quote--quote span {
    text-decoration: underline;
    text-decoration-color: var(--detail-secondary) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px;
    position: relative;
}

.acfpb--quote--quote p {
    font-style: italic;
    font-size: 34px;
    color: white;
    line-height: 1.4em;
}

.acfpb--quote--quote p,
.acfpb--quote--quote li,
.acfpb--quote--quote h1,
.acfpb--quote--quote h2 {
    color: white;
}

a.acfpb--quote--link {
    margin: 0 15px 0 0;
    font-size: 16px;
    font-weight: 100;
}

.acfpb--quote--authors {
    margin: 0 0 0px;
    font-size: 14px;
    font-weight: 400;
    color: white;
}

.acfpb--quote--paper-name {
    margin: 0 0 0px;
    font-size: 16px;
    font-weight: 700;
    color: white;
}

.acfpb--quote--identifiers {
    margin: 0 0 0px;
    font-style: italic;
    font-size: 14px;
    font-weight: 400;
    color: white;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--quote-card {
        padding: 30px 20px 30px 15px;
    }


    .acfpb--quote--has-sidetext {
        grid-gap: 20px;
    }

    .acfpb--quote--quote p {
        font-size: 18px;
    }
}


/**** ACF.6.17 Counter Icons ****/


.acfpb--counter-icons {

}

.acfpb--counter-icons--top {
    padding: 0 0 30px;
    font-size: 48px;
    color: #000;
    line-height: 1em;
    text-align: center;
    font-weight: 700;
}

span.acfpb--counter-icons--prepend {
    font-size: 0.7em;
}

.acfpb--counter-icons--description {
    text-align: center;
    /* margin: 0 0 30px; */
    color: #4a5565;
}


.on-black .acfpb--counter-icons--top {
    color: #fff;
}

.on-black .acfpb--counter-icons--description {
    color: var(--detail);
}

.acfpb--counter-icons--item {
    background: transparent;
    padding: 50px 40px 00px;
    border-radius: 40px;
}

.acfpb--counter-icons--imagearea {
    display: grid;
    padding: 0 0 30px;
}

img.acfpb--counter-icons--img {
    max-height: 120px;
    margin: 0 auto 0px;
    width: auto;
}

h2.acfpb--counter-icons--title {
    text-align: center;
    color: #000;
}

.acfpb--counter-icons--textarea {
    text-align: center;
    color: #000;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.6.18 Evidence ****/

.acfpb--cpt {
    background: var(--background-strong);
    padding: 100px 0;
}

.acfpb--cpt--textarea {
    max-width: 800px;
    text-align: center;
    margin: 0 auto 50px;
}

.acfpb--cpt--footer {
    text-align: center;
    margin: 50px auto 0;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.6.19 Relational Cards ****/


.acfpb--cpt--grid {
    grid-gap: 40px;
    align-items: end;
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: 40px;
    display: flex;
    justify-content: center;
}


.acfpb--cpt--header {
    text-align: center;
}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
    .acfpb--cpt--grid-item {
        width: calc(100% / 3 - 40px);
        display: grid;
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
    .acfpb--cpt--grid {
        grid-template-columns: minmax(0,1fr);
        display: grid;
    }
}



/****************************************/
/****************************************/
/********  END ACF Page Builder *******/
/****************************************/
/****************************************/

/****************************************/
/****************************************/
/**********  START CUSTOM BLOCKS ********/
/****************************************/
/****************************************/

  


/**** ACF.7 OOOOOOOOO ****/

.acfpb--repeater-sliderheader-text-background {
    background: rgba(0, 0, 0, 0.3);
    display: grid;
    height: 100%;
}

.acfpb--repeater-sliderheader-text-max-width {
    display: grid;
    height: 100%;
}


.acfpb--repeater-sliderheader-text-inner {
    padding: 40px 40px 40px;
    display: grid;
    height: 100%;
}

.acfpb--repeater-sliderheader-text-inner * {
    color: white!important

}

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.7 OOOOOOOOO ****/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}


/**** ACF.3.14 Video Block ****/

@media screen and (min-width: 768px) {
    /* DESKTOP RULES GO HERE */
}

@media screen and (max-width: 767px) {
    /* MOBILE RULES GO HERE */
}
