/*
  Theme Name: Downtown Orillia
  Author: Netgain SEO
  Author URI: https://netgain.agency/
  Description: Wordpress theme for Downtown Orillia. Use of this theme outside of this company's website is strictly prohibited.
  Template: ion
  Text Domain: downtownorillia
*/

:root {

    --spacing: 100px;
    --radius: clamp(30px, 3.0208333333333335vw, 58px);
    --radius-lg: clamp(60px, 10.416666666666666vw, 200px);
    --transition: all 0.3s;
    --transition--slow: all 0.6s ease;
    --transition--fast: all 0.15s;

    --font: "Montserrat", sans-serif;
    --heading: var(--font);

    --font-size: 20px;
    --font-size--extra-small: 14px;
    --font-size--nav: 15px;
    --font-size--small: 18px;
    --font-size--medium: 22px;
    --font-size--large: 25px;

    --font-size--h1: 60px;
    --font-size--h1-lg: 73px;
    --font-size--h2-lg: 53px;
    --font-size--h2: 45px;
    --font-size--h2-md: 41px;
    --font-size--h2-sm: 38px;
    --font-size--h3-xlg: 35px;
    --font-size--h3-lg: 30px;
    --font-size--h3: 24px;

    --line-height: 1.5;
    --line-height--small: 1.3;
    --line-height--large: 1.65;
    --line-height--heading: 1.2;

    --container-above--1600: 1920px;
    --container-above--1368: 1920px;

    --blue: #6B9EBD;
    --drkblue: #033046;
    --yellow: #FBCF50;
    --lgtyellow: #fde9ad;
    --orange: #E68B22;
    --red: #B40030;
    --lgtgreen: #6A984D;
    --green: #287744;
    --grey: #A5A5A5;
    --beige: #F4EFE4;
    --pink: #CE2580;
    --dark: var(--drkblue);
    --light: var(--beige);
    --text: #FFF;
    --primary: var(--yellow);
    --secondary: var(--dark);

    --button-padding--top: 19px;
    --button-padding--bottom: 21px;
    --button-padding--left: 47px;
    --button-padding--right: var(--button-padding--left);
    --button-radius: 13px;
    --button-text--casing: capitalize;
    --button-text--size: 14px;
    --button-text--weight: 700;
    --button-text--font: var(--font);
    --button-text--colour: var(--dark);
    --button-text--letter-spacing: 0;
    --button-border-width: 1px;
    --button-background--primary: var(--primary);
    --button-background--secondary: var(--secondary);
    --button-background--ghost: transparent;
    --button-hover--background: var(--blue);
    --button-hover--color: #fff;
    --button-hover--background-dark: #fff;
    --button-hover--color-dark: #000;

    --form-field--border: #FFF;
    --form-field--padding-top: 16px;
    --form-field--padding-bottom: var(--form-field--padding-top);
    --form-field--padding-left: 25px;
    --form-field--padding-right: var(--form-field--padding-left);
    --form-field--radius: 0px;

    --faq-spacing: 30px;
    --faq-line--width: 2px;
    --faq-line--color: #212049;
    --faq-open-close-width: 18px;

    --header-adjustment: 32px;

}

html, body {
    overflow-x: clip !important;
    overflow-x: hidden !important;
}

body {
    background-color: var(--dark);
}

.container-sm {
    width: 1062px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.container-sm.indent-text .elementor-widget-text-editor {
    padding-left: calc(var(--spacing) * 0.48);
    padding-right: calc(var(--spacing) * 0.48);
}

.container-sm.indent {
    padding-left: calc(var(--spacing) * 0.85);
    padding-right: calc(var(--spacing) * 0.85);
}

.pt { padding-top: var(--spacing) !important; }
.pb { padding-bottom: var(--spacing) !important; }
.pt-sm { padding-top: calc( var(--spacing) / 3 ) !important; }
.pb-sm { padding-bottom: calc( var(--spacing) / 3 ) !important; }
.pt-md { padding-top: calc( var(--spacing) / 1.25 ) !important; }
.pb-md { padding-bottom: calc( var(--spacing) / 1.25 ) !important; }
.pt-lg { padding-top: calc( var(--spacing) * 1.5 ) !important; }
.pb-lg { padding-bottom: calc( var(--spacing) * 1.5 ) !important; }

.bg-white { background-color: #FFF !important; }
.bg-beige { background-color: var(--beige) !important; }
.bg-lightblue { background-color: var(--blue) !important; }
.bg-yellow { background-color: var(--lgtyellow) !important; }
.bg-light { background-color: #fffbef !important; }

.bg-white h1, .bg-white h2, .bg-white h3, .bg-white p, .bg-white li {
    color: #000 !important;
}

.bg-beige h1, .bg-beige h2, .bg-beige h3, .bg-beige p, .bg-beige li,
.bg-lightblue h1, .bg-lightblue h2, .bg-lightblue h3, .bg-lightblue p, .bg-lightblue li,
.bg-yellow h1, .bg-yellow h2, .bg-yellow h3, .bg-yellow p, .bg-yellow li,
.bg-light h1, .bg-light h2, .bg-light h3, .bg-light p, .bg-light li {
    color: var(--dark) !important;
}

h1, h2, h3 {
    font-weight: 800;
    line-height: var(--line-height--heading);
}

html .elementor-widget-button .elementor-button {
    color: var(--button-text--colour) !important;
}

html .elementor-widget-button .elementor-button:hover,
html .elementor-widget-button .elementor-button:focus {
    color: #FFF !important;
}

html .button.secondary, html .elementor-element.elementor-button-info .elementor-button {
    color: #FFF !important;
}

html .button.ghost, html .elementor-element.elementor-button-success .elementor-button {
    background: var(--orange) !important;
    border-color: var(--orange) !important;
    color: var(--dark) !important;
}

html .button.ghost:hover, html .elementor-element.elementor-button-success .elementor-button:hover,
html .button.ghost:focus, html .elementor-element.elementor-button-success .elementor-button:focus {
    background: #000 !important;
    border-color: #000 !important;
    color: #FFF !important;
}

#preheader {
    margin-bottom: clamp(-35px, -1.8229166666666667vw, -15px) !important;
    width: max-content;
    position: relative;
    margin-left: auto;
    z-index: 99;
    transition: all 0.3s;
}

#header.active #preheader {
    margin-bottom: clamp(-21px, -1.09375vw, -8px) !important;
    transition: all 0.3s;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    background-color: transparent;
    padding: 43px 0 30px;
    box-shadow: 0 0 15px rgba(3,48,70,0);
    z-index: 9999 !important;
    transition: all 0.3s;
}

#header.active {
    background-color: #fffbef;
    padding: 20px 0;
    box-shadow: 0 0 15px rgba(3,48,70,0.15);
    transition: all 0.3s;
}

.admin-bar #header {
    top: var(--header-adjustment);
}

#header .navigation li.brand {
    margin-right: auto;
}

#header .navigation li:not(.brand, :last-of-type) {
    margin-right: calc(var(--spacing) * 0.32);
}

#header .navigation a,
#preheader ul li a {
    font-size: var(--font-size--nav);
    font-weight: 700;
    color: #FFF;
    transition: all 0.3s;
}

#header.active .navigation a,
#header.active #preheader ul li a {
    color: var(--dark);
    transition: all 0.3s;
}

#header .navigation a:hover,
#header .navigation a:focus,
#header .navigation li.current-menu-item > a,
#preheader ul li a:hover,
#preheader ul li a:focus {
    color: var(--primary);
}

#header.active .navigation a:hover,
#header.active .navigation a:focus,
#header.active .navigation li.current-menu-item > a,
#header.active #preheader ul li a:hover,
#header.active #preheader ul li a:focus {
    color: var(--blue);
}

#header .navigation li.brand a {
    display: flex;
    width: clamp(58px, 4.53125vw, 87px);
    height: clamp(64.66666666666667px, 5.052083333333333vw, 97px);
    transition: all 0.3s;
}

#header.active .navigation li.brand a {
    width: 58px;
    height: 64px;
    transition: all 0.3s;
}

#header .navigation li.brand a:hover,
#header .navigation li.brand a:focus {
    opacity: 0.75;
}

#header .navigation li.brand a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#hero {
    margin-top: 157px;
}

#hero .hero-container {
    height: calc(var(--spacing) * 6.89);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    overflow: hidden;
    justify-content: flex-end;
    padding: 0 30px calc(var(--spacing) * 0.80);
}

#hero h1 {
    margin-bottom: calc(var(--spacing) * 0.37);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.content-text h2 {
    margin: 0 0 25px;
}

.content-text.para-lg h2,
.content-text.heading-lg h2 {
    font-size: var(--font-size--h2-lg);
}

.content-text.para-lg p {
    font-size: var(--font-size--large);
}

.content-text.para-lg.sm p {
    font-size: var(--font-size--small);
}

.content-text.para-lg.regular p {
    font-size: var(--font-size);
}

.content-img.ci-lg {
    margin-top: calc(var(--spacing) * 0.66) !important;
}

.content-img img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(var(--spacing) * 5.78) !important;
    object-fit: cover !important;
}

.content-img.ci-rounded {
    border-radius: var(--radius) !important;
    overflow: hidden !important;
}

.loop {
    position: relative !important;
}

.loop.loop-grey {
    overflow: hidden;
}

.loop:after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    display: block !important;
    width: 1430px !important;
    height: 457px !important;
    background-image: url(i/icon-loop.svg?v=1) !important;
    background-size: 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin: 0 auto !important;
}

.loop.loop-dark:after {
    width: 1350px !important;
    height: 424px !important;
    background-image: url(i/icon-loop-dark.svg) !important;
}

.loop.loop-navy:after {
    width: 1430px !important;
    height: 457px !important;
    background-image: url(i/icon-loop-navy.svg) !important;
    z-index: -1;
}

.loop.loop-grey:after {
    width: 1469px !important;
    height: 603px !important;
    background-image: url(i/icon-loop-grey.svg?v=1) !important;
}

.loop.top:after {
    top: -44px !important;
}

.loop.bottom:after {
    bottom: 0 !important;
}

.loop.middle:after {
    top: 0 !important;
    bottom: 0 !important;
    margin: auto !important;
}

.nav-container {
    padding: 13px 0 0 !important;
}

.nav-container h2 {
    font-weight: 900;
}

html .elementor-widget-button.elementor-button-danger a {
    font-size: var(--font-size--small) !important;
    color: #6B9EBD !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 calc(var(--spacing) * 0.56) 0 0 !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    position: relative;
    transition: all 0.3s;
}

html .elementor-widget-button.elementor-button-danger a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: block;
    width: calc(var(--spacing) * 0.45);
    height: calc(var(--spacing) * 0.45);
    background-image: url(i/icon-btn-arrow.svg?v=1) !important;
    background-size: 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin: auto 0 !important;
    transition: all 0.3s;
}

html .elementor-widget-button.elementor-button-danger a:hover,
html .elementor-widget-button.elementor-button-danger a:focus {
    filter: brightness(0) invert(1);
    transition: all 0.3s;
}

html .elementor-widget-button.elementor-button-warning a {
    color: #FFF !important;
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
    padding: 19px clamp(52px, 3.3333333333333335vw, 64px) 19px clamp(18.666666666666668px, 1.4583333333333333vw, 28px) !important;
    position: relative;
    transition: all 0.3s;
}

html .elementor-widget-button.elementor-button-warning.yellow a {
    background-color: var(--yellow) !important;
    border-color: var(--yellow) !important;
    color: #000 !important;
}

html .elementor-widget-button.elementor-button-warning.yellow a:after {
    filter: brightness(0);
}

html .elementor-widget-button.elementor-button-warning a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 19px;
    display: block;
    width: clamp(21.333333333333332px, 1.6666666666666667vw, 32px);
    height: clamp(16px, 1.25vw, 24px);
    background-image: url(i/icon-arrow.svg) !important;
    background-size: 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    margin: auto 0 !important;
    transition: all 0.3s;
}

html .elementor-widget-button.elementor-button-warning a:hover,
html .elementor-widget-button.elementor-button-warning a:focus,
html .elementor-widget-button.elementor-button-warning.yellow a:hover,
html .elementor-widget-button.elementor-button-warning.yellow a:focus {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
    transition: all 0.3s;
}


html .bg-lightblue .elementor-widget-button.elementor-button-warning a:hover,
html .bg-lightblue .elementor-widget-button.elementor-button-warning a:focus {
    background-color: var(--yellow) !important;
    border-color: var(--yellow) !important;
    color: #000 !important;
    transition: all 0.3s;
}

html .bg-lightblue .elementor-widget-button.elementor-button-warning a:hover:after,
html .bg-lightblue .elementor-widget-button.elementor-button-warning a:focus:after {
    filter: brightness(0);
    transition: all 0.3s;
}

.radius-top {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

.center-img img {
    margin: auto !important;
    display: block !important;
    border-radius: 30px !important;
}

#giftCard h2 {
    font-size: var(--font-size--h2-sm);
    font-weight: 800;
    margin: 0 0 15px;
}

#giftCard h2 + p {
    font-size: var(--font-size--small);
    font-weight: 500;
}

#banner img {
    display: block;
    width: 100%;
    height: calc(var(--spacing) * 4.13);
    max-width: 100%;
    object-fit: cover;
}

.btn-spacing {
    margin-top: calc(var(--spacing) * 0.45) !important;
}

.city-bottom {
    padding-bottom: calc(var(--spacing) * 2.24) !important;
    background-image: url(i/icon-city.svg);
    background-size: calc(var(--spacing) * 12.49);
    background-position: bottom center;
    background-repeat: no-repeat;
}

.overflow-hidden {
    overflow: hidden !important;
}

#mailchimp h2 {
    font-size: var(--font-size--h2-lg);
    font-weight: 800;
    margin: 0 0 15px;
    color: #112630;
}

#mailchimp h2 + p {
    font-size: var(--font-size--medium);
    color: #000;
    margin: 0 0 calc(var(--spacing) * 0.55);
}

#mailchimp .container-sm {
    position: relative;
    z-index: 10;
}

#mailchimp .elementor-form,
#mailchimpSm .elementor-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 0;
}

#mailchimpSm .elementor-form {
    justify-content: flex-start;
}

#mailchimp .elementor-form .elementor-form-fields-wrapper,
#mailchimpSm .elementor-form .elementor-form-fields-wrapper {
    position: relative;
}

#mailchimp .elementor-form .elementor-field-group-email,
#mailchimp .elementor-form .e-form__buttons,
#mailchimpSm .elementor-form .elementor-field-group-email,
#mailchimpSm .elementor-form .e-form__buttons {
    margin: 0 !important;
    padding: 0 !important;
}

#mailchimp .elementor-form .e-form__buttons,
#mailchimpSm .elementor-form .e-form__buttons {
    position: absolute;
    width: max-content;
    right: -1px;
    top: 0;
    bottom: 0;
}

#mailchimp .elementor-form .elementor-field-group-email input,
#mailchimp .elementor-form .e-form__buttons button {
    height: clamp(37.333333333333336px, 2.9166666666666665vw, 56px) !important;
    width: 100% !important;
}

#mailchimpSm .elementor-form .elementor-field-group-email input,
#mailchimpSm .elementor-form .e-form__buttons button {
    height: clamp(33.333333333333336px, 2.6041666666666665vw, 50px) !important;
    width: 100% !important;
}

#mailchimp .elementor-form .elementor-field-group-email {
    width: clamp(296.6666666666667px, 23.177083333333332vw, 445px) !important;
}

#mailchimpSm .elementor-form .elementor-field-group-email {
    width: clamp(225.33333333333334px, 17.604166666666668vw, 338px) !important;
}

#mailchimp .elementor-form .elementor-field-group-email input,
#mailchimpSm .elementor-form .elementor-field-group-email input {
    max-width: 100% !important;
    border: 3px solid var(--dark) !important;
    border-right: none !important;
    border-radius: 13px !important;
    padding-right: calc(var(--spacing) * 2.34) !important;
    color: var(--dark) !important;
    font-size: var(--font-size--extra-small) !important;
    transition: all 0.3s;
}

#mailchimpSm .elementor-form .elementor-field-group-email input {
    border: 1px solid #FFF !important;
    padding-right: calc(var(--spacing) * 1.52) !important;
}

#mailchimp .elementor-form .elementor-field-group-email input:hover,
#mailchimp .elementor-form .elementor-field-group-email input:focus {
    border-color: var(--blue) !important;
    transition: all 0.3s;
}

#mailchimpSm .elementor-form .elementor-field-group-email input:hover,
#mailchimpSm .elementor-form .elementor-field-group-email input:focus {
    border-color: var(--primary) !important;
    transition: all 0.3s;
}

#mailchimp .elementor-form .e-form__buttons button {
    width: clamp(150px, 10.989583333333334vw, 211px) !important;
    max-width: 100% !important;
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
    color: #FFF !important;
    padding: clamp(12.666666666666666px, 0.9895833333333334vw, 19px) clamp(31.333333333333332px, 2.4479166666666665vw, 47px) clamp(14px, 1.09375vw, 21px) !important;
}

#mailchimpSm .elementor-form .e-form__buttons button {
    width: clamp(115px, 7.083333333333333vw, 136px) !important;
    max-width: 100% !important;
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--dark) !important;
    padding: 10px;
}

#mailchimp .elementor-form .e-form__buttons button:hover,
#mailchimp .elementor-form .e-form__buttons button:focus,
#mailchimpSm .elementor-form .e-form__buttons button:hover,
#mailchimpSm .elementor-form .e-form__buttons button:focus {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
    color: #FFF !important;
}

#gallery .e-gallery-item {
    height: clamp(55px, 11.5625vw, 222px);
}

#gallery .e-gallery-item .e-gallery-image {
    padding: 0 !important;
    display: block;
    width: 100%;
    height: clamp(55px, 11.5625vw, 222px);
    object-fit: cover;
}

#footer {
    padding: calc(var(--spacing) * 0.52) 30px calc(var(--spacing) * 0.40) !important;
}

#footer .brand {
    margin: 0 0 25px;
}

#footer .brand a {
    display: flex;
    width: clamp(106px, 8.28125vw, 159px);
    height: clamp(118px, 9.21875vw, 177px);
}

#footer .brand a:hover,
#footer .brand a:focus {
    opacity: 0.75;
}

#footer .brand a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#footer .footer-contact p {
    margin-bottom: calc(var(--spacing) * 0.44);
}

#footer .footer-contact p,
#footer .footer-contact p a {
    font-size: clamp(13px, 0.8333333333333334vw, 16px);
    font-weight: 400;
    color: #FFF;
}

#footer .footer-contact p strong {
    display: block;
    font-weight: 400;
}

#footer .footer-contact p a:hover,
#footer .footer-contact p a:focus {
    color: var(--primary);
}

#footer .footer-menu ul {
    column-count: 3;
    column-gap: 40px;
    margin-top: 40px;
}

#footer .footer-menu ul li {
    margin: 0 0 15px;
}

#footer .footer-menu ul li a,
#footer .footer-socials ul li:nth-child(1) {
    font-size: var(--font-size--extra-small);
    color: #FFF;
    font-weight: 700;
    padding: 0;
}

#footer .footer-menu ul li a:hover,
#footer .footer-menu ul li a:focus {
    color: var(--primary);
}

#footer .footer-socials {
    width: max-content;
    margin: 40px 0 0 auto;
}

#footer .footer-socials ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: clamp(110px, 9.895833333333334vw, 190px);
    grid-gap: 15px 12px;
}

#footer .footer-socials ul li:nth-child(1) {
    width: 100%;
    font-size: 16px;
}

#footer .footer-socials ul li a .elementor-icon-list-icon {
    display: block;
    width: 22px;
    height: 22px;
}

#footer .footer-socials ul li a .elementor-icon-list-icon svg {
    margin: 0;
    display: block;
    width: 100%;
    height: 100%;
}

#footer .footer-socials ul li a .elementor-icon-list-icon svg * {
    fill: #FFF;
}

#footer .footer-socials ul li a .elementor-icon-list-text {
    display: none;
}

#footer .footer-socials ul li a:hover,
#footer .footer-socials ul li a:focus {
    opacity: 0.75;
}

#copyright {
    padding: 0 30px calc(var(--spacing) * 0.52);
}

#copyright p {
    font-size: var(--font-size--extra-small);
    color: #FFF;
}

.elementor-element:has(#businesses.business-slider) > .e-con-inner {
    overflow: hidden !important;
}

#businesses.business-slider {
    margin-top: calc(var(--spacing) * 0.70) !important;
}

#businesses.business-slider.swiper {
    margin: 0 -365px;
}

#businesses.business-slider .swiper-button-prev,
#businesses.business-slider .swiper-button-next{
    display: none !important;
}

#businesses.directory-grid {
    display: flex;
    flex-wrap: wrap;
    grid-gap: calc(var(--spacing) * 0.67) 11px;
}

#businesses.directory-grid .business-card {
    width: calc(25% - 9px);
}

#businesses .business-card a:not(.cat-btn) {
    display: block;
    width: 100%;
    height: clamp(200px, 18.541666666666668vw, 356px);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    overflow: hidden;
    margin-bottom: calc(var(--spacing) * 0.47);
}

#businesses.directory-grid .business-card a:not(.cat-btn) {
    height: 266px;
    margin-bottom: calc(var(--spacing) * 0.29);
}

#businesses .business-card a:not(.cat-btn) img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s;
}

#businesses .business-card a:not(.cat-btn):hover img {
    transform: scale(1.1);
    transition: all 0.3s;
}

#businesses .business-card h3,
#businesses .business-card .directory-address {
    font-weight: 400;
    color: #FFF;
}

#businesses .business-card h3 {
    font-size: var(--font-size--h3);
    margin: 0 0 15px;
}

#businesses.directory-grid .business-card h3 {
    font-size: var(--font-size--small);
    margin: 0 0 8px;
}

#businesses .business-card .directory-address {
    font-size: var(--font-size--small);
    margin: 0 0 20px;
}

#businesses.directory-grid .business-card .directory-address {
    font-size: 15px;
    margin: 0;
}

#businesses .business-card .category a.cat-btn {
    display: block;
    font-size: var(--font-size--extra-small);
    font-weight: 700;
    line-height: 1.25;
    padding: 10px calc(var(--spacing) * 0.40);
    border: 3px solid;
    border-radius: 13px;
    width: max-content;
}

#businesses .business-card .category.food-drink a.cat-btn {
    color: var(--pink);
    border-color: var(--pink);
}

#businesses.directory-grid .business-card .directory-sunshine {
    font-size: 10px;
    font-weight: 700;
    color: var(--yellow);
    margin-top: 8px;
    position: relative;
    padding-left: 17px;
}

#businesses.directory-grid .business-card .directory-sunshine:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 9px;
    height: 9px;
    background-color: var(--yellow);
    border-radius: 100%;
    margin: auto 0;
}

.directory-footer {
    display: flex !important;
    justify-content: center !important;
    margin-top: calc(var(--spacing) * 0.50) !important;
}

#upcomingEvents, #custom-evt-grid {
    display: flex;
    flex-wrap: wrap;
}

#upcomingEvents {
    margin: clamp(25px, 3.3854166666666665vw, 65px) 0;
    grid-gap: 30px;
    justify-content: center;
}

#custom-evt-grid {
    margin: calc(var(--spacing) * 0.40) 0 0;
    grid-gap: 60px 30px;
    justify-content: flex-start;
}

#upcomingEvents .event-card,
#custom-evt-grid .event-card.all-events {
    width: calc(33% - 20px);
}

#upcomingEvents .event-card .event-card__image,
#custom-evt-grid .event-card.all-events .event-card__image {
    border-radius: 30px;
    height: calc(var(--spacing) * 2.34);
    width: 100%;
    margin-bottom: calc(var(--spacing) * 0.30);
    overflow: hidden;
}

#custom-evt-grid .event-card.all-events .event-card__image {
    margin-bottom: calc(var(--spacing) * 0.20);
}

#upcomingEvents .event-card .event-card__image img,
#custom-evt-grid .event-card.all-events .event-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#upcomingEvents .event-card .event-card__content {
    position: relative;
    padding-left: 104px;
    min-height: 82px;
}

#upcomingEvents .event-card .event-card__content h3,
#custom-evt-grid .event-card.all-events .event-card__content h3 {
    font-size: var(--font-size);
    font-weight: 700;
    margin: 0 0 5px;
}

#upcomingEvents .event-card .event-card__content .event-date {
    display: flex;
    flex-direction: column;
    font-size: clamp(8.666666666666666px, 0.6770833333333334vw, 13px);
    font-weight: 700;
    border: 3px solid var(--dark);
    color: var(--dark) !important;
    border-radius: 10px;
    width: 82px;
    height: 82px;
    justify-content: center;
    align-items: center;
    padding: clamp(9.333333333333334px, 0.7291666666666666vw, 14px) clamp(12px, 0.9375vw, 18px);
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
}

#custom-evt-grid .event-card.all-events .event-card__content .event-date {
    margin: 0 0 calc(var(--spacing) * 0.20);
    width: max-content;
    max-width: 100%;
    font-size: clamp(13px, 0.78125vw, 15px);
    font-weight: 700;
    padding: 9px clamp(36px, 2.8125vw, 54px);
    border-radius: 11px;
}

#custom-evt-filter-container ul {
    margin: calc(var(--spacing) * 0.30) 0 0;
    flex-wrap: wrap;
    grid-gap: 10px 15px !important;
}

#custom-evt-filter-container ul li {
    margin: 0;
}

#custom-evt-filter-container .custom-evt-btn {
    display: flex;
    font-size: 15px;
    font-weight: 700;
    padding: 14px calc(var(--spacing) * 0.34);
    border-radius: 13px;
    transition: all 0.3s;
}

#custom-evt-filter-container .custom-evt-btn:hover,
#custom-evt-filter-container .custom-evt-btn:focus {
    border-color: #FFF !important;
    color: var(--dark) !important;
    background-color: #FFF !important;
    transition: all 0.3s;
}

.white #upcomingEvents .event-card .event-card__content .event-date {
    border: 3px solid #FFF;
    color: #FFF !important;
}

#upcomingEvents .event-card .event-card__content .event-date span,
#custom-evt-grid .event-card.all-events .event-card__content .event-date span {
    font-size: var(--font-size--h3-lg);
    font-weight: 700;
    margin: 0 0 5px;
}

#blog .blog-container {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 45px;
    justify-content: center;
    margin: calc(var(--spacing) * 0.41) 0 calc(var(--spacing) * 0.25);
    flex-direction: unset;
}

#blog .featured, #blog .blog-list {
    width: calc(50% - 23px);
}

#blog .video {
    width: calc(75% - 23px);
}

#blog .video-featured {
    width: calc(25% - 23px);
}

#blog .video .elementor-post {
    position: relative;
}

#blog .elementor-post__thumbnail__link {
    overflow: hidden !important;
    width: 100% !important;
    border-radius: 17px !important;
}

#blog .standard .elementor-post__thumbnail__link {
    margin-bottom: calc(var(--spacing) * 0.35) !important;
    height: calc(var(--spacing) * 3.00) !important;
}

#blog .video .elementor-post__thumbnail__link {
    position: relative;
    height: calc(var(--spacing) * 3.39) !important;
    margin: 0;
}

#blog .video .elementor-post__thumbnail__link:after {
    content: '';
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.55));
}

#blog .video-featured .elementor-post__thumbnail__link {
    height: calc(var(--spacing) * 0.97) !important;
    width: calc(var(--spacing) * 1.00) !important;
    margin: 0 10px 0 0 !important;
}

#blog .video-featured .elementor-posts {
    grid-gap: 24px !important;
}

#blog .elementor-post__thumbnail__link .elementor-post__thumbnail {
    padding-bottom: 0 !important;
    height: 100% !important;
}

#blog .elementor-post__thumbnail__link .elementor-post__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    left: unset !important;
    position: unset !important;
    top: unset !important;
    transform: unset !important;
    object-fit: cover;
    transition: all 0.3s;
}

#blog .elementor-post__thumbnail__link:hover .elementor-post__thumbnail img,
#blog .elementor-post__thumbnail__link:focus .elementor-post__thumbnail img {
    transform: scale(1.1) !important;
    transition: all 0.3s;
}

#blog .elementor-post__title a:hover,
#blog .elementor-post__title a:focus {
    color: var(--blue) !important;
}

#blog .featured .elementor-post__thumbnail__link {
    height: calc(var(--spacing) * 3.15);
    border-radius: 28px;
    margin: 0 0 25px !important;
}

#blog .featured .elementor-post__title a {
    display: block;
    font-size: var(--font-size--h3);
    font-weight: 700;
    color: #000;
    margin: 0 0 8px;
    line-height: 1.2;
    text-decoration: none !important;
}

#blog .featured .elementor-post-date {
    font-size: var(--font-size--small);
    font-weight: 700;
    color: #B2B2B2;
}

#blog .featured .elementor-post__excerpt p {
    font-size: var(--font-size--small);
    font-weight: 400;
}

#blog .elementor-post__excerpt p:after {
    content: ' ...';
}

#blog .blog-list .elementor-post__thumbnail__link {
    height: calc(var(--spacing) * 1.37);
    width: calc(var(--spacing) * 1.77);
    flex: 0 0 calc(var(--spacing) * 1.77);
    border-radius: 10px;
    margin: 0 !important;
}

#blog .blog-list .elementor-post__title a {
    display: block;
    font-size: var(--font-size--small);
    font-weight: 700;
    color: #000;
    margin: 0;
    line-height: 1.4;
    pointer-events: none !important;
    margin: 0 0 5px;
    text-decoration: none !important;
}

#blog .blog-list .elementor-post__text {
    width: calc(100% - calc(var(--spacing) * 1.77));
    flex: 0 0 calc(100% - calc(var(--spacing) * 1.77));
    padding-right: calc(var(--spacing) * 0.30);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#blog .video .elementor-post__text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(var(--spacing) * 0.46);
    padding: 0 20px;
}

#blog .video .elementor-post__text .elementor-post__title a {
    color: #FFF;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

#blog .video .elementor-post__text .elementor-post__title a:hover,
#blog .video .elementor-post__text .elementor-post__title a:focus {
    color: var(--yellow) !important;
}

#blog .video-featured .elementor-post__text {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
}

#blog .video-featured .elementor-post__text .elementor-post__meta-data {
    margin: 0 0 8px;
}

#blog .video-featured .elementor-post__text .elementor-post__meta-data .elementor-post-date {
    font-size: 12px;
    font-weight: 700;
    color: #A5A5A5;
}

#blog .video-featured .elementor-post__text .elementor-post__title a {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #000;
    text-decoration: none !important;
    line-height: 1.46;
}

#blog .video-featured .elementor-post__text .elementor-post__title a:hover,
#blog .video-featured .elementor-post__text .elementor-post__title a:focus {
    color: var(--yellow) !important;
}

#blog .blog-list .elementor-post__read-more {
    font-size: var(--font-size--small);
    font-weight: 600;
    text-decoration: underline;
    color: #000;
}

#blog .blog-list .elementor-post__read-more:hover,
#blog .blog-list .elementor-post__read-more:focus {
    color: var(--blue);
}

#blog .blog-list .elementor-posts-container {
    grid-gap: 0 !important;
}

#blog .blog-list .elementor-post:not(:last-of-type) {
    padding-bottom: 13px !important;
    margin-bottom: 13px !important;
    border-bottom: 2px solid #E6E6E6 !important;
}

#blog .standard .elementor-post__title a {
    color: #033046;
    text-decoration: none;
    font-weight: 700;
    font-size: var(--font-size);
}

#blog .standard .elementor-post__title a:hover,
#blog .standard .elementor-post__title a:focus {
    color: var(--blue);
}

#blog .standard .elementor-post__meta-data .elementor-post-date {
    font-size: var(--font-size--small);
    font-weight: 700;
    color: #A5A5A5;
    display: block;
    margin: calc(var(--spacing) * 0.15) 0 calc(var(--spacing) * 0.20);
}

#blog .standard .elementor-post__read-more {
    font-size: var(--font-size);
    font-weight: 700;
    color: var(--dark);
}

#blog .standard .elementor-post__read-more:hover,
#blog .standard .elementor-post__read-more:focus {
    color: var(--blue) !important;
}

.mt-sm { margin-top: calc(var(--spacing) * 0.60); }
.mb-sm { margin-bottom: calc(var(--spacing) * 0.60); }

#dobiaStaff {
    display: flex;
    flex-wrap: wrap;
    grid-gap: calc(var(--spacing) * 0.65);
    justify-content: center;
    flex-direction: unset;
    margin: calc(var(--spacing) * 0.20) 0 calc(var(--spacing) * 0.50);
}

#dobiaStaff .dobia-staff-card {
    width: calc(33% - calc(var(--spacing) * 0.40));
}

#dobiaStaff .dobia-staff-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 30px;
    margin-bottom: calc(var(--spacing) * 0.25);
}

#dobiaStaff .dobia-staff-card h3 {
    font-size: var(--font-size);
    font-weight: 800;
    margin: 0 0 5px;
}

#dobiaStaff .dobia-staff-card ul {
    margin: 15px 0 0;
    padding: 0;
    list-style: none;
}

#dobiaStaff .dobia-staff-card ul li {
    margin: 0;
}

#dobiaStaff .dobia-staff-card h3 + p,
#dobiaStaff .dobia-staff-card ul li,
#dobiaStaff .dobia-staff-card ul li a {
    font-size: var(--font-size--small);
    font-weight: 400;
    color: #FFF;
}

#dobiaStaff .dobia-staff-card ul li a:hover,
#dobiaStaff .dobia-staff-card ul li a:focus {
    color: var(--primary);
}

.btn-group {
    margin-top: calc(var(--spacing) * 0.55) !important;
}

#bodContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    grid-gap: calc(var(--spacing) * 0.38) calc(var(--spacing) * 0.21);
    flex-direction: unset;
    margin-top: calc(var(--spacing) * 0.50);
}

#bodContainer .bod-card {
    width: calc(25% - 16px);
}

#bodContainer .bod-card .elementor-widget-image {
    border-radius: 30px;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 250px;
    margin: 0 0 calc(var(--spacing) * 0.23);
}

#bodContainer .bod-card .elementor-widget-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#bodContainer .bod-card h3 {
    font-size: var(--font-size--small);
    font-weight: 800;
    margin: 0 0 5px;
}

#bodContainer .bod-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#bodContainer .bod-card ul li {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    line-height: 1.18;
}

#faqs .faqs {
    margin-top: calc(var(--spacing) * 0.30);
}

#faqs .faqs h3 {
    font-size: var(--font-size);
    font-weight: 700;
    padding-right: calc(var(--spacing) * 0.26);
}

#faqs .faqs h3 .faq-icons {
    padding-left: calc(var(--spacing) * 0.50);
}

#faqs .faqs .faq-content {
    padding: 30px 0 0;
}

#faqs .faqs .faq-content p {
    font-size: var(--font-size--small);
}

.boundry-image a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: calc(var(--spacing) * 0.55) 0 calc(var(--spacing) * 0.89) !important;
    overflow: hidden;
}

.boundry-image a img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.section-heading.xl h2 {
    font-size: var(--font-size--h1-lg);
    font-weight: 800;
}

.section-heading.mb h2 {
    margin-bottom: calc(var(--spacing) * 0.43) !important;
}

.section-heading.mb-sm h2 {
    margin-bottom: calc(var(--spacing) * 0.25) !important;
}

#directory-filter-container {
    margin: calc(var(--spacing) * 0.30) 0 calc(var(--spacing) * 0.76);
}

#directory-filter-container .directory-filters {
    display: flex;
    grid-gap: 10px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

#directory-filter-container .directory-filters .filter-btn {
    display: flex;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.26;
    padding: clamp(11.333333333333334px, 0.8854166666666666vw, 17px) clamp(30.666666666666668px, 2.3958333333333335vw, 46px);
    border: 2px solid;
    border-radius: 13px;
    background-color: transparent;
}

#directory-filter-container .directory-filters li:has(.cat-item-uncategorized) {
    display: none !important;
}

#businesses .business-card .category.uncategorized a.cat-btn {
    border-color: #FFF;
    color: #FFF;
}

#directory-filter-container .directory-filters .filter-btn.cat-item-accommodations,
#businesses .business-card .category.accommodations a.cat-btn {
    border-color: var(--orange);
    color: var(--orange);
}

#directory-filter-container .directory-filters .filter-btn.cat-item-food-drink,
#businesses .business-card .category.food-drink a.cat-btn {
    border-color: var(--pink);
    color: var(--pink);
}

#directory-filter-container .directory-filters .filter-btn.cat-item-services,
#businesses .business-card .category.services a.cat-btn {
    border-color: var(--blue);
    color: var(--blue);
}

#directory-filter-container .directory-filters .filter-btn.cat-item-shopping,
#businesses .business-card .category.shopping a.cat-btn {
    border-color: var(--yellow);
    color: var(--yellow);
}

#directory-filter-container .directory-filters .filter-btn.cat-item-things-to-do,
#businesses .business-card .category.things-to-do a.cat-btn {
    border-color: var(--lgtgreen);
    color: var(--lgtgreen);
}

#directory-filter-container .directory-filters .filter-btn:hover,
#directory-filter-container .directory-filters .filter-btn:focus,
#directory-filter-container .directory-filters .filter-btn.active {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
    color: #FFF !important;
}

#businesses .business-card .category a.cat-btn:hover,
#businesses .business-card .category a.cat-btn:hover {
    background-color: var(--blue) !important;
    border-color: var(--blue) !important;
    color: #FFF !important;
}

#credsContainer {
    margin-top: calc(var(--spacing) * 0.83);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    grid-gap: calc(var(--spacing) * 0.34) calc(var(--spacing) * 2.00);
    flex-direction: unset !important;
}

#credsContainer .cred-card {
    width: calc(33% - calc(var(--spacing) * 1.50));
}

#credsContainer .cred-card .elementor-icon-box-title {
    font-size: var(--font-size--h2-md);
    font-weight: 700;
    margin: 0 0 10px !important;
}

#credsContainer .cred-card .elementor-icon-box-description {
    font-size: var(--font-size--small);
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1.1;
}

.dark-text h1, .dark-text h2, .dark-text h3, .dark-text p, .dark-text li {
    color: #000 !important;
}

.container-sm.dark-text {
    position: relative;
    z-index: 99;
}

.pg-content .pg-content-text h2 {
    margin: 0 0 calc(var(--spacing) * 0.15);
}

.pg-content .pg-content-text .pg-content-button-group {
    margin-top: calc(var(--spacing) * 0.52);
}

.pg-content .pg-content-image {
    height: 100%;
}

.pg-content .pg-content-image img {
    display: block;
    width: 100%;
    height: calc(var(--spacing) * 5.16);
    object-fit: cover;
    border-radius: 21px;
}

.dtgc .pg-content .pg-content-image img {
    height: auto !important;
}

.sec-calendar-wrapper {
    max-width: 100%;
    margin: 0 auto;
    font-family: inherit;
    margin-top: calc(var(--spacing) * 0.55);
}

.sec-calendar-inner-container {
    border: 5px solid #033046;
    border-radius: 19px;
    padding: calc(var(--spacing) * 0.40);
}

.sec-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(var(--spacing) * 0.50);
}

.sec-calendar-header button {
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}
.sec-calendar-header button:hover {
    opacity: 0.75;
}

.sec-calendar-header button svg {
    width: calc(var(--spacing) * 0.31);
    height: calc(var(--spacing) * 0.23);
    fill: #033046;
}

#sec-month-year {
    margin: 0;
    color: #033046;
    font-size: var(--font-size--h3-lg);
    font-weight: 600;
}

.sec-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    text-align: center;
}

.sec-day-name {
    font-weight: 600;
    padding: 0;
    color: #033046;
    font-size: clamp(16px, 1.5625vw, 30px);
    margin: 0 0 8px;
}

.sec-day {
    background-color: #E5E5E5;
    color: #122243;
    padding: clamp(10px, 0.78125vw, 15px);
    cursor: pointer;
    position: relative;
    border-radius: 8px;
    transition: background 0.2s;
    min-height: clamp(72.66666666666667px, 5.677083333333333vw, 109px);
    box-sizing: border-box;
    font-size: var(--font-size--h3-lg);
    font-weight: 600;
}

.sec-day:hover {
    background-color: #d4d4d4;
}

.sec-day.empty {
    background-color: transparent !important;
    cursor: default;
}

.sec-day.has-event {
    font-weight: bold;
}

.sec-day.selected-day {
    background-color: #cccccc;
    outline: 2px solid #033046;
}

.sec-event-dots {
    position: absolute;
    bottom: clamp(16px, 1.25vw, 24px);
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.sec-event-dot {
    width: clamp(10px, 1.0416666666666667vw, 20px);
    height: clamp(10px, 1.0416666666666667vw, 20px);
    border-radius: 50%;
    display: inline-block;
}

.sec-event-details-container {
    margin-top: calc(var(--spacing) * 0.25);
    display: none;
}

.sec-event-details-inner {
    display: flex;
    flex-wrap: wrap;
    grid-gap: clamp(16px, 1.25vw, 24px);
    padding: clamp(10px, 0.78125vw, 15px) clamp(13.333333333333334px, 1.0416666666666667vw, 20px) 0;
}

.sec-event-details-inner .sec-event-item {
    width: calc(33% - clamp(8.666666666666666px, 0.6770833333333334vw, 13px));
    padding: clamp(11.333333333333334px, 0.8854166666666666vw, 17px) clamp(20px, 1.5625vw, 30px) clamp(11.333333333333334px, 0.8854166666666666vw, 17px) clamp(37.333333333333336px, 2.9166666666666665vw, 56px);
    position: relative;
    border: 3px solid #033046;
    border-radius: 15px;
}

.sec-event-title {
    font-size: var(--font-size);
    font-weight: 700;
    color: #122243;
    margin: 0 0 5px;
}

.sec-event-meta {
    font-size: clamp(13px, 0.8333333333333334vw, 16px);
    color: #122243;
    font-weight: 600;
    margin: 0 0 5px;
}

.sec-event-item .category-color {
    display: block;
    width: clamp(13.333333333333334px, 1.0416666666666667vw, 20px);
    height: clamp(13.333333333333334px, 1.0416666666666667vw, 20px);
    position: absolute;
    top: clamp(13.333333333333334px, 1.0416666666666667vw, 20px);
    left: clamp(14px, 1.09375vw, 21px);
    border-radius: 50%;
}

.sec-event-meta a {
    text-decoration: none !important;
}

.h3-xlg h3 {
    font-size: var(--font-size--h3-xlg);
}

.contact-form.cf-blue .elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper,
.contact-form.cf-blue .elementor-form .elementor-field.elementor-acceptance-field),
.contact-form.cf-blue .elementor-field-group .elementor-select-wrapper select {
    border: 2px solid #002743 !important;
    color: #002743 !important;
}

.contact-form.cf-blue .elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper:hover,
.contact-form.cf-blue .elementor-form .elementor-field.elementor-acceptance-field):hover,
.contact-form.cf-blue .elementor-field-group .elementor-select-wrapper select:hover,
.contact-form.cf-blue .elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper:focus,
.contact-form.cf-blue .elementor-form .elementor-field.elementor-acceptance-field):focus,
.contact-form.cf-blue .elementor-field-group .elementor-select-wrapper select:focus {
    border: 2px solid #fffbef !important;
}

.contact-form.cf-blue.ml-sm {
    padding-left: calc(var(--spacing) * 0.55);
}

.contact-form.cf-blue .e-form__buttons {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
}

.contact-form.cf-blue .e-form__buttons .elementor-button {
    flex-basis: unset !important;
    background-color: #002743 !important;
    border-color: #002743 !important;
    color: #FFF !important;
    width: max-content !important;
    max-width: 100% !important;
    display: block !important;
}

.contact-form.cf-blue .e-form__buttons .elementor-button:hover,
.contact-form.cf-blue .e-form__buttons .elementor-button:focus {
    background-color: var(--yellow) !important;
    border-color: var(--yellow) !important;
    color: var(--dark) !important;
}

.contact-form.cf-blue .captcha-note {
    margin: 0 0 15px;
}

.contact-form.cf-blue .captcha-note p,
.contact-form.cf-blue .captcha-note p a {
    color: #002743 !important;
}

.contact-form.cf-blue .captcha-note p a:hover,
.contact-form.cf-blue .captcha-note p a:focus {
    color: var(--yellow) !important;
}

#loadMore {
    margin-top: var(--spacing) !important;
}

body.single-post {
    background-color: #FFFBEF;
}


body.single-post #header .navigation a,
body.single-post #preheader ul li a {
    color: var(--dark);
}

body.single-post #header .navigation a:hover,
body.single-post #preheader ul li a:hover,
body.single-post #header .navigation a:focus,
body.single-post #preheader ul li a:focus {
    color: var(--blue);
}

body.single-post footer {
    background-color: var(--dark);
}

.category-blog #singlePost .sp-media .sp-video,
.category-community-news #singlePost .sp-media .sp-video {
    display: none !important;
}

.category-videos #singlePost .sp-media .sp-featured,
.category-videos #singlePost .sp-post-content {
    display: none !important;
}

#singlePost .sp-title .elementor-heading-title {
    font-size: var(--font-size--h3-lg);
    color: var(--dark);
    font-weight: 800;
    width: 635px;
    max-width: 100%;
    line-height: 1.3;
}

#singlePost .sp-info ul {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    margin: 10px 0 0 !important;
}

#singlePost .sp-info ul li {
    margin: 0 8px 0 0 !important;
    padding: 0 8px 0 0 !important;
    border-right: 1px solid #B2B2B2;
    font-size: var(--font-size);
    font-weight: 700;
    color: #B2B2B2;
    line-height: 1;
}

#singlePost .sp-info ul li:last-of-type {
    margin: 0 !important;
    padding: 0 !important;
    border-right: none !important;
}

#singlePost .sp-info ul li .elementor-icon-list-icon {
    display: none !important;
}

#singlePost .sp-info ul li .elementor-icon-list-text {
    padding: 0 !important;
}

#singlePost .sp-content {
    padding-right: 30px !important;
    margin: 50px 0 0;
}

#singlePost .sp-content h2,
#singlePost .sp-content h3 {
    margin: 0 0 10px;
}

#singlePost .sp-content h2,
#singlePost .sp-content h3,
#singlePost .sp-content p,
#singlePost .sp-content ul li {
    font-size: var(--font-size);
}

#singlePost .sp-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#singlePost .sp-content ul li {
    margin: 0;
}

#singlePost .sp-content ul + p {
    margin: 30px 0 0;
}

#singlePost p img,
#singlePost .elementor-widget-theme-post-featured-image img {
    display: block;
    width: 100%;
    height: clamp(283.3333333333333px, 22.135416666666668vw, 425px);
    object-fit: cover;
    border-radius: 28px;
}

#singlePost p + p:has(img) {
    margin-top: 30px;
}

#singlePost .sp-media {
    border-radius: 28px;
    overflow: hidden;
}

.container-centered {
    margin-left: auto !important;
    margin-right: auto !important;
}

.h3-lg h3 {
    font-size: var(--font-size--h3-lg);
    margin: 0 0 20px;
}

.bg-light a:not(.btn, .button, .elementor-button) {
    color: var(--dark);
    text-decoration: underline;
}

.bg-light a:not(.btn, .button, .elementor-button):hover, .bg-light a:not(.btn, .button, .elementor-button):focus {
    color: var(--blue);
}

.img-radius-sm img {
    border-radius: 21px !important;
}

body.page-light {background-color: #FFFBEF;}


body.page-light #footer, body.page-light #copyright {
    background-color: var(--dark);
}

body.page-light #header .navigation a, body.page-light #preheader ul li a {
    color: var(--dark);
}

body.page-light #header .navigation a:hover, body.page-light #preheader ul li a:hover, body.page-light #header .navigation a:focus, body.page-light #preheader ul li a:focus {
    color: var(--blue);
}

body.hide-footer-gallery .elementor-location-footer #gallery {
    display: none;
}

.loop-behind:after {
    z-index: 1;
}

.loop-behind .e-con {
    z-index: 10;
}

.h2-lg h2,
.h1-sm h1 {
    font-size: var(--font-size--h2-lg);
}


html .button-ghost .elementor-button {
    border: 3px solid var(--dark) !important;
    background-color: var(--transparent) !important;
    color: var(--dark) !important;
}

html .button-ghost.blue .elementor-button {
    border: 3px solid var(--blue) !important;
    background-color: var(--transparent) !important;
    color: var(--blue) !important;
}


html .button-ghost.yellow .elementor-button {
    border: 3px solid var(--yellow) !important;
    background-color: var(--transparent) !important;
    color: var(--yellow) !important;
}

html .button-ghost.blue .elementor-button:hover svg *, html .button-ghost.blue .elementor-button:focus svg * {
    fill: #fff;
}

html .button-ghost .elementor-button:hover, html .button-ghost .elementor-button:focus {
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
    color: #fff !important;
}

html .button-ghost.yellow .elementor-button:hover, html .button-ghost.yellow .elementor-button:focus {
    background-color: #fff !important;
    border-color: #fff !important;
    color: var(--dark) !important;
}

html .narrow .elementor-button {
    padding: 15px 25px;
}

.list-basic ul {
    padding-left: calc(var(--spacing) * 0.22);
}

.list-basic ul li:not(:last-child) {
    margin: 0 0 8px;
}

.no-hero {
    margin-top: calc(var(--spacing) * 1.75) !important;
}

.report-box a.block-link .button {
    display: none;
}

.report-box a.block-link .block-link-heading {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    margin: 6px 0 0;
}

.report-box a.block-link {
    text-decoration: none !important;
    color: var(--blue) !important;
}

.report-box a.block-link img {
    border-radius: 25px;
    height: 245px;
    width: 100%;
    object-fit: cover;
}

.report-box a.block-link:hover, .report-box a.block-link:focus {
    color: var(--dark) !important;
    text-decoration: underline !important;
}

.minutes {
    margin-bottom: 20px !important;
}

.minutes a.pdf-link {
    border: 3px solid var(--blue);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    color: var(--blue);
    text-decoration: none;
    font-size: 14px;
    padding: 18px 25px;
    border-radius: 13px;
    background-color: transparent;
    margin: 0 0 20px;
    height: 100%;
}

.minutes a.pdf-link:hover,
.minutes a.pdf-link:focus {
    background-color: var(--dark);
    border-color: var(--dark);
    color: #fff;
}


.minutes a.pdf-link span.pdf-link-text-subheading {
    text-transform: uppercase;
    font-size: 13px;
    display: block;
}

.minutes a.pdf-link span.pdf-link-text-dates {
    display: block;
}

.minutes a.pdf-link span.pdf-link-icon {
    width: calc(var(--spacing) * 0.48);
    height: calc(var(--spacing) * 0.60);
    flex: 0 0 calc(var(--spacing) * 0.48);
}

.minutes a.pdf-link span.pdf-link-text {
    flex: 0 0 calc(100% - calc(var(--spacing) * 0.65));
    max-width: calc(100% - calc(var(--spacing) * 0.65));
}

.minutes a.pdf-link span.pdf-link-icon svg {
    width: 100%;
    height: auto;
}

.minutes a.pdf-link span.pdf-link-icon svg * {
    fill: var(--blue);
    transition: var(--transition);
}


.minutes a.pdf-link:hover  span.pdf-link-icon svg * ,
.minutes a.pdf-link:focus  span.pdf-link-icon svg * {
    fill: #fff;
}

.minutes {
    flex: 0 0 31% !important;
    max-width: 31% !important;
    margin-right: 1.5%;
    margin-bottom: 10px;
}

.minutes.archive {
    flex: 0 0 15% !important;
    max-width: 15% !important;
}

.minutes.archive a.pdf-link {
    border-color: #A5A5A5;
    color: #A5A5A5;
    text-transform: uppercase;
    font-weight: 600;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 15px;
}

.minutes.archive a.pdf-link span.pdf-link-icon {
    margin-right: 0;
    margin-bottom: 20px;
}


.minutes.archive a.pdf-link span.pdf-link-icon svg * {
    fill: #a5a5a5;
}

.minutes.archive a.pdf-link:hover  span.pdf-link-icon svg * ,
.minutes.archive a.pdf-link:focus  span.pdf-link-icon svg * {
    fill: #fff;
}

.minutes.archive a.pdf-link:hover,
.minutes.archive a.pdf-link:focus {
    background-color: var(--dark);
    border-color: var(--dark);
    color: #fff;
}

.minutes.archive a.pdf-link span.pdf-link-icon,
.minutes.archive a.pdf-link span.pdf-link-text {
    flex: unset !important;
    max-width: 100% !important;
}

.minutes:not(.archive) {
    display: none;
}

.minutes:not(.archive):nth-of-type(-n+18) {
    display: block;
}

#hero.gift-card-hero h1 {
    color: var(--dark);
}

#hero.gift-card-hero .hero-container {
    padding: 0 30px !important;
    align-items: center;
    justify-content: center;
}

html .wider .elementor-button {
    padding-left: calc(var(--spacing) * 0.75);
    padding-right: calc(var(--spacing) * 0.75);
}

.link-anchor {
    position: relative;
    top: -150px;
    width: 0;
    height: 0;
}

.contact-map iframe {
    border-radius: 36px !important;
    height: 100% !important;
}

.contact-map, .contact-map .elementor-custom-embed {
    height: 100% !important;
}

.contact-form .elementor-form .elementor-field:not(.elementor-form .elementor-field.elementor-select-wrapper,
.contact-form .elementor-form .elementor-field.elementor-acceptance-field),
.contact-form .elementor-field-group .elementor-select-wrapper select {
    border-radius: 13px !important;
    border: 2px solid #fff !important;
    background-color: transparent !important;
    font-size: 15px !important;
    font-weight: 600;
    padding: 19px 25px !important;
    margin: 0 0 10px;
}

.contact-form .captcha-note {
    margin: 0 0 30px;
    text-align: left;
}

.contact-form .captcha-note p {
    font-size: 15px;
    max-width: 85%;
    color: #fff;
}

.contact-form .captcha-note p a {
    color: var(--yellow);
}

.contact-form .captcha-note p a:hover, .contact-form .captcha-note p a:focus {
    color: #fff;
}

.contact-form .elementor-button {
    color: var(--dark) !important;
    padding-left: 70px !important;
    padding-right: 70px !important;
}

.contact-form .elementor-button:hover, .contact-form .elementor-button:focus {
    color: #fff !important;
}

.members-bar .e-con-inner {
    background: var(--blue);
    padding: 18px !important;
    color: #000;
}

.members-bar .e-con-inner p {
    font-size: var(--font-size--small);
}

html .button-blue.elementor-widget-button .elementor-button {
    background-color: var(--blue);
    border-color: var(--blue);
    color: var(--dark);
}

html .button-blue.elementor-widget-button .elementor-button:hover, html .button-blue.elementor-widget-button .elementor-button:focus {background-color: var(--dark);border-color: var(--dark);color: #fff;}

.bg-blue {
    background-color: var(--blue);
}

.split-section .split-section-bg-blue {
    background-color: var(--blue);
}

.split-section .split-section-bg-yellow {
    background-color: var(--yellow);
}

.split-section .e-con-inner {
    gap: 0 !important;
}

.split-section .split-section-content {
    padding: clamp(66.66666666666667px, 5.208333333333333vw, 100px) !important;
}

.split-section .split-section-content.split-section-bg-yellow h2,
.split-section .split-section-content.split-section-bg-yellow h3,
.split-section .split-section-content.split-section-bg-yellow h4,
.split-section .split-section-content.split-section-bg-yellow h5,
.split-section .split-section-content.split-section-bg-yellow h6,
.split-section .split-section-content.split-section-bg-yellow p,
.split-section .split-section-content.split-section-bg-yellow li,
.split-section .split-section-content.split-section-bg-blue h2,
.split-section .split-section-content.split-section-bg-blue h3,
.split-section .split-section-content.split-section-bg-blue h4,
.split-section .split-section-content.split-section-bg-blue h5,
.split-section .split-section-content.split-section-bg-blue h6,
.split-section .split-section-content.split-section-bg-blue p,
.split-section .split-section-content.split-section-bg-blue li {
    color: var(--dark);
}

.dialog-type-lightbox {
    z-index: 99999999 !important;
}

#header .mobile-navigation li.mobile-button strong.third-button-icon {
    background-image: url(i/icon-members.svg?v=1);
}

.bg-lightblue #blog .standard .elementor-post__thumbnail__link {
    height: calc(var(--spacing) * 2.00) !important;
    margin-bottom: calc(var(--spacing) * 0.30) !important;
}

.bg-lightblue #blog .standard .elementor-post__title a {
    font-size: 16px;
}

.bg-lightblue #blog .standard .elementor-post__title a:hover,
.bg-lightblue #blog .standard .elementor-post__title a:focus {
    color: var(--yellow) !important;
}

.bg-lightblue #blog .standard .elementor-post__meta-data {
    margin: 0;
}

.bg-lightblue #blog .standard .elementor-post__meta-data .elementor-post-date {
    font-size: 12px;
    color: #122243;
    margin: 10px 0 5px;
    line-height: 1;
}

.bg-lightblue #blog .standard .elementor-post__read-more {
    font-size: 14px;
    text-decoration: underline;
}

.bg-lightblue #blog .standard .elementor-post__read-more:hover,
.bg-lightblue #blog .standard .elementor-post__read-more:focus {
    color: var(--yellow) !important;
}

#singlePost .sp-sidebar .elementor-post__thumbnail__link {
    width: clamp(48px, 3.75vw, 72px);
    flex: 0 0 clamp(48px, 3.75vw, 72px);
    height: clamp(44px, 3.4375vw, 66px);
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
}

#singlePost .sp-sidebar .elementor-post__thumbnail__link .elementor-post__thumbnail {
    padding: 0 !important;
    display: block;
    width: 100%;
    height: 100%;
}

#singlePost .sp-sidebar .elementor-post__thumbnail__link .elementor-post__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    left: unset;
    position: unset;
    top: unset;
    transform: unset;
    transition: all 0.3s;
}

#singlePost .sp-sidebar .elementor-post__thumbnail__link:hover .elementor-post__thumbnail img {
    transform: scale(1.1);
    transition: all 0.3s;
}

#singlePost .sp-sidebar .elementor-post__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: clamp(10.666666666666666px, 0.8333333333333334vw, 16px);
}

#singlePost .sp-sidebar .elementor-post__text .elementor-post__title a,
#singlePost .sp-sidebar .elementor-post__text .elementor-post__read-more {
    display: block;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    color: #000;
}

#singlePost .sp-sidebar .elementor-post__text .elementor-post__read-more {
    text-decoration: underline;
    margin: clamp(10px, 0.78125vw, 15px) 0 0;
}

#singlePost .sp-sidebar .elementor-post__text .elementor-post__title a:hover,
#singlePost .sp-sidebar .elementor-post__text .elementor-post__read-more:hover,
#singlePost .sp-sidebar .elementor-post__text .elementor-post__title a:focus,
#singlePost .sp-sidebar .elementor-post__text .elementor-post__read-more:focus {
    color: var(--blue);
}

#singlePost .sp-sidebar p strong {
    display: block;
    font-size: var(--font-size);
    font-weight: 700;
    color: #B2B2B2;
    margin: clamp(28.666666666666668px, 2.2395833333333335vw, 43px) 0 clamp(18px, 1.40625vw, 27px);
}

#singlePost .sp-sidebar .elementor-posts-container {
    grid-gap: clamp(16.666666666666668px, 1.3020833333333333vw, 25px) !important;
}

#mailchimp .elementor-form {
    margin: -10px 0 10px;
}

#hero .hero-container:before {
    background-image: url(i/hero-bg-topbottom.png) !important;
    background-size: cover !important;
    background-position: bottom center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
}

.pg-contact-links a:not(.button, .elementor-button) {
    color: #FFF;
}

.pg-contact-links a:not(.button, .elementor-button):hover,
.pg-contact-links a:not(.button, .elementor-button):focus {
    color: var(--yellow);
}

.fw-medium p {
    font-weight: 500 !important;
}

#gallery .elementor-gallery__container {
    grid-gap: 0 !important;
}

#dobiaMap a {
    display: block;
    width: 100%;
    height: clamp(300px, 41.145833333333336vw, 790px);
    background-color: #fef1ce;
}

#dobiaMap a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

html .elementor-element-faf876e .elementor-button:hover,
html .elementor-element-faf876e .elementor-button:focus {
    background: #fffbef !important;
    color: var(--dark) !important;
    border-color: #fffbef !important;
}

html, body {
    overflow-x: clip !important;
    overflow-x: hidden !important;
}

.container, .elementor-container, .e-con > .e-con-inner {
    margin: 0 auto !important;
    max-width: 100% !important;
}

.municipal-bg {
    background-color: #fef1ce !important;
}

.loop.loop-dark:after {
    width: 100% !important;
    height: clamp(440px, 34.375vw, 660px) !important;
}

.loop:after {
    left: -35px !important;
    right: -35px !important;
    width: calc(100% + 70px) !important;
    height: clamp(433.3333333333333px, 33.854166666666664vw, 650px) !important;
}

.loop.loop-navy:after {
    width: calc(100% + 70px) !important;
    height: clamp(416.6666666666667px, 32.552083333333336vw, 625px) !important;
}

.loop.loop-grey:after {
    width: calc(100% + 100px) !important;
    height: clamp(402px, 31.40625vw, 603px) !important;
}

#giftCard .center-img img {
     border-radius: 0 !important;
}