/**
 * ================================================================
 * TABLE OF CONTENTS - LOCAL SITE ADDITIONS
 * ================================================================
 *
 * 1. CUSTOM SITE TEXT STYLES
 * 1.1 Small Text
 * 1.2 Highlight Links
 *
 * ================================================================
 */

/* ===================== 1. CUSTOM SITE TEXT STYLES ===================== */

/* 1.1 Small Text */

/****** desktop ******/
.small-text div.et_pb_text_inner {
  font-size: 1rem !important;
}

/****** tablet ******/
@media only screen and (max-width: 980px) {
  .small-text div.et_pb_text_inner {
    font-size: .95rem !important;
  }
}

/****** mobile ******/
@media only screen and (max-width: 767px) {
  .small-text div.et_pb_text_inner {
    font-size: .85rem !important;
  }
}

/* 1.2 Highlight Links */

/****** Text Link - highlight color ******/
.highlight-link {
  color: #2f6fb2 !important;
  font-weight: bold !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.highlight-link-blue:hover {
  color: #022f6c !important; 
  text-decoration: underline !important;
}

.highlight-link-blue {
  color: #2f6fb2 !important;
  font-weight: bold !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.highlight-link:hover {
  color: #022f6c !important; 
  text-decoration: underline !important;
}

/****** Text Link - highlight white ******/
.highlight-link-white {
  color: #ffffff !important;
  font-weight: bold !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.highlight-link-white:hover {
  color: #022f6c !important; 
  text-decoration: underline !important;
}

@media only screen and (max-width: 980px) {
  .et_pb_text a.highlight-link,
  .et_pb_text a.highlight-link:visited,
  .et_pb_text a.highlight-link:focus,
  .et_pb_text a.highlight-link:active {
    color: #2f6fb2 !important;
    text-decoration: underline !important;
  }

  .et_pb_text a.highlight-link:hover {
    color: #022f6c !important;
    text-decoration: underline !important;
  }
}

/****** smooth scroll to top plugin - hide dot ******/
.smooth-back-to-top-button { 
  display: none !important; 
}

/* ===================== 2. PERFORMANCE & CLS FIXES ===================== */

/* Reserve desktop hero height */
.et_pb_slider_0, 
.et_pb_slider_0 .et_pb_slide {
  min-height: 520px !important;
}

/* Reserve mobile hero height to eliminate layout shift (CLS) */
@media (max-width: 767px) {
  .et_pb_slider_0, 
  .et_pb_slider_0 .et_pb_slide {
    min-height: 420px !important;
  }
}



/* ===================== 3. POPUP IMAGE WRAP ===================== */


/* 2.1 Popup Image Wrap 250 */

/* Divi 5 modules are flex by default — the float needs block to flow */
.et_pb_column:has(.imagewrap-popup-250),
.et_pb_column:has(.imagewrap-popup-250) .et_pb_text {
    display: block !important;
}

/****** desktop ******/
.imagewrap-popup-250 {
    float: left !important;
    max-width: 250px;
    width: 100%;
    margin: 0 1.5rem 1rem 0 !important;
}

.imagewrap-popup-250 img {
    width: 100%;
    height: auto;
    display: block;
}

/****** mobile ******/
@media only screen and (max-width: 767px) {
.imagewrap-popup-250 {
    float: none !important;
    max-width: 100% !important;
    margin: 0 0 1.5rem 0 !important;
}

.et_pb_column:has(.imagewrap-popup-250) {
    display: flex !important;
    flex-direction: column !important;
}
}