/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 27 2025 | 23:20:39 */
/* --- Global image treatment (SZM standard) --- */
img {
  display:block;
  max-width:100%;
  height:auto;
  border-radius:12px;            /* rounded corners */
  box-shadow:0 4px 10px rgba(0,0,0,0.15); /* soft drop shadow */
  transition:box-shadow 0.25s ease;
}
img:hover {
  box-shadow:0 6px 16px rgba(0,0,0,0.25); /* deepen on hover */
}
/* =========================================================
   SZM — Master Additional CSS (v7.10, ASCII-safe)
   Build: 2025-09-23-0043-ET • r12
   ========================================================= */

/* == Non-visual Build Token (for cache/version checks) == */
:root{
  --szm-css-build: "SZM v7.10 • 2025-09-23-0043-ET • r12";
  --szm-crimson:#B30000;
  --szm-crimson-dark:#8E1A24;
  --szm-crimson-shadow:0 0 5px 0 #221F20;
}

/* =========================================================
   0) Smooth scroll + anchor offset
   ========================================================= */
html { scroll-behavior: smooth; }
:target { scroll-margin-top: 100px; }

/* =========================================================
   1) Named-Anchor Menu (widget-based)
   ========================================================= */
.szm-anchor-menu .widgettitle { display:none; }
.szm-anchor-menu .menu,
.szm-anchor-menu .menu > li {
  border:0 !important; background:none !important; box-shadow:none !important;
  margin:0 !important; padding:0 !important;
}
.szm-anchor-menu .menu {
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center;
  list-style:none; padding:8px 0 !important;
}
.szm-anchor-menu .menu > li { display:flex; align-items:center; }
.szm-anchor-menu .menu > li > a {
  display:flex; align-items:center; box-sizing:border-box; white-space:nowrap;
  text-decoration:none !important; line-height:1; margin:0 !important; padding:12px 18px;
  font-weight:700; border:2px solid #0076BC; border-radius:9999px; color:#0076BC; background:#FFFFFF; box-shadow:none;
}
.szm-anchor-menu .menu > li:before,
.szm-anchor-menu .menu > li:after,
.szm-anchor-menu .menu > li > a:before,
.szm-anchor-menu .menu > li > a:after { content:none !important; display:none !important; }
.szm-anchor-menu .menu > li > a:hover,
.szm-anchor-menu .menu > li > a:focus {
  background:#0076BC; color:#FFFFFF; border-color:#0076BC; outline:none; box-shadow:0 0 0 3px rgba(0,118,188,0.22);
}
.szm-anchor-menu .menu > li.primary-cta > a { background:#0076BC; color:#FFFFFF; border-color:#0076BC; border-width:2px; }
.szm-anchor-menu .menu > li.crimson-cta > a { background:var(--szm-crimson); color:#FFFFFF; border-color:var(--szm-crimson-dark); border-width:2px; }
@media (max-width:1024px){
  .szm-anchor-menu .menu { gap:8px; }
  .szm-anchor-menu .menu > li > a { padding:11px 14px; }
}

/* =========================================================
   2) Buttons — inline link buttons (blue + CRIMSON)
   ========================================================= */
/* Base blue inline button */
.link-button-inline a,
a.link-button-inline,
:where(h1,h2,h3,h4,h5,h6,.vc_custom_heading,.wpb_heading) a.link-button-inline{
  display:inline-flex !important; align-items:center; justify-content:center;
  font: normal 600 13px/1 "Open Sans", sans-serif;
  letter-spacing:0; text-transform:none;
  padding:8px 14px 7px !important; border-radius:2px !important; border:0 !important;
  color:#ffffff !important; background:#0076bc !important; box-shadow:0 0 5px 0 #221f20 !important;
  text-decoration:none !important; white-space:nowrap; transition:all .3s ease-out;
}
.link-button-inline a:hover,
a.link-button-inline:hover{ background:#005a8e !important; color:#ffffff !important; box-shadow:0 0 10px 0 rgba(0,0,0,0) !important; }

/* CRIMSON inline button — your original class */
.link-button-inline-crimson a,
a.link-button-inline-crimson,
:where(h1,h2,h3,h4,h5,h6,.vc_custom_heading,.wpb_heading) a.link-button-inline-crimson{
  display:inline-flex !important; align-items:center; justify-content:center;
  font: normal 600 13px/1 "Open Sans", sans-serif;
  letter-spacing:0; text-transform:none;
  padding:8px 14px 7px !important; border-radius:2px !important;
  border:2px solid var(--szm-crimson-dark) !important;
  color:#ffffff !important; background:var(--szm-crimson) !important;
  box-shadow:var(--szm-crimson-shadow) !important;
  text-decoration:none !important; white-space:nowrap; transition:all .3s ease-out;
}
/* Hover/focus */
.link-button-inline-crimson a:hover,
a.link-button-inline-crimson:hover{
  background:var(--szm-crimson-dark) !important; border-color:var(--szm-crimson-dark) !important; color:#ffffff !important; box-shadow:none !important; }
/* Remove any theme-generated ::after icons/lines on these inline buttons */
.link-button-inline a::after,
a.link-button-inline::after,
.link-button-inline-crimson a::after,
a.link-button-inline-crimson::after{ content:none !important; }

/* When an inline button lives inside a heading, add a little left gap */
h1 a.link-button-inline, h2 a.link-button-inline, h3 a.link-button-inline,
h1 a.link-button-inline-crimson, h2 a.link-button-inline-crimson, h3 a.link-button-inline-crimson { margin-left:0.5ch; }

/* Wide buttons (The7 variables) if used elsewhere */
.btn-szm {
  --the7-btn-bg-color:#0076bc; --the7-btn-color:#ffffff; --the7-btn-border-color:#0076bc;
  --the7-btn-shadow:0 0 5px 0 #221f20;
  --the7-btn-hover-bg-color:#004d7a; --the7-btn-hover-color:#ffffff; --the7-btn-border-hover-color:#0065a5;
}
.btn-szm-outline {
  --the7-btn-bg-color:transparent; --the7-btn-color:#0076bc; --the7-btn-border-color:#0076bc;
  --the7-btn-shadow:0 0 0 0 transparent; --the7-btn-m-border-width:2px;
  --the7-btn-hover-bg-color:#eaf3fb; --the7-btn-hover-color:#0076bc; --the7-btn-border-hover-color:#6fafdf;
}
@media (max-width:780px){
  .btn-szm, .btn-szm-outline { width:100%; text-align:center; }
  .btn-szm + .btn-szm-outline, .btn-szm-outline + .btn-szm { margin-top:10px; }
}

/* =========================================================
   3) Lists
   ========================================================= */
.nice-bullets ul { list-style:none; margin:0; padding-left:1.25em; }
.nice-bullets li { position:relative; margin:0.4em 0; line-height:1.4; padding-left:1.2em; }
.nice-bullets li::before{ content:""; position:absolute; left:0; top:0.6em; width:0.6em; height:0.6em; background:#0076BC; border-radius:50%; }
.nice-bullets.tight ul { margin:0; padding-left:1em; }
.nice-bullets.tight li { margin:0.2em 0; line-height:1.25; padding-left:1em; }
.nice-bullets.tight li::before { top:0.55em; width:0.5em; height:0.5em; }
.nice-bullets li a { text-decoration:none; color:#221F20; transition:color .2s; }
.nice-bullets li a:hover { color:#0076BC; text-decoration:underline; }
/* =========================================================
   Nice Bullets – Black variant (exact clone of blue style)
   ========================================================= */
.nice-bullets-black ul {
  list-style: none;
  margin: 0;
  padding-left: 1.25em;
}

.nice-bullets-black li {
  position: relative;
  margin: 0.4em 0;
  line-height: 1.4;
  padding-left: 1.2em;
}

/* cloned dot, just black instead of SZM blue */
.nice-bullets-black li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.6em;
  height: 0.6em;
  background: #000000;      /* ← black bullet */
  border-radius: 50%;
}

/* retain the link behavior */
.nice-bullets-black li a {
  text-decoration: none;
  color: #221F20;
  transition: color .2s;
}
.nice-bullets-black li a:hover {
  color: #0076BC;
  text-decoration: underline;
}


/* =========================================================
   5) Responsive row toggles
   ========================================================= */
@media (max-width: 992px) {
  .hide-mobile-row { display:none !important; }
  .hide-mobile-row + .vc_row-full-width { display:none !important; }
  .hide-mobile-row,
  .hide-mobile-row:before,
  .hide-mobile-row:after,
  .hide-mobile-row .vc_row-background-overlay,
  .hide-mobile-row .vc_parallax-inner,
  .hide-mobile-row .the7-row-bg,
  .hide-mobile-row .dt-row-bg,
  .hide-mobile-row .wpb_column,
  .hide-mobile-row .vc_column { background:none !important; background-image:none !important; }
  .show-mobile-row { display:block !important; }
}
@media (min-width: 992px) { .show-mobile-row { display:none !important; } }

/* =========================================================
   6) Progress Bar label visibility
   ========================================================= */
.vc_progress_bar .vc_single_bar .vc_label{ display:block !important; visibility:visible !important; opacity:1 !important; position:relative; z-index:2; }

/* =========================================================
   7) Team tweaks
   ========================================================= */
.team-carousel .team-item { transform:scale(0.8); transform-origin:center; }
.team-no-img img.preload-me,
.team-no-img img.owl-lazy-load,
.team-no-img img.owl-thumb-lazy-load-show,
.team-no-img .post-thumbnail,
.team-no-img .post-media,
.team-no-img .fancy-figure,
.team-no-img .rollover { display:none !important; }
.team-no-img .aspect { padding-top:0 !important; height:0 !important; min-height:0 !important; }
.team-no-img .team-mate,
.team-no-img .post,
.team-no-img .entry-content,
.team-no-img .team-content,
.team-no-img .content { margin-top:0 !important; padding-top:0 !important; }

/* =========================================================
   8) Mobile sticky tagline (optional)
   ========================================================= */
@media (max-width:1024px){
  .masthead.masthead-mobile.is-sticky .mobile-header-bar,
  .masthead-mobile.is-sticky .mobile-header-bar { position:relative !important; overflow:visible !important; z-index:9999 !important; }
  .masthead.masthead-mobile.is-sticky .mobile-header-bar::after,
  .masthead-mobile.is-sticky .mobile-header-bar::after {
    content:"Nobody Should Freeze to Death in America";
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    font-size:11px; line-height:1.2; font-weight:600; color:#FFFFFF !important;
    pointer-events:none; white-space:nowrap;
  }
}

/* =========================================================
   9) Sticky header menu alignment + footer protection
   ========================================================= */
.sticky-menu .menu,
.dt-sticky-header .menu { display:flex; align-items:center; gap:12px; margin:0; padding:0; list-style:none; }
.sticky-menu .menu li,
.dt-sticky-header .menu > li { display:inline-flex; align-items:center; margin-top:0 !important; padding-top:0 !important; }
.sticky-menu .menu li:first-child,
.dt-sticky-header .menu > li:first-child { margin-top:0 !important; padding-top:0 !important; }
footer .menu li,
.site-footer .menu li,
footer .widget_pages li,
.site-footer .widget_pages li { margin-top:0 !important; padding-top:0 !important; display:block; }
/* SZM Pill Button — WPBakery vc_btn3 */
body .szm-pill-btn .vc_general.vc_btn3 {
  border-radius: 9999px !important;   /* pill shape */
  padding-left: 28px !important;
  padding-right: 28px !important;
  min-height: 44px !important;
  line-height: 1.2 !important;
  display: inline-block !important;
  white-space: nowrap !important;

  /* default colors */
  background-color: #0076BC !important; /* SZM blue */
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hover state */
body .szm-pill-btn .vc_general.vc_btn3:hover {
  background-color: #6FAFDF !important; /* lighter blue */
  color: #221F20 !important;            /* dark text */
}
/* SZM Volunteer Pill Button — match nav chips */
a.dt-btn.szm-chip-btn {
  display: inline-flex !important;       /* shrink to fit text */
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;                /* no full-width stretch */
  max-width: none !important;            /* kill theme max width */
  
  box-sizing: border-box !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 12px 18px !important;

  font-family: "Open Sans", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;

  border: 2px solid #005A8E !important;
  border-radius: 9999px !important;
  color: #005A8E !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* kill theme pseudo-elements */
a.dt-btn.szm-chip-btn::before,
a.dt-btn.szm-chip-btn::after {
  display: none !important;
  content: none !important;
}

/* hover effect */
a.dt-btn.szm-chip-btn:hover {
  background: #005A8E !important;
  color: #FFFFFF !important;
  border-color: #005A8E !important;
}
/* Shadow-only card (no visible border) */
.szm-panel,
.tec-event-card,
.vc_column_container.szm-card {
  background: #FFFFFF;
  border: 0 none !important;                /* remove conflicting borders */
  border-radius: 14px;
  padding: 18px;

  box-shadow: 0 8px 22px #00000014;         /* main shadow */
  -webkit-box-shadow: 0 8px 22px #00000014;
  will-change: box-shadow;
}

.szm-panel:hover,
.tec-event-card:hover,
.vc_column_container.szm-card:hover {
  box-shadow: 0 14px 36px #00000024;        /* stronger on hover */
  -webkit-box-shadow: 0 14px 36px #00000024;
}
/* ==============================
   SZM — safe gutter for .szm-panel columns
   Adds horizontal spacing between panel columns without changing layout
   ============================== */

/* Main: give each panel column breathing room */
.vc_row .vc_column_container.szm-panel,
.vc_row .wpb_column.szm-panel {
  box-sizing: border-box !important;
  margin-right: 24px !important;   /* horizontal gap between columns (adjust px as needed) */
  padding-left: 12px !important;   /* internal padding so content doesn't hit edges */
  padding-right: 12px !important;
}

/* Remove extra gap for the last column in the row to avoid overflow */
.vc_row .vc_column_container.szm-panel:last-child,
.vc_row .wpb_column.szm-panel:last-child {
  margin-right: 0 !important;
}

/* If your panels are inside nested .vc_row-inner containers, also cover that */
.vc_row .vc_row-inner > .vc_column_container.szm-panel,
.vc_row .vc_row-inner > .wpb_column.szm-panel {
  margin-right: 24px !important;
}
.vc_row .vc_row-inner > .vc_column_container.szm-panel:last-child,
.vc_row .vc_row-inner > .wpb_column.szm-panel:last-child {
  margin-right: 0 !important;
}

/* Mobile: remove horizontal margin so columns stack nicely */
@media (max-width: 780px) {
  .vc_row .vc_column_container.szm-panel,
  .vc_row .wpb_column.szm-panel,
  .vc_row .vc_row-inner > .vc_column_container.szm-panel,
  .vc_row .vc_row-inner > .wpb_column.szm-panel {
    margin-right: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
/* subtle standard shadow */
.szm-panel {
  box-shadow: 0 8px 22px #00000014;   /* x-offset y-offset blur color (8% black) */
  border-radius: 14px;
}
/* Row of buttons, centered */
.szm-btn-row {
  display: flex;
  justify-content: center;   /* center horizontally */
  align-items: center;       /* center vertically if they wrap */
  gap: 16px;                 /* space between buttons */
  flex-wrap: wrap;           /* allow wrapping on small screens */
  margin: 20px 0;            /* optional spacing above/below */
}

/* === SZM — Inline CHIP (safe v1.7, no vars, no :where) ===
   Use class: link-button-inline-chip
*/

.link-button-inline-chip a,
a.link-button-inline-chip,
h1.link-button-inline-chip a,
h2.link-button-inline-chip a,
h3.link-button-inline-chip a,
h4.link-button-inline-chip a,
h5.link-button-inline-chip a,
h6.link-button-inline-chip a,
.vc_custom_heading.link-button-inline-chip a,
.wpb_heading.link-button-inline-chip a,
.wpb_text_column.link-button-inline-chip .wpb_wrapper a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-family: "Open Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.1 !important;

  padding: 10px 20px !important;
  border-radius: 9999px !important;

  border: 2px solid #0076BC !important;
  background: #ffffff !important;
  color: #0076BC !important;

  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;

  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

/* Hover/focus */
.link-button-inline-chip a:hover,
a.link-button-inline-chip:hover,
.wpb_text_column.link-button-inline-chip .wpb_wrapper a:hover {
  background: #0076BC !important;
  border-color: #0076BC !important;
  color: #ffffff !important;
}
/* =========================================================
   SZM — Anchorbar Pills (FINAL v2025-09-19 • r1)
   Targets: .szm-anchor-menu.anchorbar-row chips
   ========================================================= */

/* Desktop/tablet sizes */
.szm-anchor-menu.anchorbar-row .menu > li > a,
.anchorbar-row .menu > li > a {
  /* SIZE KNOBS */
  padding: 12px 12px !important;   /* pill height/width */
  font-size: 14px !important;      /* text size */
  line-height: 1.1 !important;

  /* Keep pill look */
  border-radius: 9999px !important;
}

/* Phone/tablet-tight sizes */
@media (max-width: 1024px){
  .szm-anchor-menu.anchorbar-row .menu > li > a,
  .anchorbar-row .menu > li > a {
    padding: 12px 12px !important;
    font-size: 12px !important;
  }
}

/* Optional: keep the same hover behavior (inherits your colors) */
.szm-anchor-menu.anchorbar-row .menu > li > a:hover,
.anchorbar-row .menu > li > a:hover {
  /* no color changes here so your existing hover colors still apply */
}

/* Build token so you can confirm latest CSS is loaded */
:root{ --szm-css-build: "SZM v7.10 • 2025-09-23-0043-ET • anchorbar r1"; }

/* =========================================================
   SZM — Nav subtitle color fix (v1.0) • 2025-09-20 15:22 ET
   Scope: stop anchor-bar styles from affecting the main nav
   ========================================================= */

/* 1) Normalize ALL header menu spans to inherit by default */
#site-header .main-nav .menu > li > a span {
  color: inherit !important;
}

/* 2) Explicit, safe styling for menu subtitles/descriptions */
#site-header .main-nav .menu > li > a .menu-subtitle,
#site-header .main-nav .menu > li > a .menu-desc,
#site-header .main-nav .menu > li > a .subtitle,
#site-header .main-nav .menu > li > a .menu-item-desc {
  color: var(--szm-menu-subtitle, rgba(255,255,255,.72)) !important;
  transition: color .2s ease;
}

/* 3) Only change color when THIS item is active/ancestor/hover */
#site-header .main-nav .menu > li.current-menu-item   > a .menu-subtitle,
#site-header .main-nav .menu > li.current-menu-ancestor > a .menu-subtitle,
#site-header .main-nav .menu > li.current_page_item    > a .menu-subtitle,
#site-header .main-nav .menu > li.current_page_ancestor> a .menu-subtitle,
#site-header .main-nav .menu > li:hover                > a .menu-subtitle,
#site-header .main-nav .menu > li.current-menu-item   > a .menu-desc,
#site-header .main-nav .menu > li.current-menu-ancestor > a .menu-desc,
#site-header .main-nav .menu > li.current_page_item    > a .menu-desc,
#site-header .main-nav .menu > li.current_page_ancestor> a .menu-desc,
#site-header .main-nav .menu > li:hover                > a .menu-desc,
#site-header .main-nav .menu > li.current-menu-item   > a .subtitle,
#site-header .main-nav .menu > li.current-menu-ancestor > a .subtitle,
#site-header .main-nav .menu > li.current_page_item    > a .subtitle,
#site-header .main-nav .menu > li.current_page_ancestor> a .subtitle,
#site-header .main-nav .menu > li:hover                > a .subtitle,
#site-header .main-nav .menu > li.current-menu-item   > a .menu-item-desc,
#site-header .main-nav .menu > li.current-menu-ancestor > a .menu-item-desc,
#site-header .main-nav .menu > li.current_page_item    > a .menu-item-desc,
#site-header .main-nav .menu > li.current_page_ancestor> a .menu-item-desc,
#site-header .main-nav .menu > li:hover                > a .menu-item-desc {
  color: var(--szm-menu-subtitle-active, #FFFFFF) !important;
}

/* 4) Extra guardrail: scope chip/anchor-button styles to anchor bar only */
.szm-anchor-menu .link-button-inline-chip a,
.anchorbar-row .link-button-inline-chip a,
.szm-anchor-menu a.link-button-inline-chip,
.anchorbar-row a.link-button-inline-chip {
  /* your chip styles here; keeping the selector tight prevents nav bleed */
}

/* =========================================================
   SZM — Force WPBakery Image Shadow/Rounded on inline images
   Build: 2025-09-22-1445-ET • r1
   Purpose: Apply the same treatment as Single Image element
            when only using "Image CSS Class" field.
   ========================================================= */

img.vc_box_shadow,
img.vc_box_rounded {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Shadow */
img.vc_box_shadow {
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Rounded corners */
img.vc_box_rounded {
  border-radius: 6px;
}
/* SZM — MC4WP form polish (v1.0) • 2025-09-23 13:00 ET */
.mc4wp-form {
  max-width: 560px; margin: 0 auto;
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.mc4wp-form p { margin: 0 0 12px; }
.mc4wp-form label { display: block; font-size: 14px; opacity: .85; margin-bottom: 6px; }
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"]{
  width: 100%; padding: 12px 14px; border: 1px solid #ccc; border-radius: 8px;
}
.mc4wp-form input[type="submit"]{
  display: inline-block; padding: 12px 22px; border: none; border-radius: 999px;
  font-weight: 700; cursor: pointer;
  background:#0076BC; color:#fff;
}
.mc4wp-form input[type="submit"]:hover{ background:#005A8C; }
/* SZM — MC4WP form polish (v1.1) • 2025-09-23 */
.mc4wp-form{max-width:560px;margin:0 auto;font-family:"Open Sans",sans-serif;}
.mc4wp-form p{margin:0 0 12px;}
.mc4wp-form label{display:block;font-size:14px;opacity:.85;margin-bottom:6px;}
.mc4wp-form input[type="text"], .mc4wp-form input[type="email"]{
  width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:8px;
}
.mc4wp-form input[type="submit"]{
  padding:12px 22px;border:none;border-radius:999px;font-weight:700;cursor:pointer;
  background:#0076BC;color:#fff;
}
.mc4wp-form input[type="submit"]:hover{background:#005A8C;}
/* SZM — MC4WP 2-Col tweaks (v1.0) • 2025-09-23 */
.mc4wp-form{
  max-width:520px; /* keeps the form tidy on the right column */
  margin:0;        /* align with left content */
  font-family:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.mc4wp-form p{ margin:0 0 12px; }
.mc4wp-form label{ display:block; font-size:14px; opacity:.85; margin-bottom:6px; }
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"]{
  width:100%; padding:12px 14px; border:1px solid #ccc; border-radius:8px;
}
.mc4wp-form input[type="submit"]{
  padding:12px 22px; border:none; border-radius:999px; font-weight:700; cursor:pointer;
  background:#0076BC; color:#fff;
}
.mc4wp-form input[type="submit"]:hover{ background:#005A8C; }

/* Mobile stack polish — The7 primary breakpoint ~778px */
@media (max-width: 778px){
  .vc_custom_1737694200001, .vc_custom_1737694200003{ padding-left:0 !important; padding-right:0 !important; }
  .mc4wp-form{ max-width:100%; }
  .vc_custom_1737694200004{ text-align:center !important; } /* center the form on mobile */
}
/* === SZM — Form Label Styling (v1.0, 2025-09-23) === */
form label {
  font-weight: 700;          /* bold text */
  font-family: "Open Sans", sans-serif; /* keep brand consistency */
  font-size: 16px;           /* adjust size if needed */
  color: #221F20;            /* SZM brand black */
  margin-bottom: 4px;        /* a little spacing below */
  display: block;            /* keeps label above field */
}
/* =========================================================
   SZM — Locations block (scoped) • v1.3 • 2025-09-24 10:09:22 ET
   - Tighten gutter, prevent wraps, bump readable size
   - Remove borders ONLY in this block (no global resets)
   ========================================================= */

/* Container scope */
.szm-locations .locations-table{
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  width: auto;
  font-size: clamp(13px, 1.1vw, 16px);
  border: 0;                 /* remove any table border just here */
}

/* Cells: no wrap, tight horizontal padding, no borders */
.szm-locations .locations-table td{
  white-space: nowrap;
  padding: 2px 6px;          /* reclaimed gutter */
  border: 0;                 /* kill theme cell rules only here */
  box-shadow: none;
  background-image: none;
}

/* Optional: shave the inter-column gutter a touch more */
.szm-locations .locations-table td:first-child{ padding-right: 4px; }
.szm-locations .locations-table td:last-child { padding-left:  4px; }

/* Defensive: some themes add a bottom rule via the parent element */
.szm-locations .wpb_text_column,
.szm-locations .wpb_content_element{
  border: 0;                 /* only within this locations wrapper */
  box-shadow: none;
}
/* SZM — Mobile Button Wrap (v1.0, 09-24-2025) */
@media (max-width: 778px) {
  .szm-anchor-menu {
    display: flex;
    flex-wrap: wrap;   /* allow wrapping */
    justify-content: center;
    gap: 8px 12px;     /* row and column spacing */
  }

  .szm-anchor-menu .link-button-inline-chip {
    flex: 1 1 auto;    /* let buttons flex to available width */
    min-width: 140px;  /* prevents being too narrow */
    text-align: center;
  }
}
/* =========================================================
   SZM — Mobile Anchor WRAP Override (v7.10 • r12a) 
   Purpose: replace sideways scroll with wrapped rows on phones
   ========================================================= */
@media (max-width: 780px){
  .szm-anchor-menu .menu{
    flex-wrap: wrap !important;          /* allow wrapping */
    overflow-x: visible !important;      /* no horizontal scroll */
    justify-content: center !important;  /* center the rows */
    gap: 10px 12px !important;           /* tidy spacing */
    padding-bottom: 0 !important;
  }
  .szm-anchor-menu .menu > li{
    flex: 0 1 auto !important;           /* let items break to next line */
  }
  .szm-anchor-menu .menu > li > a{
    white-space: nowrap !important;      /* keep each pill text on one line */
  }
}

/* bump build token so you can verify it loaded */
:root{ --szm-css-build: "SZM v7.10 • 2025-09-24-1310-ET • r12a"; }
/* =========================================================
   SZM — Anchor Menu: Smaller Pills (v7.10 • r12c)
   Shrinks pill size by ~2px globally
   ========================================================= */
.szm-anchor-menu .menu > li > a,
.anchorbar-row .menu > li > a {
  font-size: 12px !important;       /* down from 14 */
  padding: 10px 18px !important;    /* down from 12/20 */
  line-height: 1.1 !important;
}

@media (max-width: 1024px){
  .szm-anchor-menu .menu > li > a,
  .anchorbar-row .menu > li > a {
    font-size: 13px !important;     /* down from 15 */
    padding: 10px 16px !important;  /* down from 12/18 */
  }
}

@media (max-width: 780px){
  .szm-anchor-menu .menu > li > a,
  .anchorbar-row .menu > li > a {
    font-size: 12px !important;     /* keep small on mobile */
    padding: 9px 14px !important;
  }
}
/* Remove unwanted white space at the top of the page */
.page .content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove unwanted white space at the bottom of the page */
.paypal-button-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  overflow: visible !important;
}
/* Large blue icon (used occasionally) */
.big-blue-icon {
  font-size: 5rem;
  color: #0076BC;
  vertical-align: middle;
}

/
/* === SZM Unified Responsive Buttons — FINAL v2025-10-15-XL === */
a.szm-btn,
.szm-btn {
  display: inline-block !important;
  background-color: #0076BC;   /* SZM blue */
  color: #FFFFFF !important;
  font-family: 'Antonio', sans-serif;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  box-sizing: border-box;
  line-height: 1.2;

  /* Responsive sizing */
  font-size: clamp(16px, 1.8vw, 22px);    /* auto-scales text */
  padding: clamp(10px, 1.2vw, 1px) clamp(20px, 2vw, 36px); /* auto-scales padding */

  transition: background-color 0.25s ease, color 0.25s ease,
              box-shadow 0.25s ease, transform 0.25s ease;
  box-shadow: 0 2px 6px #333333;
}

/* Hover / Focus */
a.szm-btn:hover,
.szm-btn:hover,
a.szm-btn:focus,
.szm-btn:focus {
  background-color: #6FAFDF;   /* light blue hover */
  color: #221F20 !important;
  box-shadow: 0 6px 12px #222222;
  transform: translateY(-2px);
}

/* Outline Variant */
a.szm-btn-outline,
.szm-btn-outline {
  background-color: #FFFFFF;
  color: #0076BC !important;
  border: 2px solid #0076BC;
}

a.szm-btn-outline:hover,
.szm-btn-outline:hover {
  background-color: #EAF3FB;
  color: #0076BC !important;
}

/* Mobile: shrink dramatically for “ice cube” look */
@media (max-width: 767px) {
  .szm-btn {
    display: block;
    width: auto;
    min-width: 120px;
    max-width: 20px;
    margin: 6px auto;
    font-size: 12px;           /* smaller text */
    padding: 8px 14px;         /* compact padding */
    border-radius: 10px;
  }
}
/* === SZM Sponsor Tiles — stable, large, responsive === */
.szm-btn-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  /* shape and size */
  width: clamp(70px, 19vw, 140px);
  height: clamp(70px, 19vw, 140px);
  margin: 5px;
  padding: 5px;

  /* look */
  background-color: #0076BC;
  color: #FFFFFF;
  font-family: 'Antonio', sans-serif;
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 700;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 2px 6px #333333;
  transition: background-color .25s ease,
              color .25s ease,
              box-shadow .25s ease,
              transform .25s ease;
  cursor: pointer;
  box-sizing: border-box;
}

.szm-btn-tile:hover {
  background-color: #6FAFDF;
  color: #221F20;
  box-shadow: 0 6px 12px #222222;
  transform: translateY(-3px);
}

/* --- mobile: shrink proportionally --- */
@media (max-width: 767px) {
  .szm-btn-tile {
    width: 100px;
    height: 100px;
    font-size: 15px;
		line-height: 25px;
    margin: 6px;
    border-radius: 15px;
    padding: 6px;
  }
}

/* === SZM WPForms Typography Alignment – Responsive Large Format ===
   Fonts: Antonio (titles), Open Sans (body)
   Colors: #221F20 (SZM black)
   Desktop: 60px/65px — Body: 26px/35px
*/

/* Base: mobile-first sizing */
.wpforms-container .wpforms-title {
  font-family: "Antonio", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(30px, 4vw, 40px) !important;  /* responsive from ~34px up to 60px */
  line-height: clamp(35px, 4.3vw, 45px) !important;
  color: #221F20 !important;
  margin-bottom: 16px !important;
  text-transform: none !important;
}

.wpforms-container .wpforms-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: clamp(16px, 1.8vw, 24px) !important; /* responsive from ~18px up to 26px */
  line-height: clamp(20px, 2.8vw, 28px) !important;
  color: #221F20 !important;
  margin-bottom: 34px !important;
}

/* Inner formatting */
.wpforms-container .wpforms-description strong {
  font-weight: 700 !important;
}

.wpforms-container .wpforms-description em {
  font-style: italic !important;
  opacity: 0.9 !important;
}
/* === Category page cleanup – hide sort, count, grid icons === */

/* The7's wrappers */
.dt-woo-ordering-bar,
.dt-css-grid-controls,
.dt-ordering {
  display: none !important;
}

/* Standard WooCommerce markup (in case The7 reverts to core layout) */
.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
}

/* The7 grid/list switcher icons */
.dt-css-grid-switcher,
.dt-shop-switch,
.shop-view-switcher {
  display: none !important;
}

/* Optional: if The7 nests any of those inside its bar */
.dt-woo-ordering-bar .woocommerce-result-count,
.dt-woo-ordering-bar .woocommerce-ordering {
  display: none !important;
}
/* --- Clean up product-category pages (hide injected Woo elements) --- */
body.tax-product_cat .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .dt-css-grid-switcher,
body.tax-product_cat .dt-shop-switch,
body.tax-product_cat .shop-view-switcher {
  display: none !important;
}
body.tax-product_tag .woocommerce-ordering,
body.tax-product_tag .woocommerce-result-count,
body.search-results.woocommerce .woocommerce-ordering,
body.search-results.woocommerce .woocommerce-result-count {
  display: none !important;
}
/* === SZM — One-line TEC Summaries (authoritative) === */
.szm-event-line{
  font-size:12px !important;
  line-height:1.2 !important;
  margin:2px 0 !important;
}
.szm-event-line .szm-date,
.szm-event-line .szm-title{ font-weight:500; }
.szm-event-line .szm-time{ display:none; }
.szm-event-line .szm-venue{ opacity:.8; }

.szm-event-line a{
  color:#0076BC !important;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.szm-event-line a:visited{ color:#5c87a8 !important; }
/* ────────────────────────────────
   Sub Zero Mission – Calendar Header Styling
   Matches SZM inlay aesthetic (no outline)
──────────────────────────────────*/
.szm-calendar-header {
  background-color: #EAF3FB;   /* SZM light blue tint */
  color: #221F20;              /* Marketing Guide Black */
  text-align: center;
  font-family: Antonio, sans-serif;
  font-size: 20px;
  line-height: 1.6;
  padding: 20px 15px 40px 15px;
  margin: 0 auto 32px auto;
  max-width: 1200px;
  border-radius: 15px;                     /* consistent with inlay elements */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* subtle inlay-style shadow */
  box-sizing: border-box;
}

/* Remove stray top spacing added by TEC single-event wrapper */
.single-tribe_events .szm-calendar-header {
  margin-top: 0 !important;
  padding-top: 16px;
}

/* Normalize header width & spacing inside TEC templates */
.tribe-events-l-container .szm-calendar-header,
.tribe-events-single .szm-calendar-header {
  max-width: 100%;
}

/* Visually center within narrower single-event layout on desktop */
@media (min-width: 769px) {
  .single-tribe_events .szm-calendar-header {
    width: calc(100% + 80px);
    margin-left: -40px;
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .szm-calendar-header {
    font-size: 18px;
    padding: 12px 5px;
    margin-bottom: 2px;
    width: 100%;
    margin-left: 0;
  }
}
/* Fine-tune header padding inside single-event layout */
.single-tribe_events .szm-calendar-header {
 	  padding: 20px 18px 30px 18px;
}
/* Ensure correct SZM fonts inside injected calendar header */
.szm-calendar-header h1,
.szm-calendar-header h2,
.szm-calendar-header h3,
.szm-calendar-header .wpb_heading {
  font-family: 'Antonio', sans-serif !important;
  font-weight: 700;
}

.szm-calendar-header p,
.szm-calendar-header span,
.szm-calendar-header .wpb_subheading {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400;
}
/* === SZM Confirm Redirect Styles === */
.szm-confirm-redirect {
  text-align: center;
  padding: 24px 16px;
  margin: 0 auto;
  max-width: 640px;
  font-family: "Open Sans", sans-serif;
  color: #221F20; /* standard body color */
}

.szm-confirm-redirect h3 {
  font-family: "Antonio", sans-serif;
  font-weight: 700;
  font-size: 24px; /* roughly H3 size */
  line-height: 1.3;
  color: #0076BC; /* SZM blue */
  margin-bottom: 8px;
}

.szm-confirm-redirect p {
  font-size: 16px;
  line-height: 1.5;
  color: #221F20;
  margin-bottom: 0;
}

/* Optional subtle fade-in animation */
.szm-confirm-redirect {
  opacity: 0;
  animation: szmConfirmFade 0.6s ease-in forwards;
}

@keyframes szmConfirmFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
.szm-btn-back {
  background-color: #EAF3FB;
  color: #0076BC;
  border: 1px solid #0076BC;
  border-radius: 30px;
  padding: 10px 28px;
  font-family: "Antonio", sans-serif;
  font-size: 18px; /* ≈18px */
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.szm-btn-back:hover {
  background-color: #0076BC;
  color: #FFFFFF;
}
/* === SZM — Cube Buttons (Unified + Per-Layout Padding Controls) === */
/* 🎛️ GLOBAL KNOBS (apply everywhere unless a layout override is set) */
:root{
  --cube-size: 140px;               /* desktop cube width & height */
  --cube-size-mobile: 100px;        /* mobile cube width & height  */
  --cube-font-size: 18px;           /* desktop text size           */
  --cube-font-size-mobile: 16px;    /* mobile text size            */
  --cube-line-height: 1.15;         /* desktop text line spacing   */
  --cube-line-height-mobile: 1.25;  /* mobile text line spacing    */
  --cube-gap: 6px;                  /* space between cubes         */

  /* GLOBAL default internal padding (top/bottom inside the cube) */
  --cube-pad-top-global: 10px;
  --cube-pad-bottom-global: 10px;

  /* OPTIONAL layout-specific overrides (set sensible starters) */
  --cube-pad-top-grid: 8px;         /* grid cubes feel “hat tall”? lower this */
  --cube-pad-bottom-grid: 12px;

  --cube-pad-top-paired: 12px;      /* paired row needs a bit more top for balance */
  --cube-pad-bottom-paired: 10px;
}

/* === FLEX WRAPPERS === */
.szm-btn-grid,
.szm-btn-paired{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:var(--cube-gap);
  margin:20px 0;
}

/* Per-layout padding overrides: set cube padding variables for descendants */
.szm-btn-grid{
  --cube-pad-top: var(--cube-pad-top-grid);
  --cube-pad-bottom: var(--cube-pad-bottom-grid);
}
.szm-btn-paired{
  --cube-pad-top: var(--cube-pad-top-paired);
  --cube-pad-bottom: var(--cube-pad-bottom-paired);
}

/* Default (for any cube not inside grid/paired) falls back to GLOBAL */
:root{
  --cube-pad-top: var(--cube-pad-top-global);
  --cube-pad-bottom: var(--cube-pad-bottom-global);
}

/* === THE CUBE === */
a.szm-btn-tile,
a.szm-btn{ /* include legacy class so everything gets the same look */
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;

  width:var(--cube-size);
  height:var(--cube-size);
  border-radius:12px;

  /* INTERNAL VERTICAL CONTROL lives here (no span required) */
  padding-top: var(--cube-pad-top);
  padding-bottom: var(--cube-pad-bottom);
  padding-left:12px;
  padding-right:12px;

  background:#0076BC;
  color:#FFFFFF !important;
  font-family:"Antonio",sans-serif;
  font-weight:700;
  font-size:var(--cube-font-size);
  line-height:var(--cube-line-height);
  text-decoration:none !important;
  box-shadow:0 2px 6px rgba(0,0,0,0.3);
  transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Hover */
a.szm-btn-tile:hover,
a.szm-btn:hover,
a.szm-btn-tile:focus,
a.szm-btn:focus{
  background:#6FAFDF;
  color:#221F20 !important;
  box-shadow:0 6px 12px rgba(0,0,0,0.4);
  transform:translateY(-2px);
}

/* === PAIRED BUTTON + TEXT === */
.szm-btn-paired{
  justify-content:flex-start;
  align-items:flex-start; /* paragraph starts at top */
  gap:18px;
}
.szm-btn-paired .szm-btn-tile,
.szm-btn-paired .szm-btn{
  align-self:center;      /* keep cube centered relative to the text block */
  flex-shrink:0;
}
.szm-btn-desc{
  flex:1;
  min-width:200px;

  line-height:1.45;
  font-family:"Open Sans",sans-serif;
  font-size:16px;
  color:#221F20;
  margin:0;
  padding-top:6px;
}
.szm-btn-grid, .szm-btn-paired { line-height: normal !important; }

/* === 📱 MOBILE === */
@media (max-width:768px){
  a.szm-btn-tile,
  a.szm-btn{
    width:var(--cube-size-mobile);
    height:var(--cube-size-mobile);
    font-size:var(--cube-font-size-mobile);
    line-height:var(--cube-line-height-mobile);
  }

  .szm-btn-paired{
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
    gap: calc(var(--cube-gap) * 2);
  }
  .szm-btn-desc{
    max-width:100%;
    padding-top:10px;
  }
}
.szm-flex-row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 16px 0;
}

.szm-btn-desc {
  flex: 1;
  min-width: 220px;
  line-height: 1.45;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  color: #221F20;
}
.szm-box {
  background:#fff;
  border-radius:12px;
  padding:16px;
  margin-bottom:16px;
}

.szm-btn {
  display:block;             /* makes it a block element */
  width:max-content;         /* fits to text */
  margin-bottom:8px;         /* space before the paragraph */
  background:#0076bc;
  color:#fff;
  padding:8px 20px;
  border-radius:40px;
  text-decoration:none;
}
.szm-btn:hover {background:#6fafdf; color:#221f20;}
/* ==== Bullet-proof button+text row (no HTML edits needed) ==== */

/* 1) Normalize the row layout and kill whitespace nodes */
.szm-flex-row{
  display: grid;
  grid-template-columns: auto 1fr;   /* button | text */
  align-items: center;               /* center text vs. button vertically */
  gap: 16px;
  font-size: 0;                      /* neutralize stray text/line-break nodes (the "top hat") */
  margin: 0 0 16px 0;
}

/* Restore readable font size for real children */
.szm-flex-row > *{
  font-size: 16px;                   /* or inherit your body size */
  line-height: 1.6;
}

/* 2) Kill paragraph margins the builder injects */
.szm-flex-row > p,
.szm-flex-row > div{
  margin: 0;
  color: #221F20;
}

/* 3) Make sure the button itself doesn't introduce offsets */
.szm-flex-row .szm-btn-tile{
  justify-self: start;
  vertical-align: middle;
  margin: 0;
}

/* 4) Mobile: stack button above text, keep spacing tidy */
@media (max-width: 600px){
  .szm-flex-row{
    grid-template-columns: 1fr;
    align-items: start;              /* text starts right under the button */
    gap: 10px;
  }
}
/* Final authority for button + text rows */
.szm-flex-row {
  align-items: center !important;
}
/* --- Normalize Annual Sponsorship grid buttons --- */
.szm-btn-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  padding: 20px 0;
}

.szm-btn-grid .szm-btn-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;          /* fixed cube height, even if text wraps */
  padding: 10px;
  margin: 0;
  text-align: center;
  line-height: 1.2;
  word-break: break-word;  /* prevent text overflow */
}
/* === SZM — Cube Buttons (Unified + Per-Layout Padding Controls) === */
/* 🎛️ GLOBAL KNOBS (apply everywhere unless a layout override is set) */
:root{
  --cube-size: 140px;               /* desktop cube width & height */
  --cube-size-mobile: 100px;        /* mobile cube width & height  */
  --cube-font-size: 18px;           /* desktop text size           */
  --cube-font-size-mobile: 16px;    /* mobile text size            */
  --cube-line-height: 1.15;         /* desktop text line spacing   */
  --cube-line-height-mobile: 1.25;  /* mobile text line spacing    */
  --cube-gap: 6px;                  /* space between cubes         */

  /* GLOBAL default internal padding (top/bottom inside the cube) */
  --cube-pad-top-global: 10px;
  --cube-pad-bottom-global: 10px;

  /* OPTIONAL layout-specific overrides (set sensible starters) */
  --cube-pad-top-grid: 8px;         /* grid cubes feel “hat tall”? lower this */
  --cube-pad-bottom-grid: 12px;

  --cube-pad-top-paired: 12px;      /* paired row needs a bit more top for balance */
  --cube-pad-bottom-paired: 10px;
}

/* === FLEX WRAPPERS === */
.szm-btn-grid,
.szm-btn-paired{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:var(--cube-gap);
  margin:20px 0;
}

/* Per-layout padding overrides: set cube padding variables for descendants */
.szm-btn-grid{
  --cube-pad-top: var(--cube-pad-top-grid);
  --cube-pad-bottom: var(--cube-pad-bottom-grid);
}
.szm-btn-paired{
  --cube-pad-top: var(--cube-pad-top-paired);
  --cube-pad-bottom: var(--cube-pad-bottom-paired);
}

/* Default (for any cube not inside grid/paired) falls back to GLOBAL */
:root{
  --cube-pad-top: var(--cube-pad-top-global);
  --cube-pad-bottom: var(--cube-pad-bottom-global);
}

/* === THE CUBE === */
a.szm-btn-tile,
a.szm-btn{ /* include legacy class so everything gets the same look */
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;

  width:var(--cube-size);
  height:var(--cube-size);
  border-radius:12px;

  /* INTERNAL VERTICAL CONTROL lives here (no span required) */
  padding-top: var(--cube-pad-top);
  padding-bottom: var(--cube-pad-bottom);
  padding-left:12px;
  padding-right:12px;

  background:#0076BC;
  color:#FFFFFF !important;
  font-family:"Antonio",sans-serif;
  font-weight:700;
  font-size:var(--cube-font-size);
  line-height:var(--cube-line-height);
  text-decoration:none !important;
  box-shadow:0 2px 6px rgba(0,0,0,0.3);
  transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Hover */
a.szm-btn-tile:hover,
a.szm-btn:hover,
a.szm-btn-tile:focus,
a.szm-btn:focus{
  background:#6FAFDF;
  color:#221F20 !important;
  box-shadow:0 6px 12px rgba(0,0,0,0.4);
  transform:translateY(-2px);
}

/* === PAIRED BUTTON + TEXT === */
.szm-btn-paired{
  justify-content:flex-start;
  align-items:flex-start; /* paragraph starts at top */
  gap:18px;
}
.szm-btn-paired .szm-btn-tile,
.szm-btn-paired .szm-btn{
  align-self:center;      /* keep cube centered relative to the text block */
  flex-shrink:0;
}
.szm-btn-desc{
  flex:1;
  min-width:200px;

  line-height:1.45;
  font-family:"Open Sans",sans-serif;
  font-size:16px;
  color:#221F20;
  margin:0;
  padding-top:6px;
}
.szm-btn-grid, .szm-btn-paired { line-height: normal !important; }

/* === 📱 MOBILE === */
@media (max-width:768px){
  a.szm-btn-tile,
  a.szm-btn{
    width:var(--cube-size-mobile);
    height:var(--cube-size-mobile);
    font-size:var(--cube-font-size-mobile);
    line-height:var(--cube-line-height-mobile);
  }

  .szm-btn-paired{
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
    gap: calc(var(--cube-gap) * 2);
  }
  .szm-btn-desc{
    max-width:100%;
    padding-top:10px;
  }
}
.szm-flex-row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 16px 0;
}

.szm-btn-desc {
  flex: 1;
  min-width: 220px;
  line-height: 1.45;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  color: #221F20;
}
.szm-box {
  background:#fff;
  border-radius:12px;
  padding:16px;
  margin-bottom:16px;
}

.szm-btn {
  display:block;             /* makes it a block element */
  width:max-content;         /* fits to text */
  margin-bottom:8px;         /* space before the paragraph */
  background:#0076bc;
  color:#fff;
  padding:8px 20px;
  border-radius:40px;
  text-decoration:none;
}
.szm-btn:hover {background:#6fafdf; color:#221f20;}
/* ==== Bullet-proof button+text row (no HTML edits needed) ==== */

/* 1) Normalize the row layout and kill whitespace nodes */
.szm-flex-row{
  display: grid;
  grid-template-columns: auto 1fr;   /* button | text */
  align-items: center;               /* center text vs. button vertically */
  gap: 16px;
  font-size: 0;                      /* neutralize stray text/line-break nodes (the "top hat") */
  margin: 0 0 16px 0;
}

/* Restore readable font size for real children */
.szm-flex-row > *{
  font-size: 16px;                   /* or inherit your body size */
  line-height: 1.6;
}

/* 2) Kill paragraph margins the builder injects */
.szm-flex-row > p,
.szm-flex-row > div{
  margin: 0;
  color: #221F20;
}

/* 3) Make sure the button itself doesn't introduce offsets */
.szm-flex-row .szm-btn-tile{
  justify-self: start;
  vertical-align: middle;
  margin: 0;
}

/* 4) Mobile: stack button above text, keep spacing tidy */
@media (max-width: 600px){
  .szm-flex-row{
    grid-template-columns: 1fr;
    align-items: start;              /* text starts right under the button */
    gap: 10px;
  }
}
/* Final authority for button + text rows */
.szm-flex-row {
  align-items: center !important;
}
/* WPForms CSS to make small */
.wpforms-container .wpforms-field, 
.wp-core-ui div.wpforms-container .wpforms-field {
    padding: 2px; /* Change 15px to 0 or a smaller value */
}

/* v7.12 Footer Font + Responsive Spacing Fix */
/* Ensure Open Sans everywhere in the footer */
.footer, .bottom-bar, .footer .widget, .footer .widget_info, .footer .textwidget, .footer p, .footer a {
  font-family: 'Open Sans', sans-serif !important;
  color: #818284; /* SZM gray */
  font-size: 15px;
  line-height: 1.5;
}

/* Maintain Antonio headings and add bottom margin for breathing room */
.footer .widgettitle, .footer .widget_title {
  font-family: 'Antonio', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 12px; /* adds spacing under each footer title */
}

/* Optional: extra space when stacked on mobile */
@media (max-width: 768px) {
  .footer .widgettitle, .footer .widget_title {
    margin-bottom: 18px; /* slightly more room for stacked widgets */
  }
}
/* --- SZM Confirmation Redirect Banner --- */
.szm-confirm-redirect {
  background-color: #EAF3FB;  /* light blue background */
  color: #221F20;             /* SZM black text */
  font-family: "Open Sans", sans-serif;
  border: 2px solid #6FAFDF;  /* SZM light blue border */
  border-radius: 16px;
  padding: 24px;
  text-align: left;
  max-width: 720px;
  margin: 32px auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.szm-confirm-redirect h2 {
  font-family: "Antonio", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #0076BC;  /* SZM blue */
  margin-bottom: 12px;
}

.szm-confirm-redirect p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 8px;
}
/* --- Override WPForms Default Confirmation Style --- */
.wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  text-align: left !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* --- SZM Confirmation Banner --- */
.wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  text-align: left !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.szm-confirm-redirect {
  background-color: #EAF3FB;  /* SZM light blue */
  border: 2px solid #6FAFDF;  /* Accent blue */
  border-radius: 16px;
  padding: 24px;
  max-width: 720px;
  margin: 32px auto;
  font-family: "Open Sans", sans-serif;
  color: #221F20;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  text-align: left;
}

.szm-confirm-redirect h2 {
  font-family: "Antonio", sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #0076BC;
  margin-bottom: 12px;
}
.szm-confirm-redirect p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 8px;
}
.uvc-sub-heading p {
  margin-bottom: 22px;  /* controls gap between paragraphs */
}
.wpb_text_column p {
  margin-bottom: 1em; /* roughly 16px, varies by theme */
}
p { margin-bottom: 1.25em; line-height: 1.6; }
/* Apply proper paragraph-like breaks */
.szm-html-safe {
  display: block;           /* Treat the element as a block-level element */
  margin-bottom: 18px;      /* This controls the vertical gap between blocks */
  line-height: 1.6;         /* Adjusts line height for legibility within blocks */
}

/* Optional: Apply to the final element, no extra margin below it */
.szm-html-safe:last-child {
  margin-bottom: 0 !important;
}
/* --- SZM Back Link --- */
.szm-back-link {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;      /* slightly smaller than body text */
  font-weight: 600;     /* semi-bold for readability */
  color: #0076BC;       /* SZM primary blue */
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;             /* space between arrow and text */
  line-height: 1.4;
}

.szm-back-link:hover {
  color: #6FAFDF;       /* SZM light blue hover */
  text-decoration: underline;
}
/* New */
/* Stay Alive 5 shortcode spacing fix */
.stay-alive-5 .sa5-subtitle {
  display: block;
  margin-top: 0.8em;  /* normal spacing under heading */
}

/* Add extra breathing room on small screens */
@media (max-width: 767px) {
  .stay-alive-5 .sa5-subtitle {
    margin-top: 9em;  /* a little more space for phones */
  }
}
/* Respect paragraph spacing inside shortcode cards */
/* paragraph spacing */
.tec-event-card p {
  margin: 0 0 1em !important;
  line-height: 1.6;
}
.album-content-description {
     display: none; !important;
}
/* === Responsive stack & button fix === */
@media (max-width: 980px) {
  .tec-event-card {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  /* add a little breathing room below the image */
  .tec-event-card img.tec-card__img {
    margin-bottom: 12px;
  }

  /* make buttons stack neatly and fit container width */
  .tec-event-card .tec-event-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .tec-event-card .tec-event-cta a {
    width: 100%;
    text-align: center;
    border-radius: 6px;   /* back to squared corners */
    padding: 10px 12px;
    box-sizing: border-box;
  }
}

/* smaller screens tighten padding and font slightly */
@media (max-width: 600px) {
  .tec-event-card {
    padding: 12px;
  }
  .tec-event-card h3 {
    font-size: 1.3rem;
  }
  .tec-event-card .tec-event-content {
    font-size: 0.95rem;
  }
}
/* === Typography hierarchy: Antonio headings, Open Sans body === */

/* Global defaults */
.tec-event-card {
  color: #221F20;
  letter-spacing: 0.2px;
}

/* Title — main heading for SEO */
.tec-event-card h3,
.tec-event-card .tec-event-title {
  font-family: Antonio, sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.25;
  margin-bottom: 8px;
}

/* Date/Time — secondary heading tier */
.tec-event-card .tec-event-datetime,
.tec-event-card .tec-event-meta {
  font-family: Antonio, sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.3;
  margin-bottom: 6px;
  color: #333;
}

/* Venue — tertiary heading tier */
.tec-event-card .tec-event-venue {
  font-family: Antonio, sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #444;
}

/* Body content — easy reading */
.tec-event-card .tec-event-content,
.tec-event-card .tec-event-content p {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #221F20;
  margin-bottom: 1em;
}
/* SZM — Custom Column Width Utilities (v2) 2025-11-11 */
/* Desktop/tablet widths */
.szm-col-20 {width:20%!important;flex:0 0 20%!important;max-width:20%!important;}
.szm-col-25 {width:25%!important;flex:0 0 25%!important;max-width:25%!important;}
.szm-col-30 {width:30%!important;flex:0 0 30%!important;max-width:30%!important;}
.szm-col-33 {width:33.333%!important;flex:0 0 33.333%!important;max-width:33.333%!important;}
.szm-col-40 {width:40%!important;flex:0 0 40%!important;max-width:40%!important;}
.szm-col-50 {width:50%!important;flex:0 0 50%!important;max-width:50%!important;}
.szm-col-60 {width:60%!important;flex:0 0 60%!important;max-width:60%!important;}
.szm-col-66 {width:66.667%!important;flex:0 0 66.667%!important;max-width:66.667%!important;}
.szm-col-70 {width:70%!important;flex:0 0 70%!important;max-width:70%!important;}
.szm-col-75 {width:75%!important;flex:0 0 75%!important;max-width:75%!important;}
.szm-col-80 {width:80%!important;flex:0 0 80%!important;max-width:80%!important;}
.szm-col-100 {width:100%!important;flex:0 0 100%!important;max-width:100%!important;}

/* Responsive override — stack columns below tablet width */
@media (max-width: 768px) {
  [class*="szm-col-"] {
    width:100%!important;
    flex:0 0 100%!important;
    max-width:100%!important;
  }
}
/* SZM — Fancy Media Dramatic Shadow (v4) 2025-11-11
   Strong, high-contrast shadow pop on hover — no image movement or blur.
   Usage: add "szm-fancy-img" in Extra class. */

.szm-fancy-img img {
  border-radius: 15px;                     /* consistent rounding */
  box-shadow: 0 4px 10px rgba(0,0,0,0.20); /* base shadow */
  transition: box-shadow 0.35s ease;       /* smooth shadow change */
}

.szm-fancy-img img:hover {
  box-shadow:
    0 12px 35px rgba(0,0,0,0.55),          /* deep dark core */
    0 0 18px rgba(0,118,188,0.45);         /* SZM blue outer glow */
}
/* SZM — Carded Link List (v4) 2025-11-12 */
.szm-cardlist,
.szm-cardlist ul,
.szm-cardlist li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.szm-cardlist {
  margin: 20px 0;
  columns: 2;
  column-gap: 50px;
}

.szm-cardlist li {
  margin: 8px 0;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #E0E6EC;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  transition: all 0.2s ease;
  break-inside: avoid;
}

.szm-cardlist li::marker,
.szm-cardlist li::before {
  content: none !important;
}

.szm-cardlist li:hover {
  background: #EAF3FB;      /* SZM light blue */
  border-color: #6FAFDF;    /* SZM accent blue */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.szm-cardlist a {
  display: block;
  font-weight: 600;
  color: #0076BC;           /* SZM primary blue */
  text-decoration: none;
  transition: color 0.2s ease;
}

.szm-cardlist a:hover {
  color: #004F80;
}

/* Responsive: stack to one column on mobile */
@media (max-width: 768px) {
  .szm-cardlist { columns: 1; }
}
/* Force lists to stack below text inside szm-cardlist wrappers */
.szm-cardlist p {
  column-span: all;
  display: block;
  width: 100%;
}
/* =========================================================
   SZM — Inlay System (v7.15 • Section-Level Shadow)
   Designed SPECIFICALLY for layouts where the inlay class
   is applied to the SECTION and columns provide the interior
   layout. Produces a clean, centered, card-like shadow.
   ========================================================= */

.szm-inlay-blue,
.szm-inlay-gray,
.szm-inlay-dark,
.szm-inlay-white,
.szm-inlay-accent,
.szm-inlay-crimson,
.szm-inlay-lightblue {
  position: relative;
  z-index: 1;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 40px;                 /* spacing between inlays */
  border-radius: 16px;                 /* visual container shape */
  overflow: visible !important;
}

/* ======= CLEAN, CENTERED DROP SHADOW UNDER THE WHOLE SECTION ======= */
.szm-inlay-blue::after,
.szm-inlay-gray::after,
.szm-inlay-dark::after,
.szm-inlay-white::after,
.szm-inlay-accent::after,
.szm-inlay-crimson::after,
.szm-inlay-lightblue::after {
  content: "";
  position: absolute;
  left: 40px;               /* keeps shadow inside page margins */
  right: 40px;
  bottom: -10px;            /* slight drop for lift effect */
  height: 5px;             /* compact shadow, not smeared */
  background: rgba(0,0,0,0.28);
  filter: blur(15px);       /* softened, clean blur */
  border-radius: 20px;      /* visually matches the section */
  z-index: -1;
  pointer-events: none;
}

/* =========================================================
   Background color variants (SECTION-LEVEL)
   ========================================================= */

.szm-inlay-blue       { background-color: #EAF3FB;  color: #221F20; }
.szm-inlay-gray       { background-color: rgba(129,130,132,0.15); color: #221F20; }
.szm-inlay-white      { background-color: #FFFFFF;  color: #221F20; }
.szm-inlay-lightblue  { background-color: #F5FAFE;  color: #221F20; }

.szm-inlay-dark       { background-color: #221F20;  color: #FFFFFF; }
.szm-inlay-crimson    { background-color: #B22234;  color: #FFFFFF; }

.szm-inlay-accent {
  background: linear-gradient(180deg, #1185C8 0%, #0063A0 100%);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.15);
}

/* =========================================================
   Text readability fixes (preserved)
   ========================================================= */

.szm-inlay-accent h1,
.szm-inlay-accent h2,
.szm-inlay-accent h3,
.szm-inlay-accent h4,
.szm-inlay-accent .custom-heading-block {
  color: #FFFFFF !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}

.szm-inlay-accent p,
.szm-inlay-accent li {
  color: #F3F8FC;
}

.szm-inlay-blue p,
.szm-inlay-gray p,
.szm-inlay-white p,
.szm-inlay-lightblue p {
  color: #221F20 !important;
}

/* =========================================================
   Mobile adjustments (clean version)
   ========================================================= */

@media (max-width: 767px) {
  .szm-inlay-blue::after,
  .szm-inlay-gray::after,
  .szm-inlay-dark::after,
  .szm-inlay-white::after,
  .szm-inlay-accent::after,
  .szm-inlay-crimson::after,
  .szm-inlay-lightblue::after {
    left: 20px;
    right: 20px;
    filter: blur(18px);
  }
}
.szm-inlay-blue,
.szm-inlay-white,
.szm-inlay-lightblue,
.szm-inlay-gray {
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: inset 0 0 12px rgba(0,0,0,0.10);
    border-radius: 16px;
}
/* ============================================
   SZM — Locations Lists (county cards)
   2 columns on desktop, 1 on mobile
   ============================================ */

.szm-locations {
  column-count: 2;           /* two columns inside each county card */
  column-gap: 32px;
  max-width: 100%;
  font-size: 18px;
  line-height: 1.3;
}

.szm-location-item {
  display: block;
  margin-bottom: 6px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

/* Mobile: stack into a single column */
@media (max-width: 767px) {
  .szm-locations {
    column-count: 1;
    font-size: 16px;
  }
}
/* ===========================================================
   TEC SHORTCODE FIX — The7 Theme Compatibility
   Repairs: List View distortion, giant icons, broken grid
   Scope: ONLY TEC shortcode output (NOT built-in /events/ pages)
   Version: v1.0 (2025-11-17)
   =========================================================== */

/* 1) FIX: Stop The7 from forcing icons/pseudo-elements */
.tribe-events [class^="icon-"],
.tribe-events [class*=" icon-"],
.tribe-common [class^="icon-"],
.tribe-common [class*=" icon-"] {
    font-family: initial !important;
    font-style: normal !important;
    font-weight: normal !important;
}

.tribe-events [class^="icon-"]::before,
.tribe-events [class*=" icon-"]::before,
.tribe-common [class^="icon-"]::before,
.tribe-common [class*=" icon-"]::before {
    content: none !important;
}


/* 2) FIX: Restore proper list grid (image left, text right) */
.tribe-events-pro .tribe-events-pro-list__event {
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    grid-gap: 20px !important;
    align-items: start !important;
}


/* 3) FIX: Restore image sizing */
.tribe-events-pro .tribe-events-pro-list__event-featured-image img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px;
    display: block !important;
}


/* 4) FIX: Ensure list container uses full content width */
.tribe-events-pro .tribe-events-pro-list {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
}


/* 5) FIX: Undo The7’s flex/column inheritance that breaks layout */
.tribe-events-pro .tribe-events-pro-list__event-content {
    display: block !important;
    width: 100% !important;
}


/* 6) FIX: Remove rogue The7 spacing collapsing rows */
.tribe-events-pro .tribe-events-pro-list__event {
    padding: 20px 0 !important;
    border-bottom: 1px solid #E0E0E0;
}


/* 7) FIX: Restore date/title typography when overwritten by theme */
.tribe-events-pro .tribe-events-pro-list__event-date-tag,
.tribe-events-pro .tribe-events-pro-list__event-title {
    font-family: Antonio, sans-serif !important;
    color: #221F20 !important;
}


/* 8) MOBILE: Stack image above content */
@media (max-width: 768px) {
    .tribe-events-pro .tribe-events-pro-list__event {
        grid-template-columns: 1fr !important;
        grid-gap: 16px !important;
    }
}
/* Enhanced drop shadow + subtle zoom */
.szm-fancy-img img,
.vc_single_image-img {
    transition: all 0.25s ease-in-out;
    box-shadow: 0 4px 10px rgba(0,0,0,0.22); /* stronger idle shadow */
    border-radius: 12px;
}

.szm-fancy-img img:hover,
.vc_single_image-img:hover {
    transform: scale(1.03); /* slight zoom */
    box-shadow: 0 6px 18px rgba(0,0,0,0.30); /* noticeable hover shadow */
}
