@charset "UTF-8";

/*--------------------------------------------------------------
# Define Theme Colors
--------------------------------------------------------------*/
:root {
  /* Fonts */
  --font-main: 'Sohne', 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-alt: 'Sohne Schmal', 'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  /* Grid */
  --header-offset-desktop: 92px;
  --header-offset-mobile: 92px;
  --width-wide: 1320px;
  --width-extra-wide: calc(1200px + 240px);
  --width-max-padding: calc(100% - 40px);
  /* Color Palette */
  --white: #ffffff;
  --black: #1a1919;
  --black-dark: #0e0e0e;
  --grey-10: #f3f6f9;
  --grey-20: #d9dfe5;
  --grey-30: #9dacbb;
  --grey-50: #818995;
  --grey-70: #2c323a;
  --grey-90: #1b1f24;
  --red: #da0300;
  /* CCE Brand Color Palette */
  --blue: #147fc6;
  --blue-alt: #2898e3;
  --blue-dark: #062442;
  --blue-darker: #0e1c35;
  --blue-darker-overlay: #0e1c35c7;
  --green: #00d071;
  --green-alt: #07b767;
  --yellow: #ffe94c;
  --yellow-alt: #ffb44d;
  --blue-to-green: -webkit-linear-gradient(205deg, rgba(11,193,152,1) 0%, rgba(40,194,212,1) 100%);
  --yellow-to-orange: -webkit-linear-gradient(339deg, rgba(255,233,76,1) 55%, rgba(255,180,77,1) 100%);

}

/*--------------------------------------------------------------
# Custom Fonts
--------------------------------------------------------------*/
@font-face {
    font-family: 'Sohne';
    src: url('../fonts/sohne/Sohne-Leicht.woff2') format('woff2'),
        url('../fonts/sohne/Sohne-Leicht.woff2') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne';
    src: url('../fonts/sohne/Sohne-LeichtKursiv.woff2') format('woff2'),
        url('../fonts/sohne/Sohne-LeichtKursiv.woff2') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne';
    src: url('../fonts/sohne/Sohne-Dreiviertelfett.woff2') format('woff2'),
        url('../fonts/sohne/Sohne-Dreiviertelfett.woff2') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne';
    src: url('../fonts/sohne/Sohne-FettKursiv.woff2') format('woff2'),
        url('../fonts/sohne/Sohne-FettKursiv.woff2') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne Schmal';
    src: url('../fonts/sohne/SohneSchmal-Dreiviertelfett.woff2') format('woff2'),
        url('../fonts/sohne/SohneSchmal-Dreiviertelfett.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne Schmal';
    src: url('../fonts/sohne/SohneSchmal-DreiviertelfettKurs.woff2') format('woff2'),
        url('../fonts/sohne/SohneSchmal-DreiviertelfettKurs.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: block;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne Schmal';
    src: url('../fonts/sohne/SohneSchmal-Fett.woff2') format('woff2'),
        url('../fonts/sohne/SohneSchmal-Fett.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: block;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Sohne Schmal';
    src: url('../fonts/sohne/SohneSchmal-FettKursiv.woff2') format('woff2'),
        url('../fonts/sohne/SohneSchmal-FettKursiv.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: block;
    unicode-range: U+0020—007F;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/Roboto-Regular.woff2') format('woff2'),
        url('../fonts/roboto/Roboto-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/Roboto-Italic.woff2') format('woff2'),
        url('../fonts/roboto/Roboto-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: block;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/Roboto-Black.woff2') format('woff2'),
        url('../fonts/roboto/Roboto-Black.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),
        url('../fonts/roboto/Roboto-BlackItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: block;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/roboto/RobotoCondensed.woff2') format('woff2'),
        url('../fonts/roboto/RobotoCondensed.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/roboto/RobotoCondensedItalic.woff2') format('woff2'),
        url('../fonts/roboto/RobotoCondensedItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: block;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/roboto/RobotoCondensed-Bold.woff2') format('woff2'),
        url('../fonts/roboto/RobotoCondensed-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'Roboto Condensed';
    src: url('../fonts/roboto/RobotoCondensed-BoldItalic.woff2') format('woff2'),
        url('../fonts/roboto/RobotoCondensed-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: block;
}

/*
 * Generate Blocks Styles and Overrides
 *
 */
 .gb-container .wp-block {
    max-width: 100%;
}

/*
 * Gutenberg Kitchen Sink Styles
 *
 */

.block-editor .editor-styles-wrapper  p.block-editor-block-list__block,
.block-editor .editor-styles-wrapper p {
    margin-bottom: 28px;
    margin-top: 0 !important;
}
.block-editor .editor-styles-wrapper p:last-child {
    margin-bottom: 0;
}
.block-editor .editor-styles-wrapper .has-normal-font-size, body.frontend .has-normal-font-size {
    font-size: 16px !important;    
    line-height: 1.6em !important;
}
.block-editor .editor-styles-wrapper .has-small-font-size, body.frontend .has-small-font-size {
    font-size: 14px !important;
    line-height: 1.6em !important;
}
.block-editor .editor-styles-wrapper .has-medium-font-size, body.frontend .has-medium-font-size {
    font-size: 18px !important;
    line-height: 1.6em !important;
}
.block-editor .editor-styles-wrapper .has-large-font-size, body.frontend .has-large-font-size {
    font-size: 26px !important; 
    line-height: 1.4em !important;
}
.block-editor .editor-styles-wrapper .has-xlarge-font-size, body.frontend .has-xlarge-font-size {
    font-size: 32px !important;    
    line-height: 1.4em !important;
}
.block-editor .editor-styles-wrapper .has-xxlarge-font-size, body.frontend .has-xxlarge-font-size {
    font-size: 48px !important;    
    line-height: 1.3em !important;
    word-break: break-word;
}
.block-editor .editor-styles-wrapper .has-xxxlarge-font-size, body.frontend .has-xxxlarge-font-size {
    font-size: 60px !important;    
    line-height: 1em !important;
    word-break: break-word;
}
@media (max-width: 767px) {
    .block-editor .editor-styles-wrapper .has-small-font-size, body.frontend .has-small-font-size {
        font-size: 13px !important;
    }
    .block-editor .editor-styles-wrapper .has-medium-font-size, body.frontend .has-medium-font-size {
        font-size: 16px !important;
    }
    .block-editor .editor-styles-wrapper .has-large-font-size, body.frontend .has-large-font-size {
        font-size: 20px !important;
    }
    .block-editor .editor-styles-wrapper .has-xlarge-heading-font-size, body.frontend .has-xlarge-font-size {  
        font-size: 24px !important;
    }
    .block-editor .editor-styles-wrapper .has-xxlarge-heading-font-size, body.frontend .has-xxlarge-font-size {  
        font-size: 32px !important;
    }
    .block-editor .editor-styles-wrapper .has-xxxlarge-heading-font-size, body.frontend .has-xxxlarge-font-size {  
        font-size: 32px !important;
    }
}

/*
 * Gutenberg Global Alignments
 *
 */
/* Align Wide */
.entry-content .alignwide {
    margin-left: -280px;
    margin-right: -280px;
    /* padding-left: 10px; */
    /* padding-right: 10px; */
    max-width: calc(100vw - 40px);
    width: calc(100% + 560px);
}
/* Align Full */
.entry-content .alignfull {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
/* Extra Wide Wrap for use in alignfull */
.extra-wide-wrap {
    width: var(--width-extra-wide);
    max-width: 100%;
    margin: 0 auto;
}
@media only screen and (max-width: 1320px) {
    .entry-content .alignwide {
      margin-left: calc(50% - 50vw + 20px);
      margin-right: calc(50% - 50vw + 20px);
      max-width: 100vw;
      width: calc(100vw - 40px);
    }
    .entry-content figure.alignwide {
        margin: 0 calc(50% - 50vw);
        width: calc(100vw);
    }
}

/*
 * Gutenberg Helper Classes
 *
 */
.text-gradient-yellow {
    background: var(--yellow-to-orange);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.circle-bg {
    position: relative;
    overflow: hidden;
}
.circle-bg:before {
    content: ' ';
    display: block;
    position: absolute;
    z-index: 1;
    width: 1000px;
    height: 1000px;
    top: -370px;
    right: -370px;
    background-image: url(../images/patterns/circle-grey-20.svg);
    background-repeat: no-repeat;
    background-size: 100%;
}
.circle-white.circle-bg:before {
    background-image: url(../images/patterns/circle-white.svg);
}
.circle-grey-10.circle-bg:before {
    background-image: url(../images/patterns/circle-grey-10.svg);
}
.circle-grey-20.circle-bg:before {
    background-image: url(../images/patterns/circle-grey-20.svg);
}
.circle-grey-30.circle-bg:before {
    background-image: url(../images/patterns/circle-grey-30.svg);
}
.circle-yellow.circle-bg:before {
    background-image: url(../images/patterns/circle-yellow.svg);
}
.circle-green.circle-bg:before {
    background-image: url(../images/patterns/circle-green.svg);
}
.circle-green-alt.circle-bg:before {
    background-image: url(../images/patterns/circle-green-alt.svg);
}
.circle-blue.circle-bg:before {
    background-image: url(../images/patterns/circle-blue.svg);
}
.circle-blue-alt.circle-bg:before {
    background-image: url(../images/patterns/circle-blue-alt.svg);
}
.circle-blue-dark.circle-bg:before {
    background-image: url(../images/patterns/circle-blue-dark.svg);
}
.circle-blue-darker.circle-bg:before {
    background-image: url(../images/patterns/circle-blue-darker.svg);
}
.circle-pos1.circle-bg:before {
    right: unset;
    left: -300px;
}
.circle-pos2.circle-bg:before {
    top: 50%;
    transform: translate(10px, -50%);
}
.circle-pos3.circle-bg:before {
    top: 50%;
    right: unset;
    left: -370px;
    transform: translate(10px, -50%);
}
.circle-pos4.circle-bg:before {
    top: unset;
    right: unset;
    left: -370px;
    bottom: -370px;
}
.circle-pos5.circle-bg:before {
    top: unset;
    bottom: -370px;
}

@media only screen and (max-width: 767px) {
    .circle-bg:before {
        width: 500px;
        height: 500px;
        top: -200px;
        right: -200px;
    }
    .circle-pos1.circle-bg:before {
        left: -200px;
    }
    .circle-pos3.circle-bg:before {
        left: -200px;
    }
    .circle-pos4.circle-bg:before {
        left: -200px;
        bottom: -200px;
    }
    .circle-pos5.circle-bg:before {
        bottom: -200px;
    }
}
.pullup:not(.block-editor-block-list__block) {
    position: relative;
    z-index: 1;
    top: -100px;
    margin-bottom: -100px;
    overflow-x: hidden;
}
.margin-top-0 {
    margin-top: 0 !important;
}
.margin-bottom-0 {
    margin-bottom: 0 !important;
}
.thick-border-bottom {
    border-bottom: solid 5px currentColor;
    display: inline-block;
}
.font-main {
    font-family: var(--font-main) !important;
}
.font-alt {
    font-family: var(--font-alt) !important;
    letter-spacing: 0.02em;
    font-style: italic !important;
}
.bold-900 {
	font-weight: 900 !important;
}
.underline-green, .underline-green span {
    text-decoration: underline !important;
    text-decoration-color: var(--green) !important;
    text-decoration-thickness: 4px !important;
}
ul.list-no-bullets,
.editor-styles-wrapper ul.list-no-bullets {
    list-style: none;
    padding: 0;
}
ul.list-no-bullets li,
.editor-styles-wrapper ul.list-no-bullets li {
    padding: 0;
}
ul.checklist>li,
.editor-styles-wrapper ul.checklist>li,
ul.arrowlist>li,
.editor-styles-wrapper ul.arrowlist>li {
    list-style: none;
    position: relative;
    padding-left: 10px;
}
ul.checklist>li::before,
.editor-styles-wrapper ul.checklist>li::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url('../images/icons/checkmark.svg');
    background-size: 100% auto;
    position: absolute;
    left: -20px;
    top: 5px;
}
ul.arrowlist>li::before,
.editor-styles-wrapper ul.arrowlist>li::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url('../images/icons/arrow-right.svg');
    background-size: 100% auto;
    position: absolute;
    left: -20px;
    top: 5px;
}
/* Links & Button */
.text-link-animate, a.text-link-animate {
    text-decoration: none;
    background-image: linear-gradient(var(--green), var(--green));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size .3s;
}
.text-link-animate:is(:hover,:focus), a.text-link-animate:is(:hover,:focus) {
    background-size: 100% 2px;
}
@media only screen and (max-width: 1024px) {
    .tablet-hide {
        display: none !important;
    }
}
@media only screen and (max-width: 767px) {
    .mobile-hide {
        display: none !important;
    }
}

/*
 * Gutenberg Custom Color Picker
 *
 */

.has-blue-background-color {
    background-color: var(--blue) !important;
}
.has-blue-color, .has-blue-color:is(h1, h2, h3, h4, h5, h6) {
    color: var(--blue) !important;
}
.blue-border {
    border-color: var(--blue);
}

.has-green-background-color {
    background-color: var(--green) !important;
}
.has-green-color, .has-green-color:is(h1, h2, h3, h4, h5, h6) {
    color: var(--green) !important;
}
.green-border {
    border-color: var(--green);
}

.has-white-background-color {
    background-color: var(--white) !important;
}
.has-white-color, .has-white-color:is(h1, h2, h3, h4, h5, h6, figcaption) {
    color: var(--white) !important;
}
.entry-content .has-white-color a:not(.theme-button), .editor-styles-wrapper .has-white-color a:not(.theme-button) {
    color: var(--white) !important;
    border-color: var(--white);
}
.entry-content .has-white-color a:hover, .entry-content .has-white-color a:focus,
.editor-styles-wrapper .has-white-color a:hover, .editor-styles-wrapper .has-white-color a:focus {
    border-color: transparent;
}

.has-grey-10-background-color {
    background-color: var(--grey-10) !important;
}
.has-grey-10-color {
    color: var(--grey-10) !important;
}
.has-grey-20-background-color {
    background-color: var(--grey-20) !important;
}
.has-grey-20-color {
    color: var(--grey-20) !important;
}
.has-grey-30-background-color {
    background-color: var(--grey-20) !important;
}
.has-grey-30-color {
    color: var(--grey-20) !important;
}
.has-grey-50-background-color {
    background-color: var(--grey-50) !important;
}
.has-grey-50-color {
    color: var(--grey-50) !important;
}
.has-grey-70-background-color {
    background-color: var(--grey-70) !important;
}
.has-grey-70-color {
    color: var(--grey-70) !important;
}
.has-grey-90-background-color {
    background-color: var(--grey-90) !important;
}
.has-grey-90-color {
    color: var(--grey-90) !important;
}
.has-blue-color {
    color: var(--blue) !important;
}
.has-blue-background-color {
    background: var(--blue) !important;
}
.has-blue-dark-color {
    color: var(--blue-dark) !important;
}
.has-blue-dark-background-color {
    background: var(--blue-dark) !important;
}
.has-blue-darker-color {
    color: var(--blue-darker) !important;
}
.has-blue-darker-background-color {
    background: var(--blue-darker) !important;
}
.has-green-color {
    color: var(--green) !important;
}
.has-green-background-color {
    background: var(--green) !important;
}
.has-yellow-color {
    color: var(--yellow) !important;
}
.has-yellow-background-color {
    background: var(--yellow) !important;
}

/* Gutenberg Background Color on Text */

h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
    padding: 20px 30px;
}


/*
 * TinyMCE Kitchen Sink Styles
 *
 */
.large-text, .editor-styles-wrapper .large-text {
    font-size: 1.3em;
}

/*
 * Responsive oEmbed
 *
 */
.embed-container { 
    position: relative; 
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
} 
.embed-container iframe,
.embed-container object,
.embed-container embed { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Vimeo iFrame */
figure.wp-block-embed.is-type-video.is-provider-vimeo.wp-block-embed-vimeo {
    background: rgba(0, 0, 0, 0.1);
    padding: 1em;
}

@media (max-width: 767px) {
    figure.wp-block-embed.is-type-video.is-provider-vimeo.wp-block-embed-vimeo {
        padding: 0.5em;
    }
}


/*
 * Animation - Fade In
 *
 */
.frontend .animate {
    position: relative;
    top: 100px;
    opacity: 0;
    transition: ease 1.2s all;
}
.frontend .animate.in-view {
    top: 0;
    opacity: 1;
}

/*
 * CORE & CUSTOM BLOCK STYLES
 *
 */

/*
 * Columns Block (Core Block)
 *
 */
 .wp-block-columns {
    max-width: var(--width-wide);
    margin: 0 auto;
}
.wp-block-columns.block-editor-block-list__block {
    margin-bottom: 0;
    /* Editor margin */
}
.wp-block-column *:last-child {
    margin-bottom: 0;
}
.wp-block-columns.has-background {
    padding: 40px;
}
.wp-block-column.has-background {
    padding: 30px;
}
@media (min-width: 782px) {
    .wp-block-column:not(:first-child), .editor-styles-wrapper .block-editor-block-list__block.wp-block-column:not(:first-child) {
        margin-left: 60px !important;
    }
    .wp-block-column .wp-block-column:not(:first-child), .editor-styles-wrapper .block-editor-block-list__block.wp-block-column .block-editor-block-list__block.wp-block-column:not(:first-child) {
        margin-left: 0px !important;
        /* no margin on nested columns */
    }
}
@media (max-width: 782px) {
    .wp-block-column, .wp-block-column:not(:only-child) {
        flex-basis: 100% !important;
        margin-bottom: 20px;
    }
    .wp-block-column:nth-child(2n) {
        margin-left: 0;
    }
    .wp-block-columns {
        margin-bottom: 0 !important;
    }
    .wp-block-columns.is-not-stacked-on-mobile {
        font-size: 0.85em;
    }
    .wp-block-columns.is-not-stacked-on-mobile :is(h1,h2,h3,h4,h5,h6) {
        font-size: 1.4em;
    }
    .wp-block-columns.is-not-stacked-on-mobile .wp-block-column {
        margin-bottom: 0;
    }
    .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child) {
        margin-left: var(--wp--style--block-gap,1em);
    }
}

/*
 * Paragraph Block (Core Block)
 *
 */
.has-drop-cap:not(:focus):first-letter {
    font-size: 5.4em;
    margin: .14em .06em 0 0;
}

/*
 * Blockquote Block (Core Block)
 *
 */
blockquote, blockquote.wp-block-quote {
    margin: 50px auto 50px;
    font-size: 1.3em;
    padding: 40px 40px 0!important;
    position: relative;
    border-left: solid 5px rgba(0,0,0,0.15);
}
blockquote.wp-block-quote:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url('../images/icons/quote.svg');
    background-size: 100% auto;
    position: absolute;
    top: 0;
}
blockquote p, blockquote.wp-block-quote p {
    margin-bottom: 1.3em
}
blockquote p:last-of-type, blockquote.wp-block-quote p:last-of-type {
    margin-bottom: 0;
}
cite, .wp-block-quote__citation, .wp-block-quote cite, .wp-block-quote footer {
    font-size: 0.9rem;
    margin-top: 30px;
    position: relative;
    font-style: normal;
    display: block;
}
@media (max-width: 767px) {
    blockquote, blockquote.wp-block-quote {
        font-size: 1.1em;
        margin-left: -10px;
        padding: 30px 20px 0px 20px !important;
    }
}

/*
 * Tables Block (Core Block)
 *
 */
.wp-block-table {
    margin-bottom: 2em;
}
.wp-block-table .has-fixed-layout {
    table-layout: fixed;
    width: 100%;
}
.wp-block-table table {
    border-collapse: collapse;
    background: rgba(255,255,255,0.6);
}
.wp-block-table thead {
    border-bottom: 3px solid;
}
.wp-block-table tfoot {
    border-top: 3px solid;
}
.wp-block-table table tr {
    vertical-align: top;
}
.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th {
    word-break: normal;
}
.wp-block-table td, .wp-block-table th {
    border: 1px solid;
    text-align: left;
    line-height: 1.3em;
}
.wp-block-table td, .wp-block-table th {
    padding: .75em;
    border: 1px solid;
    word-break: normal;
}
.wp-block-table figcaption {
    color: #4c4c4c;
    font-size: 13px;
    margin-top: 10px;
    text-align: center;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: rgba(0,0,0,0.05);
}
/* Simple Border Style */
.wp-block-table.is-style-border-simple td {
    border: none;
}
.wp-block-table.is-style-border-simple tr {
    border-top: solid 1px var(--grey-30);
}
.wp-block-table.is-style-border-simple tr:last-child {
    border-bottom: solid 1px var(--grey-30);
}

@media (max-width: 600px) {
    .wp-block-table .has-fixed-layout {
        table-layout: auto;
    }
    .wp-block-table td, .wp-block-table th {
        padding: .75em .5em;
    }
}

/*
 * Image Block (Core Block)
 *
 */

.wp-block-image {
    margin: 0;
}
.wp-block-image img {
    display: block;
    /* remove space below image */
}
.wp-block-image .components-resizable-box__container {
    display: block;
    /* remove space below image - editor only */
}
.wp-block-image .alignleft:not(.is-resized),
.wp-block[data-align=left]>.wp-block-image:not(.is-resized) {
    margin: .5em 2em .5em -100px;
    width: 520px;
    max-width: 50%;
    max-width: 100%;
}
.wp-block-image .alignright:not(.is-resized),
.wp-block[data-align=right]>.wp-block-image:not(.is-resized) {
    margin: .5em -100px .5em 2em;
    width: 520px;
    max-width: 50%;
    max-width: 100%;
}
.wp-block-image figure {
    margin-bottom: 0;
}
.wp-block-image figcaption {
    font-size: 13px;
    text-align: left;
    margin: 15px auto 30px;
    max-width: 860px;
}
.wp-block-image.alignfull figcaption {
    max-width: 990px;
    padding: 0 20px;
}
/* Helper .caption-overlay */
figure.wp-block-image.caption-overlay {
    position: relative;
}
figure.wp-block-image.caption-overlay .wp-element-caption {
    position: absolute;
    bottom: 0;
    margin: 0;
    padding: 45px 10px 10px;
    width: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.49625787815126055) 75%);
    color: #fff;
}
@media (max-width: 1230px) {
    .wp-block-image .alignleft:not(.is-resized),
    .wp-block[data-align=left]>.wp-block-image {
        margin-left: 0;
    }
    .wp-block-image .alignright:not(.is-resized),
    .wp-block[data-align=right]>.wp-block-image {
        margin-right: 0;
    }
}
@media (max-width: 767px) {
    .wp-block-image .alignleft:not(.is-resized),
    .wp-block[data-align=left]>.wp-block-image,
    .wp-block-image .alignright:not(.is-resized),
    .wp-block[data-align=right]>.wp-block-image {
        margin: .5em 0;
        width: 100%;
    }
}
@media (max-width: 600px) {
    .wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.is-resized {
        /* width: 100%; */
    }
}

/*
 * Gallery Block (Core Block)
 *
 */

.wp-block-gallery {
    margin-bottom: 2em;
}
ul.blocks-gallery-grid {
    padding: 0 !important;
    margin: 0 !important;
}
ul.blocks-gallery-grid li.blocks-gallery-item {
    padding: 0;
}
.wp-block-gallery figcaption {
    max-width: 860px;
}
.wp-block-gallery.alignfull figcaption {
    max-width: 990px;
    padding: 0 20px;
}

/*
 * Embed Blocks (Core Block)
 *
 */
figure.wp-block-embed {
    margin-top: 0;
    margin-bottom: 2em;
}
figure.wp-block-embed.alignfull, figure.wp-block-embed.alignwide,
.wp-block[data-align=full] .wp-block-embed figure, .wp-block[data-align=wide] .wp-block-embed figure {
    margin-top: 3em;
    margin-bottom: 3em;
}
.wp-block-embed figcaption {
    color: #4c4c4c;
    font-size: 13px;
    text-align: left;
    max-width: 860px;
    margin: 10px auto 10px;
}
.wp-block-embed.alignfull figcaption {
    max-width: 990px;
    padding: 0 20px;
}

/*
 * File Block (Core Block)
 *
 */

.wp-block-file {
    border: solid 1px #d0d0d0;
    padding: 20px 30px !important;
    background: #f8f9f9;
    border-radius: 10px;
    font-size: 1.2em;
    margin-top: 2em;
    margin-bottom: 2em;
    width: 100%;
}
.wp-block-file a {
    display: inline-block;
    margin: 2px 0 0;
}
.entry-content .wp-block-file a:first-child {
    color: #2456ab !important;
}
.entry-content .wp-block-file a:hover:first-child, .entry-content .wp-block-file a:focus:first-child {
    border-color: #2456ab !important;
}
.wp-block-file a.wp-block-file__button, .wp-block-file .wp-block-file__button {
    border-radius: 10px;
    float: right;
    background: #212126;
    padding: 9px 30px;
    margin: -4px 0 0;
    font-weight: 700;
    border: none !important;
    max-width: 150px;
    text-align: center;
}
.wp-block-file a.wp-block-file__button:hover, .wp-block-file a.wp-block-file__button:focus {
    background: #2455AB;
    color: #fff !important;
}
/* Left and Right Align */
.wp-block-file.alignleft, .wp-block[data-align=left] .wp-block-file {
    max-width: 350px;
    margin: 0 2em 2em 0;
    text-align: left;
}
.wp-block-file.alignright, .wp-block[data-align=right] .wp-block-file {
    max-width: 350px;
    margin: 0 0 2em 2em;
    text-align: left;
}
.wp-block-file.alignleft a.wp-block-file__button, .wp-block[data-align=left] .wp-block-file .wp-block-file__button-richtext-wrapper,
.wp-block-file.alignright a.wp-block-file__button, .wp-block[data-align=right] .wp-block-file .wp-block-file__button-richtext-wrapper {
    float: none;
    margin-top: 13px;
}
.wp-block-file.alignwide, .wp-block[data-align=wide] .wp-block-file {
    margin-top: 2em;
    margin-bottom: 2em;
}
/* Admin only */
.wp-block-file__textlink {
    color: #2456ab;
    font-weight: 700;
    display: inline-block;
    margin: 2px 0 0;
}
.wp-block-file__button-richtext-wrapper {
    float: right;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 767px) {
    .wp-block-file {
        display: inline-block;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .wp-block-file a {
        display: inline-block;
        width: 100%;
    }
    .wp-block-file a.wp-block-file__button, .wp-block-file .wp-block-file__button {
        margin-top: 10px;
        float: none !important;
    }
}

/*
 * Separator Block (Core Block with custom styles)
 *
 */

hr.wp-block-separator {
    margin-top: 50px;
    margin-bottom: 50px;
    height: 0;
    width: 100%;
    opacity: 1;
    border-bottom: none;
    border-left: none;
    border-right: none;
    border-top: solid 1px;
}
hr.wp-block-separator.alignwide, hr.wp-block-separator.alignfull {
    margin-top: 50px;
    margin-bottom: 50px;
}
hr.wp-block-separator.is-style-thick {
    border-width: 5px !important;
}
@media (max-width: 767px) {
    hr.wp-block-separator.alignwide, hr.wp-block-separator.alignfull {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}
/* Admin overriders */
.block-editor-block-list__block[data-type="core/separator"].is-style-slash {
    padding: 0;
}

/*
 * Spacer Block (Core Block)
 *
 */
 .wp-block-spacer {
      margin: 0 auto !important;
 }
 .wp-block-spacer.is-style-spacer-large {
      height: 100px !important;
      overflow: hidden;
 }
 .wp-block-spacer.is-style-spacer-medium {
      height: 60px !important;
      overflow: hidden;
 }
 .wp-block-spacer.is-style-spacer-small {
      height: 30px !important;
      overflow: hidden;
 } 
/* Editor add background color when editting */
.wp-block-spacer.is-selected {
    background: #dedede !important;
}
.wp-block-spacer .has-show-handle {
    background: none !important;
}
/* Editor add background color to preview styles */
.block-editor-block-styles__item-preview .wp-block-spacer {
    background: #dedede !important;
}
/* Editor remove resizing if not default */
.wp-block-spacer.is-style-spacer-large .components-resizable-box__handle,
.wp-block-spacer.is-style-spacer-medium .components-resizable-box__handle,
.wp-block-spacer.is-style-spacer-small .components-resizable-box__handle {
    display: none;
}

@media(max-width:767px) {
     .wp-block-spacer.is-style-spacer-large {
          height: 60px !important;
     }
     .wp-block-spacer.is-style-spacer-medium {
          height: 40px !important;
     }
     .wp-block-spacer.is-style-spacer-small {
          height: 20px !important;
     } 
}

/*
 * Sponsors Block (Custom Block)
 *
 */
ul.sponsor-grid {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
ul.sponsor-grid li {
    margin: 0 0 30px !important;
    padding: 0 !important;
    width: 100%;
}
.sponsor-heading {
    margin: 0 auto 20px;
    text-align: center;
    max-width: 225px;
}
li.forming-pavilion-sponsors .sponsor-heading {
    margin-top: -0.75em;
}
.sponsor-heading:after {
    display: block;
    margin: 5px auto 0;
    height: 3px;
    width: 50px;
    background: var(--grey-20);
    content: ' ';
}
.sponsor-grid-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.sponsor-grid-wrap a {
    position: relative;
    width: 170px;
    max-width: calc(33.33% - 10px);
    padding: 12px 12px;
    border: solid 1px var(--grey-20);
    border-radius: 5px;
    color: var(--grey-90);
    background: var(--white);
    text-decoration: none;
    font-size: 0.9em;
    text-align: center;
    line-height: 1.2em;
    overflow: hidden;
    transition: ease 0.2s all;
}
.sponsor-grid-wrap a:is(:hover,:focus) {
    border-color: var(--grey-30);
}
.sponsor-grid-wrap a img {
    display: block;
    transition: ease 0.2s all;
}
.sponsor-grid-wrap a:is(:hover,:focus) img {
    transform: scale(1.08);
}
.sponsor-name {
    position: absolute;
    opacity: 0;
    background: var(--grey-20);
    padding: 10px 5px;
    font-weight: 400;
    line-height: 1em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: ease 0.3s all;
    font-size: 13px;
}
.sponsor-grid-wrap a:is(:hover) .sponsor-name {
    opacity: 1;
}
/* Sponsor Type Overrides */
ul li:is(.badge-sponsors,.lanyard-sponsors,.presentation-stage-sponsors,.registration-sponsors,.large-equip-demo-sponsors,.conference-session-sponsors,.material-handling-sponsors,.forming-pavilion-sponsors,.signage-sponsors) {
    width: auto;
    margin-right: 20px !important;
}
ul li:is(.badge-sponsors,.lanyard-sponsors,.presentation-stage-sponsors,.registration-sponsors,.large-equip-demo-sponsors,.conference-session-sponsors,.material-handling-sponsors,.forming-pavilion-sponsors,.signage-sponsors) a {
    max-width: 100%;
}
li.title-sponsors a {
    width: 260px;
    max-width: calc(50% - 10px);
}
li:is(.media-sponsors,.co-sponsors,.supporting-sponsors,.endorser-sponsors) a {
    width: 125px;
}
@media(max-width:767px) {
    .sponsor-grid-wrap {
        gap: 6px;
    }
    .sponsor-grid-wrap a {
        padding: 6px 10px;
    }
    ul li:is(.badge-sponsors,.lanyard-sponsors,.presentation-stage-sponsors,.registration-sponsors,.large-equip-demo-sponsors,.conference-session-sponsors,.material-handling-sponsors,.forming-pavilion-sponsors,.signage-sponsors) {
        width: 50%;
        margin-right: 0px !important;
    }
    ul li:is(.media-sponsors,.co-sponsors,.supporting-sponsors,.endorser-sponsors) a {
        max-width: calc(25% - 6px);
    }
    .sponsor-heading {
        font-size: 0.85em;
        line-height: 1.3em;
    }
    .sponsor-name {
        font-size: 0.6em;
    }
}
@media(max-width:600px) {
    ul li:is(.badge-sponsors,.lanyard-sponsors,.presentation-stage-sponsors,.registration-sponsors,.large-equip-demo-sponsors,.conference-session-sponsors,.material-handling-sponsors,.forming-pavilion-sponsors,.signage-sponsors) a {
        max-width: 170px;
        margin: 0 25px;
    }
}

/*
 * Sponsor Tabs Block (Custom Block)
 *
 */
.sponsortabs {
    display: inline-block;
    width: 100%;
}
/* Tabs Panel */
.tabs-container {
    margin: 0 auto;
    padding: 60px 0;
    background: #f3f3f3;
}
.tabs-container .wrap {
    max-width: 1160px;
    margin: 0 auto;
    width: calc(100% - 40px)
}
h2.tabs-title {
    width: 100%;
    color: #0a2033;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 400;
    margin: 0 0 50px;
}
.tabs-description {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
    font-size: 1.2em;
}
.tabs {
    width: 400px;
    float: left;
    margin: 0px;
    padding: 0 40px 0 0;
    list-style: none;
    position: relative;
}
.tabs button {
    background: none;
    color: var(--grey-90);
    background: var(--white);
    display: block;
    padding: 9px 18px;
    cursor: pointer;
    font-size: 17px;
    line-height: 1.3em;
    text-transform: none;
    border: none;
    width: 100%;
    margin: 0px 0 0px;
    border-bottom: solid 1px var(--grey-20);
    border-left: solid 5px;
    text-align: left;
    display: flex;
}
.tabs button:hover, .tabs button:focus {
    background: var(--grey-20);
}
.tabs button.current {
    color: var(--white);
    background: var(--grey-90);
    font-weight: 700;
}
.tabs button span:nth-child(1),
.tab-link.accordion span:nth-child(1) {
    flex: 1 auto;
    padding-right: 20px;
}
.tabs button span:nth-child(2),
.tab-link.accordion span:nth-child(2) {
    flex: 1 120px;
    text-align: right;
    font-size: 0.9em;
    line-height: 1.6em;
}
.tab-content {
    width: calc(100% - 450px);
    min-height: 400px;
    display: none;
    color: var(--grey-90);
    border: solid 2px var(--grey-20);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}
.tab-content.current{
    display: inline-block;
    background: var(--white);
}
.tab-content .title {
    padding: 30px 60px;
    margin: 0;
    display: flex;
}
.tab-content .title span:nth-child(1) {
    flex: 1 auto;
    padding-right: 20px;
}
.tab-content .title span:nth-child(2) {
    flex: 1 120px;
    text-align: right;
}
.tab-content .tab-text {
    padding: 30px 60px;
}
.tab-link.accordion {
    display: none;
}

@media only screen and (max-width: 1200px) {
    .tabs {
        width: 300px;
    }
    .tab-content {
        width: calc(100% - 300px);
    }
    .tabs button {
        font-size: 14px;
    }
}
@media only screen and (max-width: 960px) {
    .tabs {
        max-width: 90%;
    }
    .tabs button {
        display: none !important;
    }
    h2.tabs-title {
        text-align: left;
        font-size: 1.8rem;
        margin: 0 0 30px;
    }
    .tabs-description {
        text-align: left;
        margin-bottom: 40px;
        font-size: 1em;
    }
    .tab-link.accordion {
        display: flex;
        background: #fff;
        padding: 10px 20px;
        font-size: 1.1em;
        border-bottom: solid 1px #ececec;
        border-left: solid 5px;
    }
    .tab-link.accordion.current {
        color: #fff;
        background: #424242;
        border-color: #424242;
    }
    .tab-content {
        width: 100% !important;
        min-height: 100px;
        border-radius: 0;
        box-shadow: none;
    }
    .tab-content .title {
        display: none;
    }
    .tab-content .tab-text {
        padding: 20px 20px;
    }
}

/*
 * Video Modal Block (Custom Block)
 *
 */
.videomodal-container a.video-modal-trigger {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
.videomodal-btn-text {
    position: relative;
    z-index: 1;
    font-weight: 700;
    font-size: 1em;
    max-width: 380px;
    line-height: 1.2em;
    display: flex;
    gap: 0 15px;
    align-items: center;
    color: var(--white);
    padding: 10px 34px 10px 15px;
    border-radius: 100px;
    border: solid 1px #e8d12f70;
    background: var(--blue-darker);
    transition: ease 0.35s all;
}
.videomodal-container a.video-modal-trigger:hover .videomodal-btn-text {
    background: var(--blue-dark);
    border-color: var(--yellow);
}
.videomodal-container a.video-modal-trigger .videomodal-btn-icon {
    background-color: var(--yellow);
    width: 50px;
    min-width: 50px;
    height: 50px;
    flex-basis: 50px;
    z-index: 1;
    padding-left: 5px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: ease 0.3s all;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
}
.videomodal-container a.video-modal-trigger .videomodal-btn-icon:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    -webkit-mask-image: url('../images/icons/play.svg');
    mask-image: url('../images/icons/play.svg');
    background-color: var(--blue-dark);
    background-size: 100% auto;
    transition: ease 0.3s all;
}
.videomodal-container a.video-modal-trigger:hover .videomodal-btn-icon,
.videomodal-container a.video-modal-trigger:focus .videomodal-btn-icon {
    transform: scale(1.15);
}
/* Video Modal Style - Thumbnail */
.videomodal-container.style-thumb a.video-modal-trigger {
    background-size: cover;
    background-position: center;
    width: 100%;
    min-height: 200px;
    aspect-ratio: 16/9;
    border-radius: 8px;
    border: none;
    overflow: hidden;
}
.videomodal-container.style-thumb a.video-modal-trigger:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--blue-darker-overlay);
    opacity: 0.3;
}
.videomodal-container.style-thumb .videomodal-btn-text {
    margin: 0 40px;
}
@media(max-width:767px) {
    .videomodal-btn-text {
        font-size: 0.9em;
    }
}

/*
 * Video Container (Custom Block)
 *
 */
.video-container {
    position: relative;
    overflow: hidden;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-darker);
}
.video-bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 16/9;
    pointer-events: none;
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.video-bg:before {
    content: ' ';
    display: block;
    background: var(--blue-darker);
    opacity: 0.75;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}
.video-bg iframe {
    border: none;
    width: 100%;
    min-width:  100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
}
.video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -100;
    background-position: 50%;
    background-size: cover;
    margin: auto;
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: -100%;
    right: -100%;
}
.video-container-content {
    position: relative;
    z-index: 2;
}
.video-container-content .wp-block {
    max-width: 100%;
}
@media (max-width: 1320px) {
    .video-bg {
        width: auto;
        height: 100%;
    }
}
/* Play Pause Button */
.video-control {
    position: absolute;
    z-index: 10;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: none;
    font-size: 22px;
    border-radius: 100%;
    border: solid 2px rgba(255,255,255,0.3);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.65;
    transition: ease 0.3s all;
}
.video-control:is(:hover,:focus) {
    opacity: 1;
    border-color: var(--white);
}
.video-control:not(.playing) .video-control-pause,
.video-control.playing .video-control-play {
    display: none;
}

/*
 * Card Grid Block (Custom Block)
 *
 */
 .wp-block-acf-cardgrid {
    width: 100%;
    max-width: 100%;
}
.cardgrid-wrap {
    width: 100%;
    max-width: var(--width-wide);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    position: relative;
    z-index: 1;
}
.card-single {
    display: flex;
    flex-direction: column;
    background: var(--white);
    color: var(--grey-90);
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
a.card-single {
    color: var(--grey-90) !important;
    font-weight: 400 !important;
    background: var(--white);
    background-size: 100% !important;
    text-decoration: none;
    transition: ease 0.2s all;
}
a.card-single:is(:hover,:focus) {
    color: var(--grey-90);
    background: var(--white);
    font-weight: 400;
    box-shadow: 2px 3px 10px rgba(0,0,0,0.2);
}
.card-single .card-heading {
    display: inline-block;
    width: 100%;
    font-size: 2.4em;
    line-height: 1em;
    font-style: italic;
    font-weight: 700;
    position: relative;
    word-break: break-word;
}
.card-content .card-description {
    font-size: 0.9em;
    line-height: 1.5em;
    margin: 8px 0 0;
    word-break: break-word;
}
.card-single .card-link {
    display: inline-block;
    font-size: 0.9em;
    line-height: 1.3;
    margin: 10px 0 0;
}
.card-single .card-tag {
    border-bottom: solid 3px var(--green);
    line-height: 1.3em;
    font-size: .9em;
    display: inline-block;
    font-weight: 700;
    position: absolute;
    top: 8px;
}

/* Card Light Styles */
.cardgrid .is-color-light .card-single  {
    background: var(--grey-10);
    color: var(--grey-90);
}
.cardgrid .is-color-light a.card-single:is(:hover,:focus) {
    background: var(--grey-20);
}

/* Card Dark Styles */
.cardgrid .is-color-dark .card-single  {
    background: var(--grey-70);
    color: var(--white);
}
.cardgrid .is-color-dark a.card-single:is(:hover,:focus) {
     background: var(--grey-90);
}
.cardgrid .is-color-dark .card-content  {
    color: var(--white);
}
.cardgrid .is-color-dark a.card-single .card-link {
    color: var(--white) !important;
}

/* Card Image Style */
.cardgrid .is-style-image .card-img {
    width: calc(100%);
    align-self: start;
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 56.25%;
    transition: ease 0.6s all;
}
.cardgrid .is-style-image a.card-single:is(:hover,:focus) .card-img {
    transform: scale(1.05);
}
.cardgrid .is-style-image .card-content {
    align-self: stretch;
    flex-grow: 1;
    padding: 35px 35px 35px;
    border-top: none !important;
    position: relative;
    transition: ease 0.2s all;
    z-index: 1;
}
.cardgrid .is-style-image .card-link {
    font-weight: 700;
    margin-top: 20px;
}
/* Card Image Style - Dark */
.cardgrid .is-style-image.is-color-dark .card-single .card-content  {
    background: var(--grey-70);
    color: var(--white);
    border-color: var(--grey-90);
}

/* Card Icon Style */
.cardgrid .is-style-icon .card-single,
.cardgrid .is-style-icon a.card-single {
    margin: -1px;
    min-height: 250px;
}
.cardgrid .is-style-icon .card-img {
    height: 60px;
    background-size: contain;
    background-position: left;
    margin: 25px 25px 0;
    background-repeat: no-repeat;
}
.cardgrid .is-style-icon .card-single .card-content {
    margin: 25px;
    position: relative;
    min-height: 100px;
    flex-grow: 1;
}
.cardgrid .is-style-icon a.card-single .card-content {
    padding-bottom: 40px;
}
.cardgrid .is-style-icon .card-link {
    position: absolute;
    bottom: 0;
    left: 0;
}

/* Half Layout */
.cardgrid-wrap.half .card-single {
    flex: 0 calc(50% - (30px/2));
}
.cardgrid-wrap.half .card-single.double-wide {
    flex: 0 100%
}
/* Third Layout */
.cardgrid-wrap.third .card-single {
    flex: 0 calc(33.333% - (60px/3));
}
.cardgrid-wrap.third .card-single.double-wide {
    flex: 0 calc(66.666% - (30px/3));
}
/* Forth Layout */
.cardgrid-wrap.forth .card-single {
    flex: 0 calc(25% - (90px/4));
}
.cardgrid-wrap.forth .card-single.double-wide {
    flex: 0 calc(50% - (75px/4));
}
.cardgrid-wrap.forth .card-single .card-heading {
    font-size: 1.8em;
}
@media screen and (max-width: 960px) {
    /* Multiple Layouts */
    .cardgrid-wrap .card-single {
        flex: 1 calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }
}

@media screen and (max-width: 767px) {
    .cardgrid .cardgrid-wrap .card-single {
        flex: 1 100% !important;
        max-width: 100% !important;
        width: 560px !important;
        min-height: 120px !important;
    }
    .cardgrid .is-style-image.is-mobile-inline .card-single {
        flex-direction: row !important;
    }
    .cardgrid .is-style-image.is-mobile-inline .card-img {
        flex-basis: 130px;
        margin: 0 !important;
        padding-top: initial;
        height: 100%;
    }
    .cardgrid .is-style-image.is-mobile-inline .card-content {
        flex-basis: calc(100% - 100px);
        margin: 0 !important;
        padding: 25px 25px 40px !important;
    }
    .cardgrid .is-style-icon .card-img {
        flex-basis: 90px;
        margin: 0 !important;
        padding-top: initial;
        height: 100%;
        background-position: 10px 25px;
        background-size: calc(100% - 10px) auto;
    }
    .cardgrid .is-style-icon .card-content {
        flex-basis: calc(100% - 130px);
        margin: 0 !important;
        padding: 25px 25px 40px 15px !important;
    }
    .cardgrid .is-style-icon a.card-single .card-content {
        padding-bottom: 60px !important;
    }
    .cardgrid-wrap .card-single .card-heading {
        font-size: 1.8em !important;
    }
    .cardgrid .is-style-icon .card-link {
        bottom: 20px !important;
        left: 15px !important;
    }
    .card-single .card-tag {
        position: relative;
        top: -10px;
    }
}

/*
 * Recent Posts Block (Custom Block)
 *
 */
.recentposts-container .wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--width-wide);
    margin: 0 auto;
}
.recentposts-container:is(.half,.third,.forth) .post-list-wrap .entry-image {
    flex-basis: 130px;
    height: 130px;
}
.recentposts-container .post-list-wrap .post-list-single h3 {
    font-size: 2em !important;
    font-family: var(--font-alt) !important;
    font-style: italic;
    margin: 0 0 10px;
}
.recentposts-container:is(.third,.forth) .post-list-wrap .post-list-single h3 {
    font-size: 1.8em !important;
}
.recentposts-container .post-list-wrap .post-date {
    font-size: 0.85em;
}
/* Full Card Layout */
.recentposts-container.full {
    max-width: 767px;
    width: 100%;
    margin: 0 auto;
}
/* Half Card Layout */
.recentposts-container.half .post-list-wrap .post-list-single {
    flex: 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
    margin-right: 16px;
    border: none;
}
.recentposts-container.half .post-list-wrap .post-list-single:nth-child(2n+2) {
    margin-right: 0;
}
/* Third Card Layout */
.recentposts-container.third .post-list-wrap .post-list-single {
    flex: 1 calc(33.3333333% - 10px);
    max-width: calc(33.3333333% - 10px);
    margin-right: 15px;
    border: none;
}
.recentposts-container.third .post-list-wrap .post-list-single:nth-child(3n+3) {
    margin-right: 0;
}
/* Forth Card Layout */
.recentposts-container.forth .post-list-wrap .post-list-single {
    flex: 1 calc(25% - 9px);
    max-width: calc(25% - 9px);
    margin-right: 12px;
    border: none;
}
.recentposts-container.forth .post-list-wrap .post-list-single:nth-child(4n+4) {
    margin-right: 0;
}
@media screen and (max-width: 767px) {
    .recentposts-container .post-list-wrap .post-list-single {
        flex: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-bottom: solid 2px var(--grey-20) !important;
    }
    .recentposts-container:is(.full,.half,.third,.forth) .post-list-wrap .post-list-single h3 {
        font-size: 1.6em !important;
    }
}



/*
 * Gallery Masonry (Custom Block)
 *
 */
.gallerymasonry-container .gallery-images a:nth-child(n+9) {
    display: none;
}
.gallerymasonry-container .gallery-images a img {
    display: block;
    width: 100%;
    transition: ease 0.6s all;
}
.gallerymasonry-container .gallery-images {
    display: grid;
    grid-template-columns: 1fr 0.5fr 1fr repeat(2, 0.5fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}
.gallerymasonry-container .gallery-images > * {
    margin: 0;
    min-height: 260px;
    break-inside: avoid;
}
.gallerymasonry-container .gallery-images > *:nth-child(1n) { grid-area: 1 / 1 / 2 / 2; }
.gallerymasonry-container .gallery-images > *:nth-child(2n) { grid-area: 2 / 1 / 3 / 2; }
.gallerymasonry-container .gallery-images > *:nth-child(3n) { grid-area: 1 / 2 / 2 / 3; }
.gallerymasonry-container .gallery-images > *:nth-child(4n) { grid-area: 2 / 2 / 3 / 3; }
.gallerymasonry-container .gallery-images > *:nth-child(5n) { grid-area: 1 / 3 / 3 / 4; }
.gallerymasonry-container .gallery-images > *:nth-child(6n) { grid-area: 1 / 4 / 2 / 6; }
.gallerymasonry-container .gallery-images > *:nth-child(7n) { grid-area: 2 / 4 / 3 / 5; }
.gallerymasonry-container .gallery-images > *:nth-child(8n) { grid-area: 2 / 5 / 3 / 6; } {
    display: none !important;
}
.gallerymasonry-container .gallery-images > a {
    position: relative;
    color: var(--white);
    border-radius: 10px;
    overflow: hidden;
}
.gallerymasonry-container .gallery-images > a:before {
    content: ' ';
    display: block;
    height: 100px;
    width: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,0.8) 100%);
    position: absolute;
    bottom: 0;
    z-index: 1;
}
.gallerymasonry-container .gallery-images > a > img {
    object-fit: cover;
    height: 100%;
    transform: ease 0.2s all;
}
.gallerymasonry-container .gallery-images > a:is(:hover,:focus) > img {
    transform: scale(1.05);
}
.gallerymasonry-container .gallery-slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    line-height: 1.3em;
    padding: 15px;
    z-index: 2;
}
.gallerymasonry-container .gallery-slide-title {
    font-weight: 700;
}
.gallerymasonry-container .gallery-slide-caption {
    font-size: 0.8em;
    line-height: 1.3em;
}
@media only screen and (max-width: 767px) {
    .gallerymasonry-container .gallery-images {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        grid-column-gap: 5px;
        grid-row-gap: 5px;
    }
    .gallerymasonry-container .gallery-images > * {
        min-height: 180px;
    }
    .gallerymasonry-container .gallery-images > *:nth-child(1n) { grid-area: 1 / 1 / 2 / 2; }
    .gallerymasonry-container .gallery-images > *:nth-child(2n) { grid-area: 1 / 2 / 2 / 3; }
    .gallerymasonry-container .gallery-images > *:nth-child(3n) { grid-area: 2 / 2 / 4 / 3; }
    .gallerymasonry-container .gallery-images > *:nth-child(4n) { grid-area: 2 / 1 / 3 / 2; }
    .gallerymasonry-container .gallery-images > *:nth-child(5n) { grid-area: 3 / 1 / 4 / 2; }
    .gallerymasonry-container .gallery-images > *:nth-child(6n) { display: none; }
    .gallerymasonry-container .gallery-images > *:nth-child(7n) { display: none; }
    .gallerymasonry-container .gallery-images > *:nth-child(8n) { display: none; }
    .gallerymasonry-container .gallery-slide-content {
        font-size: 0.9em;
    }
}

/*
 * Gallery Carousel (Custom Block)
 *
 */
.gallerycarousel-container {
    max-width: 100vw;
    overflow-x: hidden;
}
.gallerycarousel-container .wrap {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    position: relative;
    z-index: 30;
    overflow-x: visible;
}
.gallerycarousel-container.alignwide .wrap {
    max-width: var(--width-wide);
}
.gallerycarousel-container.alignfull .wrap {
    max-width: 100%;
}
.gallerycarousel-container .gallery-images {
    outline: none !important;
}
.gallerycarousel-container .gallery-images .flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
}
.gallerycarousel-container .gallery-images .flickity-prev-next-button {
    opacity: 0;
    transition: ease opacity 0.8s;
}
.gallerycarousel-container .gallery-images:hover .flickity-prev-next-button {
    opacity: 1;
}
.gallerycarousel-container a.gallery-single {
    border: none !important;
    overflow: hidden;
}
.gallerycarousel-container a.gallery-single img {
    display: block;
    height: 260px;
    max-width: unset;
    border-radius: 0;
    border: none;
    transition: ease 0.3s all;
}
.gallerycarousel-container a.gallery-single:hover img, a.gallery-single:focus img {
    transform: scale(1.1);
}
.gallerycarousel-container a.gallery-single img.flickity-lazyloaded {
    opacity: 1;
}
.gallerycarousel-container .gallery-slide-content {
    color: var(--grey-90);
    position: absolute;
    bottom: 10px;
    padding: 4px 15px;
    background: var(--white);
    border-radius: 6px;
    left: 10px;
    line-height: 1.3em;
}
.gallerycarousel-container .gallery-slide-caption {
    font-size: 0.8em;
    font-style: italic;
}
/* Style - Height Large */
.gallerycarousel-container.height-large a.gallery-single img {
    height: 400px;
}
@media (max-width: 767px) {
    .gallerycarousel-container .wrap {
        padding-top: 10px;
        padding-bottom: 50px;
    }
    .gallerycarousel-container.height-large a.gallery-single {
        width: 100%;
        margin: 0;
    }
}
@media (max-width: 600px) {
    a.gallery-single {
        width: 100%;
        min-width: unset;
    }
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

body:not(.wp-admin),
:is(button, input, select, optgroup, textarea),
.editor-styles-wrapper .is-root-container {
    color: var(--grey-90);
    font-family: var(--font-main);
    font-display: swap;
    font-size: 16px;
    line-height: 1.7;
    font-size: 1rem;
}

:is(h1, h2, h3, h4, h5, h6),
.editor-styles-wrapper .is-root-container :is(h1, h2, h3, h4, h5, h6),
.editor-styles-wrapper .is-root-container .wrap :is(h1, h2, h3, h4, h5, h6) {
    clear: both;
    font-weight: 700;
    font-family: var(--font-main);
    font-display: swap;
}

:is(h1, h2, h3, h4, h5, h6) strong,
.editor-styles-wrapper .is-root-container :is(h1, h2, h3, h4, h5, h6) strong,
.editor-styles-wrapper .is-root-container .wrap :is(h1, h2, h3, h4, h5, h6) strong {
    font-weight: 900;
}

h1, .block-editor .editor-styles-wrapper h1  {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 20px;
}

h2, .block-editor .editor-styles-wrapper h2 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 20px;
}

h3, .block-editor .editor-styles-wrapper h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.1em;
    margin-top: 0;
    margin-bottom: 20px;
}

h4, .block-editor .editor-styles-wrapper h4 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.1em;
    margin-top: 0;
    margin-bottom: 20px;
}

h5, .block-editor .editor-styles-wrapper h5,
h6, .block-editor .editor-styles-wrapper h6 {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.2em;
    margin-top: 0;
    margin-bottom: 15px;
}

p,
.block-editor .editor-styles-wrapper p {
    font-size: 16px;
    font-size: 1em;
    margin-bottom: 28px;
    margin-top: 0;
}

:is(dfn, em, i),
.block-editor .editor-styles-wrapper :is(dfn, em, i) {
    font-style: italic;
}

address,
.block-editor .editor-styles-wrapper address {
    margin: 0 0 1.5em;
}

pre,
.block-editor .editor-styles-wrapper pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

:is(code, kbd, tt, var),
.block-editor .editor-styles-wrapper :is(code, kbd, tt, var) {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

:is(abbr, acronym),
.block-editor .editor-styles-wrapper :is(abbr, acronym) {
    border-bottom: 1px dotted #666;
    cursor: help;
}

:is(mark, ins),
.block-editor .editor-styles-wrapper :is(mark, ins) {
    background: #fff9c0;
    text-decoration: none;
}

big,
.block-editor .editor-styles-wrapper big {
    font-size: 125%;
}

@media screen and (max-width: 960px) {
    h1, .block-editor .editor-styles-wrapper h1.block-editor-block-list__block {
        font-size: 2.6rem;
    }
    h2, .block-editor .editor-styles-wrapper h2.block-editor-block-list__block {
        font-size: 2rem;
    }
    h3, .block-editor .editor-styles-wrapper h3.block-editor-block-list__block {
        font-size: 1.6rem;
    }
    h4, .block-editor .editor-styles-wrapper h4.block-editor-block-list__block {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 600px) {
    h1, .block-editor .editor-styles-wrapper h1.block-editor-block-list__block {
        font-size: 2.2rem;
    }
    h2, .block-editor .editor-styles-wrapper h2.block-editor-block-list__block {
        font-size: 1.8rem;
    }
    h3, .block-editor .editor-styles-wrapper h3.block-editor-block-list__block {
        font-size: 1.5rem;
    }
    h4, .block-editor .editor-styles-wrapper h4.block-editor-block-list__block {
        font-size: 1.3rem;
    }
}

/*=============================
=         Misc Layout         =
=============================*/

.mobile-only {
    display: none;
}

@media screen and (max-width: 960px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: inline-block;
    }
}

/*================================
=          Kitchen Sink          =
================================*/

.entry-content ul,
.editor-styles-wrapper ul {
    margin-bottom: 32px;
    padding-left: 17px;
    list-style: disc;
}

.entry-content ol,
.editor-styles-wrapper ol {
    margin-bottom: 32px;
    padding-left: 16px;
    font-size: 1rem;
}

.entry-content ul ul, .editor-styles-wrapper ul ul {
    list-style-type: revert;
    margin-top: 10px;
}

.entry-content ol ol, .editor-styles-wrapper ol ol {
    margin-top: 10px;
}

.entry-content ul li,
.editor-styles-wrapper ul li,
.entry-content ol li,
.editor-styles-wrapper ol li {
    margin-bottom: 10px;
    padding-left: 10px;
    line-height: 1.5em;
}

/*=============================
=           Buttons           =
=============================*/

/* Kitchen Sink Theme Button */
a.theme-button, button.theme-button {
    display: inline-block;
    background: var(--grey-90);
    border: solid 1px var(--grey-90);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    color: var(--white);
    cursor: pointer;
    font-weight: 700;
    line-height: 1.3em;
    padding: 10px 35px 10px;
    width: auto;
    transition: ease 0.2s all;
    text-decoration: none;
    text-align: left;
    letter-spacing: 0.04em;
}
a.theme-button.outline-button, button.theme-button.outline-button {
    background: transparent;
    color: var(--grey-90);
    transition: ease 0.2s all;
}
a.theme-button:hover, button.theme-button:hover,
a.theme-button:focus, button.theme-button:focus,
a.theme-button.outline-button:hover, button.theme-button.outline-button:hover,
a.theme-button.outline-button:focus, button.theme-button.outline-button:focus {
    color: var(--white);
    text-decoration: none;
    background: var(--grey-70);
    border-color: var(--grey-70);
}
/* Theme Button Link Style */
a.theme-button.link-button, button.theme-button.link-button {
    border: none;
    border-radius: 0;
    padding: 0;
    background: none;
    color: var(--pastel-blue);
}
a.theme-button.link-button:before, button.theme-button.link-button:before {
    content: ' ';
    height: 2px;
    background: var(--pastel-blue);
    display: block;
    width: 0;
    position: absolute;
    bottom: 0px;
    transition: ease 0.3s all;
}
a.theme-button.link-button:hover:before, a.theme-button.link-button:focus:before,
button.theme-button.link-button:hover:before, button.theme-button.link-button:focus:before {
    width: calc(100% - 22px);
}
/* Color Buttons */
.theme-button.white-button {
    background: var(--white);
    border-color: var(--white);
    color: var(--grey-90);
}
.theme-button.white-button.outline-button {
    background: transparent;
    border-color: rgba(255,255,255,0.2);
    color: var(--white);
}
.theme-button.white-button:is(:hover,:focus),
.theme-button.white-button.outline-button:is(:hover,:focus) {
    background: var(--white);
    border-color: var(--white);
    color: var(--grey-90);
}

.theme-button.light-button {
    background: var(--grey-10);
    border-color: var(--grey-10);
    color: var(--grey-90);
}
.theme-button.light-button.outline-button {
    background: transparent;
    border-color: var(--grey-20);
    color: var(--grey-90);
}
.theme-button.light-button:is(:hover,:focus) {
    background: var(--grey-20);
    border-color: var(--grey-20);
    color: var(--grey-90);
}

.theme-button.dark-button {
    background: var(--grey-90);
    border-color: var(--grey-90);
    color: var(--white);
}
.theme-button.dark-button.outline-button {
    background: transparent;
    border-color: var(--grey-90);
    color: var(--grey-90);
}
.theme-button.dark-button:is(:hover,:focus) {
    background: var(--grey-70);
    border-color: var(--grey-70);
    color: var(--white);
}

.theme-button.green-button {
    background: var(--green);
    border-color: var(--green);
    color: var(--grey-90);
}
.theme-button.green-button:is(:hover,:focus) {
    background: var(--green-alt);
    border-color: var(--green-alt);
    color: var(--grey-90);
}

.theme-button.blue-button {
    background: var(--blue);
    border-color: var(--blue);
    color: var(--white);
}
.theme-button.blue-button:is(:hover,:focus) {
    background: var(--blue-alt);
    border-color: var(--blue-alt);
    color: var(--white);
}

/* Arrow Buttons */
.arrow-button:is(.theme-button,.theme-link) {
    display: inline-flex;
    align-items: center;
}
.arrow-button:is(.theme-button,.theme-link):after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    -webkit-mask-image: url('../images/icons/arrow-right.svg');
    mask-image: url('../images/icons/arrow-right.svg');
    background-size: 100% auto;
    background-color: var(--grey-90);
    position: relative;
    margin-left: 5px;
    left: 0px;
    top: 0px;
    transition: ease 0.25s all;
}
.arrow-button:is(.theme-button,.theme-link):hover:after, 
.arrow-button:is(.theme-button,.theme-link):hover:after, 
a:hover .arrow-button:is(.theme-button,.theme-link):after {
    left: 5px; 
}
.arrow-button:is(.blue-button,.dark-button):after, 
a:hover .arrow-button:is(.blue-button,.dark-button):after {
    background-color: var(--white);
}
/* Large Buttons */
.theme-button.large-button {
    font-size: 1.3em;
}

/* Kitchen Sink Theme Link (.theme-link must have inside <span>) */
a.theme-link, a .theme-link {
    color: var(--grey-90);
    text-decoration: none;
    position: relative;
}
a.theme-link:hover, 
a:hover .theme-link {
    border-bottom: none !important;
}
a.theme-link span:after, 
a .theme-link span:after {
    content: ' ';
    height: 2px;
    background: var(--grey-90);
    display: block;
    width: 0;
    position: absolute;
    bottom: -2px;
    transition: ease 0.3s all;
}
a.theme-link:is(:hover,:focus) span:after,
a:is(:hover,:focus) .theme-link span:after {
    width: 100%
}
a.theme-link.arrow-button:is(:hover,:focus) span:after,
a:is(:hover,:focus) .theme-link.arrow-button span:after {
    width: calc(100% + 5px);
}
a.theme-link.light-link { color: var(--white); }
a.theme-link.light-link span:after { background: var(--white); }
a.theme-link.white-button { color: var(--white); }
a.theme-link.white-button span:after { background: var(--white); }
a.theme-link.light-button { color: var(--grey-20); }
a.theme-link.light-button span:after { background: var(--grey-20); }
a.theme-link.dark-button { color: var(--grey-90); }
a.theme-link.dark-button span:after { background: var(--grey-90); }


/*--------------------------------------------------------------
# Forms - General
--------------------------------------------------------------*/
body.frontend input, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input,
body.frontend select, .block-editor .editor-styles-wrapper .block-editor-block-list__block form select,
body.frontend textarea, .block-editor .editor-styles-wrapper .block-editor-block-list__block form textarea {
    background-color: var(--white);
    border: 1px solid var(--grey-50);
    color: var(--grey-90);
    border-radius: 3px;
    padding: 10px 10px;
}

body.frontend textarea, .block-editor .editor-styles-wrapper .block-editor-block-list__block form textarea {
    width: 100%;
}

body.frontend input:focus, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input:focus,
body.frontend textarea:focus, .block-editor .editor-styles-wrapper .block-editor-block-list__block form textarea:focus {
    border: 1px solid #3c68b2;
    outline: none;
}

body.frontend input[type="checkbox"], .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="checkbox"],
body.frontend input[type="image"], .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="image"],
body.frontend input[type="radio"], .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="radio"] {
    width: auto;
}

body.frontend input:not( [type="checkbox"] ), .block-editor .editor-styles-wrapper .block-editor-block-list__block form input:not( [type="checkbox"] ),
body.frontend input:not( [type="image"] ), .block-editor .editor-styles-wrapper .block-editor-block-list__block form input:not( [type="image"] ),
body.frontend input:not( [type="radio"] ), .block-editor .editor-styles-wrapper .block-editor-block-list__block form input:not( [type="radio"] ) {
    -webkit-appearance: none; /* Remove iOS styles */
}

body.frontend input[type="checkbox"], .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="checkbox"] {
    border: 1px solid var(--black);
    background: #fff;
    color: var(--black);
    clear: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    line-height: 0;
    height: 22px;
    width: 22px;
    margin: 0 10px 0 0;
    outline: 0;
    padding: 0!important;
    min-width: 16px;
    -webkit-appearance: none;
    -webkit-box-shadow: inset 0 1px 2px rgb(0 0 0 / 10%);
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 10%);
    -webkit-transition: .05s border-color ease-in-out;
    transition: .05s border-color ease-in-out;
}
body.frontend input[type="checkbox"]:checked, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="checkbox"]:checked {
    border-color: var(--grey-90);
}
body.frontend input[type="checkbox"]:checked:before, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="checkbox"]:checked:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../images/icons/checkmark.svg);
    background-size: 85% auto;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0px;
    top: 0px;
}
body.frontend input[type="radio"], .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="radio"] {
    padding: 8px;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    position: relative;
    top: -2px;
    margin: 0 10px 0 0;
    border-color: var(--black);
    border-width: 2px;
    margin-right: 10px;
    transition: ease 0.1s all;
}
body.frontend input[type="radio"]:checked, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="radio"]:checked {
    border-color: var(--black);
    border-width: 7px;
    padding: 3px;
}
body.frontend ::-moz-placeholder, .block-editor .editor-styles-wrapper .block-editor-block-list__block form ::-moz-placeholder {
    color: var(--grey-90);
    font-weight: 400;
    opacity: 0.7;
}
body.frontend ::-webkit-input-placeholder, .block-editor .editor-styles-wrapper .block-editor-block-list__block form ::-webkit-input-placeholder {
    color: var(--grey-90);
    font-weight: 400;
    opacity: 0.7;
}

/* Change Autocomplete styles in Chrome*/
body.frontend input:-webkit-autofill,
body.frontend input:-webkit-autofill:hover, 
body.frontend input:-webkit-autofill:focus,
body.frontend textarea:-webkit-autofill,
body.frontend textarea:-webkit-autofill:hover,
body.frontend textarea:-webkit-autofill:focus,
body.frontend select:-webkit-autofill,
body.frontend select:-webkit-autofill:hover,
body.frontend select:-webkit-autofill:focus {
  border: 1px solid #f4e8ba;
  -webkit-text-fill-color: #4c4c4c;
  -webkit-box-shadow: 0 0 0px 1000px #fffff2 inset;
  transition: background-color 5000s ease-in-out 0s;
}

/*--------------------------------------------------------------
# Forms - Gravity Forms
--------------------------------------------------------------*/

/* GF Helper Classes */
body.frontend .input-clean input {
    border: none;
    background: none;
    padding: 0 !important;
}
.visually-hidden-labels .gfield:not(.show-label) > label {
    position: absolute;
    left: -9999px;
}
/* GF General */
body img.gform_ajax_spinner {
    /* display: none !important; */
}
body .gform_wrapper {
    margin-bottom: 0;
    margin-top: 0;
}
body .gform_wrapper .gform_heading {
    margin-bottom: 0;
}
body .gform_wrapper span.gform_description {
    margin-bottom: 0;
}
body p.gform_required_legend {
    display: none;
}
body .gform_wrapper.gravity-theme .gfield_required {
    font-size: 19px;
}
body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    padding: 8px 10px;
}
body .gform_footer input[type=submit] {
    padding: 10px 35px;
    background: var(--grey-70);
    border: none;
    font-weight: 700;
    border-radius: 60px;
    color: var(--white);
    transition: ease 0.2s all;
    cursor: pointer;
}
body .gform_footer input[type=submit]:hover, .gform_footer input[type=submit]:focus {
    background: var(--green);
}
body .gform_wrapper .ginput_complex .address_country select {
    min-height: 45px;
    margin-bottom: 0 !important;
}
.gform_wrapper select {
    height: 45px;
}
.gfield.field_hide_label label.gfield_label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.gform_wrapper .gfield_required .gfield_required_custom, .gform_wrapper .gfield_required .gfield_required_text {
    font-style: normal !important;
}
.gform_wrapper.gravity-theme .field_sublabel_below .gfield_description {
    padding-top: 4px;
    font-style: italic;
    margin-bottom: 5px;
}
/* General Fields */
@media only screen and (min-width: 767px) {
    body .gform_wrapper.gravity-theme input[type=color], 
    body .gform_wrapper.gravity-theme input[type=date], 
    body .gform_wrapper.gravity-theme input[type=datetime-local], 
    body .gform_wrapper.gravity-theme input[type=datetime], 
    body .gform_wrapper.gravity-theme input[type=email], 
    body .gform_wrapper.gravity-theme input[type=month], 
    body .gform_wrapper.gravity-theme input[type=number], 
    body .gform_wrapper.gravity-theme input[type=password], 
    body .gform_wrapper.gravity-theme input[type=search], 
    body .gform_wrapper.gravity-theme input[type=tel], 
    body .gform_wrapper.gravity-theme input[type=text], 
    body .gform_wrapper.gravity-theme input[type=time], 
    body .gform_wrapper.gravity-theme input[type=url], 
    body .gform_wrapper.gravity-theme input[type=week], 
    body .gform_wrapper.gravity-theme select, 
    body .gform_wrapper.gravity-theme textarea {
        font-size: 1em;
    }
    body .gform_wrapper .gfield_required_asterisk {
        font-size: 1.15em;
    }
}
/* Labels and Descriptions */
body .gform_wrapper.gravity-theme .gfield_label {
    line-height: 1.4em;
    margin-bottom: 5px;
}
body .gform_wrapper.gravity-theme .field_description_above .gfield_description {
    font-size: 0.9em;
    line-height: 1.5em;
    padding-bottom: 6px;
}
/* Error Messages */
.gform_wrapper .gform_validation_errors {
    margin: 0 0 15px !important;
}
.gform_wrapper .validation_error {
    border-bottom: none !important;
    border-top: none !important;
    margin-bottom: 13px !important;
    padding: 0px !important;
    text-align: left !important;
    line-height: 1.3em !important;
}
ol.validation_list {
    margin-bottom: 0;
    font-size: 0.9em;
}
ol.validation_list li {
    margin-bottom: 3px;
}
.entry-content .has-white-color ol.validation_list, .entry-content .has-white-color ol.validation_list a {
    color: var(--grey-90) !important;
    font-weight: 400;
}
.entry-content .has-white-color ol.validation_list a:is(:hover,:focus) {
    color: var(--black) !important;
}
.gform_wrapper .gfield_description.validation_message {
    padding: 0 !important;
    background: none;
    border: none;
    font-size: 0.9em !important;
    margin: 3px 0 !important;
}
/* Confirmation */
.gform_confirmation_wrapper {
    border-top: solid 5px var(--green) !important;
    padding: 40px 20px;
    background: var(--white);
    border-radius: 0 0 10px 10px;
    border: solid 1px var(--grey-20);
}
.gform_confirmation_message {
    max-width: 600px;
    text-align: center;
    margin: 0 auto;
    font-size: 1.1em;
    line-height: 1.5em;
}
.gform_confirmation_message:before {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    -webkit-mask-image: url('../images/icons/checkmark-circle.svg');
    mask-image: url('../images/icons/checkmark-circle.svg');
    background-color: var(--green);
    background-repeat: no-repeat;
    margin: 0 auto 20px;
}
/* Steps */
body .gform_wrapper.gravity-theme .gf_page_steps {
    text-align: center;
    margin-bottom: 40px;
    padding: 8px;
    border-bottom: none;
    background: var(--grey-10);
    border: solid 2px var(--grey-20);
    border-radius: 160px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number:before {
    background: var(--green);
    border-color: var(--green);
}
body .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number:after {
    font-size: 31px;
}
body .gform_wrapper.gravity-theme .gf_step_number {
    font-size: 1.15em;
    background: var(--white);
}
body .gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
    background: var(--black);
    color: var(--white);
    border-color: var(--black);
}
body .gform_wrapper.gravity-theme .gf_step_label {
    font-size: 1.2em;
    font-weight: 400;
}
body .gform_wrapper.gravity-theme .gform_page .gform_footer, body .gform_wrapper.gravity-theme .gform_page .gform_page_footer {
    margin-top: 40px !important;
    padding: 40px 0;
    border-top: solid 2px #e5e5e5;
}
@media only screen and (max-width: 767px) {
    body .gform_wrapper.gravity-theme .gf_page_steps {
        border-radius: 3px;
        padding: 5px 7px;
        text-align: left;
    }
    body .gform_wrapper.gravity-theme .gf_step {
        margin: 0 5px 0 0 !important;
        width: calc(33.33% - 5px);
    }
    body .gform_wrapper.gravity-theme .gf_step_number {
        transform: scale(0.6);
    }
    body .gform_wrapper.gravity-theme .gf_step_label {
        padding-left: 0px !important;
        font-size: 0.9em;
        letter-spacing: -0.05em;
    }
}
/* Section Field */
body .gform_wrapper.gravity-theme .gsection {
    padding: 0;
}
body .gform_wrapper h2.gsection_title {
    font-weight: 300;
    font-size: 2em;
    text-transform: uppercase;
}
body .gform_wrapper h3.gsection_title {
    font-size: 1.6em;
    font-weight: 400;
}
body .gform_wrapper.gravity-theme .gsection_description {
    font-size: 1.15em;
    line-height: 1.3em;
}
body .gform_wrapper ul li.gfield.gsection {
    margin-top: 38px;
}
body .gform_wrapper .gsection_description .gsection_title {
    margin: -20px 0;
}
/* Consent Field */
.ginput_container.ginput_container_consent {
    width: 100%;
    padding: 25px 20px 20px 20px;
    background: var(--grey-10);
    border: solid 1px #dddddd;
    display: inline-block;
    border-radius: 0 0 3px 3px;
    box-shadow: none;
}
label.gfield_consent_label {
    padding-left: 0;
    display: inline-block;
    width: calc(100% - 35px);
    float: right;
    font-size: 1em;
    line-height: 1.3em;
}
.ginput_container_consent input[type="checkbox"] {
    width: 27px;
    height: 27px;
    border-radius: 2px;
    border: 2px solid #c4c4c4;
    box-shadow: none;
    margin-top: -6px;
}
.ginput_container_consent input[type=checkbox]:checked:before {
    width: 27px;
    font-size: 35px;
    position: relative;
    left: -3px;
    top: -2px;
    color: var(--blue);
}
/* Button */
.gform_wrapper.gravity-theme .gform_page_footer input[type=button] {
    background: var(--blue);
    color: var(--white);
    border-color: var(--blue);
    padding: 10px 30px;
    font-weight: 700;
    transition: ease 0.2s all;
}
.gform_wrapper.gravity-theme .gform_page_footer input[type=button].gform_previous_button {
    background: var(--white);
    border-color: var(--white);
    color: var(--blue);
}
.gform_wrapper .gform_page_footer input[type=button]:hover,
.gform_wrapper .gform_page_footer input[type=button]:focus,
.gform_wrapper.gravity-theme .gform_page_footer input[type=button].gform_previous_button:hover,
.gform_wrapper.gravity-theme .gform_page_footer input[type=button].gform_previous_button:focus {
    background: var(--black);
    border-color: var(--black);
    color: var(--white);
    cursor: pointer;
}
.gform_wrapper .gform_page_footer input[type="submit"] {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
    padding: 10px 30px;
    font-weight: 700;
}
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:focus {
    background: var(--green-alt);
    cursor: pointer;
}
/* Recaptcha Field */
.ginput_recaptcha {
    margin-top: 30px !important;
}
@media only screen and (max-width: 640px) {
    .gform_wrapper .ginput_complex .address_country {
        margin-left: 0 !important;
    }
}
/* Error Messages */
.gform_wrapper .gform_validation_errors {
    margin: 0 0 15px !important;
}
.gform_wrapper .validation_error {
    border-bottom: none !important;
    border-top: none !important;
    font-size: 1.1em !important;
    margin-bottom: 0 !important;
    padding: 16px !important;
    text-align: left !important;
}
ol.validation_list {
    margin-bottom: 0;
}
.entry-content .has-white-color ol.validation_list, .entry-content .has-white-color ol.validation_list a {
    color: var(--black) !important;
}
.gform_wrapper .gfield_description.validation_message {
    padding: 0 !important;
    background: none;
    border: none;
    font-size: 0.9em !important;
    margin: 3px 0 !important;
}
/*
 * Gravity Form - Exhibitor Agreement Form, class .agreement-form
 *
 */
body .gform_wrapper.gravity-theme .agreement-form .gfield_label {
    margin-bottom: 9px;
}
body .gform_wrapper.gravity-theme .agreement-form .field_description_above .gfield_description {
    font-size: .9em;
    line-height: 1.5em;
    padding-bottom: 9px;
    margin-top: -6px;
}
.agreement-form .gf_readonly input {
    border: solid 1px var(--grey-10) !important;
    background: var(--grey-10) !important;
}
.exh-booth-includes {
    font-weight: 700;
    text-align: center;
    margin: 0 0 20px;
    font-size: 1.1em;
}
.exh-booth-choices {
    text-align: center;
    font-size: 1.1em;
}
.exh-rates {
    padding: 30px;
    margin: -17px 0 30px;
    border: solid 1px var(--grey-30);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.exh-rates-section.exh-booth-heading {
    flex-basis: 100%;
    font-size: 1.1em;
    text-align: center;
    margin: 0 0 20px;
    border-bottom: solid 1px #808995;
    padding: 0 0 10px;
}
.exh-rates :is(.col1,.col2,.col3) {
    flex-basis: calc(33.33% - 20px);
    padding-right: 20px;
}
.exh-rates-section {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 3px 0;
}
.exh-rates-section strong {
    flex-basis: 100%;
    margin-bottom: 5px;
}
.exh-rates-section span {
    flex-basis: 100%;
}
.exh-terms .gfield_consent_description {
    max-height: 340px !important;
    padding: 15px !important;
    margin-top: 0px !important;
}
.exh-payment {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px;
}
.exh-payment :is(.col1,.col2,.col3) {
    flex-basis: 100%;
    background: var(--grey-10);
    padding: 20px;
}
.exh-payment strong, .exh-payment span {
    display: block;
}
.agreement-form.gform_confirmation_wrapper {
    margin: 0 auto !important;
    width: 100%;
}
@media only screen and (max-width: 767px) {
    body .gform_wrapper h3.gsection_title {
        font-size: 1.3em;
    }
    .exh-rates-section.exh-booth-heading {
        font-size: 1em;
        text-align: left;
        line-height: 1.4em;
    }
    .exh-rates :is(.col1,.col2,.col3) {
        flex-basis: 100%;
        padding-right: 0px;
        font-size: 0.9em;
        line-height: 1.3em;
    }
}

/*
 * Newsletter Form - Mailchimp 4 WordPress
 *
 */

form.mc4wp-form {
    position: relative;
}
form.mc4wp-form .newsletter-form input, form.mc4wp-form .newsletter-form select {
    width: 100%;
    padding: 10px 15px;
    font-size: 0.9em;
}
form.mc4wp-form .newsletter-form input[type="submit"] {
    width: 100%;
    font-weight: 900;
    font-size: 1em;
    margin: 10px 0 12px;
    padding: 14px 25px;
    border-radius: 30px;
    background: var(--grey-50);
    border: none;
    color: var(--white);
    transition: ease 0.2s all;
}
form.mc4wp-form .newsletter-form input[type="submit"]:is(:hover,:focus) {
    background: var(--green);
}
form.mc4wp-form .newsletter-form p {
    margin: 13px 0;
}
form.mc4wp-form .newsletter-form p.field-row {
    display: flex;
    align-items: center;
}
form.mc4wp-form .newsletter-form p.field-row label {
    flex: 1 185px;
    padding-right: 10px;
}
form.mc4wp-form .newsletter-form p.field-row label span.required {
    color: #ff0000;
}
p.newsletter-consent {
    margin: 25px 0 0 !important;
    font-size: 0.9em;
}
p.newsletter-consent label {
    padding-left: 30px;
    display: inline-block;
    position: relative;
}
p.newsletter-consent label input {
    position: absolute;
    left: 0;
    top: 5px;
}
form.mc4wp-form .newsletter-form input[type=checkbox] {
    border-radius: 0;
    height: 20px;
    width: 20px;
}
form.mc4wp-form .newsletter-form p.fine-print {
    text-align: left;
    font-size: 0.8em;
    opacity: 0.8;
    padding-top: 5px;
}
form.mc4wp-form .mc4wp-alert {
    font-size: 1.2em;
}
form.mc4wp-form .mc4wp-alert p:first-child {
    margin: 0 !important;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    text-align: center;
    line-height: 1.5;
}
.mc4wp-alert.mc4wp-success p:first-child:before {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    -webkit-mask-image: url('../images/icons/checkmark-circle.svg');
    mask-image: url('../images/icons/checkmark-circle.svg');
    background-color: var(--green);
    background-repeat: no-repeat;
    margin: 0 auto 20px;
}
.mc4wp-alert.mc4wp-error {
    position: absolute;
    bottom: 10px;
    padding: 30px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    margin-bottom: 0 !important;
    width: calc(100% - 20px);
    text-align: center !important;
    left: 10px;
    border-width: 3px !important;
    background: #ffadad !important;
}
@media only screen and (max-width: 600px) {
    form.mc4wp-form .newsletter-form p.field-row {
        flex-wrap: wrap;
    }
    form.mc4wp-form .newsletter-form p.field-row label {
        flex: 1 100%;
        margin-bottom: 5px;
    }
    form.mc4wp-form .newsletter-form input, form.mc4wp-form .newsletter-form select {
        border-radius: 6px;
        padding: 10px 15px;
    }

}

/*
 * Entry Header - Archives and Hardcoded Page Headers
 *
 */
header.entry-header {
    position: relative;
    display: flex;
    min-height: 100px;
    align-items: center;
    width: 100%;
}
header.entry-header .header-content {
    position: relative;
    z-index: 1;
    width: 990px;
    margin: var(--header-offset-desktop) auto 0;
    padding: 40px 0;
    max-width: calc(100% - 40px);
    text-align: center;
}
header.entry-header .header-content h1, header.entry-header .header-content h2 {
    font-family: var(--font-alt);
    text-align: center;
    margin-bottom: 0;
    font-size: 4.5em;
    font-style: italic;
}
header.entry-header .header-content a {
    color: var(--black);
    text-decoration: none;
}
header.entry-header .header-content .header-subtext {
    font-size: 1.6em;
    font-weight: 300;
    line-height: 1.5em;
    text-align: center;
    max-width: 740px;
    margin: 20px auto 0;
}
header.entry-header .header-content .header-subtext p {
    font-size: 1em;
}
header.entry-header .header-content .header-subtext :last-child {
    margin-bottom: 0;
}
header.entry-header .header-content .header-subtext:before {
    content: ' ';
    display: block;
    margin: 10px auto 20px;
    width: 60px;
    height: 3px;
    background: rgba(255,255,255,0.6);
}
header.entry-header.default-header .header-content .header-subtext:before {
    background: rgba(0,0,0,0.2);
}
header.entry-header.image-header {
    min-height: 400px;
    padding: 160px 0 130px 0;
    background-size: cover;
    background-position: center;
    background-color: var(--grey-90);
    color: var(--white);
}
header.entry-header.image-header:before {
    content: ' ';
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
}
header.entry-header.image-header .header-content {
    text-align: center;
}
header.entry-header.image-header .header-content h1,
header.entry-header.image-header .header-content h2 {
    color: var(--white);
}
@media only screen and (max-width: 960px) {
    header.entry-header.default-header .header-content {
        margin-top: var(--header-offset-mobile);
        padding: 40px 0;
    }
}
@media only screen and (max-width: 767px) {
    .header-overlay header.entry-header.default-header .header-content {
        margin-top: 66px;
    }
    header.entry-header.image-header {
        min-height: 350px;
        padding: 100px 0 100px 0;
    }
    header.entry-header .header-content h1, header.entry-header .header-content h2 {
        font-size: 3em;
    }
    header.entry-header .header-content .header-subtext {
        font-size: 1.2em;
        max-width: 90%;
    }
}

/*
 * Page Template - Password Protected
 *
 */
.post-password-required {
    background: var(--grey-20);
}
form.post-password-form {
    text-align: center;
    margin: 0 auto 70px;
    max-width: 800px;
    border: solid 1px rgba(0,0,0,0.1);
    border-radius: 10px;
    padding: 50px 30px;
    background: var(--white);
    box-shadow: 0 30px 30px rgb(0 0 0 / 5%);
}
form.post-password-form:before {
    content: '';
    -webkit-mask-image: url('../images/icons/lock.svg');
    mask-image: url('../images/icons/lock.svg');
    background-color: var(--grey-30);
    background-repeat: no-repeat;
    width: 80px;
    height: 80px;
    font-size: 3em;
    line-height: 1;
    display: inline-block;
    border-radius: 100%;
    margin-top: 0;
    margin-bottom: 20px;
}
form.post-password-form p.password-message {
    font-size: 1.2em;
    line-height: 1.4em;
    margin: 0 0 20px;
}
form.post-password-form p:last-child {
    margin: 0;
}
form.post-password-form label {
    display: block;
    margin-top: 20px;
    font-weight: 700;
}
form.post-password-form input[name="post_password"] {
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 10px auto 15px;
    font-size: 2em;
    line-height: 1em;
    padding: 7px 12px;
}
form.post-password-form input[type="submit"],
form.post-password-form button[type="submit"] {
    width: 100%;
    max-width: 400px;
    background: var(--blue);
    border: none;
    color: var(--white);
    padding: 15px;
    font-weight: 700;
}
form.post-password-form input[type="submit"]:hover,
form.post-password-form button[type="submit"]:hover {
    background: var(--blue);
    cursor: pointer;
}
p.password-error {
    color: var(--red);
    font-weight: 700;
}
p.password-contact {
    font-size: 0.9em;
    line-height: 1.4em;
    border-top: solid 1px var(--grey-20);
    padding: 20px 0 0;
}

/*
 * Page Template - Default
 *
 */

.page-template-default .entry-content > .wrap {
    margin: 0 auto;
    /* Remove top and bottom padding on page content to use spacer block */
}

.page-template-default:not(.header-overlay) .site-main {
    margin-top: var(--header-offset-desktop);
}

/*
 * Search Results
 *
 */
header.entry-header .header-content  h1.search-title {
    font-size: 2.5em;
}
header.entry-header .header-content  h1.search-title span {
    font-weight: 700;
}
.search-page-form {
    text-align: center;
    margin: 30px 0 0px;
}
.search-page-form input.search-field {
    width: 300px;
    max-width: 100%;
    font-size: 1.2em;
    padding: 5px 15px;
    height: 55px;
}
.search-page-form input.search-submit {
    height: 55px;
    font-size: 1em;
    text-transform: uppercase;
    line-height: 1.5;
    padding: 5px 30px;
    background: none;
    color: #fff;
    margin-left: 6px;
    font-weight: 700;
}
.search-page-form input.search-submit:hover, .search-page-form input.search-submit:focus {
    background: #fff;
    color: #333;
}
.search-no-results .no-results.not-found {
    margin: 0 auto 40px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    header.entry-header .header-content  h1.search-title {
        font-size: 2em;
        line-height: 1.3em;
    }
}

/*
 * Post Archive
 *
 */
.blog-archive #main .wrap {
    margin: 0 auto 50px;
}
.archive-description *:last-child {
    margin: 0;
}
.post-list-wrap {
    max-width: var(--width-max-padding);
}
.post-list-wrap .post-list-single {
    border-bottom: solid 2px var(--grey-20);
    padding: 35px 0px;
    width: 100%;
}
.post-list-wrap .post-list-single:nth-child(3n+3) {
    margin-right: 0;
}
.post-list-wrap .post-list-single a {
    display: flex;
    gap: 20px;
    color: var(--grey-90);
    font-weight: 400;
    height: 100%;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    text-decoration: none;
    transition: ease 0.2s all;
}
.post-list-wrap .entry-image {
    flex-basis: 170px;
    height: 170px;
    border-radius: 10px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    position: relative;
}
.post-list-wrap .entry-image-inner {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    transition: ease 0.6s all;
}
.post-list-wrap .post-list-single a:is(:hover,:focus) .entry-image-inner {
    transform: scale(1.05);
}
.post-list-wrap .entry-content {
    flex: 1;
    margin: 0;
    position: relative;
    transition: ease 0.15s all;
    z-index: 1;
}
.post-list-wrap .post-list-single .entry-image-video-icon {
    width: 50px;
    height: 50px;
    background: var(--white);
    border-radius: 100%;
    position: absolute;
    z-index: 1;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
    transition: ease 0.15s all;
    display: flex;
    justify-content: center;
    align-items: center;
}
.post-list-wrap .post-list-single .entry-image-video-icon:before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    -webkit-mask-image: url('../images/icons/play-circle.svg');
    mask-image: url('../images/icons/play-circle.svg');
    background-color: var(--grey-90);
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: ease 0.2s all;
}
.post-list-wrap .post-list-single:is(:hover,:focus) .entry-image-video-icon:before {
    background-color: var(--green);
}
.entry-image.no-image {
    flex-basis: 0;
}
.post-list-wrap .entry-image.default-img {
    background-size: 130px;
    background-repeat: no-repeat;
    background-image: url('../images/brand/default-post-image.png');
}
.post-list-wrap .post-meta {
    font-size: 0.9em;
    line-height: 1.5em;
    display: flex;
    gap: 0 10px;
    margin: 0 0 10px;
}
.post-list-wrap h2.entry-title, .post-list-wrap h3.entry-title {
    display: inline-block;
    font-size: 1.7em !important;
    line-height: 1.1em;
    color: var(--grey-90);
    font-weight: 700 !important;
    position: relative;
}
.post-list-wrap h2.entry-title span, .post-list-wrap h3.entry-title span {
    text-decoration: none;
    background-image: linear-gradient(var(--grey-90), var(--grey-90));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 3px;
    transition: background-size .3s, color .3s;
}
.post-list-wrap a:is(:hover,:focus) h2 span,
.post-list-wrap a:is(:hover,:focus) h3 span {
    background-size: 100% 3px;
}
.post-list-wrap .post-date {
    color: var(--black);
}
.post-list-wrap .post-excerpt {
    line-height: 1.4em;
}
@media only screen and (max-width: 600px) {
    .post-list-wrap .entry-image {
        flex-basis: 120px;
        height: 120px;
    }
    .post-list-wrap .entry-content {
        padding: 0;
    }
    .post-list-wrap h2.entry-title, .post-list-wrap h3.entry-title {
        font-size: 1.4em !important;
        margin-bottom: 10px;
    }
}

/*
 * Pagination
 *
 */
.pagination {
    width: 100%;
    margin: 40px 0;
    padding: 0 20px;
    text-align: center;
}
.pagination ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
}
.pagination ul li {
    display: inline;
    padding: 0 5px;
}
.pagination ul li a {
    text-decoration: none;
    color: var(--black);
}
.pagination ul li:not(.nav-next):not(.nav-prev) a {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: solid 1px transparent;
    line-height: 1.5em;
}
.pagination ul li.active:not(.nav-next):not(.nav-prev) a {
    border-color: var(--black);
}
.pagination ul li.nav-next a, .pagination ul li.nav-prev a {
    height: 40px;
    border-radius: 50px;
    padding: 5px 15px;
    display: inline-flex;
    align-items: center;
    line-height: 1.5em;
}
.pagination ul li a:hover, 
.pagination ul li a:focus {
    background: var(--black);
    border-color: var(--black);
    color: var(--white);
}
 @media only screen and (max-width: 640px) {
    .pagination ul li a {
        font-size: 0.85em;
    }
}

/*
 * Post Single
 *
 */
.single-post header.entry-header .header-content {
    margin-top: var(--header-offset-desktop);
    text-align: center;
}
.single-post h1.entry-title {
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
}
.single-post a.post-category {
    font-size: 0.9em;
    font-weight: 700;
    border-bottom: solid 3px rgba(0,0,0,0.3);
    display: inline-block;
    margin: 0 0 30px;
}
.single-post a.post-category:hover, .single-post a.post-category:focus {
    border-color: var(--green);
}
.single-post .post-date {
    margin: 30px auto 0;
    font-size: 0.9em;
}
.single-post .post-image {
    text-align: center;
    width: 100%;
    margin: 0 0 30px;
}
.single-post .post-image img {
    width: auto;
    min-width: 50%;
    max-height: 500px;
    display: block;
    margin: 0 auto;
}
.single-post .post-image-caption {
    display: inline-block;
    margin: 10px;
}
.single-post .socialshare {
    margin: 0px auto;
    padding: 14px 30px;
    border: solid 1px #dedede;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    width: 240px;
    justify-content: center;
    background: #fff;
}
.single-post .entry-content > .wrap {
    margin: 60px auto 110px;
}


/*
 * Magnific Lightbox
 *
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.97; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px !important;
  position: fixed;
  right: 10px;
  top: 10px;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px !important;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover,
  .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  text-align: right;
  border: solid 1px;
  border-radius: 100%;
  text-align: center; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover,
  .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before,
  .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
  font-size: 1.5em;
  line-height: 1.3em;
  font-weight: 700; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }


/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}
.flickity-enabled:focus, .flickity-viewport:focus-visible { outline: none !important; }
.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}
.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}
/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
/* ---- flickity-button ---- */
.flickity-button {
  color: var(--grey-70) !important;
  background: none !important;
  border: none !important;
  transition: ease 0.2s all;
}
.has-white-color .flickity-button {
    color: var(--white) !important;
}
.flickity-button:is(:hover,:focus) {
  color: var(--blue) !important;
  cursor: pointer;
}
.flickity-button:active {
  opacity: 0.6;
}
.flickity-button:disabled {
  opacity: 0.3;
  color: var(--black);
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}
.flickity-button-icon {
  fill: currentColor;
}
/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  width: 38px;
  height: 38px;
  padding: 0;
  z-index: 9;
}
.flickity-prev-next-button.previous {
  left: 10px;
}
.flickity-prev-next-button.next {
  right: 10px;
}
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}
.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}
/* ---- page dots ---- */
.flickity-page-dots, ol.flickity-page-dots {
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
  height: 38px;
  display: flex;
  align-items: center;
  position: relative;
  justify-content: center;
}
.flickity-rtl .flickity-page-dots { direction: rtl; }
.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  padding: 0;
  background: var(--grey-50);
  border-radius: 50%;
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  background: var(--blue);
}