/*
Theme Name: Firstweb Child Theme
Theme URI: http://brettarchibald.com
Description: Firstweb Child Theme
Author: Grant Pretorius
Author URI: https://firstweb.co.za
Version: 1.0.0
Template: Divi
*/

/* =========================
   Logo
   ========================= */
.et_header_style_left #logo{
  max-width: 69%;
}

/* =========================
   DIVI CLAMP SYSTEM v1.1
   Baseline variables
   ========================= */
:root{
  /* Layout width */
  --site-max: 1240px; /* default */
  --page-pad: clamp(1.0rem, 0.7rem + 1.1vw, 2.2rem);

  /* Spacing scale */
  --space-2xs: clamp(0.35rem, 0.25rem + 0.35vw, 0.7rem);
  --space-xs:  clamp(0.7rem, 0.55rem + 0.55vw, 1.05rem);
  --space-s:   clamp(1.05rem, 0.8rem + 0.9vw, 1.6rem);
  --space-m:   clamp(1.55rem, 1.05rem + 1.35vw, 2.4rem);
  --space-l:   clamp(2.4rem, 1.7rem + 1.9vw, 3.5rem);
  --space-xl:  clamp(3.2rem, 2.3rem + 2.6vw, 4.8rem);
  --space-2xl: clamp(4.8rem, 3.3rem + 3.6vw, 7.0rem);

  /* Row/column gaps (only for tagged rows) */
  --col-gap: clamp(0.95rem, 0.75rem + 0.9vw, 1.9rem);
  --row-gap: clamp(0.95rem, 0.75rem + 0.8vw, 1.7rem);

  /* Typography */
 /* Typography */
--fs-body: clamp(0.85rem, 0.8rem + 0.25vw, 1.1rem);
--fs-small: clamp(0.9rem, 0.86rem + 0.14vw, 1rem);


  /* Headings */
  --h1: clamp(2.0rem, 1.35rem + 2.2vw, 3.0rem);
  --h2: clamp(1.65rem, 1.2rem + 1.6vw, 2.35rem);
  --h3: clamp(1.35rem, 1.1rem + 1.0vw, 1.85rem);
  --h4: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);
  --h5: clamp(1.08rem, 1.0rem + 0.35vw, 1.25rem);
  --h6: clamp(1.0rem, 0.96rem + 0.2vw, 1.12rem);

  --lh-body: 1.65;
  --lh-head: 1.18;

  /* Buttons */
  --btn-pad-y: clamp(0.6rem, 0.55rem + 0.25vw, 0.8rem);
  --btn-pad-x: clamp(1.0rem, 0.85rem + 0.7vw, 1.45rem);
  --btn-fs: clamp(0.95rem, 0.92rem + 0.18vw, 1.05rem);
}

/* Desktop container tightening */
@media (min-width: 1200px){
  :root{ --site-max: 1180px; }
}

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

/* Sections: consistent spacing */
.et_pb_section{
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

/* Rows: container + side padding */
#page-container .et_pb_row,
#page-container .et_pb_row_inner,
#page-container .et_pb_row_inner{
  max-width: var(--site-max);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-pad);
  padding-right: var(--page-pad);
}

/* Default row vertical padding */
.et_pb_row{
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
}

/* Rows with clamp gaps (tag the ROW: gapped-row) */
.et_pb_row.gapped-row{
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap) var(--col-gap);
}
.et_pb_row.gapped-row .et_pb_column{
  margin-right: 0 !important;
}

/* Module rhythm */
.et_pb_column > .et_pb_module{ margin-bottom: var(--space-m); }
.et_pb_column > .et_pb_module:last-child{ margin-bottom: 0; }

/* Row utilities */
.et-row-center{ align-items: center; }

/* Section utilities (add to SECTION) */
.et-sec-tight{ padding-top: var(--space-l) !important; padding-bottom: var(--space-l) !important; }
.et-sec-roomy{ padding-top: var(--space-2xl) !important; padding-bottom: var(--space-2xl) !important; }
.et-hero{ padding-top: var(--space-2xl) !important; padding-bottom: var(--space-2xl) !important; }
.et-no-sec-pad{ padding-top: 0 !important; padding-bottom: 0 !important; }

/* Remove row vertical padding inside a section (add to SECTION) */
.et-no-row-pad .et_pb_row{ padding-top: 0 !important; padding-bottom: 0 !important; }

/* =========================
   Typography
   ========================= */

body{
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

/* Headings */
h1, .et_pb_text h1{ font-size: var(--h1); line-height: var(--lh-head); margin-bottom: var(--space-xs); font-weight: 400; letter-spacing: -0.03em; }
h2, .et_pb_text h2{ font-size: var(--h2); line-height: var(--lh-head); margin-bottom: var(--space-xs); font-weight: 400; letter-spacing: -0.03em; }
h3, .et_pb_text h3{ font-size: var(--h3); line-height: var(--lh-head); margin-bottom: var(--space-xs); font-weight: 400; letter-spacing: -0.01em; }
h4, .et_pb_text h4{ font-size: var(--h4); line-height: var(--lh-head); margin-bottom: var(--space-xs); letter-spacing: 0; }
h5, .et_pb_text h5{ font-size: var(--h5); line-height: var(--lh-head); margin-bottom: var(--space-xs); letter-spacing: 0; }
h6, .et_pb_text h6{ font-size: var(--h6); line-height: var(--lh-head); margin-bottom: var(--space-xs); letter-spacing: 0; }




.text-small{ font-size: var(--fs-small) !important; }

/* Paragraphs + lists (single source of truth) */
.et_pb_text p,
.entry-content p{
  margin-top: 0;
  margin-bottom: clamp(0.35rem, 0.25rem + 0.4vw, 0.7rem);
}
.et_pb_text p:last-child{ margin-bottom: 0; }

.et_pb_text p + ul,
.entry-content p + ul{
  margin-top: clamp(0.2rem, 0.2vw, 0.4rem);
}

.et_pb_text ul,
.entry-content ul{
  margin-top: clamp(0.3rem, 0.6vw, 0.4rem);
  margin-bottom: clamp(0.35rem, 0.25rem + 0.4vw, 0.7rem);
  padding-left: 1.2em;
}
.et_pb_text li{
  margin-bottom: clamp(0.2rem, 0.15rem + 0.2vw, 0.4rem);
}

/* Buttons
   Controlled in Divi 5 Button Module presets.
   No global button CSS here, so Divi presets can control padding,
   font size, line height, borders and corner radius without being overridden.
*/

/* =========================
   Fullwidth Slider (optional)
   ========================= */
.et_pb_section .et_pb_fullwidth_header,
.et_pb_section .et_pb_fullwidth_slider{
  width: 100%;
}
.et_pb_section .et_pb_fullwidth_slider,
.et_pb_section .et_pb_fullwidth_slider .et_pb_slides{
  max-width: 100% !important;
}
.et-hero .et_pb_slide_description{ padding-top: 0 !important; padding-bottom: 0 !important; }
.et-hero .et_pb_slide_title{ margin-bottom: var(--space-s) !important; }
.et-hero .et_pb_slide_content{ margin-bottom: var(--space-m) !important; }
.et-hero .et_pb_more_button{ margin-top: 0 !important; }

/* =========================
   Full-bleed sections
   Add to SECTION: fullbleed
   ========================= */
.fullbleed.et_pb_section{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.fullbleed.et_pb_section > .et_pb_row{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fullbleed.et_pb_section > .et_pb_row > .et_pb_column{
  padding: 0 !important;
}
.fullbleed.et_pb_section .et_pb_module{
  margin: 0 !important;
}
.fullbleed.et_pb_section .et_pb_image,
.fullbleed.et_pb_section .et_pb_image_wrap,
.fullbleed.et_pb_section img{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/* =========================
   HERO (Reusable)
   Add to SECTION: fw-hero
   ========================= */
.fw-hero.et_pb_section,
.home #main-content .et_pb_section:first-of-type{
  padding: 0 !important;
  min-height: 55vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.fw-hero.et_pb_section > .et_pb_row,
.home #main-content .et_pb_section:first-of-type > .et_pb_row{
  width: 100% !important;
  max-width: var(--site-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: var(--space-xl) !important;
  padding-bottom: var(--space-xl) !important;
  padding-left: var(--page-pad) !important;
  padding-right: var(--page-pad) !important;
}

.fw-hero.et_pb_section .et_pb_column,
.home #main-content .et_pb_section:first-of-type .et_pb_column{
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.fw-hero.et_pb_section .et_pb_module,
.home #main-content .et_pb_section:first-of-type .et_pb_module{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* leave left/right margins alone so Divi can center max-width modules */
}

.fw-hero.et_pb_section .et_pb_text p,
.home #main-content .et_pb_section:first-of-type .et_pb_text p{
  margin: 0 !important;
}

.fw-hero.et_pb_section .et_pb_text h1,
.fw-hero.et_pb_section .et_pb_text h2,
.home #main-content .et_pb_section:first-of-type .et_pb_text h1,
.home #main-content .et_pb_section:first-of-type .et_pb_text h2{
  margin: 0 0 var(--space-s) 0 !important;
}

/* Mobile hero sizing (fix tall heroes) */
@media (max-width: 768px){
  .fw-hero.et_pb_section,
  .home #main-content .et_pb_section:first-of-type{
    min-height: 0 !important;
    padding-top: clamp(2rem, 6vw, 3rem) !important;
    padding-bottom: clamp(2rem, 6vw, 3rem) !important;
    background-position: 65% center !important;
  }

  .fw-hero.et_pb_section > .et_pb_row,
  .home #main-content .et_pb_section:first-of-type > .et_pb_row{
    padding-top: clamp(1.2rem, 3.2vw, 2rem) !important;
    padding-bottom: clamp(1.2rem, 3.2vw, 2rem) !important;
  }
}

/* =========================
   Mobile header tweaks
   ========================= */
#et_search_icon:hover,
.mobile_menu_bar:before,
.mobile_menu_bar:after,
.et_toggle_slide_menu:after{
  color: #ce0000 !important;
}

/* Full width + full height mobile dropdown (Divi default header) */
.et_mobile_menu{
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;

  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
  visibility: hidden;

  transition:
    opacity 220ms ease,
    transform 260ms ease,
    visibility 0s linear 260ms;
  will-change: opacity, transform;
}

.mobile_nav.opened .et_mobile_menu{
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow-y: auto !important;

  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;

  transition:
    opacity 220ms ease,
    transform 260ms ease,
    visibility 0s;
}

/* =========================
   Helpers / Components
   ========================= */

/* Two-colour heading word */
.primary-word{ color: #C0292E; }

/* Clamp image width (wrap module/column with img-clamp) */
.img-clamp img{
  width: clamp(180px, 25vw, 420px);
  height: auto;
}

/* Clamp blurb titles (wrap blurb module with blurb-clamp) */
.blurb-clamp .et_pb_blurb h4,
.blurb-clamp .et_pb_blurb .et_pb_module_header{
  font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem);
  line-height: 1.2;
}

/* Align a separate Button module with the Blurb text block above it (row/section class) */
.blurb-btn-align .et_pb_button_module_wrapper{
  margin-left: clamp(56px, 4.5vw, 78px) !important;
}

/* Tight H2 + H5 (wrap both in a parent with heading-pair) */
.heading-pair h2{
  margin-bottom: clamp(0.15rem, 0.1rem + 0.25vw, 0.45rem) !important;
  line-height: 1.12 !important;
  letter-spacing: clamp(-0.02em, -0.01em - 0.05vw, -0.04em);
}
.heading-pair h5{
  margin-top: 0 !important;
  margin-bottom: var(--space-s) !important;
  line-height: 1.25 !important;
  letter-spacing: clamp(0.01em, 0.005em + 0.05vw, 0.03em);
}

/* Profile contact row (use: profile-contact + contact-item markup) */
.profile-contact{
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 0.8rem + 0.6vw, 1.8rem);
  margin-top: -0.5rem;
}
.profile-contact .contact-item{
  display: inline-flex;
  align-items: center;
  gap: clamp(0.25rem, 0.2rem + 0.15vw, 0.90rem);
  text-decoration: none;
  color: inherit;
  font-size: var(--fs-body);
}
.profile-contact img{
  width: clamp(2rem, 1.5rem + 0.8vw, 3rem);
  display: inline-flex;
  align-items: baseline;   /* baseline, not center */
  line-height: 1.2;        /* keeps the baseline predictable */
}

 

/* Accordion titles (wrap accordion module with acc-title-test) */
.acc-title-test .et_pb_toggle_title{
  font-size: clamp(1.8rem, 1.3rem + 1.2vw, 2.6rem) !important;
  line-height: 1.15 !important;
  font-weight: 600;
  letter-spacing: -0.03em;
}

/* Split padding helpers (apply to columns/modules as needed) */
.split-left,
.split-right{
  padding-top: clamp(2rem, 4vw, 5rem);
  padding-bottom: clamp(2rem, 4vw, 5rem);
  padding-left: clamp(1.5rem, 4vw, 5rem);
  padding-right: clamp(1.5rem, 4vw, 5rem);
}

/* If you truly need a white variant, keep only this */
.primary-word-white{ color: #ffffff; }
/*------------------spacing below H2-------------------*/
h2, .et_pb_text h2{
  margin-bottom: var(--space-xs);
}
/*------------------row padding-------------------
  Fallback only. No !important, so Divi 5 Row presets can control spacing.
-------------------*/
.et_pb_row{
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
}

.tight-heading h2{
  margin-bottom: clamp(0.2rem, 0.2vw, 0.4rem) !important;
}
/* Tighten spacing under a heading-only Text module */
#page-container .et_pb_text.tight-heading{
  margin-bottom: clamp(0.3rem, 0.4vw, 0.6rem) !important;
}

/* Also tighten the H2 inside that module */
#page-container .et_pb_text.tight-heading h2{
  margin-bottom: clamp(0.2rem, 0.2vw, 0.4rem) !important;
}

.et-no-row-pad .et_pb_row{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Links inside red sections */
.red-section a{
  color: #ffffff;
  text-decoration: underline;
  transition: all 0.2s ease;
}
/* Hover effect */
.red-section a:hover{
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* Links inside red sections */
.red-section-1 a{
  color: #ffffff;
  text-decoration: none;
  transition: all 0.2s ease;
}


/* Hover effect */
.red-section-1 a:hover{
  color: #ffffff;
  text-decoration: none;

}

/* ---------------------------- Full width + full height mobile dropdown (Divi default header) ----------------------- */

/* Base state (closed) */
.et_mobile_menu{
  /* Keep it present so the close animation can run */
  display: block !important;

  /* Edge-to-edge rules (safe even when closed) */
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;

  /* Closed animation state */
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
  visibility: hidden;

  /* Animate open + close */
  transition:
    opacity 220ms ease,
    transform 260ms ease,
    visibility 0s linear 260ms; /* hide AFTER animation */
  will-change: opacity, transform;
}
/* Open state */
.mobile_nav.opened .et_mobile_menu{
  /* Fill the screen */
  height: 100dvh !important;
  min-height: 100dvh !important;

  /* Scroll if items exceed height */
  overflow-y: auto !important;

  /* Open animation state */
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;

  /* show immediately */
  transition:
    opacity 220ms ease,
    transform 260ms ease,
    visibility 0s;
}

/* Removed old page-specific h5 line-height overrides.
   They were too aggressive and could break Divi text styling. */

/*
.page-id-208 h5 {
  line-height: 0.04!important;
}
.page-id-256 h5 {
  line-height: 0.04!important;
}
*/

h4, .et_pb_text h4{
  margin-bottom: var(--space-xs)!important;
}

/* Remove gap between h4 and paragraph */
#page-container .et_pb_text.tight-subhead h5{
  margin-bottom: 0 !important;
}

#page-container .et_pb_text.tight-subhead h4 + p{
  margin-top: 0 !important;
}

.insurance-cover-page h2 {
  font-weight: 400;
}

/* Vertical footer menu */
.footer-vertical-menu .et-menu,
.footer-vertical-menu .et-menu-nav > ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-vertical-menu .et-menu > li,
.footer-vertical-menu .et-menu-nav > ul > li {
  display: block;
  padding: 0;
  margin: 0;
}

.footer-vertical-menu .et-menu a {
  padding: 0;
  display: inline-block;
}

/* Display helper — no forced font-size, so Divi presets can control it */
.display-lg{
  letter-spacing: -0.03em;
}

/* Footer menu default link color */
.footer-vertical-menu .et-menu a {
  color: #000 !important;
}

/* Hover state */
.footer-vertical-menu .et-menu a:hover {
  color: #000 !important;
}

/* Active / current page */
.footer-vertical-menu .et-menu .current-menu-item > a,
.footer-vertical-menu .et-menu .current_page_item > a,
.footer-vertical-menu .et-menu .current-menu-ancestor > a {
  color: #000 !important;
}

/* Force active footer menu item to black */
.footer-vertical-menu .et-menu li.current-menu-item > a,
.footer-vertical-menu .et-menu li.current_page_item > a,
.footer-vertical-menu .et-menu li.current-menu-ancestor > a {
  color: #000 !important;
}

/* Also override Divi’s default active styling */
.footer-vertical-menu .et-menu li.current-menu-item a:after {
  background: #000 !important;
}

/* Vertical footer menu-1 */
.footer-vertical-menu-1 .et-menu,
.footer-vertical-menu-1 .et-menu-nav > ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-vertical-menu-1 .et-menu > li,
.footer-vertical-menu-1 .et-menu-nav > ul > li {
  display: block;
  padding: 0;
  margin: 0;
}

.footer-vertical-menu-1 .et-menu a {
  padding: 0;
  display: inline-block;
}

/* Footer menu default link color */
.footer-vertical-menu-1 .et-menu a {
  color: #000 !important;
}

/* Hover state */
.footer-vertical-menu-1 .et-menu a:hover {
  color: #000 !important;
}

/* Active / current page */
.footer-vertical-menu-1 .et-menu .current-menu-item > a,
.footer-vertical-menu-1 .et-menu .current_page_item > a,
.footer-vertical-menu-1 .et-menu .current-menu-ancestor > a {
  color: #000 !important;
}

/* Force active footer menu item to black */
.footer-vertical-menu-1 .et-menu li.current-menu-item > a,
.footer-vertical-menu-1 .et-menu li.current_page_item > a,
.footer-vertical-menu-1 .et-menu li.current-menu-ancestor > a {
  color: #000 !important;
}

/* Also override Divi’s default active styling */
.footer-vertical-menu-1 .et-menu li.current-menu-item a:after {
  background: #000 !important;
}

/* Sidebar vertical menu like your screenshot */
.sidebar-page-menu .et-menu,
.sidebar-page-menu ul.et-menu{
  width: 100%;
}

.sidebar-page-menu .et-menu li{
  width: 100%;
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.25);
}

.sidebar-page-menu .et-menu li a{
  display: block;
  padding: 14px 0 !important;
  line-height: 1.3;
  color: #8b1f2d;
}

/* Hover */
.sidebar-page-menu .et-menu li a:hover{
  color: #000 !important;
}

/* Active/current page */
.sidebar-page-menu .et-menu li.current-menu-item > a,
.sidebar-page-menu .et-menu li.current_page_item > a,
.sidebar-page-menu .et-menu li.current-menu-ancestor > a{
  color: #8b1f2d !important;
  font-weight: 200;
}

/* Footer menu: triangle on active item */
.footer-vertical-menu li.current-menu-item,
.footer-vertical-menu li.current_page_item{
  position: relative;
}

.footer-vertical-menu li.current-menu-item > a,
.footer-vertical-menu li.current_page_item > a{
  position: relative;
  display: inline-block;
  padding-left: 18px !important;
}

/* Triangle centred to the link */
.footer-vertical-menu li.current-menu-item > a::before,
.footer-vertical-menu li.current_page_item > a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #b22222;
}

/* Display helpers — no forced font-size */
.display-md{
  letter-spacing: -0.02em;
}

.display_medium h1,
.display_medium h2,
.display_medium h3,
.display_medium{
  letter-spacing: -0.02em;
}

/* fw-hero: reduce top/bottom red space on tablet + mobile */
@media (max-width: 980px){
  #page-container .fw-hero.et_pb_section > .et_pb_row{
    padding-top: clamp(1.2rem, 3.5vw, 2.2rem) !important;
    padding-bottom: clamp(1.2rem, 3.5vw, 2.2rem) !important;
  }
}

/* fw-hero: alignment helpers */
.fw-hero.et_pb_section .et_pb_column{
  align-items: center;
  text-align: center;
}

.fw-hero.et_pb_section .et_pb_text,
.fw-hero.et_pb_section .et_pb_text .et_pb_text_inner,
.fw-hero.et_pb_section .et_pb_text p{
  text-align: center;
}

.fw-hero.et_pb_section .et_pb_text{
  margin-left: auto;
  margin-right: auto;
}

h1.display-xl{
  margin-bottom: clamp(0.3rem, 0.6vw, 0.8rem) !important;
}

/* Full width submit button */
#pa-contact-form-submit-fullwidth .et_contact_bottom_container{
  display: block !important;
  width: 100% !important;
  padding-left: 3% !important;
  padding-right: 3% !important;
  box-sizing: border-box;
}

/* Button itself */
#pa-contact-form-submit-fullwidth .et_pb_contact_submit{
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
  float: none !important;
}

/* Make The Divi Contact Form Submit Button Fullwidth */
.pa-contact-form-submit-fullwidth .et_contact_bottom_container {
  width: 100%!important;
  flex-direction: column!important;
  gap: 1em;
  padding-left: 3%;
  margin-top: 0px;
}

.pa-contact-form-submit-fullwidth .et_contact_bottom_container button {
  width: 100%;
  margin: 0;
}

/* Row: vertically centre both columns */
.contact-split{
  display: flex !important;
  align-items: center !important;
}

/* Divi sometimes forces columns to behave oddly on flex rows */
.contact-split .et_pb_column{
  margin-bottom: 0 !important;
}

/* Make columns behave properly */
.contact-split > .et_pb_column{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Left column spacing for blurbs */
.contact-split > .et_pb_column:first-child{
  gap: clamp(1rem, 1.2vw, 1.8rem);
}

/* Mobile fallback */
@media (max-width: 980px){
  .contact-split{
    display: block !important;
  }
}

.blurb-email .et_pb_module_header a{
  color: inherit;
  text-decoration: none;
}

.blurb-email .et_pb_module_header a:hover{
  text-decoration: underline;
}

.memorial-wrapper{
  max-width:1100px;
  margin:auto;
  font-family:Arial, Helvetica, sans-serif;
  padding:40px;
}

/* Horizontal scroll for Divi Image Modules */
.my-horizontal-scroll .et_pb_column {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.my-horizontal-scroll .et_pb_module {
  flex: 0 0 auto;
  scroll-snap-align: start;
  margin-right: 10px;
  max-width: 300px;
}

/* Source text under a module */
.museum-image img{
  display:block;
  width:100%;
}

.museum-caption{
  font-size:12px;
  line-height:1.4;
  color:#555;
  background:#f2f2f2;
  padding:6px 10px;
  border-left:3px solid #b9b9b9;
  margin-top:-4px;
}

.museum-caption a{
  color:#444;
  text-decoration:underline;
}

.museum-caption a:hover{
  color:#000;
}

.et_mobile_menu li a {
  border-bottom: none !important;
}

.et_mobile_menu {
  border-top: none !important;
}

.mobile_menu_bar:before {
  border: none !important;
}