@charset "UTF-8";

/*--------------------------------------------------------------
# Define Theme Colors
--------------------------------------------------------------*/
:root {
  --red: #e40b09;
  --reddarker: #d20907;
  --redlighter: #f62523;
  --blue: #195ab2;
  --bluedarker: #0d4898;
  --bluelighter: #3a71bc;
  --white: #ffffff;
  --black: #1a1919;
  --blackdarker: #0e0e0e;
  --greylight: #f2f2f2;
  --greydark: #444444;
  --green: #2e9725;
  --greendarker: #208618;
}

/*
 * Mailing List page overrides - hide alert bar and footer newsletter
 *
 */
body:is(.page-id-7010,.page-id-7516) .footer-newsletter {
    display: none;
}
body:is(.page-id-7010,.page-id-7516) .site-alert {
    display: none;
    height: 0;
    min-height: 0;
}
body:is(.page-id-7010,.page-id-7516) .footer-contact-links {
    margin-top: 0;
}

/*
 * 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;    
    line-height: 1.7rem !important;
}
.block-editor .editor-styles-wrapper .has-medium-font-size, body.frontend .has-medium-font-size {
    font-size: 22px;
    line-height: 1.9rem !important;
}
.block-editor .editor-styles-wrapper .has-large-font-size, body.frontend .has-large-font-size {
 	font-size: 30px;	
}
.block-editor .editor-styles-wrapper .has-xlarge-font-size, body.frontend .has-xlarge-font-size {
    font-size: 36px;    
    line-height: 1.1em !important;
}
.block-editor .editor-styles-wrapper .has-xxlarge-font-size, body.frontend .has-xxlarge-font-size {
    font-size: 42px;    
    line-height: 1.1em !important;
}
.block-editor .editor-styles-wrapper .has-xxxlarge-font-size, body.frontend .has-xxxlarge-font-size {
    font-size: 68px;    
    line-height: 1.1em !important;
    letter-spacing: -0.01em;
}
.block-editor .editor-styles-wrapper .has-leadin-font-size, body.frontend .has-leadin-font-size,
.block-editor .editor-styles-wrapper p.has-leadin-font-size, body.frontend p.has-leadin-font-size {
    font-size: 19px;
    line-height: 1.3em;
    margin-bottom: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.block-editor .editor-styles-wrapper .has-fine-print-font-size, body.frontend .has-fine-print-font-size,
.block-editor .editor-styles-wrapper p.has-fine-print-font-size, body.frontend p.has-fine-print-font-size {
    font-size: 13px;
    line-height: 1.5em;
}
@media (max-width: 1100px) {
    .block-editor .editor-styles-wrapper .has-xxxlarge-heading-font-size, body.frontend .has-xxxlarge-font-size {  
        font-size: 52px;
    }
}
@media (max-width: 600px) {
    .block-editor .editor-styles-wrapper .has-medium-font-size, body.frontend .has-medium-font-size {
        font-size: 18px;
    }
    .block-editor .editor-styles-wrapper .has-large-font-size, body.frontend .has-large-font-size {
        font-size: 22px;
    }
    .block-editor .editor-styles-wrapper .has-xlarge-heading-font-size, body.frontend .has-xlarge-font-size {  
        font-size: 26px;
    }
    .block-editor .editor-styles-wrapper .has-xxlarge-heading-font-size, body.frontend .has-xxlarge-font-size {  
        font-size: 32px;
    }
    .block-editor .editor-styles-wrapper .has-xxxlarge-heading-font-size, body.frontend .has-xxxlarge-font-size {  
        font-size: 42px;
    }
    .block-editor .editor-styles-wrapper .has-fine-print-font-size, body.frontend .has-fine-print-font-size,
    .block-editor .editor-styles-wrapper p.has-fine-print-font-size, body.frontend p.has-fine-print-font-size {
        font-size: 12px;
    }
}

/*
 * Gutenberg Global Alignments
 *
 */
/* Align Wide */
.entry-content .alignwide {
  margin-left  : -190px;
  margin-right : -190px;
  padding-left: 20px;
  padding-right: 20px;
  max-width: calc(100vw - 20px);
  width: calc(100% + 380px);
}
/* Align Full */
.entry-content .alignfull {
    margin: 0 calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
@media only screen and ( max-width: 990px ) {
  .entry-content .alignfull {
      margin: 0 -20px;
  }
}
@media only screen and (max-width: 1360px) {
    .entry-content .alignwide {
      margin-left: calc(50% - 50vw + 10px);
      margin-right: calc(50% - 50vw + 10px);
      max-width: 100vw;
      width: calc(100vw - 20px);
    }
    .entry-content figure.alignwide {
        margin: 0 calc(50% - 50vw);
        width: calc(100vw);
    }
}

/*
 * Gutenberg Helper Classes
 *
 */
.remove-margin-top {
    margin-top: 0 !important;
}
.remove-margin-bottom {
    margin-bottom: 0 !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;
}

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

.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) !important;
}
.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-black-background-color {
    background-color: var(--black) !important;
}
.has-black-color {
    color: var(--black) !important;
}

.has-greylight-background-color {
    background-color: var(--greylight) !important;
}
.has-greylight-color {
    color: var(--greylight) !important;
}

.has-grey-background-color {
    background-color: var(--greydark) !important;
}
.has-grey-color {
    color: var(--greydark) !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%;
}


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

/*
 * CORE & CUSTOM BLOCK STYLES
 *
 */


/*
 * General Blocks
 *
 */


/*
 * Columns Block (Core Block)
 *
 */
 .wp-block-columns {
    margin-bottom: 1.75em !important;
}
.wp-block-columns.block-editor-block-list__block {
    margin-bottom: 1.75em;
    /* Editor margin */
}
@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;
    }
}
@media (max-width: 782px) {
    .wp-block-column, .wp-block-column:not(:only-child) {
        flex-basis: 100%!important;
        margin-bottom: 25px;
    }
    .wp-block-column:nth-child(2n) {
        margin-left: 0;
    }
    .wp-block-columns {
        margin-bottom: 0 !important;
    }
}

/*
 * 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, 
blockquote.wp-block-quote.is-large, 
blockquote.wp-block-quote.is-style-large {
    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: "\f122";
    font-family: 'dashicons';
    font-style: normal;
    position: absolute;
    top: 0;
    line-height: 1;
}
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;
}
/* Blockquote Large Style */
blockquote.wp-block-quote.is-large p, blockquote.wp-block-quote.is-style-large p {
    font-size: 1.5em !important;
    line-height: 1.4em;
}

blockquote.wp-block-quote.is-large cite, blockquote.wp-block-quote.is-large footer, blockquote.wp-block-quote.is-style-large cite, blockquote.wp-block-quote.is-style-large footer {
    font-size: 0.9rem;
    text-align: inherit;
}

@media (max-width: 767px) {
    blockquote, blockquote.wp-block-quote, blockquote.wp-block-quote.is-large, blockquote.wp-block-quote.is-style-large {
        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 .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);
}

@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;
}
@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%;
    }
    .wp-block-image {
        width: 100%;
    }
    .wp-block-image img {
        max-width: 100%;
        margin: 0 auto;
    }
}

/*
 * 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)
 *
 */

hr.wp-block-separator {
    margin-top: 60px;
    margin-bottom: 60px;
    border: none;
    content: ' ';
    display: block;
    height: 1px !important;
    width: 100%;
    background: var(--black);
    opacity: 1;
}
hr.wp-block-separator.alignwide, hr.wp-block-separator.alignfull {
    margin-top: 60px;
    margin-bottom: 60px;
}
 .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
    max-width: initial;
 }
hr.wp-block-separator.is-style-thick {
    height: 7px !important;
}
/* Colors */
hr.has-greylight-color {
	background-color: var(--greylight) !important;
}
hr.has-red-color {
	background-color: var(--red) !important;
}
hr.has-blue-color {
	background-color: var(--blue) !important;
}
hr.has-white-color {
	background-color: var(--white) !important;
}
hr.has-black-color {
	background-color: var(--black) !important;
}
@media (max-width: 1240px) {
    hr.wp-block-separator.alignwide {
        margin-left: calc(50% - 50vw + 10px);
        margin-right: calc(50% - 50vw + 10px);
    }
}
@media (max-width: 767px) {
    hr.wp-block-separator.alignwide, hr.wp-block-separator.alignfull {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

/*
 * Spacer Block (Core Block)
 *
 */
 .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;
     } 
}

/*
 * Group Block (Core Block)
 *
 */
.wp-block-group__inner-container:not(.block-editor-block-list__layout) {
    max-width: 950px;
    margin: 0 auto;
}
.wp-block-group, .wp-block-group.has-background {
    padding: 60px 20px;
    position: relative;
}
.wp-block-group p:last-child {
    margin-bottom: 0;
}
/* Style - Reduced padding */
.wp-block-group.is-style-padding-small {
    padding: 20px 20px !important;
}
/* Border Radius */
.wp-block-group.has-background {
    border-radius: 10px;
}
.wp-block-group.has-background.alignfull, [data-align="full"] > .wp-block-group.has-background {
    border-radius: 0px;
}
/* column block in Wide Aligned Group block*/
.entry-content .wp-block-group.alignwide.has-background .wp-block-columns.alignwide  {
    padding-left: 40px;
    padding-right: 40px;
}
/* adjust padding on group block within column block */
.wp-block-column .wp-block-group.has-background {
    padding: 40px 40px;
}
/* editor only - full width group with wide inner block */
[data-align=full] .wp-block-group>.wp-block-group__inner-container>[data-align=wide].wp-block {
    padding-left: 20px;
    padding-right: 20px;
}
@media(max-width:767px) {
    .wp-block-group.has-background {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .entry-content .wp-block-group.alignwide.has-background .wp-block-columns.alignwide  {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*
 * Image + Text Block (Custom Block)
 *
 */

.imagetext-container {
    display: inline-block;
    width: 100%;
    position: relative;
    padding: 0 !important;
}
.imagetext-container > .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 0;
    max-width: calc(100% - 40px);
    width: 1330px;
    margin: 0 auto;
    gap: 0 6%;
}
.imagetext-container.text-right > .wrap {
    flex-direction: row-reverse;
}
.imagetext-container.align-top > .wrap {
    align-items: flex-start;
}
.imagetext-container.align-bottom > .wrap {
    align-items: flex-end;
}
.imagetext-container .col1 {
    flex: 1 calc(50% - 60px);
    max-width: calc(50% - 60px);
}
.imagetext-container .col2 {
    flex: 1 calc(50% + 60px - 6%);
    max-width: calc(50% + 60px - 6%);
}
.imagetext-container .col1 > .wrap {
    max-width: 560px;
    width: 100%;
    margin: 0;
}
.imagetext-container.text-right .col1 > .wrap {
    float: right;
}
.imagetext-container .col1 > .wrap > :first-child,
.imagetext-container .col1 > .wrap .block-editor-block-list__layout > :first-child {
    margin-top: 0;
}
.imagetext-container .col1 > .wrap > :last-child,
.imagetext-container .col1 > .wrap .block-editor-block-list__layout > :last-child {
    margin-bottom: 0;
}
.imagetext-caption {
    font-size: 0.85em;
}
/* Text content overrides */
.imagetext-container :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 15px !important;
}
/* Default Image */
.imagetext-default img {
    width: 100%;
    border-radius: 6px;
}
/* Background Image */
.imagetext-container.has-overlay > .wrap {
    padding: 150px 0;
}
.imagetext-background {
    position: absolute;
    width: 100%;
    height: 100%;
}
.alignwide .imagetext-background {
    border-radius: 6px;
    overflow: hidden;
}
.imagetext-background-image {
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
}
.imagetext-background .imagetext-caption {
    position: absolute;
    z-index: 1;
    bottom: 20px;
    right: 25px;
}
/* Center Layout */
.imagetext-container.text-center > .wrap {
    justify-content: center;
}
.imagetext-container.text-center > .wrap .col1,
.imagetext-container.text-center > .wrap .col1 .wrap {
    max-width: 940px;
}
/* Overlay Colors */
.has-overlay:not(.none-overlay) .imagetext-background-image {
    -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
    filter: grayscale(100%);
}
.has-overlay:not(.none-overlay) .imagetext-background-overlay {
    content: ' ';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.blue-overlay .imagetext-background-overlay {
    background: var(--blue);
    opacity: 0.85;
}
.red-overlay .imagetext-background-overlay {
    background: var(--red);
    opacity: 0.8;
}
.black-overlay .imagetext-background-overlay {
    background: var(--black);
    opacity: 0.8;
}
/* Columns inside Image + Text */
.imagetext-container.text-center .wp-block[data-align="wide"] {
    margin-left: -190px;
    margin-right: -190px;
}
@media(max-width:1024px) {
    .imagetext-container > .wrap {
        align-items: flex-start;
    }
    .imagetext-container .col1 {
        flex: 1 calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
    .imagetext-container .col2 {
        flex: 1 calc(50% + 20px - 6%);
        max-width: calc(50% + 20px - 6%);
    }
    .imagetext-container .col1 > .wrap {
        max-width: 600px;
    }
}
@media(max-width:767px) {
    .imagetext-container > .wrap {
        flex-direction: column-reverse !important;
    }
    .imagetext-container.has-overlay > .wrap {
        padding: 80px 0;
    }
    .imagetext-container .col1 {
        flex: 1 100%;
        max-width: 100%;
    }
    .imagetext-container .col2 {
        flex: 1 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 15px;
    }
}

/*
 * Image + Text Grid Block (Custom Block)
 *
 */

.imgtxtgrid-wrap {
    display: flex;
    flex-wrap: wrap;
}
.imgtxt-single {
    flex: 1 50%;
    min-height: 350px;
    max-width: 50%;
    position: relative;
    padding: 0px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
}
.imgtxt-content-wrap {
    padding: 40px 20px 90px 40px;
    height: 100%;
    position: relative;
    flex: 1 calc(70% - 40px);
    max-width: calc(70% - 40px);
    min-width: 250px;
}
.imgtxt-heading {
    font-weight: 900;
    font-size: 2.4em;
    line-height: 1.2em;
    margin: 0 0 25px;
    max-width: 500px;
}
.imgtxt-content {
    max-width: 375px;
}
a.imgtxt-link {
    display: inline-block;
    position: absolute;
    bottom: 30px;
    font-weight: 900 !important;
}
/* Style - Background Image */
.imgtxt-single.has-background {
    color: var(--white);
}
.imgtxt-background {
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
}
.imgtxt-background-overlay {
    content: ' ';
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.5);
    background: linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 17%, rgba(0,0,0,0.62) 59%);;
}
.imgtxt-single.has-background a.imgtxt-link {
    color: var(--white);
}
.imgtxt-single.has-background a.imgtxt-link:before {
    background: var(--white);
}
/* Style - Default Image */
.imgtxt-default-img {
    flex: 1 30%;
    background-size: cover;
    background-position: center;
    margin: 40px 40px 40px 0;
    max-width: 30%;
    max-height: 280px;
    min-height: 250px;    
}
/* Style - Colors */
.imgtxt-single.has-default-img a.imgtxt-link {
    color: var(--red);
}
.imgtxt-single.has-default-img a.imgtxt-link:before {
    background: var(--red);
}
.imgtxt-single.has-default-img.is-style-red {
    background-color: var(--red);
    color: var(--white);
}
.imgtxt-single.has-default-img.is-style-blue {
    background-color: var(--blue);
    color: var(--white);
}
.imgtxt-single.has-default-img.is-style-black {
    background-color: var(--black);
    color: var(--white);
}
.imgtxt-single.has-default-img.is-style-white {
    background-color: var(--white);
}
.imgtxt-single.has-default-img:is(.is-style-blue, .is-style-red, .is-style-black) a.imgtxt-link {
    color: var(--white);
}
.imgtxt-single.has-default-img:is(.is-style-blue, .is-style-red, .is-style-black) a.imgtxt-link:before {
    background: var(--white);
}
@media(max-width:1024px) {
    .imgtxt-heading {
        font-size: 2em;
        line-height: 1em;
        margin: 0 0 15px;
    }
    .imgtxt-content-wrap {
        padding: 30px 20px 70px 20px;
    }
    .imgtxt-default-img {
        margin: 30px 20px 30px 0;
        max-height: 180px;
        min-height: 180px;
    }
}
@media(max-width:767px) {
    .imgtxt-single {
        flex: 1 100%;
        max-width: 100%;
        min-height: 280px;
    }
}

/*
 * Video + Text Block (Custom Block)
 *
 */

.videotext-container {
    display: inline-block;
    width: 100%;
}
.videotext-container > .wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    margin: 0;
    gap: 0 6%;
}
.videotext-container.video-right > .wrap {
    flex-direction: row-reverse;
}
.videotext-container .col1 {
    flex: 1 calc(50% + 60px);
    max-width: calc(50% + 60px);
}
.videotext-container .col2 {
    flex: 1 calc(50% - 60px - 6%);
    max-width: calc(50% - 60px - 6%);
}
.videotext-container .col2 > .wrap {
    max-width: 500px;
    width: 100%;
    margin: 0;
}
.videotext-container.video-right .col2 > .wrap {
    float: right;
}
.videotext-container .col2 > .wrap :first-child {
    margin-top: 0;
}
.videotext-container .col2 > .wrap :last-child {
    margin-bottom: 0;
}
.videotext-container .video-container {
    display: inline-block;
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
}
.videotext-container .video-container img {
    width: 100%;
    display: block;
}
.videotext-container .video-container a {
    border: none !important;
}
.videotext-container .video-container a.video-modal-trigger {
    display: block;
    width: 100%;
    position: relative;
    align-items: center;
    justify-content: center;
    height: auto;
    background-size: cover;
    padding-top: 56.25%;
    background-position: center;
}
.videotext-container .video-container a.video-modal-trigger:before {
    content: "\f522";
    font-family: 'dashicons';
    display: block;
    background: var(--reddarker);
    color: #fff;
    width: 80px;
    height: 80px;
    z-index: 1;
    font-size: 40px;
    padding-left: 5px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
    transition: ease 0.35s all;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 1);
}
.videotext-container .video-container a.video-modal-trigger:hover:before,
.videotext-container .video-container a.video-modal-trigger:focus:before {
    transform: scale(1.1);
    background: var(--redlighter);
}
.videotext-container .video-caption {
    padding: 15px 0 0;
}
.videotext-container .video-caption p {
    font-size: 0.9em !important;
    line-height: 1.6em;    
}
.videotext-container .video-caption p:first-child {
    margin-top: 0;
}
.videotext-container .video-caption p:last-child {
    margin-bottom: 0;
}
/* Align Full Width */
.videotext-container.alignfull .col1 {
    flex: 1 calc(50% + 3% - 6%);
    max-width: calc(50% + 3% - 6%);
}
.videotext-container.alignfull .col2 {
    flex: 1 calc(50% - 3%);
    max-width: calc(50% - 3%);
}
.videotext-container.alignfull .col2 > .wrap {
    padding-left: 0;
    padding-right: 20px;
}
.videotext-container.video-right.alignfull .col2 > .wrap {
    padding-left: 20px;
    padding-right: 0;
}
.videotext-container.alignfull .video-container {
    border-radius: 0 10px 10px 0;
}
.videotext-container.alignfull.video-right .video-container {
    border-radius: 10px 0 0 10px;
}
.videotext-container.alignfull .col2 > .wrap {
    max-width: calc(620px - 6%);
}

@media only screen and (max-width: 960px) {
    .videotext-container > .wrap {
        flex-direction: column-reverse !important;
    }
    .videotext-container .col1 {
        flex: 1 100% !important;
        max-width: 100% !important;
        margin-top: 50px;
        margin-bottom: 0;
        max-width: 600px !important;
        display: block !important;
    }
    .videotext-container .col2 {
        flex: 1 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    .videotext-container .col2 > .wrap {
        max-width: 100% !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    .videotext-container.video-right .col2 > .wrap {
        float: none;
    }
    .videotext-container .video-caption {
        padding-left: 0;
        padding-right: 0;
    }
    /* Align Full */
    .videotext-container.alignfull .col1 {
        padding: 0px !important;
        margin-left: 20px;
        margin-right: 20px;
    }
}

/*
 * Button Single Block (Custom Block)
 *
 */

div[data-type="acf/custom-button"] {
    z-index: 1;
}
.button-block {
    display: block;
}
.button-block.aligncenter {
    width: 100%;
    text-align: center;
}
.button-block a {
    margin: 10px 0 20px;
    display: block;
}

/*
 * Button Group Block (Custom Block)
 *
 */

.btngrp-container {
    max-width: calc(100% - 10px);
    margin: 0 auto;
}
.btngrp-container.inline {
    display: flex;
    justify-content: space-between;
}
.btngrp-container.stacked {
    text-align: center;
}
.btngrp-container.inline h3 {
    margin: 15px 0 0 !important;
    max-width: 50%;
    min-width: 380px;
    flex: 1;
}
.btngrp-container a {
    margin: 5px 5px;
}
.btngrp-container a:first-child {
    margin-left: 0;
}
.btngrp-container a:last-child {
    margin-right: 0;
}
@media (max-width: 767px) {
    .btngrp-container.inline {
        flex-wrap: wrap;
        justify-content: center;
    }
    .btngrp-container.inline h3 {
        flex: 1 100%;
        margin: 0 0 20px !important;
    }
    .btngrp-container {
        text-align: center;
    }
    .btngrp-container a {
        width: 100% !important;
        max-width: 300px;
        justify-content: center !important;
        margin: 0 0 10px !important;
    }
    .btngrp-container a:last-child {
        margin-bottom: 0 !important;
    }
}

/*
 * Price List Block (Custom Block)
 *
 */

.pricelist-container {
    max-width: 100%;
    margin: 0 auto;
}
ul.price-list {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
ul.price-list li {
    display: flex;
    justify-content: space-between;
    width: auto;
    border: solid 1px var(--greydark);
    padding: 18px 20px 13px !important;
    line-height: 1.4em;
    margin: 17px 0;
    font-size: 1.4em !important;
    position: relative;
}
ul.price-list li:after {
    content: ' ';
    position: absolute;
    z-index: 0;
    background: var(--greydark);
    width: 100%;
    height: 100%;
    right: -6px;
    bottom: -6px;
    opacity: 0.1;
}
ul.price-list .label {
    font-weight: 700;
    position: relative;
    z-index: 1;
    padding-right: 20px;
    line-height: 1.2em;
}
ul.price-list .label span {
    font-size: 0.8em;
    font-weight: 300;
    margin-left: 4px;
}
ul.price-list .price {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}
@media (max-width: 960px) {
    ul.price-list li {
        font-size: 1.25em !important;
    }
}
@media (max-width: 640px) {
    ul.price-list li {
        font-size: 1.15em !important;
    }
}

/*
 * Hero Block (Custom Block)
 *
 */

.hero-container {
    height: auto;
    min-height: 500px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    color: var(--white);
    background: var(--black);
}
.overlay-header .hero-container {
    min-height: calc(100vh - 100px);  
}
.hero-container .hero-bg:before {
    content: ' ';
    display: block;
    background: linear-gradient(195deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.8) 100%);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.hero-container.top {
    align-items: flex-start;
}
.hero-container.top .hero-bg:before {
    background: linear-gradient(310deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0.8) 100%)
}
.hero-container.is-overlay-darker:is(.top,.bottom) .hero-bg:before {
    background: linear-gradient(310deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.6) 25%, rgba(0,0,0,0.8) 100%)
}
.hero-bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.hero .wrap {
    width: 1800px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
    padding: 80px 10px 80px;
    position: initial;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
}
.hero.top .wrap {
    align-items: flex-start;
    margin-top: 40px;
}
.hero h1.hero-heading, .block-editor .editor-styles-wrapper .hero h1.hero-heading,
.hero h2.hero-heading, .block-editor .editor-styles-wrapper .hero h2.hero-heading {
    font-size: 4.6em !important;
    font-weight: 900 !important;
    line-height: 1.05em;
    margin: 0 !important;
    padding: 0;
    text-shadow: 3px 3px 11px rgb(0 0 0 / 15%);
    color: var(--white);
}
.hero .hero-content.col1 {
    max-width: 900px;
    width: calc(100% - 530px);
    flex: 1 calc(100% - 530px);
}
.hero-leadin {
    margin: 0 0 20px;
    border-bottom: solid 3px;
    display: inline-block;
    border-color: var(--red);
}
.hero .hero-description {
    font-size: 1.8em;
    font-weight: 300;
    margin-top: 30px;
}
.hero a.hero-btn {
    margin: 30px 0 0;
}
.hero .hero-form-shortcode form {
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 580px;
}
.hero .hero-form-shortcode .gform_body.gform-body {
    width: 100%;
}
.hero .hero-form-shortcode .gform_footer {
    margin: 0;
    padding: 0;
}
.hero .hero-form-shortcode .gform_body input[type=email] {
    padding: 15px 20px !important;
}
.hero .hero-form-shortcode .gform_footer input[type=submit] {
    padding: 17px 10px;
    text-transform: uppercase;
}
.hero .hero-form-shortcode .gform_validation_errors {
    display: none;
}
.hero-fineprint a {
    color: var(--white) !important;
    border-color: var(--white) !important;
}
.hero .hero-extra.col2 {
    flex: 1 500px;
    max-width: 500px;
    padding-left: 30px;
}
.hero-card-single {
    background: var(--white);
    color: var(--black);
    border-radius: 6px;
    margin: 0 0 10px;
    display: flex;
    overflow: hidden;
}
.hero-card-single:last-child {
    margin: 0;
}
.hero-card-image {
    display: block;
    flex-basis: 170px;
    background-size: cover;
    background-position: center;
}
.hero-card-content-wrap {
    padding: 20px;
    flex-basis: calc(100% - 170px); 
}
.hero-card-leadin {
    text-transform: uppercase;
    opacity: 0.7;
    margin-top: -7px;
}
.hero-card-heading {
    font-weight: 700;
}
.hero-card-content {
    margin-top: 5px;
}
.hero-card-content p {
    margin-bottom: 15px !important;
    line-height: 1.5em;
    font-size: 1em !important;
}
.hero-card-content ul {
    font-size: 1em !important;
}
.hero-card-content li {
    margin: 0 !important;
    padding-left: 0px !important;
}
.hero-card-content :last-child {
    margin-bottom: 0 !important;
}
.hero-caption {
    position: absolute;
    z-index: 1;
    bottom: 15px;
    right: 30px;
    font-size: 0.85em;
}
@media (max-width: 1024px) {
    .hero .hero-content {
        width: calc(100% - 200px);
    }
}
@media (max-width: 960px) {
    .hero .hero-content.col1 {
        flex: 1 100%;
        max-width: 100%;
    }
    .hero .hero-extra.col2 {
        flex: 1 100%;
        max-width: 550px;
        margin-top: 40px;
        padding: 0;        
    }
}
@media (min-width: 768px) {
    /* zoom background on desktop only */
    .hero-bg.zoom-bg {
        animation: 50s ease 0s normal forwards running zoomin;
        -webkit-animation: 50s ease 0s normal forwards running zoomin;
        -o-animation: 50s ease 0s normal forwards running zoomin;
        -moz--o-animation: 50s ease 0s normal forwards running zoomin;
    }
    @keyframes zoomin {
        0% { transform: scale(1, 1) }
        100% { transform: scale(1.3, 1.3) }
    }
}
@media (max-width: 767px) {
    .hero-container.has-bgimage {
        min-height: calc(100vh - 70px);
        padding-top: 300px;
    }
    .alert-active.admin-bar .hero-container {
        min-height: calc(100vh - 70px - 46px);    
    }
    .hero-bg {
        height: 300px;
    }
    .hero .wrap {
        flex-wrap: wrap;
        max-width: calc(100% - 20px);
        padding-top: 40px;
    }
    .hero.top .wrap {
        margin-top: 0;
    }
    .frontend .hero .wrap.animate {
    	top: 0 !important;
    	opacity: 1 !important;
    }
    .hero h1.hero-heading, .block-editor .editor-styles-wrapper .hero h1.hero-heading,
    .hero h2.hero-heading, .block-editor .editor-styles-wrapper .hero h2.hero-heading {
        font-size: 2.6em !important;
    }
    .hero .hero-description {
	    font-size: 1.5em;
        line-height: 1.5;
	}
    .hero a.hero-btn {
        position: relative;
        flex: 1 auto;
        bottom: auto;
        margin-top: 30px;
    }
    .hero .hero-form-shortcode form {
        display: inline-block;
        width: 100%;
    }
    .hero-caption {
        bottom: 10px;
        left: 20px;
        line-height: 1.3em;
    }
}

/*
 * Page Navigation (Custom Block)
 *
 */
 .wp-block[data-type^="acf/page-nav"] {
    width: 100%;
    max-width: 100%;
}
.pagenav-block {
    padding: 30px 0;
    border-top: solid 1px rgba(0,0,0,0.1);
    border-bottom: solid 1px rgba(0,0,0,0.1);
}
nav.page-nav {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    padding: 0 20px;
    transition: ease 0.3s all;
}
nav.page-nav ul.links {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
    justify-content: center;
}
nav.page-nav .pagenav-title {
	flex: 1 100%;
    text-transform: uppercase;
    font-size: 0.9em;
    text-align: center;
    margin: 0 0 0.5em;
}
nav.page-nav ul.links li {
    flex: none;
    padding: 0;
    margin: 0 1.5em 0 0;
    line-height: 1.2em;
    padding: 5px 0;
}
nav.page-nav ul.links li:last-child {
    margin-right: 0;
}
nav.page-nav ul.links li a {
    color: var(--black);
    position: relative;
    border: none;
    padding: 3px 0;
}
nav.page-nav ul.links li a:hover, nav.page-nav ul.links li a:focus {
    color: var(--black);
}
nav.page-nav ul.links li a:after {
    content: ' ';
    height: 2px;
    background: var(--red);
    display: block;
    width: 0;
    position: absolute;
    bottom: 0;
    transition: ease 0.3s all;
}
nav.page-nav ul.links li a:hover:after {
    width: 100%;
}
/* Group Block Styles */
.wp-block-column .pagenav-block {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

@media (min-width: 767px) {
    /* Sticky Horizontal Nav on desktop only */
    .pagenav-block.fixed .page-nav {
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        background: var(--white);
        z-index: 999;
        min-height: 66px;
        padding: 10px 20px;
        border-bottom: solid 1px var(--greylight);
    }
    .admin-bar .pagenav-block.fixed .page-nav {
        top: 32px;
    }
    .pagenav-block.fixed .page-nav .pagenav-title {
        display: none;
    }
}

@media (max-width: 767px) {
    .pagenav-block {
        padding: 25px 0;
    }
    nav.page-nav .pagenav-title {
		text-align: left !important;
		margin: 0 !important;
	}
    nav.page-nav ul.links {
        align-items: flex-start;
    }
    nav.page-nav ul.links > * {
        flex: 1 50% !important;
        width: 50% !important;
        margin: 3px 0 !important;
        padding-right: 20px !important;
        display: inline-block !important;
    }
}

/*
 * Card Single Block (Custom Block)
 *
 */

.cardsingle-container {
    display: flex;
    padding: 0 !important;
}
.cardsingle-container .wrap {
    background: var(--white);
    margin: 0 auto;
    max-width: calc(100vw - 40px);
    width: 100%;
    border: solid 1px rgba(0,0,0,0.1) !important;
    border-radius: 3px;
    overflow: hidden;
}
.cardsingle-container .wrap .cardsingle-image-wrap {
    margin: -2px -2px 0 -2px;
}
.cardsingle-container .wrap .cardsingle-image {
    background-size: cover;
    background-position: center;
    width: 100%;
    padding-bottom: 56.25%;
    max-height: 400px;
}
.cardsingle-container .wrap h3 {
    font-size: 1.7rem !important;
    margin: 0;
    line-height: 1.1em;
    font-weight: 700 !important;
}
.cardsingle-container .wrap .cardsingle-content-wrap {
    color: var(--black) !important;
    padding: 35px 35px;
    max-width: 1024px;
}
.links-heading {
    font-size: 0.9em;
    font-weight: 300;
    margin-bottom: 15px;
}
.cardsingle-content {
    font-size: 1.2em;
    font-weight: 300;
    line-height: 1.5em;
    margin-top: 20px;
}
.cardsingle-links {
    margin-top: 30px !important;
    font-size: 1.2em;
    line-height: 1.8em;
    padding-left: 20px;
    border-left: solid 3px var(--greylight);
}
.entry-content .cardsingle-links a.card-link-list, .editor-styles-wrapper .cardsingle-links a.card-link-list {
    color: var(--black) !important;
    border: none;
}
.cardsingle-links a:hover, .cardsingle-links a:focus {
    border: none !important;
}
.cardsingle-links a span {
    font-size: 1em;
    margin-left: 4px;
    position: relative;
    right: 10px;
    top: 6px;
    opacity: 0;
    transition: ease 0.25s all;
}
.cardsingle-links a:hover span, .cardsingle-links a:hover span {
    right: 0;
    opacity: 1;
}
/* Group block overrides */
.wp-block-group.has-background .cardsingle-container .wrap {
    border-color: transparent;
}

@media (max-width: 767px) {
    .cardsingle-container .wrap .cardsingle-content-wrap {
        padding: 40px 30px;
    }
    .cardsingle-container .wrap h3 {
        font-size: 1.75rem;
    }
    .cardsingle-links {
        padding-left: 20px;
    }
}

/*
 * Call To Action Block (Custom Block)
 *
 */
.cta {
    background-color: #212126;
    color: #fff;
    position: relative;
    z-index: 10;
    border-radius: 10px;
    overflow: hidden;
}
.cta .wrap {
    margin: 0;
    position: relative;
    z-index: 1;
    padding: 40px 40px;

}
.cta .cta-btn {
    line-height: 1.4em;
}
/*  Alignments - Full, Wide */
.cta.alignfull {
    border-radius: 0px;
    display: block;
    overflow: initial;
    text-align: center;
}
.cta.alignwide {
    padding: 0;
    margin-bottom: 20px;
    max-width: calc(100vw - 40px);
    text-align: center;
}
.cta.alignfull .wrap, .cta.alignwide .wrap {
    width: 1240px;
    max-width: 100%;
    margin: 0 auto;
    padding: 70px 20px;
    position: relative;
    z-index: 1;
    text-align: center;
    font-size: 1.3em;
}
.cta.alignwide .wrap {
    padding: 90px 40px;
}
.cta.alignfull h2.cta-heading, .block-editor .cta.alignfull h2.cta-heading,
.cta.alignwide h2.cta-heading, .block-editor .cta.alignwide h2.cta-heading {
    color: var(--white);
    font-size: 2.4em;
    line-height: 1.3em;
    margin: 0;
    font-weight: 700;
}
.cta.alignfull .cta-content, .cta.alignwide .cta-content {
    max-width: 950px;
    margin: 30px auto 0;
}
.cta.alignfull .cta-btn, .cta.alignwide .cta-btn {
    margin-top: 40px;

}
.cta.alignfull .cta-btn a, .cta.alignwide .cta-btn a {
    width: auto;
    max-width: 340px;
}
/*  Alignments - Left, Right, Center */
.cta.aligncenter {
    text-align: center;
    margin: 20px 0;
}
.cta.alignleft {
    margin: 0 2em 20px -190px;
    max-width: 450px;
}
.cta.alignright {
    margin: 0 -190px 20px 2em;
    max-width: 450px;
}
.mediatext .cta {
    margin: 0 0 20px;
    /* do not pull out of container when used in a media and text block */
}
.cta.aligncenter h2, .block-editor .cta.aligncenter h2.cta-heading,
.cta.alignleft h2, .block-editor .cta.alignleft h2.cta-heading,
.cta.alignright h2, .block-editor .cta.alignright h2.cta-heading{
    font-size: 2.4em;
    margin: 0 0 20px;
    color: var(--white);
    font-weight: 700;
}
.cta.aligncenter .cta-content, .cta.alignleft .cta-content, .cta.alignright .cta-content {
    max-width: 600px;
    margin: 0 auto 40px;
}
/* CTA Styles */
.cta.has-image-background-color {
    background-size: cover;
    background-position: center;
}
.cta.has-image-background-color .wrap {
    padding-top: 120px;
    padding-bottom: 120px;
}
.cta.has-image-background-color:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
}
.cta.has-light-background-color {
    background-color: var(--white);
    color: var(--black);
    border: solid 1px var(--greylight);
    position: relative;
}
.cta.has-light-background-color h2.cta-heading, .block-editor .cta.has-light-background-color h2.cta-heading {
    color: var(--black) !important;
}
.cta:not(.has-light-background-color) .cta-btn a {
    color: var(--white) !important;
    background: transparent;
    border-color: var(--white);
}
.cta:not(.has-light-background-color) .cta-btn a:hover, .cta:not(.has-light-background-color) .cta-btn a:focus {
    color: var(--black) !important;
    background: var(--white);
}
.wp-block-group.has-black-background-color .cta.has-black-background-color {
    border: solid 1px var(--white);
    /* Add border if dark cta is used in a dark group block */
}

@media (max-width: 1230px) {
    .cta.alignleft {
        margin-left: 0;
    }
    .cta.alignright {
        margin-right: 0;
    }
    .cta.alignwide {
        margin: 0 calc(50% - 50vw + 20px);
    }
}
@media screen and (max-width: 1024px) {
    .cta .wrap {
        flex-wrap: wrap;
    }
    .cta h2.cta-heading {
        flex: 1 100% !important;
        max-width: 100% !important;
        padding-right: 0;
        margin-bottom: 20px !important;
    }
    .cta .cta-content {
        flex: 1 calc(100% - 200px);
        max-width: calc(100% - 200px);
    }
    .cta .cta-btn {
        margin: 40px auto 0;
        text-align: center;
    }
}
@media screen and (max-width: 767px) {
    .cta.alignleft, .cta.alignright {
        margin: 20px 0;
        max-width: 100%;
        text-align: center;
    }
    .cta.alignfull .wrap, .cta.alignfull .wrap {
        justify-content: center;
        flex-wrap: wrap;
    }
    .cta.alignfull h2.cta-heading, .cta.alignwide h2.cta-heading {
        flex: 1 100%;
        max-width: 100%;
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }
    .cta.alignfull .cta-content, .cta.alignwide .cta-content {
        flex: 1 100%;
        max-width: 100%;
        padding-right: 0;
        margin-bottom: 0;
        text-align: center;
    }
}

/*
 * Card Grid Block (Custom Block)
 *
 */
.cardgrid-container {
    padding: 0 !important;
}
.cardgrid-wrap {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    z-index: 1;
}
.card-single {
    display: flex;
    flex-direction: column;
    background: var(--greylight);
    color: var(--black);
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.card-img {
	width: calc(100% + 2px);
    align-self: start;
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 56.25%;
}
.card-content {
    max-width: 100%;
    align-self: stretch;
    flex-grow: 1;
    padding: 35px 35px 35px;
    position: relative;
    transition: ease 0.2s all;
    z-index: 1;
    text-align: center;
}
.card-single img.card-logo {
    width: 150px;
    margin: -15px auto 15px;
    display: block;
}
.card-single .card-heading {
    display: inline-block;
	font-size: 2.4em;
    line-height: 1.1em;
    font-weight: 900;
    position: relative;
    word-break: break-word;
}
.card-content .card-heading-2 {
    font-size: 1.4em;
    font-weight: 300;
    line-height: 1.4em;
    margin: 8px 0 15px;
    word-break: break-word;
}
.card-single a.card-button {
    color: var(--black);
    border-color: rgba(0,0,0,0.2);
    margin: 10px 5px 0;
}

/* Image Layout */
.card-single.has-image-bottom {
    flex-direction: column-reverse;
}

/* Light & Dark Styles */
.card-single.is-style-dark  {
    background: var(--black);
    color: var(--white);
}
.card-single.is-style-dark a.card-button {
    color: var(--white);
    border-color: rgba(255,255,255,0.2);
}
.card-single.is-style-dark a.card-button:is(:hover,:focus) {
    color: var(--black);
    background: var(--white);
    border-color: var(--white);
}

/* Group Block */
.wp-block-group.has-black-background-color .card-single.is-style-dark {
    background: var(--blackdarker);
}

/* Half Layout */
.cardgrid-wrap.half .card-single {
    flex: 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
    margin: 8px 16px 8px 0px;
}
.cardgrid-wrap.half .card-single:nth-child(2n + 2) {
    margin-right: 0;
}
/* Third Layout */
.cardgrid-wrap.third .card-single {
    flex: 1 calc(33.33% - 8px);
    max-width: calc(33.33% - 8px);
    margin: 8px 12px 8px 0px;
}
.cardgrid-wrap.third .card-single:nth-child(3n + 3) {
    margin-right: 0;
}
.cardgrid-wrap.third .card-single .card-heading {
    font-size: 2.2em;
}
.cardgrid-wrap.third .card-content .card-heading-2 {
    font-size: 1.4em;
}
/* Forth Layout */
.cardgrid-wrap.forth .card-single {
    flex: 1 calc(25% - 12px);
    max-width: calc(25% - 12px);
    margin: 12px 16px 12px 0px;
}
.cardgrid-wrap.forth .card-single:nth-child(4n + 4) {
    margin-right: 0;
}
.cardgrid-wrap.forth .card-single .card-heading {
    font-size: 1.6em;
}
.cardgrid-wrap.forth .card-content .card-heading-2 {
    font-size: 1.2em;
}
@media screen and (max-width: 960px) {
    /* Multiple Layouts */
    .cardgrid-wrap .card-single {
        flex: 1 calc(50% - 6px) !important;
        max-width: calc(50% - 6px) !important;
        margin: 6px 12px 6px 0px !important;
    }
    .cardgrid-wrap .card-single:nth-child(2n + 2) {
        margin-right: 0 !important;
    }
    .cardgrid-wrap .card-single .card-heading {
        font-size: 1.8em !important;
    }
    .cardgrid-wrap .card-content .card-heading-2 {
        font-size: 1.3em !important;
    }
}

@media screen and (max-width: 767px) {
	.cardgrid .cardgrid-wrap .card-single {
		flex: 1 100% !important;
        flex-direction: column;
		max-width: 100% !important;
		width: 560px !important;
        margin: 6px 0 !important;

	}
    a.card-single .card-heading span {
        right: 0;
        opacity: 1;
    }
    .card-content {
        padding: 30px 25px 30px;
    }
    .card-single a.card-button {
        padding: 7px 13px;
        margin-left: 2px;
        margin-right: 2px;
    }
}

/*
 * Card Carousel Block (Custom Block)
 *
 */
.wp-block-group.alignfull.home-hero {
    background-image: url(https://staging.xkautosports.com/wp-content/uploads/2026/04/home-background-sample-scaled.jpg);
    background-size: cover;
    background-position: left center;
}
.cardcarousel-container {
    padding: 0 !important;
}
.cardcarousel-wrap {
    margin: 0;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    z-index: 1;
    height: 550px;
}
.frontend .cardcarousel-wrap {
    /* Hide until initialized */
    opacity: 0;
    transition: opacity 0.3s;
}
/* Shown when initialized */
.frontend .cardcarousel-wrap.flickity-enabled {
    opacity: 1;
}
.cardcarousel-wrap:focus {
    outline: none !important;
}
.cardcarousel-wrap .flickity-slider {
    display: flex;
    flex-wrap: nowrap;
}
.cardcarousel-single {
    margin-right: 30px;
    width: 350px;
    max-width: 100%;
    height: 100%;
    background: #000;
    color: #fff;
    border-radius: 20px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}
.cardcarousel-single a {
    display: inline-block;
    width: 100%;
    height: 100%;
    color: #fff !important;
    border: none !important;
    border-radius: 20px;
}
.card-leadin {
    margin: 0 0 8px;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 0.8em;
    letter-spacing: 0.05em;
    background: var(--red);
    padding: 2px 13px;
    border-radius: 10px;
    position: absolute;
    top: 10px;
    left: 10px;
}
.cardcarousel-single .card-content {
    position: absolute;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    display: inline-block;
    width: 100%;
    left: 0;
    padding: 100px 30px 30px;
    text-align: left;
    transition: ease 0.3s all;
}
.cardcarousel-single a:is(:hover,:focus) .card-content {
    padding-top: 120%;
}
.cardcarousel-single .card-heading {
    display: inline-block;
    font-size: 1.7em;
    line-height: 1.2em;
    font-weight: 400;
}
.cardcarousel-single .card-heading span {
    background-image: linear-gradient(var(--red), var(--red));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 3px;
    transition: background-size .3s;
    position: relative;
}
.cardcarousel-single a:is(:hover,:focus) .card-heading span {
    background-size: 100% 3px;
}
.cardcarousel-single a .card-heading svg {
    width: 20px;
    padding: 0px 3px;
    transition: ease 0.3s all;
    position: absolute;
    right: -26px;
    margin-top: 7px;
}
.cardcarousel-single .card-description {
    font-weight: 400;
    line-height: 1.5em;
    margin-top: 6px;
}
.cardcarousel-wrap .flickity-prev-next-button {
    top: auto;
    bottom: -70px;
}
.cardcarousel-wrap .flickity-button:disabled {
    opacity: 0;
}
.cardcarousel-wrap .flickity-prev-next-button.next {
    right: 0px;
}
.cardcarousel-wrap .flickity-prev-next-button.previous {
    left: 0px;
}
.cardcarousel.alignfull .cardcarousel-wrap .flickity-prev-next-button.next {
    right: 20px;
}
.cardcarousel.alignfull .cardcarousel-wrap .flickity-prev-next-button.previous {
    left: 20px;
}
@media screen and (max-width: 782px) {
    .cardcarousel-wrap {
        height: 470px;
    }
    .cardcarousel-single {
        margin-right: 20px;
        width: 300px;
    }
    .cardcarousel-container .flickity-viewport {
        overflow: visible;
    }
    .cardcarousel-wrap .flickity-prev-next-button {
        bottom: -60px;
    }
}

/*
 * Icon Grid Block (Custom Block)
 *
 */
.icongrid-wrap {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
}
.entry-content a.icon-single,
.entry-content .has-background a.icon-single,
.editor-styles-wrapper a.icon-single,
.editor-styles-wrapper .has-background a.icon-single {
    color: var(--black) !important;
    border: none !important;
    border-radius: 6px;
    position: relative;
    top: 0;
    transition: ease 0.3s all;  
    z-index: 1;
}
.entry-content .has-white-color a.icon-single,
.editor-styles-wrapper .has-white-color a.icon-single {
    color: var(--white) !important;
}
.entry-content a.icon-single:hover {
    color: var(--black) !important;
    background: var(--white) !important;
    box-shadow: 0 10px 8px rgb(0 0 0 / 10%);
    top: -6px;
}
.entry-content .wp-block-group.has-background-color a.icon-single:hover {
    background: var(--white);
}
.icon-single-wrap {
	display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;
    text-align: center;
    padding: 30px;
}
.entry-content a.icon-single .icon-single-wrap,
.editor-styles-wrapper a.icon-single .icon-single-wrap {
	border: solid 1px transparent !important;
    border-radius: 6px;
}
.entry-content a.icon-single  .icon-single-wrap:hover {
    border-color: rgba(0,0,0,0.1) !important;
}
.icon-img {
    width: 100px;
    height: auto;
    max-width: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    align-self: flex-start;
    overflow: hidden;
}
.small .icon-img {
    width: 100px;
}
.large .icon-img {
    width: 260px;
}
.icon-img img {
    border-radius: 6px;
}
.icon-single .icon-heading {
    display: inline-block;
    width: 100%;
    font-size: 1.4em;
    line-height: 1.3em;
    font-weight: 700;
    position: relative;
}
.icon-content {
    max-width: 300px;
}
.icon-text {
    width: 100%;
    font-weight: 400;
    line-height: 1.5em;
    margin-top: 10px;
}
.icon-button {
    display: block;
    margin-top: 15px;
    font-size: 1.1em;
    display: block;
    margin-left: 11px;
    border: none !important;
    line-height: 1.3em;
}
a.icon-button {
    color: var(--black) !important;
    display: inline-block;
    width: 100%;
}
a.icon-button:not(:first-of-type) {
    margin-top: 5px;
}
a.icon-button:hover, a.icon-button:focus,
a.icon-single:hover .icon-button, a.icon-single:focus .icon-button {
    border: none !important;
}
.icon-button span {
    font-size: 1em;
    margin-left: 4px;
    padding: 0px;
    position: relative;
    right: 0px;
    top: 1px;
    transition: ease 0.25s all;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
a.icon-button:hover span, a.icon-button:focus span,
a.icon-single:hover .icon-button span, a.icon-single:focus .icon-button span {
    right: -5px;
    opacity: 1;
}

/* Full Layout */
.icongrid-wrap.full .icon-single {
    flex: 1 100%;
    max-width: 100%;
    max-width: 840px;
    margin: 0 auto;
}
.icongrid-wrap.full.large .icon-single {
    align-items: center;
}
.icongrid-wrap.full .icon-content {
    flex: 1 auto;
	width: calc(100% - 150px);
    max-width: 680px;
    text-align: left;
    padding-left: 30px;
}
.icongrid-wrap.full.large .icon-content {
    flex: 1 calc(100% - 290px);
    max-width: calc(100% - 290px);
}
.icongrid-wrap.full .icon-button {
    margin-left: 0;
}
/* Half Layout */
.icongrid-wrap.half .icon-single {
    flex: 1 50%;
    max-width: 50%;
}
.icongrid-wrap.half.large .icon-single {
    align-items: center;
}
.icongrid-wrap.half .icon-content {
    flex: 1 calc(100% - 130px);
    max-width: calc(100% - 130px);
    padding-left: 30px;
    text-align: left;
}
.icongrid-wrap.half.large .icon-content {
    flex: 1 calc(100% - 290px);
    max-width: calc(100% - 290px);
}
.icongrid-wrap.half .icon-button {
    margin-left: 0;
}
/* Third Layout */
.icongrid-wrap.third .icon-single {
    flex: 1 33.333%;
    max-width: 33.3333%;
}
.icongrid-wrap.third .icon-single .icon-img {
    margin-bottom: 15px;
}
.icongrid-wrap.third .icon-content {
    width: 100%;
    flex: 1 100%;
}
.icongrid-wrap.third .icon-text {
    margin-left: auto;
    margin-right: auto;
}
/* Forth Layout */
.icongrid-wrap.forth .icon-single {
    flex: 1 25%;
    max-width: 25%;
}
.icongrid-wrap.forth .icon-single .icon-img {
    margin-bottom: 15px;
}
.icongrid-wrap.forth .icon-single .icon-heading {
    font-size: 1.4em;
}
.icongrid-wrap.forth .icon-content {
    width: 100%;
    flex: 1 100%;
}
.icongrid-wrap.forth .icon-text {
    margin-left: auto;
    margin-right: auto;
}
/* Inline Layout */
.icongrid-wrap.inline {
	justify-content: center;
}
.icongrid-wrap.inline .icon-single {
    flex: 1 160px;
    max-width: 220px;
}
.icongrid-wrap.inline .icon-single-wrap {
	padding: 8px;
}
.icongrid-wrap.inline .icon-content {
    flex: 1 100%;
    max-width: 100%;
    margin: 15px 0 0;
}
.inline .icon-heading {
    font-size: 1.1em;
}
.inline .icon-button {
    margin: 5px 0 0 10px;
    font-size: 0.9em;
    font-weight: 400 !important;
}
.inline .icon-button span {
    top: -1px;
    margin-left: 1px;
}
@media screen and (max-width: 960px) {
    /* Multiple Layouts */
    .icongrid-wrap:not(.full,.inline) .icon-single {
        flex: 1 50%;
        max-width: 50%;
    }
    .icongrid-wrap:not(.full,.inline) .icon-single-wrap {
        padding: 15px 30px;
	}
    .icongrid-wrap:not(.full,.half,.inline) .icon-single .icon-img {
	    margin-bottom: 25px;
	}
    .icongrid-wrap:not(.full,.half,.inline) .icon-content {
        flex: 1 100%;
        max-width: 100%;
        padding-left: 0;
        text-align: center;
    }
    .icongrid-wrap:not(.full,.half,.inline) .icon-button {
        margin-left: 11px;
    }
    /* Full Layout */
    .icongrid-wrap.full.large .icon-content {
        flex: 1 calc(100% - 45% - 30px);
        max-width: calc(100% - 45% - 30px);
    }
    /* Half Layout */
    .icongrid-wrap.half.large .icon-content {
        flex: 1 calc(100% - 45% - 30px);
        max-width: calc(100% - 45% - 30px);
    }
    /* Image Size */
    .large .icon-img {
        width: 45%;
    }
}

@media screen and (max-width: 767px) {
    .icongrid-container {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .icongrid-wrap:not(.inline) .icon-single {
        flex: 1 100% !important;
        max-width: 100% !important;
        width: 500px !important;
        border-bottom: solid 1px rgba(0,0,0,0.2);
        align-items: flex-start !important;
    }
    .has-white-color .icongrid-wrap:not(.inline) .icon-single {
        border-bottom: solid 1px rgba(255,255,255,0.2);
    }
    .icongrid-wrap:not(.inline) .icon-single:last-child {
        border-bottom: none;
    }
    .icongrid-wrap:not(.inline) .icon-single-wrap {
        padding: 25px 0 !important;
    }
    .icongrid-wrap.large:not(.inline) .icon-single-wrap {
        padding: 20px 30px !important;
    }
    .icongrid-wrap:not(.inline) .icon-img {
        width: 70px !important;
        padding: 0;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }
    .icongrid-wrap:not(.inline) .icon-content {
        flex: 1 calc(100% - 70px - 15px) !important;
        max-width: calc(100% - 70px - 15px) !important;
        padding-left: 15px !important;
        text-align: left !important;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .icongrid-wrap.large:not(.inline) .icon-img {
        width: 100% !important;
        padding: 0;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
    }
    .icongrid-wrap.large:not(.inline) .icon-img img {
        max-width: 160px;
    }
    .icongrid-wrap.large:not(.inline) .icon-content {
        flex: 1 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        padding-left: 0 !important;
        justify-content: center;
    }
    .icongrid-wrap:not(.inline,.large) .icon-content .icon-text {
        padding-right: 6%;
    }
    .icongrid-wrap:not(.inline,.large) .icon-button {
        margin-left: 0 !important;
    }
    .icongrid-wrap:not(.inline) .icon-button span {
        right: 0;
        opacity: 1;
    }
}

/*
 * Recent Posts Block (Custom Block)
 *
 */
.recentposts-container .wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
/* Full Card Layout */
.recentposts-container.full {
    max-width: 767px;
    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;
}
.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;
}
.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;
}
.recentposts-container.forth .post-list-wrap .post-list-single:nth-child(4n+4) {
    margin-right: 0;
}
.recentposts-container.forth .post-list-wrap .post-list-single .entry-content {
    padding: 21px 15px 10px;
}
.recentposts-container.forth .post-list-wrap .post-list-single h3 {
    font-size: 1.2em !important;
}

@media screen and (max-width: 960px) {
    
}

@media screen and (max-width: 767px) {
    
}

@media screen and (max-width: 640px) {
    
}

/*
 * Showcase Block (Custom Block)
 *
 */
.showcase-container .wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 100%;
}
/* Full Card Layout */
.showcase-container.full {
    width: 100%;
    max-width: 767px;
    margin: 0 auto;
}
.showcase-container.full .showcase-list-wrap .showcase-list-single {
    flex: 1 100%;
    max-width: 100%;
    margin-right: 0;
}
/* Half Card Layout */
.showcase-container.half .showcase-list-wrap .showcase-list-single {
    flex: 1 calc(50% - 8px);
    max-width: calc(50% - 8px);
    margin-right: 16px;
}
.showcase-container.half .showcase-list-wrap .showcase-list-single:nth-child(2n+2) {
    margin-right: 0;
}
/* Third Card Layout */
.showcase-container.third .showcase-list-wrap .showcase-list-single {
    flex: 1 calc(33.3333333% - 10px);
    max-width: calc(33.3333333% - 10px);
    margin-right: 15px;
}
.showcase-container.third .showcase-list-wrap .showcase-list-single:nth-child(3n+3) {
    margin-right: 0;
}

/*
 * Showcase Grid
 *
 */
.showcase-list-wrap {
    display: flex;
    flex-wrap: wrap;
}
.showcase-list-wrap .showcase-list-single {
    flex: 1 calc(33.33% - 14px);
    max-width: calc(33.33% - 14px);
    margin: 7px 21px 7px 0px;
}
.showcase-list-wrap .showcase-list-single:nth-child(3n+3) {
    margin-right: 0;
}
.showcase-list-wrap .showcase-list-single a {
    display: inline-block;
    color: var(--black);
    background: var(--white);
    border: solid 1px rgba(0,0,0,0.1) !important;
    border-radius: 6px;
    font-weight: 400 !important;
    height: 100%;
    width: 100%;
    text-decoration: none;
    position: relative;
    top: 0;
    transition: ease 0.2s all;
}
.showcase-list-wrap .showcase-list-single a:hover, .showcase-list-wrap .showcase-list-single a:focus {
    color: initial;
    top: -6px;
    box-shadow: 0 10px 8px rgba(0,0,0,0.1);
}
.showcase-list-wrap .entry-image {
    margin: -1px -1px 0;
    border-radius: 6px 6px 0 0;
    padding-bottom: 65.25%;
    background-size: cover;
    background-position: center;
    background-color: var(--greylight);
    position: relative;
}
.showcase-list-wrap .entry-content {
    margin: 0;
    padding: 25px 35px 65px;
    transition: ease 0.15s all;
    z-index: 1;
}
.showcase-list-wrap .entry-image.default-img {
    background-size: 130px;
    background-repeat: no-repeat;
    background-image: url(../images/default-post-image.png);
}
.showcase-nickname {
    font-style: italic;
    margin-bottom: 10px;
    color: var(--red);
}
.showcase-list-wrap .entry-title {
    display: inline-block;
    font-size: 2em !important;
    line-height: 1.1em;
    color: var(--black);
    font-weight: 900 !important;
    position: relative;
    margin: 0 0 15px;
}
.showcase-meta-wrap {
    display: flex;
    line-height: 1.2;
    gap: 10px;
    margin: 10px 0;
    flex-wrap: wrap;
}
.showcase-list-wrap .showcase-meta {
    margin-bottom: 0;
    color: var(--black);
    font-size: 0.9em;
    display: flex;
    align-items: center;
}
.showcase-meta img {
    width: 20px;
    height: 20px;
    margin-right: 6px;
    position: relative;
    top: -1px;
}
.showcase-container.dark .showcase-meta img {
    filter: invert(1);
}
.showcase-list-wrap .showcase-link {
    color: var(--black);
    font-weight: 700;
    position: absolute;
    bottom: 20px;
    left: 35px;
    background-image: linear-gradient(var(--red), var(--red));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 3px;
    transition: background-size .3s;  
}
.showcase-list-wrap a:hover .showcase-link, .showcase-list-wrap a:focus .showcase-link {
    background-size: 100% 3px;
}
.showcase-list-wrap .showcase-link span {
    font-size: 1em;
    margin-left: 4px;
    position: relative;
    right: 0px;
    top: 2px;
    transition: ease 0.25s all;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.showcase-list-wrap a:hover .showcase-link span, .showcase-list-wrap a:focus .showcase-link span {
    right: -5px;
}
/* Dark */
.showcase-container.dark .showcase-list-single a {
    color: var(--white);
    background: var(--black);
    border: solid 1px rgba(255,255,255,0.2) !important;
}
.showcase-container.dark .entry-title,
.showcase-container.dark .showcase-meta,
.showcase-container.dark .showcase-link {
    color: var(--white);
}

@media only screen and (max-width: 960px) {
    .showcase-list-wrap .showcase-list-single {
        flex: 1 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        margin: 0 20px 20px 0;
    }
    .showcase-list-wrap .showcase-list-single:nth-child(3n+3),
    .showcase-list-wrap .showcase-list-single:nth-child(2n+2) {
        margin-right: inherit !important;
    }
}
@media only screen and (max-width: 767px) {
    .showcase-list-wrap .showcase-list-single {
        flex: 1 100% !important;
        max-width: 500px !important;
        margin: 0 auto 20px !important;
    }
    .showcase-list-wrap .entry-title {
        font-size: 1.4em !important;
        margin-bottom: 15px;
    }
}
@media only screen and (max-width: 640px) {
    .showcase-list-wrap .entry-content {
        padding: 20px 20px 60px;
    }
    .showcase-list-wrap .showcase-link {
        left: 20px;
    }
}

/*
 * Testimonials (Custom Block)
 *
 */
.testimonials-container .wrap {
    margin: 0 auto;
    display: block;
    padding: 20px 10px 20px;
    position: relative;
    z-index: 2;
}
.testimonial-sep {
    color: rgba(0,0,0,0.35);
    font-size: 20px;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    margin: 0 auto 20px;
    max-width: 400px;
}
.testimonial-sep:before {
    background-color: rgba(0,0,0,0.15);
    content: '\a0';
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 2px;
    position: relative;
    margin-right: 20px;
}
.testimonial-sep:after {
    background-color: rgba(0,0,0,0.15);
    content: '\a0';
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 2px;
    position: relative;
    margin-left: 20px;
}
.testimonial-items .flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
.testimonial-single {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
}
.testimonial-single-wrap {
    padding: 0px 80px;
}
.testimonial-single .testimonial-title {
    font-size: 2.6em;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.2em;
}
.testimonial-single .testimonial-quote {
    max-width: 900px;
    margin: 0 auto;
    font-size: 1.5em;
    line-height: 1.5em;
    font-weight: 300;
}
.testimonial-name {
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
    margin: 20px 2px 0;
}
.testimonial-company {
    display: inline-block;
    margin: 0 2px;
}
/* Prev Next */
.testimonials-container .flickity-prev-next-button.next {
    top: calc(50% - 22px);
    right: 0px;
}
.testimonials-container .flickity-prev-next-button.previous {
    top: calc(50% - 22px);
    left: 0px;
}

/* Group Block Overrides */
.wp-block-group.has-white-color .testimonial-sep {
    color: rgba(255,255,255,0.5);
}
.wp-block-group.has-white-color .testimonial-sep:before,
.wp-block-group.has-white-color .testimonial-sep:after {
    background-color: rgba(255,255,255,0.35);
}

@media screen and (max-width: 960px) {
    .testimonial-single-wrap {
        padding: 0px 30px;
    }
    .testimonials-container .flickity-prev-next-button {
        display: none;
    }
}
@media screen and (max-width: 600px) {
	.testimonial-single-wrap {
	    padding: 0px;
	}
	.testimonial-single .testimonial-quote {
	    font-size: 1.35em;
	}
    .testimonial-single .testimonial-name, .testimonial-single .testimonial-company {
        font-size: 0.9em;
    }
}

/*
 * Gallery Carousel (Custom Block)
 *
 */
.gallerycarousel-container.alignwide {
	padding: 0 !important;
}
.gallerycarousel-container .wrap {
    margin: 40px auto 0;
    padding: 0;
    display: inline-block;
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 99;
    overflow-x: visible;
}
.gallery-images {
    outline: none !important;
}
.gallery-images .flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
.gallery-images .flickity-prev-next-button {
    top: 50%;
}
.gallery-images .flickity-prev-next-button.next {
    right: -70px;
}
.gallery-images .flickity-prev-next-button.previous {
    left: -70px;
}
.alignfull .gallery-images .flickity-prev-next-button.next {
    right: 20px;
}
.alignfull .gallery-images .flickity-prev-next-button.previous {
    left: 20px;
}
a.gallery-single {
    border: none !important;
    margin-right: 10px;
}
a.gallery-single img {
    display: block;
    height: 300px;
    max-width: unset;
    opacity: 0;
    border-radius: 6px;
    border: solid 2px transparent;
}
.height-large a.gallery-single img {
    height: 550px;
}
a.gallery-single:hover img, a.gallery-single:focus img {
    border-color: var(--red);
}
a.gallery-single img.flickity-lazyloaded {
    opacity: 1;
}
.gallery-slide-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.6);
    padding: 25px 25px;
    font-weight: 400;
    font-size: 0.9em;
    line-height: 1.5em;
    max-width: 600px;
    width: 100%;
}
/* Group Block Overrides */
.wp-block-group.has-white-color .flickity-prev-next-button {
    color: var(--white);
    border-color: rgba(255, 255, 255, .06);
    background: rgba(255, 255, 255, 0.04);
}
.wp-block-group.has-white-color .flickity-page-dots .dot {
    background: var(--white);
}
@media (max-width: 767px) {
    .gallerycarousel-container {
        padding: 0 !important;
    }
    .gallerycarousel-container .wrap {
        padding-top: 10px;
        padding-bottom: 50px;
    }
    .gallery-single img {
      height: 250px;
      margin-bottom: 10px;
    }
}

/*
 * Logo Grid (Custom Block)
 *
 */
.logogrid-container .wrap {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.logogrid-container .wrap.third {
    max-width: 1024px;
}
.logogrid-container .wrap.forth {
    max-width: 1200px;
}
.logogrid-container .wrap.fifth {
    max-width: 1330px;
}
.logogrid-container .wrap.third .logo-single {
    flex: 1 calc(33.333% - 40px);
    max-width: calc(33.333% - 40px);
    margin: 0 20px;
    text-align: center;
}
.logogrid-container .wrap.third .logo-single-wrap {
    padding: 20px 40px;
}
.logogrid-container .wrap.forth .logo-single {
    flex: 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
    margin: 0 15px;
    text-align: center;
}
.logogrid-container .wrap.forth .logo-single-wrap {
    padding: 20px 20px;
}
.logogrid-container .wrap.fifth .logo-single {
    flex: 1 calc(20% - 30px);
    max-width: calc(20% - 30px);
    margin: 0 15px;
    text-align: center;
}
.logogrid-container .wrap.fifth .logo-single-wrap {
    padding: 16px 16px;
}
a.logo-single {
    border: none !important;
    color: #4c4c4c !important;
    font-weight: 400 !important;
    border-radius: 5px;
    border: solid 1px transparent;
    transition: ease 0.3s all;
    text-decoration: underline;
}
a.logo-single:hover, a.logo-single:focus {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.4);
    box-shadow: 0 0 30px rgba(0,0,0,0.1);
    text-decoration: none;
}
.logo-single br {
    display: none;
}
.logo-single img {
    width: auto;
    max-width: 100%;
    max-height: 120px;
    display: block;
    margin: 0 auto;
}
.logo-name {
    margin-top: 12px;
    font-size: 0.9em;
    line-height: 1.2em;
}
@media screen and (max-width: 767px) {
    .logogrid-container .wrap .logo-single {
        flex: 1 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        margin: 0 5px !important;
    }
    .logogrid-container .wrap .logo-single-wrap {
        padding: 20px 20px !important;
	}
    .logo-single img {
        max-width: 150px;
    }
}

/*
 * Accordion (Custom Block)
 *
 */
.accordion-items {
    border: solid 1px var(--black);
}
.accordion-single {
    border-bottom: solid 1px var(--black);
}
.accordion-single:last-child {
    border-bottom: none;
}
.accordion-items__panel[aria-hidden=true] {
    display: none;
}
.accordion-items__header {
    background: var(--white);
    display: block;
    width: 100%;
    font-size: 1.3em !important;
    text-align: left;
    position: relative;
    padding: 20px 50px 20px 30px;
    border: none;
}
.accordion-items__header:after {
    position: absolute;
    top: 20px;
    right: 20px;
    content: "\f347";
    font-family: 'dashicons';
    transition: ease 0.3s all;
}

.accordion-items__header span {
    position: relative;
}
.accordion-items__header span:after {
    content: ' ';
    height: 2px;
    background: var(--black);
    display: block;
    width: 0;
    position: absolute;
    bottom: 0px;
    transition: ease 0.3s all;
}
.accordion-items__header:hover span:after {
    width: 100%
}
/* title opened */
.accordion-items__header[aria-expanded="true"] {
    background: var(--black);
    color: var(--white) !important;    
}
.accordion-items__header[aria-expanded="true"]:after {
    transform: rotate(180deg);
}
/* Animation */
.accordion-items__panel {
    display: block;
    overflow: hidden;
    transition: visibility 0.5s ease, max-height 0.5s ease ;
    max-height: 100em;
    /* large amount of max-height */
    visibility: visible;
    transition-delay: 0s;
    margin: 0;
    padding: 0;
}
/* Animation - hidden state */
[aria-hidden=true].accordion-items__panel {
    display: block;
    max-height: 0;
    visibility: hidden;
    margin: 0;
    padding: 0;
}
/* hide duplicate title inside content */
.accordion-items__title, .animated-accordion__title {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.accordion-content {
    color: var(--black)  !important;;
    border-top: solid 1px var(--black);
    padding: 50px 40px;
    background: var(--white);
}
.accordion-content > :first-child,
.editor-styles-wrapper .accordion-content > :first-child {
    margin-top: 0 !important;
}
.accordion-content > :last-child,
.editor-styles-wrapper .accordion-content > :last-child {
    margin-bottom: 0 !important;
}
@media screen and (max-width: 600px) {
    .accordion-items__header {
        font-size: 1.1em !important;
        padding: 15px 50px 15px 20px;
    }
    .accordion-items__header:after {
        top: 16px;
    }
    .accordion-content {
        padding: 25px 20px;
        font-size: 0.9em;
    }
}

/*--------------------------------------------------------------
# WooCommerce Blocks
--------------------------------------------------------------*/
/*
 * Product Grid
 *
 */
.wc-block-grid ul.wc-block-grid__products {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    gap: 32px;
    font-size: 1em;
}
.wc-block-grid ul li.wc-block-grid__product {
    background: var(--white);
    margin: 0;
    padding: 0 0 30px;
    box-shadow: 0 4px 9px rgb(0 0 0 / 10%);
    border-radius: 6px;
    transition: ease 0.3s all;
    text-align: left;
    position: relative;
    border: none;
    font-size: 1em !important;
}
.wc-block-grid.has-1-columns ul {
    gap: 0;
}
.wc-block-grid.has-1-columns ul li.wc-block-grid__product {
    flex: 1 100%;
    max-width: 100%;
    margin: 10px 0;
}
.wc-block-grid.has-2-columns ul li.wc-block-grid__product {
    flex: 1 calc(50% - 16px);
    max-width: calc(50% - 16px);
}
.wc-block-grid.has-3-columns ul li.wc-block-grid__product {
    flex: 1 calc(33.333% - 22px);
    max-width: calc(33.333% - 22px);
}
.wc-block-grid.has-4-columns ul li.wc-block-grid__product {
    flex: 1 calc(25% - 24px);
    max-width: calc(25% - 24px);
}
.wc-block-grid ul li.wc-block-grid__product:hover {
    box-shadow: 0 10px 15px rgb(0 0 0 / 20%);
    transform: scale(1.02);
}
.wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link {
    display: block;
    border: none !important;
}
.wc-block-grid ul li.wc-block-grid__product .wc-block-grid__product-onsale {
    position: absolute;
    top: 10px;
    left: auto;
    right: 0px;
    margin: 0;
    font-size: 13px;
    border-radius: 3px 0px 0px 3px;
    background-color: var(--reddarker);
    border: none;
    color: var(--white);
    min-width: 50px;
    min-height: 40px;
    line-height: 40px;
    text-transform: none;
}
.wc-block-grid ul li.wc-block-grid__product .wc-block-grid__product-image {
    margin: 0;
}
.wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link img {
    display: block;
    margin: 0 0 30px;
    border-radius: 6px 6px 0 0;
    width: 100%;
}
.wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link .wc-block-grid__product-title {
    font-size: 1.2em;
    font-weight: 700;
    padding: 0 30px;
    margin-bottom: 0.5em;
    color: var(--black);
}
.wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link:hover .wc-block-grid__product-title,
.wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link:focus .wc-block-grid__product-title {
    color: var(--red);
}
.wc-block-grid ul li.wc-block-grid__product .price {
    color: var(--black);
    font-size: 1em;
    padding: 0 30px;
    margin: 0;
    font-weight: 400;
}
li.wc-block-grid__product .wc-block-grid__product-add-to-cart {
    margin: 20px 0 0;
    padding: 0 30px;
    font-size: 0.9em;
}
li.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button {
    border-radius: 6px;
    background: var(--white);
    border: solid 1px;
    color: var(--black);
}
li.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button:hover,
li.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button:focus {
    background: var(--reddarker);
    color: var(--white);
}
li.wc-block-grid__product .wc-block-grid__product-add-to-cart a.add_to_cart_button.added {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}
@media only screen and (max-width: 768px) {
    .wc-block-grid ul.wc-block-grid__products {
        gap: 16px;
    }
    .wc-block-grid ul li.wc-block-grid__product {
        flex: 1 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
        padding: 0 0 20px !important;
        margin: 0 !important;
    }
    .wc-block-grid ul li.wc-block-grid__product .wc-block-grid__product-onsale {
        min-height: 2.7em;
        height: 2.7em;
        padding: 0;
        line-height: 2.7em;
        font-size: 0.7em;
    }
    .wc-block-grid ul li.wc-block-grid__product a.wc-block-grid__product-link .wc-block-grid__product-title {
        font-size: 1em;
        padding: 0 20px;
    }
    .wc-block-grid ul li.wc-block-grid__product .price {
        padding: 0 20px;
    }
}

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

body.frontend,
body.frontend :is(button, input, select, optgroup, textarea),
.editor-styles-wrapper .is-root-container {
    color: var(--black);
    font-family: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-display: swap;
    font-size: 15px;
    line-height: 1.7;
    font-size: 0.95rem;
}

body.frontend :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: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-display: swap;
}

body.frontend :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;
}

body.frontend h1, .block-editor .editor-styles-wrapper h1  {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1em;
    margin-top: 0;
    margin-bottom: 30px;
}

body.frontend h2, .block-editor .editor-styles-wrapper h2 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.1em;
    margin-top: 0;
    margin-bottom: 30px;
}

body.frontend h3, .block-editor .editor-styles-wrapper h3 {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1.1em;
    margin-top: 0;
    margin-bottom: 18px;
}

body.frontend h4, .block-editor .editor-styles-wrapper h4 {
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 1.1em;
    margin-top: 0;
    margin-bottom: 15px;
}

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

body.frontend p,
.block-editor .editor-styles-wrapper p {
    font-size: 17px;
    font-size: 1rem;
    margin-bottom: 28px;
    margin-top: 0;
}

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

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

body.frontend 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;
}

body.frontend :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;
}

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

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

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

@media screen and (max-width: 960px) {
    body.frontend h1, .block-editor .editor-styles-wrapper h1.block-editor-block-list__block {
        font-size: 2.6rem;
    }
    body.frontend h2, .block-editor .editor-styles-wrapper h2.block-editor-block-list__block {
        font-size: 2.2rem;
    }
    body.frontend h3, .block-editor .editor-styles-wrapper h3.block-editor-block-list__block {
        font-size: 1.7rem;
    }
    body.frontend h4, .block-editor .editor-styles-wrapper h4.block-editor-block-list__block {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 600px) {
	body.frontend h1, .block-editor .editor-styles-wrapper h1.block-editor-block-list__block {
	    font-size: 2rem;
	}
	body.frontend h2, .block-editor .editor-styles-wrapper h2.block-editor-block-list__block {
	    font-size: 1.8rem;
	}
	body.frontend h3, .block-editor .editor-styles-wrapper h3.block-editor-block-list__block {
	    font-size: 1.5rem;
	}
    body.frontend 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;
    font-size: 1.05rem;
}

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

.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: 8px;
    padding-left: 10px;
}

.entry-content a:not(.theme-button),
.editor-styles-wrapper a:not(.theme-button) {
    border-bottom: solid 2px transparent;
    color: var(--blue);
    text-decoration: none;
    font-weight: 700;
}

.entry-content a:not(.theme-button):hover, .entry-content a:not(.theme-button):focus,
.editor-styles-wrapper a:not(.theme-button):hover, .editor-styles-wrapper a:not(.theme-button):focus {
    color: var(--bluedarker);
    border-color: var(--bluedarker);
    text-decoration: none;
}

.entry-content p a:not(.theme-button),
.editor-styles-wrapper p a:not(.theme-button) {
    border: none;
    color: var(--blue);
    text-decoration: none;
    font-weight: 700;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size .3s;
}

.entry-content p a:not(.theme-button):hover, .entry-content p a:not(.theme-button):focus,
.editor-styles-wrapper p a:not(.theme-button):hover, .editor-styles-wrapper p a:not(.theme-button):focus {
    background-size: 100% 2px;
}


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

/* Kitchen Sink Theme Button */
a.theme-button, button.theme-button {
    display: inline-block;
    background: var(--black);
    border: solid 2px var(--black);
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    color: var(--white);
    cursor: pointer;
    font-weight: 700;
    padding: 12px 35px 12px;
    width: auto;
    transition: ease 0.2s all;
    text-decoration: none;
    text-align: center;
}
a.theme-button.outline-button, button.theme-button.outline-button {
    background: transparent;
    color: var(--black);
    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(--black);
    border-color: var(--black);
}
/* 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(--blue);
}
a.theme-button.link-button:before, button.theme-button.link-button:before {
    content: ' ';
    height: 2px;
    background: var(--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.red-button {
    background: var(--red);
    border-color: var(--red);
    color: var(--white);
}
.theme-button.red-button.outline-button {
    background: transparent;
    border-color: var(--red);
    color: var(--red);
}
.theme-button.red-button:hover, .theme-button.red-button:focus {
    background: var(--reddarker);
    border-color: var(--reddarker);
    color: var(--white);
}
.theme-button.blue-button {
    background: var(--blue);
    border-color: var(--blue);
    color: var(--white);
}
.theme-button.blue-button.outline-button {
    background: transparent;
    border-color: var(--blue);
    color: var(--blue);
}
.theme-button.blue-button:hover, .theme-button.blue-button:focus {
    background: var(--bluedarker);
    border-color: var(--bluedarker);
    color: var(--white);
}
.theme-button.white-button {
    background: var(--white);
    border-color: var(--white);
    color: var(--black);
}
.theme-button.white-button.outline-button {
    background: transparent;
    border-color: rgba(255,255,255,0.2);
    color: var(--white);
}
.theme-button.white-button:hover, .theme-button.white-button:focus,
.theme-button.white-button.outline-button:hover, .theme-button.white-button.outline-button:focus {
    background: var(--white);
    border-color: var(--white);
    color: var(--black);
}
.theme-button.black-button {
    background: var(--black);
    border-color: var(--black);
    color: var(--white);
}
.theme-button.black-button.outline-button {
    background: transparent;
    border-color: var(--black);
    color: var(--black);
}
.theme-button.black-button:hover, .theme-button.black-button:focus {
    background: var(--greydark);
    border-color: var(--greydark);
    color: var(--white);
}

/* Arrow Buttons */
.theme-button.arrow-button {
    display: inline-flex;
    align-items: center;
}
.theme-button.arrow-button:after {
    font-family: dashicons;
    content: "\f345";
    margin-left: 5px;
    position: relative;
    left: 0;
    top: -1px;
    transition: ease 0.25s all;
}
.theme-button.arrow-button:hover:after, .theme-button.arrow-button:hover:after {
    left: 5px; 
}
/* Large Buttons */
.theme-button.large-button {
    font-size: 1.3em;
}

/*--------------------------------------------------------------
# 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: #fff;
    border: 2px solid #c9c8c8;
    color: #4c4c4c;
    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: 2px 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;
    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 {
    background: var(--black);
    border-color: var(--black);
}
body.frontend input[type="checkbox"]:checked:before, .block-editor .editor-styles-wrapper .block-editor-block-list__block form input[type="checkbox"]:checked:before {
    content: "\f147";
    margin: -5px 0px 0 -7px;
    color: var(--white);
    float: left;
    display: inline-block;
    vertical-align: middle;
    font: 400 32px/1 dashicons;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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: #333;
    font-weight: 300;
    opacity: 1;
}

body.frontend ::-webkit-input-placeholder, .block-editor .editor-styles-wrapper .block-editor-block-list__block form ::-webkit-input-placeholder {
    color: #333;
    font-weight: 300;
}

/* 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
--------------------------------------------------------------*/

body .gform_wrapper {
    margin-bottom: 0;
    margin-top: 0;
}
body .gform_body.gform-body {
    max-width: 700px;
    margin: 0 auto;
}
body .gform_wrapper.gravity-theme .gform_footer {
    margin: 6px auto 0 ;
    max-width: 700px;
}
body .gform_wrapper .gform_heading {
    margin-bottom: 0;
}
body .gform_wrapper span.gform_description {
    margin-bottom: 0;
}
body .gform_wrapper.gravity-theme .gform_fields .gfield {
    margin-top: 10px !important;
}
body .gform_wrapper.gravity-theme .gform_page_fields .gfield {
    margin-top: 30px !important;
}
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;
}
.gform_footer input[type=submit] {
    border-radius: 6px;
    padding: 15px 35px;
    min-width: 180px;
    background: var(--blue);
    border-color: var(--blue);
    color: var(--white);
    letter-spacing: 0.05em;
    transition: ease 0.2s all;
    cursor: pointer;
}
.gform_footer input[type=submit]:hover, .gform_footer input[type=submit]:focus {
    background: var(--bluedarker);
}
.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;
}
/* General Fields */
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: 1.15em;
}
body .gform_wrapper .gfield_required_asterisk {
    font-size: 1.15em;
}
/* Labels and Descriptions */
body .gform_wrapper.gravity-theme .gfield_label {
    font-size: 1.15em;
    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;
}
body .gform_wrapper.gravity-theme .ginput_container {
    margin-top: 10px;
}
/* Steps */
body .gform_wrapper.gravity-theme .gf_page_steps {
    text-align: center;
    margin-bottom: 20px;
    padding: 8px;
    border-bottom: none;
    margin-bottom: 16px;
    background: var(--greylight);
    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 10px;
	    text-align: left;
	}
	body .gform_wrapper.gravity-theme .gf_step {
		margin: 0 20px 0 0 !important;
        width: calc(50% - 20px);
	}
    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 ;
	}
}
/* 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: 2em;
}
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;
}
/* Checkbox & Radio Fields */
.gchoice {
    margin-bottom: 5px;
    display: flex;
}
.gchoice:last-child {
    margin-bottom: 0;
}
.gform_wrapper ul.gfield_checkbox {
    display: flex;
    flex-wrap: wrap;
}
body .gform_wrapper .gfield-choice-input {
    top: 1px;
}
/* Consent Field */
.ginput_container.ginput_container_consent {
    width: 100%;
    padding: 20px 12px;
    background: #fafafa;
    border: solid 1px #d5d5d5;
    display: inline-block;
    border-radius: 3px;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 8%);
}
label.gfield_consent_label {
    padding-left: 0;
    display: inline-block;
    width: calc(100% - 35px);
    float: right;
    font-size: 0.9em;
    line-height: 1.5em;
}
.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(--greendarker);
    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;
}
/* Confirmation */
.gform_confirmation_wrapper {
    border: solid 2px var(--green);
    padding: 80px 20px;
    background: var(--white);
    border-radius: 6px;
}
.gform_confirmation_message {
    max-width: 420px;
    text-align: center;
    margin: 0 auto;
    font-size: 1.2em;
    line-height: 1.5em;
    color: var(--green);
}
.gform_confirmation_message:before {
    content: "\f12a";
    font-family: 'dashicons';
    display: block;
    font-size: 4em;
    line-height: 1;
    color: var(--green);
    margin-bottom: 12px;
}
/* Order Summary Table */
.gfield_html table tr {
    vertical-align: top;
    line-height: 1.2em;
}
.gfield_html table tr ul {
    font-size: 1em;
    margin: 0;
}
.gfield_html table tr li {
    margin: 0;
}
/* All Fields - Build Your Ride Template */
ul.gf-all-fields ul.bulleted {
    font-size: 1em;
    margin: 0;
}
ul.gf-all-fields ul.bulleted li {
    padding: 0;
}
/* Image Field - for custom field class 'image-field' used on radio, checkbox, product and option fields */
.image-field .gfield_radio, .image-field .gfield_checkbox {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
    row-gap: 15px;
}
.image-field .gchoice {
    position: relative;
    text-align: center;
    width: 240px;
    max-width: 47%;
    padding: 15px;
    margin: 0;
    line-height: 1.3em;
    display: flex;
    justify-content: center;
}
.image-field.size-small .gchoice {
    width: 170px;
    max-width: 22%;
}
.image-field .gchoice input.gfield-choice-input {
    border: solid 1px rgba(0,0,0,0.2);
    border-radius: 6px;
    background: none;
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.image-field .gchoice input.gfield-choice-input:checked {
    background: none;
    border-width: 2px;
}
.image-field .gchoice input.gfield-choice-input:checked:before {
    content: '';
    display: none;
}
.image-field .gchoice input.gfield-choice-input:hover {
    border-color: var(--black);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    cursor: pointer;
}
.image-field .gchoice input.gfield-choice-input:after {
    content: "";
    font-family: gform-icons-theme;
    font-size: 30px;
    width: 28px;
    height: 28px;
    overflow: hidden;
    border-radius: 3px;
    pointer-events: none;
    border: none;
    opacity: 0;
    transition: all .3s;
    text-align: center;
    line-height: 28px;
    display: block;
    position: absolute;
    right: 5px;
    top: auto;
    transition: ease 0.2s all;
}
.image-field .gfield_radio .gchoice input.gfield-choice-input:after {
    top: -40px;
}
.image-field .gfield_checkbox .gchoice input.gfield-choice-input:hover:after,
.image-field .gfield_checkbox .gchoice input.gfield-choice-input:checked:after,
.image-field .gfield_radio .gchoice input.gfield-choice-input:checked:after {
    content: '\e917';
}
.image-field .gfield_radio .gchoice input.gfield-choice-input:hover:after {
    top: 5px;
    opacity: 0.5;
}
.image-field .gfield_checkbox .gchoice input.gfield-choice-input:after {
    top: 5px;
    opacity: 0.35;
    border: solid 1px var(--black);
    color: var(--black);
}
.image-field .gfield_radio .gchoice input.gfield-choice-input:checked:after,
.image-field .gfield_checkbox .gchoice input.gfield-choice-input:checked:after {
    color: var(--white);
    background-color: var(--green);
    border-color: var(--green);
    opacity: 1;
    top: 3px;
    right: 3px;
}
.image-field .gchoice label {
    max-width: 100% !important;
}
.image-field .gchoice label img {
    display: block;
    margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
    .image-field.size-small .gchoice {
        max-width: 30%;
        padding: 5px 5px 10px 5px;
    }
}
@media only screen and (max-width: 400px) {
    .image-field.size-small .gchoice {
        max-width: 47%;
        padding: 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: 0 auto;
    padding: 40px 0;
    max-width: calc(100% - 40px);
    text-align: center;
}
header.entry-header .header-content h1, header.entry-header .header-content h2 {
    font-weight: 900;
    text-align: center;
    margin-bottom: 0;
}
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(--black);
    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: 1024px) {
    header.entry-header.default-header .header-content {
        margin-top: 57px;
        padding: 40px 0;
    }
}
@media only screen and (max-width: 767px) {
    .overlay-header 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 .header-subtext {
        font-size: 1.2em;
        max-width: 90%;
    }
}

/*
 * Page Template - Password Protected
 *
 */
.post-password-required {
    background: var(--greylight);
}
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: 6px;
    padding: 50px 30px;
    background: var(--white);
    box-shadow: 0 30px 30px rgb(0 0 0 / 5%);
}
form.post-password-form p:last-child {
    margin: 0;
}
form.post-password-form label {
    display: block;
    margin-top: 20px;
}
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(--bluedarker);
    cursor: pointer;
}
p.password-error {
    color: var(--red);
    font-weight: 700;
}

/*
 * 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(.overlay-header) .site-main,
.showcase-template-default:not(.overlay-header) .site-main {
    margin-top: 76px;
}
 /* Black Header */
.overlay-header .site-header:not(.sticky-header.show-sticky) {
    background: none;
    border: none;
}
.overlay-header .site-header:not(.show-sticky),
.overlay-header.quick-menu-open .site-header:not(.sticky-header) {
    background: var(--black);
    border-bottom: solid 1px var(--black);
}
.overlay-header .site-header:not(.sticky-header):before {
    content: ' ';
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 130px;
    background: rgba(26,25,25,0.6); /* Old browsers */
    background: -moz-linear-gradient(180deg, rgba(26,25,25,0.9) 0%, rgba(26,25,25,0.6) 45%, rgba(26,25,25,0.3) 70%, rgba(26,25,25,0) 100%); /* FF3.6+ */
    background: -webkit-linear-gradient(180deg, rgba(26,25,25,0.9) 0%, rgba(26,25,25,0.6) 45%, rgba(26,25,25,0.3) 70%, rgba(26,25,25,0) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(180deg, rgba(26,25,25,0.9) 0%, rgba(26,25,25,0.6) 45%, rgba(26,25,25,0.3) 70%, rgba(26,25,25,0) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(180deg, rgba(26,25,25,0.9) 0%, rgba(26,25,25,0.6) 45%, rgba(26,25,25,0.3) 70%, rgba(26,25,25,0) 100%); /* IE10+ */
    background: linear-gradient(180deg, rgba(26,25,25,0.9) 0%, rgba(26,25,25,0.6) 45%, rgba(26,25,25,0.3) 70%, rgba(26,25,25,0) 100%); /* W3C */
}
.alert-active.overlay-header .site-header:not(.sticky-header):before {
    top: 50px;
}
.overlay-header .site-header:not(.sticky-header) .site-branding a.site-logo {
    background-image: url('../images/logo-header.png');
}
.overlay-header .site-content {
    margin-top: 0;
}
.overlay-header .site-header:not(.sticky-header) #quick-menu > li > a,
.overlay-header .site-header:not(.sticky-header) .main-menu-btn-text {
    color: var(--white);
}
.overlay-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon,
.overlay-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon:before,
.overlay-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon:after {
    background: var(--white);
}

/* Black Header */
.black-header .site-header:not(.sticky-header) {
    background: var(--black);
    border-color: var(--black);
}
.black-header.quick-menu-open .site-header:not(.sticky-header) {
    background: var(--black);
    border-color: var(--black);
}
.black-header .site-header:not(.sticky-header) #quick-menu > li > a,
.black-header .site-header:not(.sticky-header) .main-menu-btn-text {
    color: var(--white);
}
.black-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon,
.black-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon:before,
.black-header .site-header:not(.sticky-header) .main-menu-btn.collapsed .main-menu-btn-icon:after {
    background: var(--white);
}
@media only screen and (max-width: 1024px) {
    .page-template-default:not(.overlay-header) .site-main,
    .showcase-template-default:not(.overlay-header) .site-main {
        margin-top: 57px;
    }
}

/*
 * 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 header.entry-header .header-content {
    margin-top: 76px;
    text-align: center;
}
.blog-archive header.entry-header.image-header {
    margin-bottom: 30px;
}
.blog-archive #main .wrap {
    margin: 0 auto 50px;
    width: calc(100% - 40px);
}
.archive-description *:last-child {
    margin: 0;
}
.post-list-wrap {
    display: flex;
    flex-wrap: wrap;
}
.post-list-wrap .post-list-single {
    flex: 1 calc(33% - 14px);
    max-width: calc(33% - 14px);
    margin: 14px 21px 14px 0px;
}
.post-list-wrap .post-list-single:nth-child(3n+3) {
    margin-right: 0;
}
.post-list-wrap .post-list-single a {
    display: inline-block;
    color: var(--black);
    background: var(--white);
    border: solid 1px rgba(0,0,0,0.1) !important;
    border-radius: 6px;
    font-weight: 400;
    height: 100%;
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    position: relative;
    top: 0;
    transition: ease 0.2s all;
}
.post-list-wrap .post-list-single a:hover, .post-list-wrap .post-list-single a:focus {
    color: initial;
    top: -6px;
    box-shadow: 0 10px 8px rgba(0,0,0,0.1);
}
.post-list-wrap .entry-image {
    padding-bottom: 65.25%;
    background-size: cover;
    background-position: center;
    background-color: var(--greylight);
    position: relative;
}
.post-list-wrap .entry-content {
    margin: 0;
    padding: 25px 35px 25px;
    position: relative;
    transition: ease 0.15s all;
    z-index: 1;
}
.post-list-wrap .post-list-single.tag-video .entry-image:before {
    content: "\f522";
    font-family: 'dashicons';
    display: block;
    background: #4c4c4c;
    color: #fff;
    width: 60px;
    height: 60px;
    z-index: 1;
    font-size: 32px;
    padding-left: 5px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(50% - 30px);
    left: calc(50% - 30px);
    transition: ease 0.15s all;
    box-shadow: 0 0 0 0 rgb(255 255 255);
}
.post-list-wrap .entry-image.default-img {
    background-size: 130px;
    background-repeat: no-repeat;
    background-image: url(../images/default-post-image.png);
}
.post-list-wrap .post-category {
    text-transform: uppercase;
    font-size: 0.9em;
    display: flex;
    align-items: center;
    line-height: 1.5em;
    margin-bottom: 13px;
}
.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(--black);
    font-weight: 700 !important;
    position: relative;
}
.post-list-wrap a:hover h2, .post-list-wrap a:focus h2,
.post-list-wrap a:hover h3, .post-list-wrap a:focus h3 {
    text-decoration: underline;
}
.post-list-wrap .post-date {
    font-size: 0.9em;
    color: var(--black)
}
.post-list-wrap .post-excerpt p {
    margin-bottom: 0;
    color: var(--black)
}
@media only screen and (max-width: 960px) {
    .post-list-wrap .post-list-single {
        flex: 1 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        margin: 0 20px 20px 0;
    }
    .post-list-wrap .post-list-single:nth-child(3n+3) {
        margin-right: inherit !important;
    }
    .post-list-wrap .post-list-single:nth-child(2n+2) {
        margin-right: inherit !important;
    }
}
@media only screen and (max-width: 767px) {
    .post-list-wrap .post-list-single {
        flex: 1 100% !important;
        max-width: 500px !important;
        margin: 0 auto 20px !important;
    }
    .post-list-wrap h2.entry-title, .post-list-wrap h3.entry-title {
        font-size: 1.4em !important;
        margin-bottom: 15px;
    }
}
@media only screen and (max-width: 640px) {
    .blog-archive .entry-content {
        padding: 30px 20px;
    }
    .post-list-wrap .entry-content {
        padding: 20px 20px 15px;
    }
}

/*
 * 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: 76px;
    text-align: center;
}
.single-post h1.entry-title {
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
}
.single-post a.post-category {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    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(--red);
}
.single-post .post-date {
    margin: 30px auto 0;
    font-size: 0.9em;
}
.single-post .post-image {
    text-align: center;
    background: var(--greylight);
    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;
}



/* Showcase Category Archive
------------------------------------ */
.tax-showcase-category header.entry-header .header-content {
    background: var(--greylight);
    width: calc(100% - 40px);
    max-width: 1330px;
    border-radius: 6px;
    top: 15px;
    margin-top: 76px;
}
.tax-showcase-category img.logo-category {
    max-width: 300px;
    margin-bottom: 20px;
    border: solid 1px rgba(0,0,0,0.1);
    padding: 30px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--white);
}
.tax-showcase-category header.entry-header .header-content h1 {
    font-size: 3em;
}
.tax-showcase-category #main .wrap {
    margin: 30px auto 100px;
    width: calc(100% - 40px);
    max-width: 1330px;
}
.showcase-list-wrap .hentry {
    position: relative;
}
.showcase-list-wrap .hentry.animate {
    transition: ease 0.6s all;
    opacity: 0;
    top: 50px; 
}
.showcase-list-wrap .hentry.animate.in-view {
    opacity: 1;
    top: 0;
}
@media only screen and (max-width: 940px) {
    .tax-showcase-category header.entry-header .header-content {
        margin-top: 57px;
    }
    .tax-showcase-category header.entry-header .header-content h1 {
        font-size: 1.8em;
    }
}


/* Showcase Single
------------------------------------ */
#showcase-breadcrumbs {
    position: absolute;
    top: 80px;
    z-index: 998;
    left: 20px;
    color: var(--white);
    font-size: 0.9em;
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    right: 0;
}
.hero-container #showcase-breadcrumbs {
    top: -20px;
    left: 10px;
}
#showcase-breadcrumbs .wrap {
    max-width: 1800px;
    margin: 0 auto;
}
#showcase-breadcrumbs a {
    color: var(--white);
    background: var(--red);
    text-decoration: none;
    margin: 5px 2px 0;
    padding: 5px 18px;
    display: inline-block;
    border-radius: 6px;
    font-size: 0.9em;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    transition: ease 0.3s all;
}
#showcase-breadcrumbs a:hover, #showcase-breadcrumbs a:focus {
  background: var(--white);
  color: var(--black);
}
@media only screen and (max-width: 1024px) {
    #showcase-breadcrumbs {
      top: 60px;
      left: 10px;
    }
}



/*
 * 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;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.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 { outline: none; }
.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 {
  position: absolute;
  background: none;
  border: solid 1px rgba(0,0,0,0.2);
  color: var(--black);
  background: transparent;
  transition: ease 0.2s all;
}
.flickity-button:hover {
  color: var(--white);
  background: var(--red);
  border-color: var(--red);
  cursor: pointer;
}
.flickity-button:active {
  opacity: 0.6;
}
.flickity-button:disabled {
  opacity: 0.25;
  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 {
  top: -60px;
  width: 60px;
  height: 35px;
  border-radius: 20px;
  /* vertically center */
  transform: translateY(-50%);
  padding: 0;
}
.flickity-prev-next-button.previous { right: 60px; }
.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: 25%;
  top: 25%;
  width: 50%;
  height: 50%;
}
/* ---- page dots ---- */
.flickity-page-dots, ol.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}
.flickity-rtl .flickity-page-dots { direction: rtl; }
.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  padding: 0;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
    .flickity-prev-next-button {
        top: -30px;
        width: 50px;
        height: 30px;
    }
    .flickity-prev-next-button.previous {
        right: 50px;
    }
}