/*
Critical front-end styles for the DRIPBaR GeneratePress child theme.
Keep this file focused on layout, typography, header, navigation, and first-paint block helpers.
*/

:root {
    --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
    --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
    --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
    --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
    --text-3xl: clamp(2.5rem, 1rem + 4vw, 4.5rem);

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    --color-bg: #fbfaf7;
    --color-surface: #ffffff;
    --color-surface-offset: #f2f0ea;
    --color-border: #ddd9d0;
    --color-divider: #e7e4dc;
    --color-text: #1f2a2e;
    --color-text-muted: #5c6b70;
    --color-text-faint: #9aa6aa;
    --color-text-inverse: #f5f7f7;
    --color-teal: #224c5a;
    --color-teal-deep: #17363f;
    --color-teal-soft: #e3ecef;
    --color-green: #aaab38;
    --color-green-hover: #93942c;
    --color-green-active: #7c7d22;
    --color-gold-text: #8f9027;

    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-full: 9999px;

    --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
    --shadow-sm: 0 1px 2px rgba(23, 54, 63, 0.06);
    --shadow-md: 0 4px 14px rgba(23, 54, 63, 0.1);
    --shadow-lg: 0 16px 40px rgba(23, 54, 63, 0.16);

    --content-narrow: 680px;
    --content-default: 1040px;
    --content-wide: 1200px;
    --font-display: "Archivo", "Helvetica Neue", sans-serif;
    --font-body: "IBM Plex Sans", "Segoe UI", sans-serif;

    --swiper-pagination-color: var(--primary);
    --swiper-navigation-color: var(--primary);
    --swiper-pagination-bullet-inactive-opacity: .1;

    --primary-font: var(--font-body, "IBM Plex Sans", sans-serif);
    --secondary-font: var(--font-heading, "Archivo", "Helvetica Neue", sans-serif);

    --primaryFontFamily: var(--primary-font);
    --secondaryFontFamily: var(--secondary-font);

    /*--contentWidth: 800px;*/
    --wrapWidth: 1200px;
    /*--wideWidth: 1517px;*/
}
::placeholder { color: #232323; opacity: 1; }
html, body { overflow-x: clip; }
body { overflow-x: hidden; }
html.async-hide { opacity: 1 !important; font-display: block; }
body, p, label, input, .wp-block-button__link { margin: 0; font-family: var(--primaryFontFamily); font-weight: 340; font-optical-sizing: auto; }
.generate-back-to-top, .dripbar-skip-link { display: none; }
.hidden-animated { visibility: hidden; }
@media (max-width:991px) {
    .footer-spacer { height:50px!important }
}
@media (max-width:767px) {
    .site-header .menu-toggle { width: auto; height: auto; }
}


/* HTML5 Reset
---------------------------------------------------------------------------- */
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* Box Sizing
--------------------------------------------- */
html { scroll-behavior: smooth; }
html, input[type="search"] { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
/* Float Clearing
--------------------------------------------- */
.clearfix::before, .entry::before, .entry-content::before, .footer-widgets-container::before, .main-navigation::before, .secondary-navigation::before, .pagination::before, .site::before, .site-footer::before, .site-header::before, .site-content::before, .widget::before, .grid-container::before { content: " "; display: table; }
.clearfix::after, .entry::after, .entry-content::after, .footer-widgets-container::after, .main-navigation::after, .secondary-navigation::after, .pagination::after, .site::after, .site-footer::after, .site-header::after, .site-content::after, .widget::after, .grid-container::after { clear: both; content: " "; display: table; }
/* Defaults
---------------------------------------------------------------------------- */
.pswp { z-index: 9999999999 !important; }
/* Typographical Elements
--------------------------------------------- */
body { color: var(--textcolor); font-weight: 350; font-size: 20px; line-height: 1.529; }
a:hover, button:hover, input:focus, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, textarea:focus, .button:hover, .gallery img:hover, .more-link:hover { transition: background-color 0.15s ease-in, border-color 0.15s ease-in, transform 0.15s cubic-bezier(0.44, 0.51, 0.24, 0.99), box-shadow 0.5s cubic-bezier(0.44, 0.51, 0.24, 0.99); }
a { color: var(--primary); text-decoration: underline; }
a:focus, a:hover { color: var(--secondary); text-decoration: none; }
p { margin: 0 0 30px; padding: 0; }
p:empty { display: none; }
p[style*="font-size:18px"] { line-height: 1.555; }
p[style*="font-size:16px"] { line-height: 1.444; }
ol, ul { margin: 0; padding: 0; }
li { list-style-type: none; }
hr { border: 0; border-collapse: collapse; border-bottom: 1px solid #e2e2e2; clear: both; color: #eee; margin: 1.65em 0; }
html hr.wp-block-separator { border-bottom-width: 1px; color: #e2e2e2; margin: 0 0 1em; }
html hr.wp-block-separator.fullwidth { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }
b, strong { font-weight: 500; }
mark { background: #ddd; color: #000; }
blockquote, cite, em, i { font-style: italic; }
blockquote { position: relative; }
blockquote cite { color: #707070; display: block; font-size: 13px; font-style: normal; font-weight: 700; letter-spacing: 0.08em; margin-top: 24px; text-transform: uppercase; }
.site .wp-block-quote { border-left-color: #000000 !important; padding-left: 20px !important; }
.site .wp-block-quote p { font-weight: 500; font-size: 1em; line-height: inherit; }
.flexible-widgets blockquote,
.flexible-widgets blockquote p { font-size: 22px; line-height: 1.66; }

/* Objects
--------------------------------------------- */
embed, iframe, img, object, video, .wp-caption { max-width: 100%; }
img { height: auto; }
img.image-border { border: 10px solid #fff; box-shadow: 0 20px 80px rgba(0, 0, 0, 0.2); }
figure, figure.aligncenter { margin: 0; }


/* Screen Reader Text
--------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span { border: 0; clip: rect(0, 0, 0, 0); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-shortcut:focus,
.screen-reader-text:focus,
.widget_search input[type="submit"]:focus { background: #f4f4f4; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; color: #333; display: block; font-size: 1em; font-weight: 700; height: auto; padding: 15px 23px 14px; text-decoration: none; width: auto; z-index: 100000; }
.more-link { position: relative; }

/* Site Containers
--------------------------------------------- */
.site { overflow: hidden; min-height: 95vh; }
.site-content, .grid-container { margin: 0 auto; max-width: 100%; }
.site-content { clear: both; overflow-wrap: break-word; word-wrap: break-word; min-height: 400px; }
.landing-page .site-content { max-width: 1546px; }
body.single.has-featured-image .site-content { padding-top: 20px; }
body:not(.page):not(.archive) .site-content { margin-top: 0; }
body.single .site-content { margin-top: 0 !important; }
body.search-results img.aligncenter.post-image.entry-image { margin: 0; }
body.single .entry-header,
body.single .entry-content { max-width: 100%; width: 1580px; margin: auto; }
body.single .entry-content figure img { width: 100%; }


/* Titles
--------------------------------------------- */
.content > .entry > .entry-title { width: var(--wrapWidth); max-width:100%; margin-left: auto; margin-right: auto; padding: 15px 0; }
.entry-header .entry-title { margin: 0; }
.archive-description .entry-title { color: #252525; font-size: 26px; line-height: 1.23; margin-bottom: 20px; }
.single .entry-title { margin-bottom: 20px; }
.dripbar-subtitle { color: var(--primary); display: block; font-family: var(--secondaryFontFamily); font-size: 18px; font-weight: 700; letter-spacing: 0.07em; line-height: 1.2; margin-bottom: 25px; text-transform: uppercase; }


/* Entries
--------------------------------------------- */
.entry { margin-bottom: 0; }
.post-edit-link { display: none; }
.entry-header { margin-bottom: 0; text-align: left; max-width: 1516px; margin: 0 auto; }
.entry-content .intro { color: #252525; font-size: 20px; font-style: italic; line-height: 1.7; }
.entry-content ol,
.entry-content ul { margin-bottom: 30px; margin-left: 2em; }
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul, .entry-content ul ul { margin-bottom: 0; }
.entry-content ol > li { list-style-type: decimal; margin-bottom: 1em; }
.entry-content ul > li { list-style-type: disc; margin-bottom: 1em; }
.rra-addform #country-listbox li { list-style-type: none; }
.entry-content ol ul > li,
.entry-content ul ul > li { list-style-type: circle; }
.entry-content ol ol,
.entry-content ul ul { margin-bottom: 0; }
.entry-content code { background-color: #252525; color: #eee; }
p.center { text-align: center; }

.site .has-small-font-size { font-size: 16px; }
.site .has-normal-font-size { font-size: 18px; }
.site .has-large-font-size { font-size: 24px; }
.site .has-larger-font-size { font-size: 26px; }
.site p.has-larger-font-size { font-size: 1.2em; line-height: 1.417; }
.site p.has-large-font-size { font-size: 1.111em; line-height: 1.5; }
@media (max-width:1199px) {
    .site p.has-larger-font-size { font-size: 1.1em;  margin-bottom: 30px;}
    .site p.has-large-font-size { font-size: 1.05em; }
}
@media (max-width:991px) {
    .site .has-normal-font-size { font-size: 18px; }
    .site .has-large-font-size { font-size: 20px; }
    .site .has-larger-font-size { font-size: 22px; }
}


/*visibility*/
.invisible { visibility: hidden; }
@media (min-width:1200px) {
    .visible-on-tablet-large { display: none !important; }
}
@media (max-width:1199px) {
    .invisible-on-tablet-large { display: none !important; }
    .invisible-bg-tablet-large,
    .invisible-bg-tablet-large > .gb-block-layout-column-inner { background-image: none !important; }
    .invisible-bg-tablet-large > .wp-block-cover__image-background { display: none; }
    .invisible-bg-tablet-large.wp-block-cover > .has-background-dim-0[style*="background-color:#"] { opacity: 1 !important; }
    .stacked-on-tablet-large .wp-block-media-text__content { padding: 30px 0 0 !important; }
    .stacked-on-tablet-large.wp-block-media-text,
    .stacked-on-tablet-large > .gb-layout-column-wrap { display: flex; flex-flow: column; }
    .stacked-on-tablet-large.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: -1; }
    .reversed-on-tablet-large > .gb-layout-column-wrap { display: flex; flex-flow: column-reverse; }
    .reversed-on-tablet-large > .gb-layout-column-wrap > .gb-block-layout-column,
    .stacked-on-tablet-large > .gb-layout-column-wrap > .gb-block-layout-column { width: 100%; }
    .image-fullwidth-tablet-large { width: 100vw !important; margin-left: -15px !important; margin-bottom: 0 !important; margin-right: -15px !important; }
    .image-fullwidth-tablet-large img { width: 100%; }
    .centered-on-tablet-large { text-align: center; margin-left: auto; margin-right: auto; }
    .centered-on-tablet-large[class*="is-style-border"]::after,
    .centered-on-tablet-large [class*="is-style-border"]::after { margin-left: auto; margin-right: auto; }
    .centered-on-tablet-large .wp-block-buttons { justify-content: center; }
    .align-left-on-tablet-large { text-align: left !important; }
    .align-right-on-tablet-large { text-align: right !important; }
    .align-center-on-tablet-large { text-align: center !important; }
}
@media (min-width:992px) {
    .visible-on-tablet { display: none !important; }
    .visible-bg-tablet > .wp-block-cover__image-background { display: none; }
}
@media (max-width:991px) {
    .visible-on-desktop { display: none !important; }
    .invisible-on-tablet { display: none !important; }
    .invisible-bg-tablet,
    .invisible-bg-tablet > .gb-block-layout-column-inner { background-image: none !important; }
    .invisible-bg-tablet.wp-block-cover > .has-background-dim-0 { opacity: 1 !important; }
    .invisible-bg-tablet > .wp-block-cover__image-background,
    .invisible-image-on-tablet .wp-block-media-text__media img { display: none; }
    .stacked-on-tablet .wp-block-media-text__content { padding: 30px 0 0 !important; }
    .stacked-on-tablet.wp-block-media-text,
    .stacked-on-tablet > .gb-layout-column-wrap { display: flex; flex-flow: column; }
    .stacked-on-tablet.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: -1; }
    .reversed-on-tablet > .gb-layout-column-wrap { display: flex; flex-flow: column-reverse; }
    .reversed-on-tablet > .gb-layout-column-wrap > .gb-block-layout-column,
    .stacked-on-tablet > .gb-layout-column-wrap > .gb-block-layout-column { width: 100%; }
    .image-fullwidth-tablet { width: 100vw !important; margin-left: -15px !important; margin-bottom: 0 !important; margin-right: -15px !important; }
    .image-fullwidth-tablet img { width: 100%; }
    .centered-on-tablet { text-align: center; margin-left: auto; margin-right: auto; }
    .centered-on-tablet[class*="is-style-border"]::after,
    .centered-on-tablet [class*="is-style-border"]::after { margin-left: auto; margin-right: auto; }
    .centered-on-tablet .wp-block-buttons { justify-content: center; }
    .align-left-on-tablet { text-align: left !important; }
    .align-right-on-tablet { text-align: right !important; }
    .align-center-on-tablet { text-align: center !important; }
}
@media (min-width:768px) {
    .visible-on-mobile { display: none !important; }
}
@media (max-width:767px) {
    .invisible-on-mobile { display: none !important; }
    .invisible-bg-mobile { background-image: none !important; padding-top: 0 !important; }
    .invisible-bg-mobile > .gb-block-layout-column-inner { background-image: none !important; }
    .invisible-bg-mobile .wp-block-image.visible-on-mobile { margin-left: -20px !important; margin-right: -20px !important; }
    .invisible-bg-mobile.wp-block-cover > .has-background-dim-0[style*="background-color:#"] { opacity: 1 !important; }
    .invisible-bg-mobile > .wp-block-cover__image-background,
    .invisible-bg-mobile > .wp-block-cover__image-background,
    .invisible-image-on-mobile .wp-block-media-text__media img { display: none; }
    .stacked-on-mobile .wp-block-media-text__content { padding: 30px 0 0 !important; }
    .stacked-on-mobile.wp-block-media-text,
    .stacked-on-mobile > .gb-layout-column-wrap { display: flex; flex-flow: column; }
    .stacked-on-mobile.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: -1; }
    .reversed-on-mobile > .gb-layout-column-wrap { display: flex; flex-flow: column-reverse; }
    .reversed-on-mobile > .gb-layout-column-wrap > .gb-block-layout-column,
    .stacked-on-mobile > .gb-layout-column-wrap > .gb-block-layout-column { width: 100%; }
    .image-fullwidth-mobile { width: 100vw !important; margin-left: -15px !important; margin-bottom: 0 !important; margin-right: -15px !important; }
    .image-fullwidth-mobile img { width: 100%; }
    .centered-on-mobile { text-align: center; margin-left: auto; margin-right: auto; }
    .centered-on-mobile[class*="is-style-border"]::after,
    .centered-on-mobile [class*="is-style-border"]::after { margin-left: auto; margin-right: auto; }
    .centered-on-mobile .wp-block-buttons { justify-content: center; }
    .align-left-on-mobile { text-align: left !important; }
    .align-right-on-mobile { text-align: right !important; }
    .align-center-on-mobile { text-align: center !important; }
}


/* Content */
.content { position: relative; order: 0; }
body:not([class*="page-template-default"]):not([class*="page-template-blank"]) .content-sidebar-wrap { margin: 0 auto; max-width: var(--wrapWidth); display: flex; justify-content: space-between; flex-flow: row wrap; padding: 50px 20px; }
body.page:not([class*="page-template-default"]):not([class*="page-template-blank"]) .content-sidebar-wrap { padding-top: 50px; padding-bottom: 50px; }
body.page:not(.page-template-default) .entry-content > :not(.wp-block-group) { padding-left: 15px; padding-right: 15px; }
body.page.page-template-default .entry-header,
body.page.page-template-default .entry-content { padding-left: 0 !important; padding-right: 0 !important; }
body.page .entry-header { text-align: center; }
body.single:not(.content-sidebar) .content-sidebar-wrap { max-width: 100% !important; padding: 0 !important; }
.content-sidebar .content,
.sidebar-content .content { flex: 1 1 auto; }
.dripbar-grid .content,
.full-width-content .content { width: 100%; }
.full-width-content.single:not(.content-sidebar) .content,
.full-width-content.page .content { margin: 0 auto; }
.full-width-content.page .content { margin-top: 0; }


/* Primary Sidebar */
.sidebar { font-size: 15px; margin: 0 0 30px; }
@media (min-width:1200px) {
    .content-sidebar .content,
    .sidebar-content .content { max-width: calc(100% - 360px - 60px);}
    .sidebar-primary { width: 360px; }
    .sidebar-content .sidebar-primary { order: -1; }
}
@media (max-width:1440px) {
    .sidebar-content .content { max-width: calc(100% - 300px - 60px); }
    .sidebar-primary { width: 360px; }
}
@media (max-width:1199px) {
    .content-sidebar .content,
    .sidebar-content .content { width: 100; max-width: 100%; }
    .sidebar-primary { width: 100%; }
    .sidebar { margin-top: 15px; }
}
@media (max-width:767px) {
    body:not([class*="page-template-default"]):not([class*="page-template-blank"]) .content-sidebar-wrap { padding-top: 30px; }
    body:not(.page):not(.archive) .site-content { margin-top: 0; }
    body.blog .content-sidebar-wrap { padding-top: 0; }
}

/* Title Area
--------------------------------------------- */
.title-area { flex: 1 1 auto; display: flex; padding: 0; width: auto; align-items: center; z-index: 1; position: relative; }
.site-title, .site-description,
.nav-social li[class*="fa-"] a span { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.nav-social li[class*="fa-"] a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; min-height: 0; }
.nav-social li[class*="fa-"]::before { pointer-events: none; }
.nav-social li[class*="fa-"] { position: relative; display: flex; align-items: center; padding: 0 10px; }
.nav-social li[class*="fa-"]:hover,
.nav-social li a:hover { color: inherit !important; transform: scale(1.2); transition: ease-in 0.16s; }
.nav-social li a { padding: 0; min-height: 0; text-decoration: none; }

ul.top-menu { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
ul.top-menu li { margin: 0 13px; }
ul.top-menu li:last-child { margin-right: 0; }
ul.top-menu a { text-decoration: none; }
:focus { outline: none !important; }


/* Site Header
---------------------------------------------------------------------------- */
.site-header { background-color: #fff; border-bottom: none; padding: 0; z-index: 11; width: 100%; box-shadow: 0 5px 20px rgba(0,0,0,0.08); position: relative; }
.site-header .inside-container { position: relative; }
.site-header .inside-header { max-width: 100%; width: var(--wrapWidth); margin: auto; padding-left: 15px; padding-right: 15px; }
.site-header .inside-header { padding-top: 20px; padding-bottom: 20px; display: flex; align-items: center; justify-content: space-between; }
.site-header .inside-header::after { content: ''; display: block; clear: both; }
.site-header .inside-header > * { flex: 0 0 auto; }
.site-header .inside-header > .title-area { flex: 0 0 auto; }
.site-header .inside-header > .menu-inner { flex: 1 1 auto; }

.site-header .custom-logo-link { display: flex; align-items: center; transition: 0.5s all ease-in-out !important; }
.site-header .custom-logo { display: block; width: auto; max-height: 100%; image-rendering: -webkit-optimize-contrast; }


.site-header .top-banner-cta { background-color: var(--primary); color: #fff; font-size: 15px; line-height: 1.5; font-weight: 400; min-height: 50px; display: flex; align-items: center; }
.site-header .top-banner-cta a { color: inherit; text-decoration: none; }
.site-header .top-banner-cta a:hover { text-decoration: underline; }
.site-header .top-banner-cta .inside-container-inner { display: flex; justify-content: space-between; grid-gap: 30px; }
.site-header .top-banner-cta .inside-container-inner > div { padding: 13px 0; display: flex; align-items: center; grid-gap: 10em; }
.site-header .top-banner-cta .top-info .top-info-item { position: relative; display: inline-flex; align-items: center; margin-left: 20px; }
.site-header .top-banner-cta .top-info .top-info-item > i { margin-right: 10px; }
.site-header .header-phone { display: none; }
.header-cta .wp-block-button .wp-block-button__link { font-size: 16px; padding: 12px 20px !important; text-transform: uppercase; }
@media (max-width:1199px) {
    .site-header > .inside-header { flex-wrap: wrap; }
}
@media (max-width:767px) {
    .site-header .custom-logo { height: 30px; }
    .site-header .top-banner-cta .inside-container-inner > div.top-badge { padding-left: 0; }
}
@media (max-width:576px) {
    .site-header .inside-header { padding-left: 15px; padding-right: 15px; }
    .site-header .header-phone { display: block; position: absolute; right: 45px; top: -52px; font-size: 27px; width: 36px; }
    .site-header .header-phone .btn-icon-phone { width: 100%; text-align: center; display: block; }
    .site-header .inside-header { padding-top: 10px; padding-bottom: 10px; }
    .site-header .inside-header > .header-cta,
    .site-header .top-banner-cta { display: none !important; }
    .site-header .inside-header > .title-area { width: auto; }
}

/* Site Navigation
---------------------------------------------------------------------------- */
/* Temporarily disabled custom navigation overrides while reviewing GeneratePress integration.
.menu-inner { position: relative; padding: 0 20px; }
.main-navigation .main-nav ul { display: flex; justify-content: flex-end; line-height: 1.222; font-family: var(--primaryFontFamily); font-size: 16px; font-weight: 400; }
.main-navigation .main-nav ul .menu-item { display: inline-block; position: relative; margin-bottom: 0; padding-bottom: 0; text-align: left; }
.main-navigation .main-nav ul .menu-item:hover > .sub-menu { left: auto; opacity: 1; }
.main-navigation .main-nav ul a { color: #111111; text-decoration: none; display: block; padding: 5px; position: relative; }
.main-navigation .main-nav ul button { color: inherit; }
.main-navigation .main-nav ul a:focus,
.main-navigation .main-nav ul a:hover,
.main-navigation .main-nav ul > .menu-item.sfHover > a,
.main-navigation .main-nav ul .current-menu-item > a,
.main-navigation .main-nav ul .current-menu-parent > a { color: var(--primary) !important; text-decoration: none; }
.main-navigation .main-nav ul .sub-menu { background-color: #fff; border-radius: 10px; box-shadow: 7px 7px 30px rgba(0,0,0,0.1); font-size: 14px; left: -9999px; opacity: 0; line-height: 1.2; padding: 30px; position: absolute; width: 340px; z-index: 99; }
.main-navigation .main-nav ul .sub-menu .menu-item { display: block; }
.main-navigation .main-nav ul .sub-menu .menu-item:not(:last-child) a { border-bottom: 1px solid #F0F0F0; }
.main-navigation .main-nav ul .sub-menu .menu-item a { padding: 15px 0; }
.main-navigation .main-nav ul .sub-menu .menu-item a:hover,
.main-navigation .main-nav ul .sub-menu .menu-item a:focus,
.main-navigation .main-nav ul .sub-menu .current-menu-item a { background-color: #fff; color: var(--primary); }
.main-navigation .main-nav ul .sub-menu .menu-item .sub-menu { margin: -1px 0 0 0; border-radius: 0; width: 100%; top: 0; transform: translateX(100%) !important; }
.main-navigation .main-nav ul .sub-menu .menu-item .sub-menu a { padding: 10px 15px; position: relative; width: 100%; word-wrap: break-word; }
.main-navigation .main-nav ul > .menu-item { display: block; margin: 0; padding: 0 25px; text-align: center; width: auto; }
.main-navigation .main-nav ul > .menu-item > a { height: 100%; min-height: 40px; align-items: center; display: flex; justify-content: center; outline: none; }
.main-navigation .main-nav ul > .menu-item .dropdown-menu-toggle { box-shadow: none !important; background-color: unset !important; }
.main-navigation .main-nav ul > .menu-item .dropdown-menu-toggle::before { font-size: 16px; display: flex; align-items: center; justify-content: center; font-family: 'Font Awesome 6 Free'; font-weight: 600; content: '\f0d7'; width: 20px; height: 20px; }
.main-navigation .main-nav ul .menu-item > a:focus + ul.sub-menu,
.main-navigation .main-nav ul .menu-item:hover > ul.sub-menu { left: auto; opacity: 1; }
.menu-toggle, .mobile-menu-widgets { display: none; visibility: hidden; }
.mobile-menu-widgets { padding: 20px 10px 10px; font-size: 15px; color: #fff; font-size: 16px; text-align: center; width: calc(100% + 40px); margin-left: -20px; }
.mobile-menu-widgets .widget:not(:last-child) { margin-bottom: 30px; }
.mobile-menu-widgets .widget a { color: #fff; text-decoration: none; }
.mobile-menu-widgets .widget a:hover { text-decoration: underline; }
.mobile-menu-widgets .widget p { margin-bottom: 15px; }
.mobile-menu-widgets .widget p i { margin-right: 1em; }
.mobile-menu-widgets .widget p:last-child { margin-bottom: 0; }
@media (max-width:1536px) {
    .main-navigation .main-nav ul > .menu-item { padding: 0px 15px; }
    .main-navigation .main-nav ul > .menu-item > a { justify-content: flex-start; }
}
@media (min-width:1200px) {
    .main-navigation .main-nav ul > .menu-item > a { white-space: nowrap; }
    .main-navigation .main-nav ul > .menu-item > .dropdown-menu-toggle { border: 0; padding: 0; position: absolute; top: 50%; transform: translateY(-50%); right: 0; pointer-events: none; }
    .main-navigation .main-nav ul .sub-menu .menu-item .dropdown-menu-toggle { position: absolute; right: 10px; padding: 0; top: 50%; transform: translateY(-50%); transform-origin: 50% 0%; display: block; visibility: visible; background-color: unset; border: unset; line-height: 1; font-size: 15px; }
    .main-navigation .main-nav ul .sub-menu .menu-item .dropdown-menu-toggle::before { content: "\f0da"; font-family: 'Font Awesome 6 Free'; font-weight: 600; width: 1em; height: 1em; font-size: 1em; }
}
@media (max-width:1199px) {
    .site-header > .inside-header { flex-wrap: wrap; }
    .site-header > .inside-header > .title-area { flex: 1 1 auto; }
    .site-header > .inside-header > .menu-inner { flex: 0 0 auto; order: 3; padding: 0; width: 100%; position: relative; z-index: 1; }
    .generate-back-to-top, .dripbar-skip-link .skip-link-hidden { display: none; visibility: hidden; }
    .main-navigation { background-color: #fff; display: none; }
    .main-navigation .main-nav ul { flex-direction: column; font-size: 16px; padding-top: 20px; }
    .main-navigation .main-nav ul > .menu-item { padding: 0 15px; margin: 0; width: 100%; border-top: 1px solid rgba(0,0,0,0.1); }
    .dropdown-menu-toggle,
    .menu-toggle { border: unset; background-color: unset; margin: 0 auto; padding: 0; overflow: hidden; text-align: center; font-size: 50px; }
    .menu-toggle,
    .main-navigation.toggled .dropdown-menu-toggle,
    .menu-toggle.toggled ~ .mobile-menu-widgets { display: flex; visibility: visible; justify-content: center; align-content: center; }
    .menu-toggle.toggled ~ .mobile-menu-widgets:empty { display: none !important; }
    .menu-toggle { position: absolute; color: var(--primary) !important; z-index: 1000; margin: 0; padding: 0; font-size: 36px; right: 0; top: -41px; }
    .menu-toggle:focus, .menu-toggle:hover, .dropdown-menu-toggle:focus, .dropdown-menu-toggle:hover { background-color: unset !important; border: unset !important; color: var(--secondary) !important; box-shadow: unset !important; outline: unset !important; }
    .menu-toggle::before { content: '\f0c9' !important; font-family: 'Font Awesome 6 Free' !important; font-size: 1em !important; font-weight: 600 !important; width: 1em !important; height: 1em !important; margin-right: 0; }
    .menu-toggle.toggled::before { content: '\f00d' !important; }
    .menu-toggle span { display: none; }
    .dropdown-menu-toggle { float: right; padding: 0; position: absolute; right: 0; top: 0; z-index: 100; height: 40px; border-radius: 0; min-width: 40px; display: flex; align-items: center; justify-content: center; }
    .dropdown-menu-toggle::before { display: inline-block; text-rendering: auto; transform: rotate(0); transition: transform 0.25s ease-in-out; }
    .dropdown-menu-toggle.activated::before { transform: rotateX(180deg); }
    .main-navigation { width: calc(100% + 30px); margin-left: -15px; }
    .main-navigation .inside-navigation { padding: 0 !important; }
    .main-navigation .main-nav ul a:focus,
    .main-navigation .main-nav ul a:hover { color: var(--primary); }
    .main-navigation .main-nav ul .menu-item > a:focus ul.sub-menu,
    .main-navigation .main-nav ul .menu-item > a:focus ul.sub-menu .sub-menu,
    .main-navigation .main-nav ul > .menu-item-has-children > a::after { content: none; }
    .main-navigation .main-nav ul .sub-menu { box-shadow: none; clear: both; display: none; margin: 0; opacity: 1; position: static; padding: 0; border-top: 1px solid rgba(0,0,0,0.1) !important; border-radius: 0; margin: 0 -15px !important; max-width: calc(100% + 30px) !important; width: calc(100% + 30px) !important; }
    .main-navigation .main-nav ul .sub-menu,
    .main-navigation .main-nav ul .sub-menu a { max-width: 100%; width: 100%; }
    .main-navigation .main-nav ul .sub-menu a { padding: 11px 20px; }
    .main-navigation .main-nav ul .sub-menu .sub-menu { margin: -1px; width: calc(100% + 2px) !important; max-width: calc(100% + 2px) !important; transform: unset !important; }
    .main-navigation .main-nav ul .sub-menu .sub-menu a { padding: 12px 15px 14px 35px; }
    .site-header .main-navigation { max-height: calc(100vh - 91px) !important; overflow-y: auto; }
    .site-header .inside-header > * { margin-right: 50px; }

    .main-navigation .main-nav ul > .menu-item.mobile-menu > a { border: 1px solid #fff; color: #fff !important; width: auto; margin: auto; display: inline-flex; padding: 12px 30px; margin-top: 15px; }
    .main-navigation .main-nav ul > .menu-item.mobile-menu > a:hover,
    .main-navigation .main-nav ul > .menu-item.mobile-menu > a:focus { background-color: #55595c; }

    .mobile-menu-widgets { background-color: var(--primary); }
    .mobile-menu-widgets .mobile-icon-item { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; text-align: left; }
    .mobile-menu-widgets .mobile-icon-item i { margin-right: 15px; font-size: 1.25em; }

}
@media (min-width:768px) {
    .main-navigation .main-nav ul > .menu-item.mobile-menu { display: none; }
}
@media (max-width:767px) {
    .site-header .main-navigation { max-height: calc(100vh - 81px) !important; }
}
@media (max-width:576px) {
    .menu-toggle { top: -33px; }
    .main-navigation { width: calc(100% + 30px); margin-left: -15px; }
}
*/

.dripbar-columns:last-child,
.gb-layout-column-wrap:last-child,
.gb-block-layout-column-inner > p:last-child,
.wp-block-media-text > .wp-block-media-text__content > p:last-child { margin-bottom: 0; }
.entry-content > .alignfull .wp-block-media-text.alignwide { padding: 0 20px; }
html .wp-block-media-text.alignwide .wp-block-media-text__media img { border-radius: 30px; }
@media (min-width:1600px) {
    html .wp-block-media-text.alignfull.has-media-on-the-right > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {  padding-left: calc(10.45vw + 0); }
    html .wp-block-media-text.alignfull:not(.has-media-on-the-right) > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {  padding-right: calc(10.45vw + 0); }
}
@media (min-width:1200px) {
    html .wp-block-media-text.alignwide.has-media-on-the-right .wp-block-media-text__content { padding-left: 0; }
    html .wp-block-media-text.alignwide:not(.has-media-on-the-right) .wp-block-media-text__content { padding-right: 0; }
    html .alignwide .wp-block-media-text { grid-template-columns: calc(50% - 20px) auto; grid-column-gap: 40px; }
    html .alignwide .wp-block-media-text > .wp-block-media-text__content { padding-right: 0; padding-left: 13%; padding-top: 60px; padding-bottom: 70px; }
    html .alignwide .wp-block-media-text.has-media-on-the-right {  grid-template-columns: auto calc(50% - 20px); }
    html .alignwide .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content { padding-right: 13%; padding-left: 0; }
}
@media (max-width:1199px) {
    html .wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] { padding: 0 50px; }
    html .wp-block-media-text.is-stacked-on-tablet-large { display: flex; flex-direction: column; }
    html .wp-block-media-text.is-stacked-on-tablet-large.has-media-on-the-right { flex-direction: column-reverse; }
    html .wp-block-media-text.is-stacked-on-tablet-large > .wp-block-media-text__content { padding: 50px 0 0; }
}
@media (min-width:992px) {
    html .wp-block-media-text.alignfull .wp-block-media-text__media { height: 100%; }
    html .wp-block-media-text.alignfull .wp-block-media-text__media img { height: 100%; object-fit: cover; }
}
@media (max-width:991px) {
    html .wp-block-media-text.alignfull > .wp-block-media-text__media { position: relative; background-image: unset !important; width: 100% !important; }
    html .wp-block-media-text.alignfull > .wp-block-media-text__media img { position: relative; width: 100%; height: auto;  max-height: 66vw; object-fit: cover; padding: 0; margin: 0; overflow: unset; clip: unset; border: 0; }
    html .wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] { padding: 0 30px; }
    html .wp-block-media-text { display: flex; flex-direction: column; }
    html .wp-block-media-text.has-media-on-the-right > div:nth-child(1) { order: 2; }
    html .wp-block-media-text.has-media-on-the-right > figure:nth-child(2) { order: 1; }
    html .wp-block-media-text.is-image-fill .wp-block-media-text__media img { position: relative; width: 100%; height: auto; height: 100%; object-fit: cover; }
    html .wp-block-media-text > .wp-block-media-text__media { width: 100%; }
    html .wp-block-media-text > .wp-block-media-text__content { padding: 50px 0 0; }
    html .wp-block-media-text.alignfull > .wp-block-media-text__content { padding: 50px 20px 0; }
}
@media (max-width:767px) {
    html .wp-block-media-text.alignwide.is-stacked-on-mobile > .wp-block-media-text__media {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 100vw;
    }
    html .wp-block-media-text.alignwide.is-stacked-on-mobile > .wp-block-media-text__media img {
        border-radius: 0;
        display: block;
        width: 100%;
    }
    html .wp-block-media-text.alignwide .wp-block-media-text__content { padding-left: 0; padding-right: 0; }
    html .wp-block-media-text.is-stacked-on-mobile { grid-template-columns: 100% !important; }
    html .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
    html .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { grid-column: 1; grid-row: 2; }
    html .wp-block-media-text .wp-block-media-text__content { padding-top: 20px; }
    html .wp-block-media-text.alignfull > .wp-block-media-text__content { padding: 20px 20px 0; }
}


html [class*="gb-block-layout-column-gap-"] { grid-row-gap: 30px; }
@media (max-width:576px) {
    html [class*="gb-block-layout-column-gap-"] { grid-row-gap: 0; }
    html [class*="gb-block-layout-column-gap-"] > .gb-block-layout-column:not(:last-child) { margin-bottom: 30px; }
}

.dripbar-columns, .gb-layout-column-wrap { position: relative; }
.gb-layout-column-wrap { display: grid; grid-template-rows: 1fr; grid-gap: 0 2em; position: relative; z-index: 1; }
.gb-layout-columns-3 > .gb-layout-column-wrap { grid-template-columns: 1fr 1fr 1fr; grid-template-areas: "col1 col2 col3"; }
@media (max-width:767px) and (min-width:601px) {
    html .gb-layout-columns-3 > .gb-is-responsive-column { display: flex; flex-wrap: wrap; justify-content: center; }
    html .gb-layout-columns-3 > .gb-is-responsive-column .gb-block-layout-column { width: calc(50% - 30px); }
}
.gb-block-layout-column { display: block; width: 100%; }
.gb-block-layout-column:nth-child(1) { grid-area: col1; }
.gb-block-layout-column:nth-child(2) { grid-area: col2; }
.gb-block-layout-column:nth-child(3) { grid-area: col3; }
.gb-block-layout-column.gb-is-vertically-aligned-center { align-self: center; }

.wp-block-cover, .wp-block-cover-image { position: relative; background-size: cover; background-position: 50%; min-height: 430px; width: 100%; display: flex; justify-content: center; align-items: center; padding: 1em; box-sizing: border-box; }
.wp-block-cover img.wp-block-cover__image-background { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: 0; padding: 0; width: 100%; height: 100%; max-width: none; max-height: none; -o-object-fit: cover; object-fit: cover; outline: none; border: none; box-shadow: none; }
.wp-block-cover .wp-block-cover__inner-container { z-index: 1; width: 100%; }
.wp-block-cover.has-parallax { margin-top: -1px; }

html .wp-block-cover,
html .wp-block-cover-image { padding: 0; min-height: 0; }
body.page:not(.page-template-default) .entry-content > :not(.wp-block-group) { padding-left: 15px; padding-right: 15px; }

html .wp-block-gallery { display: flex; flex-wrap: wrap; }
html .wp-block-gallery.is-style-columns-auto .wp-block-image { width: auto !important; flex-grow: 0 !important; }
html .wp-block-gallery > .wp-block-image { flex-grow: unset !important; }
html .wp-block-gallery > .wp-block-image > a { position: relative; overflow: hidden; }
html .wp-block-gallery > .wp-block-image > a::before { content: '\f065'; position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(0,0,0,0.3); opacity: 0; pointer-events: none; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center; }
html .wp-block-gallery > .wp-block-image > a:hover::before { opacity: 1; transition: 0.5s ease-in; font-size: 50px; }
html .wp-block-gallery > .wp-block-image > a:hover img { transform: scale(1.2); transition: 1s ease-in; }
@media (min-width:992px) {
    .wp-block-gallery[class*="columns-"]:not(.columns-default) { gap: 20px !important; }
    .wp-block-gallery.columns-6 > .wp-block-image { width: calc(16.66667% - 20px*0.83333) !important; }
    .wp-block-gallery.columns-5 > .wp-block-image { width: calc(20% - 20px*0.8) !important; }
    .wp-block-gallery.columns-4 > .wp-block-image { width: calc(25% - 20px*0.75) !important; }
    .wp-block-gallery.columns-3 > .wp-block-image { width: calc(33.33% - 20px*0.66667) !important; }
    .wp-block-gallery.columns-2 > .wp-block-image { width: calc(50% - 20px/2) !important; }
}
@media (max-width:991px) {
    .wp-block-gallery { justify-content: center; }
}
@media (max-width:991px) and (min-width:768px) {
    .wp-block-gallery { justify-content: center; }
    .wp-block-gallery.columns-6 > .wp-block-image,
    .wp-block-gallery.columns-5 > .wp-block-image,
    .wp-block-gallery.columns-4 > .wp-block-image { width: calc(33.33% - 20px*0.66667) !important; }
}
@media (max-width:767px) and (min-width:576px) {
    .wp-block-gallery.columns-6 > .wp-block-image,
    .wp-block-gallery.columns-5 > .wp-block-image,
    .wp-block-gallery.columns-4 > .wp-block-image { width: calc(50% - 20px*0.66667) !important; }
}



.dripbar-columns > .gb-layout-column-wrap, .entry-content > .gb-layout-column-wrap { max-width: var(--wrapWidth); margin: auto; width: 100%; }
.dripbar-columns.alignfull > .gb-layout-column-wrap { max-width: 100%; padding: 0 20px; }
.gb-block-layout-column-inner { height: 100%; }
.gb-block-layout-column.gb-is-vertically-aligned-center { height: auto !important; }
.gb-block-layout-column.gb-is-vertically-aligned-center .gb-block-layout-column-inner { height: auto; }
.gb-background-cover { background-position: 50% 50%; }
@media (max-width: 767px) {
    html .gb-layout-columns-2 > .gb-layout-column-wrap { grid-template-columns: 1fr; grid-template-areas: "col1" "col2"; }
    .gb-block-layout-column-inner > p:last-child { margin-bottom: 0; }
}


.page-template-default .entry-content { padding: 0; max-width: 100%; margin: 0 auto; }
.page-template-default .entry-content > *:not(.alignwide):not(.alignfull),
.page-template-default .entry-content > .alignwide,
.page-template-default .entry-content > .alignfull > .wp-block-group__inner-container .alignwide,
.page-template-default .entry-content > .alignfull .alignwide > .gb-container-inside,
.page-template-default .entry-content > .alignwide > .wp-block-group__inner-container > .alignwide.wp-block-group { max-width: var(--wrapWidth); margin-left: auto; margin-right: auto; }
.page-template-default .entry-content > .alignfull > .wp-block-group__inner-container .aligncenter { max-width: 1000px; margin-left: auto; margin-right: auto; }
.page-template-default .entry-content > .alignwide { padding-left: 0; padding-right: 0; }
.page-template-default .entry-content > .alignfull { padding-left: 60px; padding-right: 60px; }
.page-template-default .entry-content > .alignfull > .wp-block-group__inner-container { position: relative; }
@media (max-width:1670px) {
    .page-template-default .entry-content > .alignwide { padding-left: 50px; padding-right: 50px; }
    .page-template-default .entry-content > .alignfull { padding-left: 50px; padding-right: 50px; }
}
@media (max-width:1199px) {
    .page-template-default .entry-content > .alignfull,
    .page-template-default .entry-content > .alignwide { padding-left: 15px; padding-right: 15px; }
}

html .gb-layout-columns-4,
html .gb-layout-columns-5,
html .gb-layout-columns-6 { overflow: unset; }
html .page-template-default .entry-content > .alignfull { padding-left: 0; padding-right: 0; }
html .page-template-default .entry-content > .alignfull .wp-block-group.alignwide {
    box-sizing: border-box;
    max-width: var(--wrapWidth);
    padding-left: 15px;
    padding-right: 15px;
}
html .wp-block-cover.alignfull > .wp-block-cover__inner-container > .wp-block-group.alignwide {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--wrapWidth);
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
}
html .page-template-default .entry-content > .alignfull > .wp-block-group__inner-container .aligncenter { max-width: 100%; }
html .wp-block-columns.alignwide { max-width: var(--wrapWidth); margin-left: auto; margin-right: auto; padding: 0 15px; }
html .page-template-default .entry-content > .alignfull .wp-block-group.alignwide > .wp-block-group__inner-container > .wp-block-columns.alignwide {
    padding-left: 0;
    padding-right: 0;
}
html .wp-block-columns.alignfull { max-width: 100%; padding: 0 20px; }
@media (max-width:1199px) {
    html .wp-block-columns.alignwide { padding: 0; }
}
@media (min-width:992px) {
    html .wp-block-columns.alignwide .wp-block-column:not(:first-child) { margin-left: 20px; }
}
@media (max-width:991px) {
    html .wp-block-columns.alignwide .wp-block-column.wp-block-column { flex-basis: 100% !important; margin-bottom: 20px; }
    html .wp-block-columns.alignwide .wp-block-column.wp-block-column:last-child { margin-bottom: 0; }
}


/*spacer*/
.gp-global-spcr-60,
.wp-block-spacer.is-style-gp-global-spcr-60 { height: 60px !important; }
.gp-global-spcr-50,
.wp-block-spacer.is-style-gp-global-spcr-50 { height: 50px !important; }
.gp-global-spcr-40,
.wp-block-spacer.is-style-gp-global-spcr-40 { height: 40px !important; }
.gp-global-spcr-30,
.wp-block-spacer.is-style-gp-global-spcr-30 { height: 30px !important; }
.gp-global-spcr-20,
.wp-block-spacer.is-style-gp-global-spcr-20 { height: 20px !important; }
@media (max-width:1199px) {
    .is-style-global-spacer,
    .wp-block-spacer.is-style-gp-global-spcr-cta,
    .gp-global-spcr-cta { height: 60px !important; }
    .alignfull .gp-global-spcr-cta,
    .alignfull .wp-block-spacer.is-style-gp-global-spcr-cta { height: 15vw !important; }
    .alignfull .gp-global-spcr-cta:first-child,
    .alignfull .wp-block-spacer.is-style-gp-global-spcr-cta:first-child { height: 15vw !important; }
    .gp-global-spcr-60,
    .wp-block-spacer.is-style-gp-global-spcr-60,
    .wp-block-spacer.is-style-gp-global-spcr-50-t,
    .gp-global-spcr-50-t { height: 50px !important; }
    .gp-global-spcr-cta:first-child,
    .wp-block-spacer.is-style-gp-global-spcr-cta:first-child,
    .gp-global-spcr-50,
    .wp-block-spacer.is-style-gp-global-spcr-50,
    .wp-block-spacer.is-style-gp-global-spcr-40-t,
    .gp-global-spcr-40-t { height: 40px !important; }
    .gp-global-spcr-page-title,
    .wp-block-spacer.is-style-gp-global-spcr-page-title,
    .gp-global-spcr-40, .wp-block-spacer.is-style-gp-global-spcr-40, .gp-global-spcr-30-t, .wp-block-spacer.is-style-gp-global-spcr-30-t { height: 30px !important; }
    .gp-global-spcr-30, .wp-block-spacer.is-style-gp-global-spcr-30, .gp-global-spcr-20-t, .wp-block-spacer.is-style-gp-global-spcr-20-t { height: 20px !important; }
    .gp-global-spcr-20, .wp-block-spacer.is-style-gp-global-spcr-20, .gp-global-spcr-10-t, .wp-block-spacer.is-style-gp-global-spcr-10-t { height: 10px !important; }
    .gp-global-spcr-5-t, .wp-block-spacer.is-style-gp-global-spcr-5-t { height: 5px !important; }
}
@media (max-width:767px) {
    .wp-block-spacer.anchor-link { transform: translateY(0px); }
    .is-style-global-spacer,
    .wp-block-spacer.is-style-gp-global-spcr-cta,
    .gp-global-spcr-cta,
    .wp-block-spacer.is-style-gp-global-spcr-50-m,
    .gp-global-spcr-50-m,
    html .gp-global-spcr-50-m:first-child,
    html .wp-block-spacer.is-style-gp-global-spcr-50-m:first-child,
    .entry-content > .wp-block-cover:first-child .is-style-global-spacer:first-child { height: 50px !important; }
    .gp-global-spcr-60,
    .wp-block-spacer.is-style-gp-global-spcr-60,
    .wp-block-spacer.is-style-gp-global-spcr-40-m,
    .gp-global-spcr-40-m { height: 40px !important; }
    .gp-global-spcr-cta:first-child,
    .wp-block-spacer.is-style-gp-global-spcr-cta:first-child,
    .gp-global-spcr-50, .wp-block-spacer.is-style-gp-global-spcr-50, .gp-global-spcr-30-m, .wp-block-spacer.is-style-gp-global-spcr-30-m { height: 30px !important; }
    .gp-global-spcr-40, .wp-block-spacer.is-style-gp-global-spcr-40, .gp-global-spcr-20-m, .wp-block-spacer.is-style-gp-global-spcr-20-m { height: 20px !important; }
    .gp-global-spcr-30, .wp-block-spacer.is-style-gp-global-spcr-30, .gp-global-spcr-10-m, .wp-block-spacer.is-style-gp-global-spcr-10-m { height: 10px !important; }
    .gp-global-spcr-20, .wp-block-spacer.is-style-gp-global-spcr-20, .gp-global-spcr-5-m, .wp-block-spacer.is-style-gp-global-spcr-5-m { height: 5px !important; }
    h2 + .wp-block-spacer:not(.is-style-global-spacer),
    h3 + .wp-block-spacer[style*="30px"] { height: 10px !important; }
}



/*list*/
ul.is-style-checklist,
ul.is-style-crosslist,
ul.is-style-orderlist,
ol.is-style-orderlist,
ul.is-style-markers { list-style: none; padding-left: 0 !important; margin: 0 !important; }
ul.is-style-checklist:not(:last-child),
ul.is-style-crosslist:not(:last-child),
ul.is-style-orderlist:not(:last-child),
ol.is-style-orderlist:not(:last-child),
ul.is-style-markers:not(:last-child) {  margin-bottom: 1.6em !important;}
ul.is-style-checklist > li,
ul.is-style-crosslist > li,
ul.is-style-orderlist > li,
ol.is-style-orderlist > li,
ul.is-style-markers > li { list-style: none !important; position: relative; font-size: 1em; padding-left: 1.5em; margin-bottom: 1.2em !important; text-align: left; line-height: 1.3; }
ul.is-style-checklist > li::before,
ul.is-style-crosslist > li::before,
ul.is-style-orderlist > li::before,
ol.is-style-orderlist > li::before,
ul.is-style-markers > li::before { content: ''; font-family: 'Font Awesome 6 Free'; font-weight: 400 !important; color: var(--primary); display: flex; position: absolute; left: 0; top: 0; width: 1em; justify-content: center; height: 1em; font-size: 1.25em; }
ul.is-style-checklist.has-text-light-color > li::before,
ul.is-style-crosslist.has-text-light-color > li::before,
ul.is-style-orderlist.has-text-light-color > li::before,
ol.is-style-orderlist.has-text-light-color > li::before,
ul.is-style-markers.has-text-light-color > li::before { background-color: #fff; color: var(--primary); }
ul.is-style-crosslist > li::before { content: '\f00d'; font-weight: 600 !important; }
ul.is-style-markers > li::before { content: '\f3c5'; font-weight: 600 !important; }
ul.is-style-checklist > li::before {
    align-items: center;
    background-color: var(--primary);
    background-image: none;
    border-radius: 50%;
    color: var(--lightcolor);
    content: '\2713';
    display: flex;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700 !important;
    height: 1.5em;
    justify-content: center;
    line-height: 1;
    top: 0.3em;
    width: 1.5em;
}
ul.is-style-markers.light > li::before,
ul.is-style-checklist.light > li::before { color: inherit; }
ul.is-style-orderlist,
ol.is-style-orderlist { counter-reset: orderlist; }
ul.is-style-orderlist > li::before,
ol.is-style-orderlist > li::before { counter-increment: orderlist; content: counter(orderlist); border: 2.5px solid; border-radius: 50%; padding: 1em; font-size: 0.6em; display: flex; justify-content: center; align-items: center; color: var(--secondary); }
ul.aligned-center, ol.aligned-center { display: table; margin: auto !important; }
ul.aligned-center > li:last-child, ol.aligned-center > li:last-child { margin-bottom: 0; }
ul.is-style-locations { display: flex; flex-flow: wrap; justify-content: center; margin: 0 !important; padding: 0 !important; }
ul.is-style-locations > li { list-style: none !important; margin: 10px !important; padding: 15px 20px 17px !important; line-height: 1; border: 2px solid var(--secondary); position: relative; font-size: 14px; font-weight: 500; color: var(--secondary); text-transform: uppercase; text-align: center; width: calc(16.666% - 20px); }
ul.is-style-locations > li a { text-decoration: none; }
ul.is-style-locations > li a::after,
ul.is-style-locations > li a::before { outline: 2px solid var(--primary); content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
ul.is-style-locations > li a::before { z-index: -1; }
ul.is-style-locations > li mark { background-color: #fff !important; color: var(--secondary); position: absolute; top: 100%; z-index: 1; display: block; font-size: 10px; white-space: nowrap; padding: 5px 10px; left: 50%; width: auto; transform: translate(-50%, -50%); }
ul.is-style-locations > li > mark { color: var(--secondary) !important; }
ul.is-style-locations > li a:hover,
ul.is-style-locations > li a:focus,
ul.is-style-locations > li a:hover::before,
ul.is-style-locations > li a:focus::before,
ul.is-style-locations > li a:hover mark,
ul.is-style-locations > li a:focus mark { color: #fff !important; background-color: var(--primary) !important; border-color: var(--primary) !important; }
ul.is-style-locations > li a:hover a { color: #fff !important; }
ul[class*="col-"], ol[class*="col-"] { display: grid; grid-gap: 10px; }
ul[class*="col-4"], ol[class*="col-4"] { grid-template-columns: 1fr 1fr 1fr 1fr; }
ul[class*="col-3"], ol[class*="col-3"] { grid-template-columns: 1fr 1fr 1fr; }
ul[class*="col-2"], ol[class*="col-2"] { grid-template-columns: 1fr 1fr; }
ul[class*="col-"] > li, ol[class*="col-"] > li { width: 100%; margin-bottom: 0 !important; }
@media (max-width:1199px) {
    ul.is-style-locations > li { width: calc(20% - 20px); }
}
@media (max-width:991px) {
    ul.is-style-locations > li { width: calc(25% - 20px); }
    ul.is-style-markers[class*="col-4"] { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width:767px) {
    ul.is-style-locations > li { width: calc(33.33% - 20px); }
}
@media (max-width:567px) {
    ul.is-style-locations > li { padding: 10px 10px 12px !important; font-size: 14px; width: calc(50% - 20px); }
    ul.is-style-locations > li mark { font-size: 9px; }
    ul[class*="col-4"], ol[class*="col-4"],
    ul[class*="col-3"], ol[class*="col-3"] { grid-template-columns: 1fr 1fr; }
    ul[class*="col-2"], ol[class*="col-2"] { grid-template-columns: 1fr; }
}
@media (max-width:359px) {
    ul.is-style-locations > li { width: calc(100% - 20px); }
}



/* Theme shell helpers
--------------------------------------------- */
.footer {
    background: #111827;
    color: #fff;
    padding: 24px 20px;
    text-align: center;
}

.footer p { margin: 0; }

.top-banner-cta {
    background: var(--primary);
    color: var(--lightcolor);
    font-size: 14px;
    padding: 10px 20px;
    text-align: center;
}

.top-banner-cta p { margin: 0; }

.header-phone {
    margin-left: auto;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

.header-phone a {
    color: var(--headingcolor);
    text-decoration: none;
}

.header-phone a:hover { color: var(--primary); }

.header-cta {
    display: flex;
    align-items: center;
    margin-left: 16px;
}

.header-cta .wp-block-button__link {
    background: var(--primary);
    color: var(--lightcolor);
    /*border-radius: 999px;*/
    padding: 12px 22px;
    text-decoration: none;
}

.footer .grid-container { margin: 0 auto; max-width: var(--wrapWidth, 100%); padding: 0; }
.footer .footer-bar { width: 100%; }
.footer .footer-logo img{
    width: 100%;
    max-width: 150px;
    padding: 15px;
    background: #fff;
    border-radius: 16px;
}
/* Temporarily disabled custom navigation helper overrides while reviewing GeneratePress integration.
.main-navigation .inside-navigation { gap: 20px; }

.mobile-menu-widgets { display: none; }

@media (max-width: 768px) {
    .header-phone,
    .header-cta { display: none; }

    .mobile-menu-widgets {
        display: block;
        width: 100%;
        padding: 20px;
        background: var(--tertiary);
    }
}
*/

/* Utility classes
--------------------------------------------- */
.section-padding { padding-top: 80px; padding-bottom: 80px; }
.section-padding-sm { padding-top: 40px; padding-bottom: 40px; }
.section-padding-lg { padding-top: 120px; padding-bottom: 120px; }

.content-width-sm,
.content-width-md,
.content-width-lg {
    margin-left: auto;
    margin-right: auto;
}

.content-width-sm { max-width: 800px; }
.content-width-md { max-width: 1000px; }
.content-width-lg { max-width: 1200px; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.bg-primary { background: var(--primary); color: var(--lightcolor); }
.bg-secondary { background: var(--secondary); color: var(--lightcolor); }
.bg-light { background: var(--lightcolor); }
.bg-tertiary { background: var(--tertiary); }

.shadow-soft { box-shadow: 0 20px 40px rgba(0, 0, 0, .08); }
.rounded { border-radius: 12px; }
.rounded-lg { border-radius: 24px; }

.site,
.site-content,
.content-area,
.inside-article,
.entry-content {
    max-width: 100%;
    overflow-x: clip;
}

.entry-content > .alignfull,
.wp-block-cover.alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.entry-content .wp-block-group.alignfull,
.entry-content .wp-block-cover.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}


/* Tables
--------------------------------------------- */
table { background-color: transparent; width: 100%; margin-bottom: 15px; font-size: .9em; border-spacing: 0; border-collapse: collapse; }
table td,
table th { padding: 15px; line-height: 1.5; vertical-align: top; border: 1px solid hsla(0, 0%, 50.2%, .5); }
table th { font-weight: 700; }
table tfoot th,
table thead th { font-size: 1em; }
table caption + thead tr:first-child td,
table caption + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th { border-top: 1px solid hsla(0, 0%, 50.2%, .5); }
table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th { background-color: hsla(0, 0%, 50.2%, .07); }
table tbody tr:hover > td,
table tbody tr:hover > th { background-color: hsla(0, 0%, 50.2%, .1); }
table tbody + tbody { border-top: 2px solid hsla(0, 0%, 50.2%, .5); }
@media (max-width: 767px) {
    table table { font-size: .8em; }
    table table td,
    table table th { padding: 7px; line-height: 1.3; }
    table table th { font-weight: 400; }
}

/*forms*/
.gform_legacy_markup_wrapper .gf_hidden, .gform_legacy_markup_wrapper .gform_hidden, .gform_legacy_markup_wrapper input.gform_hidden, .gform_legacy_markup_wrapper input[type="hidden"] { display: none !important; max-height: 1px !important; overflow: hidden; }
.gform_legacy_markup_wrapper .gf_hidden, .gform_legacy_markup_wrapper .gform_hidden, .gform_legacy_markup_wrapper input.gform_hidden, .gform_legacy_markup_wrapper input[type=hidden] { display: none!important; max-height: 1px!important; overflow: hidden; }
.gform_legacy_markup_wrapper .gform_validation_container, .gform_validation_container, body .gform_legacy_markup_wrapper .gform_body ul.gform_fields li.gfield.gform_validation_container, body .gform_legacy_markup_wrapper li.gform_validation_container, body .gform_legacy_markup_wrapper ul.gform_fields li.gfield.gform_validation_container { display: none!important; position: absolute!important; left: -9000px; }

input, select, textarea { background-color: #fff; border: 1px solid #232323; color: #232323; font-size: 16px !important; padding: 16px; width: 100%; }
input:focus, textarea:focus { border-color: #999; outline: none; }
input[type="checkbox"], input[type="image"], input[type="radio"] { width: auto; }
html .gform_wrapper.gravity-theme .gfield textarea.small { height: 119px; resize: vertical; }
html .gform_wrapper.gravity-theme .gform_footer .button { padding: 17.5px 20px; font-weight: 400; }
html .gform_wrapper.gravity-theme .gform_footer .button:not(:hover) { background-color: unset; color: var(--primary); }

button, input[type="button"], input[type="reset"], input[type="submit"], .button, .main-navigation .main-nav ul .highlight a, .more-link { background-color: var(--primary); border: 2px solid var(--primary); color: #fff; cursor: pointer; display: inline-block; font-size: 16px; font-weight: 500; line-height: 1; padding: 10px 20px; text-align: center; text-decoration: none; white-space: normal; width: auto; border-radius: 0; }
a.button:focus, a.button:hover, button:focus, button:hover, input:focus[type="button"], input:hover[type="button"], input:focus[type="reset"], input:hover[type="reset"], input:focus[type="submit"], input:hover[type="submit"], .main-navigation .main-nav ul .highlight a:focus, .main-navigation .main-nav ul .highlight a:hover, .more-link:focus, .more-link:hover { box-shadow: 0 6px 24px rgba(0, 0, 0, 0.14); text-decoration: none; }

.site-header .menu-toggle,
.site-header .menu-toggle:focus,
.site-header .menu-toggle:hover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--headingcolor) !important;
    height: auto !important;
    line-height: 1 !important;
    padding: 10px !important;
    width: auto !important;
}

html .wp-block-buttons + .wp-block-buttons { margin-top: 10px; }
html .wp-block-button .wp-block-button__link { background-color: var(--primary); border: 2px solid var(--primary) !important; border-radius: 999px !important; color: var(--lightcolor); padding: 13px 24px !important; font-family: var(--primaryFontFamily); font-size: 14px; font-weight: 700; line-height: 1; min-height: 44px; display: flex; align-items: center; text-align: left; position: relative; transition: background-color 0.25s ease-in, border-color 0.25s ease-in, transform 0.15s cubic-bezier(0.44, 0.51, 0.24, 0.99), box-shadow 0.5s cubic-bezier(0.44, 0.51, 0.24, 0.99); }
html .wp-block-button .wp-block-button__link:focus,
html .wp-block-button .wp-block-button__link:hover { background-color: var(--primary) !important; border-color: var(--primary) !important; color: var(--lightcolor) !important; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.14); transform: translate3d(0, -3px, 0); text-decoration: none !important; }
html .wp-block-button.has-larger-font-size .wp-block-button__link { font-size: 26px !important; padding: 17px 40px !important; line-height: 1.231; }
html .wp-block-button.has-large-font-size .wp-block-button__link {  font-size: 24px !important; padding: 12px 30px !important; line-height: 1.333; }
html .wp-block-button.has-normal-font-size .wp-block-button__link { font-size: 16px !important; padding: 12px 20px !important; }
html .wp-block-button.has-small-font-size .wp-block-button__link {  font-size: 14px !important; padding: 10px 15px !important; line-height: 1.286; border-width: 1px !important; }
html .wp-block-button.is-style-outline .wp-block-button__link,
html .wp-block-button.gp-btn-outline .wp-block-button__link { background-color: transparent; border: 2px solid var(--primary) !important; color: var(--primary) !important; }
html .wp-block-button.is-style-outline .wp-block-button__link:focus::before,
html .wp-block-button.is-style-outline .wp-block-button__link:focus,
html .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .wp-block-button.gp-btn-outline .wp-block-button__link:focus::before,
html .wp-block-button.gp-btn-outline .wp-block-button__link:focus,
html .wp-block-button.gp-btn-outline .wp-block-button__link:hover { border-color: var(--primary) !important; background-color: var(--primary) !important; color: #fff !important; border-color: inherit; }
html .wp-block-button.gp-btn-secondary .wp-block-button__link { background-color: var(--secondary) !important; border-color: var(--secondary) !important; color: #fff !important; }
html .wp-block-button.gp-btn-gold .wp-block-button__link { background-color: #d4af37 !important; border-color: #d4af37 !important; color: #111 !important; }
html .wp-block-button.gp-btn-gold .wp-block-button__link:hover { background-color: #c49b1d !important; border-color: #c49b1d !important; }
html .bg-dark .wp-block-button.is-style-outline .wp-block-button__link,
html .bg-dark .wp-block-button.gp-btn-outline .wp-block-button__link,
html .dark .wp-block-button.is-style-outline .wp-block-button__link,
html .dark .wp-block-button.gp-btn-outline .wp-block-button__link,
html .bg-text .wp-block-button.is-style-outline .wp-block-button__link,
html .bg-text .wp-block-button.gp-btn-outline .wp-block-button__link,
html .has-primary-background-color .wp-block-button.is-style-outline .wp-block-button__link,
html .has-primary-background-color .wp-block-button.gp-btn-outline .wp-block-button__link,
html .has-secondary-background-color .wp-block-button.is-style-outline .wp-block-button__link,
html .has-secondary-background-color .wp-block-button.gp-btn-outline .wp-block-button__link,
html .has-heading-background-color .wp-block-button.is-style-outline .wp-block-button__link,
html .has-heading-background-color .wp-block-button.gp-btn-outline .wp-block-button__link,
html .has-headingcolor-background-color .wp-block-button.is-style-outline .wp-block-button__link,
html .has-headingcolor-background-color .wp-block-button.gp-btn-outline .wp-block-button__link,
html .has-dark-background-color .wp-block-button.is-style-outline .wp-block-button__link,
html .has-dark-background-color .wp-block-button.gp-btn-outline .wp-block-button__link,
html .wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link,
html .wp-block-cover .wp-block-button.gp-btn-outline .wp-block-button__link {
    background-color: transparent !important;
    border-color: #fff !important;
    color: #fff !important;
}
html .bg-dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .bg-dark .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .dark .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .dark .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .bg-text .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .bg-text .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .has-primary-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .has-primary-background-color .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .has-secondary-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .has-secondary-background-color .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .has-heading-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .has-heading-background-color .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .has-headingcolor-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .has-headingcolor-background-color .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .has-dark-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .has-dark-background-color .wp-block-button.gp-btn-outline .wp-block-button__link:hover,
html .wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .wp-block-cover .wp-block-button.gp-btn-outline .wp-block-button__link:hover {
    background-color: #fff !important;
    border-color: #fff !important;
    color: var(--primary) !important;
}
html .wp-block-button .wp-block-button__link i:first-child { margin-right: 0.35em; }
html .wp-block-button .wp-block-button__link i:last-child {  margin-left: 0.35em; }
html .wp-block-button.btn-light:not(.is-style-outline) .wp-block-button__link { border: 1px solid var(--primary); }
html .wp-block-button.btn-light .wp-block-button__link:hover,
html .wp-block-button.btn-hover-light .wp-block-button__link:hover { background-color: #fff !important; color: var(--primary) !important; }
html .wp-block-button.btn-hover-light-outline .wp-block-button__link:hover { background-color: #fff !important; color: var(--primary) !important; }
html .wp-block-button.btn-hover-dark .wp-block-button__link:hover { background-color: var(--primary) !important; color: #fff !important; }
html .wp-block-button.btn-hover-dark-outline .wp-block-button__link:hover { background-color: var(--primary) !important; color: #fff !important; border-color: #fff !important; }
html .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 20px; }
html .wp-block-buttons .wp-block-button { display: block; }
html .wp-block-buttons .wp-block-button .wp-block-button__link { text-align: center; justify-content: center; }
html .wp-block-buttons.buttons-dual-equal-width .wp-block-button .wp-block-button__link { width: 260px !important; max-width: 100%; }
html .wp-block-button[class*="btn-icon-"] .wp-block-button__link::before { font-family: 'Font Awesome 6 Free'; font-weight: 900; margin-right: 15px; margin-top: -0.2em; margin-bottom: -0.2em; border: 3px solid; width: 1.8em; height: 1.8em; display: inline-flex; align-items: center; justify-content: center; border-radius: 2em; font-size: 0.85em; }
html .wp-block-button[class*="btn-icon-"].icon-plain .wp-block-button__link::before { border: 0; }
html .wp-block-button[class*="btn-icon-"].icon-plain .wp-block-button__link:not(:hover)::before { color: var(--headingcolor); }
html .wp-block-button[class*="btn-icon-play"] .wp-block-button__link::before { content: '\f04b'; text-indent: 0.1em; }
html .wp-block-button[class*="btn-icon-price"] .wp-block-button__link::before { content: '$'; }
html .wp-block-button[class*="btn-icon-phone"] .wp-block-button__link::before { content: '\f095'; }
html .wp-block-button[class*="btn-icon-fax"] .wp-block-button__link::before { content: '\f1ac'; }
html .wp-block-buttons.has-small-font-size .wp-block-button[class*="btn-icon-"] .wp-block-button__link::before { margin-right: 0.5em; }
html .wp-block-buttons.btns-fullwidth .wp-block-button { width: calc(100% - 20px); justify-content: space-between; }
html .wp-block-buttons.btns-fullwidth .wp-block-button__link { padding-left: 10px !important; padding-right: 10px !important; width: 100%; justify-content: center; }
@media (min-width:1600px), (min-width:576px) and (max-width:1199px) {
    html .wp-block-buttons.btns-fullwidth.dual .wp-block-button { width: calc(50% - 20px); }
}
@media (max-width:1199px) {
    html .wp-block-button.has-larger-font-size .wp-block-button__link { padding: 20px 36px !important; font-size: 16px !important; }
    html .wp-block-button.has-large-font-size .wp-block-button__link { padding: 18px 30px !important; font-size: 15px !important; }
    html .wp-block-button .wp-block-button__link { padding: 13px 24px !important; font-size: 14px; }
}
@media (min-width:768px) {
    html .wp-block-buttons.dual-button-centered .wp-block-button__link { width: 270px; max-width: 100%; }
}
@media (max-width:767px) {
    html .wp-block-buttons.btn-aligned-center-mobile { justify-content: center; }
    html .wp-block-buttons.is-content-justification-center { flex-direction: column; align-items: center; }
    html .wp-block-buttons.buttons-dual-equal-width .wp-block-button,
    html .wp-block-buttons.buttons-dual-equal-width-large .wp-block-button { margin: 0 15px 15px !important; min-width: 80%; }
    html .wp-block-buttons.buttons-dual-equal-width .wp-block-button .wp-block-button__link,
    html .wp-block-buttons.buttons-dual-equal-width-large .wp-block-button .wp-block-button__link { min-width: 100%; }
    html .wp-block-button.has-larger-font-size .wp-block-button__link { padding: 18px 34px !important; }
    html .wp-block-button.has-large-font-size .wp-block-button__link { padding: 15px 34px !important; }
}
@media (max-width:576px) {
    html .wp-block-button .wp-block-button__link { padding: 13px 24px !important; font-size: 14px; }
    html .wp-block-button.has-larger-font-size .wp-block-button__link,
    html .wp-block-button.has-large-font-size .wp-block-button__link { padding: 15px !important; }
    html .wp-block-button[class*="btn-icon-"] .wp-block-button__link::before { margin-right: 10px; border: 2px solid; }
}
@media (max-width:359px) {
    html .wp-block-button.is-style-outline .wp-block-button__link,
    html .wp-block-button .wp-block-button__link { font-size: 14px !important; }
}

.btn-sticky-bottom { width: auto; position: fixed; bottom: 0; right: 0; z-index: 10; text-align: right; }
.btn-sticky { font-size: 16px; letter-spacing: 0.02em; margin: 0 10px; padding: 10px 45px; line-height: 1.375; border: 2px solid var(--primary); border-radius: 4px 4px 0 0; display: inline-block; color: #fff; text-align: center; background-color: var(--primary); text-decoration: none; }
.btn-sticky:hover,
.btn-sticky:focus { background-color: var(--secondary); color: #fff; border-color: var(--secondary); }
.btn-sticky-bottom .visible-on-mobile { display: flex; }
.btn-sticky-bottom .visible-on-mobile .btn-sticky { color: #fff; text-decoration: none; width: 50%; margin: 0; border-radius: 0; display: block; padding: 15px 5px; }
.btn-sticky-bottom .visible-on-mobile .btn-outline:not(:hover) { background-color: #fff; color: var(--primary); }
.btn-sticky.btn-rating { bottom: 50%; left: 0; top: 50%; padding: 10px 36px; border-radius: 0; transform: translateY(-100%) rotate(90deg); transform-origin: 0 100%; }
@media (max-width:991px) {
    .btn-sticky.btn-rating { font-size: 13px; padding: 5px 20px; transform: translateY(-50%) rotate(90deg); box-shadow: 0 0 15px rgba(0,0,0,0.15); }
}
@media (max-width:991px) {
    .btn-sticky.btn-rating { padding: 2px 15px; letter-spacing: 1px; }
}
@media (max-width:767px) {
    .btn-sticky-bottom { width: 100%; }
}


.featured-icon .gb-block-layout-column .wp-block-image:first-child { margin-bottom: 60px; }
@media (max-width:991px) {
    .featured-icon .gb-block-layout-column .wp-block-image:first-child { margin-bottom: 30px; }
}
@media (max-width:767px) {
    .featured-icon .gb-block-layout-column { margin-top: 30px; }
}


body {
    color: var(--textcolor);
}

.footer {
    background: #111827;
    color: #ffffff;
    padding: 24px 20px;
    text-align: center;
}

.footer p {
    margin: 0;
}

.header-phone {
    margin-left: auto;
    font-size: 15px;
    font-weight: 600;
}

.top-banner-cta {
    background: var(--primary);
    color: var(--lightcolor);
    font-size: 14px;
    padding: 10px 20px;
    text-align: center;
}

.top-banner-cta p {
    margin: 0;
}

.header-cta {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.header-cta .wp-block-button__link {
    background: var(--primary);
    color: var(--lightcolor);
    /*border-radius: 999px;*/
    padding: 12px 22px;
    text-decoration: none;
}


/* Temporarily disabled duplicate custom navigation helper overrides while reviewing GeneratePress integration.
.main-navigation .inside-navigation {
    gap: 20px;
}

.header-phone {
    margin-left: auto;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
}

.header-phone a {
    color: var(--headingcolor);
    text-decoration: none;
}

.header-phone a:hover {
    color: var(--primary);
}

.header-cta {
    margin-left: 16px;
    display: flex;
    align-items: center;
}

@media (max-width: 768px) {
    .header-phone,
    .header-cta {
        display: none;
    }
}

.mobile-menu-widgets {
    display: none;
}

@media (max-width: 768px) {
    .mobile-menu-widgets {
        display: block;
        width: 100%;
        padding: 20px;
        background: var(--tertiary);
    }
}
*/

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.section-padding {
    padding-top: 80px;
    padding-bottom: 80px;
}

.section-padding-sm {
    padding-top: 40px;
    padding-bottom: 40px;
}

.section-padding-lg {
    padding-top: 120px;
    padding-bottom: 120px;
}

.content-width-sm {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.content-width-md {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.content-width-lg {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.mw,
[class^="mw-"],
[class*=" mw-"],
.is-style-mw,
[class^="is-style-mw-"],
[class*=" is-style-mw-"]{
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

.mw-1920 { max-width: 1920px; }
.mw-1680 { max-width: 1680px; }
.mw-1600 { max-width: 1600px; }
.mw-1517 { max-width: 1517px; }
.mw-1440 { max-width: 1440px; }
.mw-1360 { max-width: 1360px; }
.mw-1290 { max-width: 1290px; }
.mw-1200 { max-width: 1200px; }
.mw-1063 { max-width: 1063px; }
.mw-1040 { max-width: 1040px; }
.mw-1000 { max-width: 1000px; }
.mw-800 { max-width: 800px; }
.mw-400 { max-width: 400px; }
.wp-block-columns.is-style-mw-1920 { max-width: 1920px; }
.wp-block-columns.is-style-mw-1680 { max-width: 1680px; }
.wp-block-columns.is-style-mw-1600 { max-width: 1600px; }
.wp-block-columns.is-style-mw-1517 { max-width: 1517px; }
.wp-block-columns.is-style-mw-1440 { max-width: 1440px; }
.wp-block-columns.is-style-mw-1360 { max-width: 1360px; }
.wp-block-columns.is-style-mw-1290 { max-width: 1290px; }
.wp-block-columns.is-style-mw-1200 { max-width: 1200px; }
.wp-block-columns.is-style-mw-1063 { max-width: 1063px; }
.wp-block-columns.is-style-mw-1040 { max-width: 1040px !important; }
.wp-block-columns.is-style-mw-1000 { max-width: 1000px; }
.wp-block-columns.is-style-mw-800 { max-width: 800px; }
.wp-block-columns.is-style-mw-800 { max-width: 400px; }

@media (max-width: 1680px) and (min-width: 1200px) {
    .mw-1600 { max-width: 95.24vw; }
    .mw-1517 { max-width: 90.30vw; }
    .mw-1440 { max-width: 85.71vw; }
    .mw-1360 { max-width: 80.95vw; }
    .mw-1290 { max-width: 76.79vw; }
    .mw-1200 { max-width: 71.43vw; }
    .mw-1063 { max-width: 63.27vw; }
    .mw-1040 { max-width: 54.167vw !important; }
    .mw-1000 { max-width: 59.52vw; }
    .mw-800 { max-width: 47.62vw; }
    .wp-block-columns.is-style-mw-1600 { max-width: 95.24vw; }
    .wp-block-columns.is-style-mw-1517 { max-width: 90.30vw; }
    .wp-block-columns.is-style-mw-1440 { max-width: 85.71vw; }
    .wp-block-columns.is-style-mw-1360 { max-width: 80.95vw; }
    .wp-block-columns.is-style-mw-1290 { max-width: 76.79vw; }
    .wp-block-columns.is-style-mw-1200 { max-width: 71.43vw; }
    .wp-block-columns.is-style-mw-1063 { max-width: 63.27vw; }
    .wp-block-columns.is-style-mw-1040 { max-width:54.167vw !important; }
    .wp-block-columns.is-style-mw-1000 { max-width: 59.52vw; }
    .wp-block-columns.is-style-mw-800 { max-width: 47.62vw; }
    .wp-block-columns.is-style-mw-400 { max-width: 25.62vw; }
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.bg-primary {
    background: var(--primary);
    color: var(--lightcolor);
}

.bg-secondary {
    background: var(--secondary);
    color: var(--lightcolor);
}

.bg-light {
    background: var(--lightcolor);
}

.bg-tertiary {
    background: var(--tertiary);
}

.shadow-soft {
    box-shadow: 0 20px 40px rgba(0,0,0,.08);
}

.rounded {
    border-radius: 12px;
}

.rounded-lg {
    border-radius: 24px;
}

html,
body {
    overflow-x: clip;
}

.site,
.site-content,
.content-area,
.inside-article,
.entry-content {
    max-width: 100%;
    overflow-x: clip;
}

.entry-content > .alignfull,
.wp-block-cover.alignfull {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.entry-content .wp-block-group.alignfull,
.entry-content .wp-block-cover.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}

.separate-containers .site-main{
    margin: 0;
}


.disclaimer{
    font-size: 10px !important;
    margin-top: 10px;
}

#pum-92 .disclaimer{
    color: #fff;
}

.pum-theme-84 .pum-container, .pum-theme-lightbox .pum-container{
    border: 0 !important;
}

#pum-92 .pum-container {
    background: #244c5a;
    padding: 40px;
}

@media(max-width: 991px){
    #pum-92 .pum-container {

        padding: 20px;
    }
}


#pum-92 .pum-content h2{
    margin-bottom:  10px !important;
    color:#fff;
}

#pum-92 .pum-content p{
    margin-bottom:  10px !important;
    color:#fff;
}

#pum-92 .pum-container .eyebrow{
    margin-bottom: 0 !important;
}

/* ==========================================================================
   Reusable Inner Banner
   Add "inner-banner" to a full-width Gutenberg Cover block.
   ========================================================================== */
.entry-content > .wp-block-cover.alignfull.inner-banner {
    align-items: center;
    box-sizing: border-box;
    min-height: 420px;
    padding: 205px 30px 70px;
}

.inner-banner > .wp-block-cover__inner-container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--wideWidth, 1517px);
    width: 100%;
}

.inner-banner .wp-block-heading {
    color: #fff;
    font-size: clamp(38px, 4.25vw, 68px);
    line-height: 1.08;
    margin: 0;
    text-wrap: balance;
}

.inner-banner .wp-block-heading.has-text-align-center {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
}

@media (max-width: 991px) {
    .entry-content > .wp-block-cover.alignfull.inner-banner {
        min-height: 320px;
        padding: 145px 24px 55px;
    }
}

@media (max-width: 767px) {
    .entry-content > .wp-block-cover.alignfull.inner-banner {
        min-height: 250px;
        padding: 120px 20px 45px;
    }

    .inner-banner .wp-block-heading {
        font-size: clamp(32px, 10vw, 46px);
    }
}
/* ==========================================================================
   Market Selector
   ========================================================================== */

html .markets-section {
    padding-inline: 20px;
}

html .markets-section__grid {
    align-items: stretch !important;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(20px, 2vw, 28px);
    justify-content: center;
    margin: 0;
}

html .markets-section__card {
    background-color: var(--lightcolor);
    border: 1px solid rgba(30, 64, 74, 0.16);
    border-radius: 20px;
    box-shadow: 0 1px 2px rgba(30, 64, 74, 0.06);
    display: flex;
    flex: 0 0 calc(33.333% - 19px) !important;
    flex-direction: column;
    gap: 16px;
    max-width: calc(33.333% - 19px);
    padding: clamp(24px, 3vw, 40px);
    position: relative;
    width: calc(33.333% - 19px);
}

html .markets-section__card--featured {
    border: 2px solid var(--primary);
    box-shadow: 0 18px 44px rgba(30, 64, 74, 0.14);
}

html .markets-section__badge {
    background-color: var(--primary);
    border-radius: 999px;
    color: #fff;
    margin: 0;
    padding: 5px 16px;
    position: absolute;
    right: 24px;
    top: 0;
    transform: translateY(-50%);
}

html .markets-section__country {
    align-items: center;
    display: flex;
    gap: 12px;
}

html .markets-section__flag {
    display: inline-block;
    font-size: 36px;
    line-height: 1;

}

html .markets-section__actions {
    margin-top: auto;
    padding-top: 8px;
}

html .markets-section__link {
    margin: auto 0 0;
    padding-top: 8px;
}

@media only screen and (max-width: 960px) {
    html .markets-section__card {
        flex-basis: calc(50% - 14px) !important;
        max-width: calc(50% - 14px);
        width: calc(50% - 14px);
    }
}

@media only screen and (max-width: 600px) {
    html .markets-section__card {
        flex-basis: 100% !important;
        max-width: 100%;
        width: 100%;
    }

    html .markets-section__badge {
        right: 18px;
    }

    html .markets-section__actions,
    html .markets-section__actions .wp-block-button,
    html .markets-section__actions .wp-block-button__link {
        width: 100%;
    }
}

.eyebrow {
    font-family: var(--secondaryFontFamily);
    font-size: 14px;
    font-weight: 700 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 1rem;
}

/* ==========================================================================
   Franchise Numbers
   ========================================================================== */
.entry-content > .wp-block-group.alignfull.numbers {
    background-color: var(--headingcolor);
    color: #f5f7f7;
    padding-block: clamp(4rem, 7vw, 6rem);
}

.numbers .eyebrow {
    color: var(--primary);
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    margin: 0;
}

.numbers h2 {
    color: var(--lightcolor);
}

.numbers .numbers__inner {
    width: 100%;
    max-width: 1040px !important;
}
.numbers .numbers__intro {
    color: rgba(245, 247, 247, 0.82);
    margin: 1rem 0 0;
    max-width: 62ch;
}

.numbers .numbers__grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 3rem 0 0;
}

.numbers .numbers__cell {
    border-top: 3px solid var(--primary);
    margin: 0;
    min-width: 0;
    padding-top: 1.25rem;
}

.numbers .numbers__value {
    color: var(--lightcolor);
    font-family: var(--secondaryFontFamily);
    font-size: clamp(1.35rem, 1rem + 1.4vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.numbers .numbers__label {
    color: rgba(245, 247, 247, 0.75);
    font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
    margin: 0.5rem 0 0;
}

.numbers .numbers__footnote {
    color: rgba(245, 247, 247, 0.6);
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    margin: 2.5rem 0 0;
    max-width: 80ch;
}

@media (max-width: 860px) {
    .numbers .numbers__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .numbers .numbers__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Global Scroll Reveal
   ========================================================================== */
.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ==========================================================================
   Why The DRIPBaR
   ========================================================================== */
.entry-content > .wp-block-group.alignfull.why {
    background-color: var(--tertiary);
    padding-block: clamp(4rem, 8vw, 6rem);
    
}

.why .why__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 3rem 0 0;
}

.why .why__card {
    background-color: var(--lightcolor);
    border: 1px solid color-mix(in srgb, var(--textcolor) 12%, transparent);
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(23, 54, 63, 0.06);
    margin: 0;
    min-width: 0;
    padding: 2rem 1.5rem;
}

.why .why__icon {
    color: var(--headingcolor);
    line-height: 0;
}

.why .why__icon svg {
    display: block;
    height: 28px;
    width: 28px;
}

.why .why__card h3 {
    margin: 1.25rem 0 0;
}

.why .why__card p {
    color: color-mix(in srgb, var(--textcolor) 72%, transparent);
    font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
    margin: 0.75rem 0 0;
}

@media (max-width: 1000px) {
    .why .why__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .why .why__grid {
        grid-template-columns: 1fr;
    }
}
