/**
 * Theme Name:     Divi Child
 * Author:         Pam Maloney
 * Template:       Divi
 * Text Domain:	   Divi Child
 * Description:    Custom Theme for Stronghouse Pros
 */


/* ========================================================================== 
   1. BASE / GLOBAL TYPOGRAPHY
   ========================================================================== */
html {
  -webkit-font-smoothing: antialiased;
  scroll-behavior: auto !important;
} 


 
h1, 
h2,center
h3,
h4, 
h5,
h6 {
  overflow-wrap: normal;
  text-wrap: balance;
}

h1 {
	font-size: clamp(2rem, 4vw + 0.5rem, 3.375rem) ;
  line-height: 1.15;
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}

h2 {
  font-size: clamp(1.7rem, 3.5vw + 0.5rem, 2.8125rem);
  line-height: 1.2;
  margin-top: 1.4em;
  margin-bottom: 0.7em;
} 

h3 {
  font-size: clamp(1.5rem, 3vw + 0.375rem, 2.3125rem);
  line-height: 1.25;
  margin-top: 1.3em;
  margin-bottom: 0.65em;
}

h4 {
  font-size: clamp(1.3rem, 2.5vw + 0.25rem, 1.9375rem);
  line-height: 1.3;
  margin-top: 1.2em;
  margin-bottom: 0.6em;  
}

h5 {
  font-size: clamp(1.15rem, 2vw + 0.25rem, 1.625rem);
  line-height: 1.35;
  margin-top: 1.1em;
  margin-bottom: 0.55em;
}

h6 {
  font-size: clamp(1rem, 1.5vw + 0.2rem, 1.375rem);
  line-height: 1.4;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.subhead p{ 
	font-weight:400 !important;
	text-align:center !important;
		letter-spacing:-.01em;
		font-size:26px !important;
margin-top:-45px !important;
}

a:link{
	color: #52812C;
font-weight:700;
	
}

a.green-blue-link{
	color:#65A239 !important;
}


.aioseo-breadcrumb a{
	color: #52812C !important;
	text-decoration:underline;
	font-weight:700;
}

.card-shadow, article {
	box-shadow: 0px 6px 6px -6px rgba(0, 0, 0, 0.3);
}

article.team-members{
	box-shadow:none !important;
}

/* WordPress editor title fix */
.editor-styles-wrapper .wp-block-post-title,
.editor-post-title__input {
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}

/* Divi blog content heading overrides */
.single-post .et_pb_post_content .et_pb_text_inner h1 {
  font-size: 2.1rem;
  line-height: 1.2em;
}

.single-post .et_pb_post_content .et_pb_text_inner h2 {
  font-size: 1.65rem;
  line-height: 1.25em;
}

.single-post .et_pb_post_content .et_pb_text_inner h3 {
  font-size: 1.35rem;
  line-height: 1.3em;
}

.single-post .et_pb_post_content .et_pb_text_inner h4 {
  font-size: 1.15rem;
}

.single-post .et_pb_post_content .et_pb_text_inner h5 {
  font-size: 1.05rem;
}

.single-post .et_pb_post_content .et_pb_text_inner h6 {
  font-size: 0.95rem;
}

#sh-blog h1 {
  font-size: 34px !important;
}

#sh-blog h2 {
  font-size: 28px !important;
}

#sh-blog ul {
  margin-top: -5px !important;
}

/* Scoped list styling would be safer long-term, but this preserves current sitewide behavior */
ul {
  margin: 30px 60px 0 30px;
  list-style-type: square !important;
}

ul li {
  margin-bottom: 8px;
  list-style-type: square;
  list-style-position: outside;
  list-style-image: none;
}

ul li::marker {
  font-size: 1.1em;
}

.check-bullets ul {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.check-bullets ul li {
  list-style: none !important;
  list-style-type: none !important;
  position: relative;
  padding-left: 34px !important;
  margin-bottom: 12px;
}

.check-bullets ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.check-bullets ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #7ac943;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.circle-check-bullets ul {
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.circle-check-bullets ul li {
  list-style: none !important;
  list-style-type: none !important;
  position: relative;
  padding-left: 34px !important;
  margin-bottom: 12px;
}

.circle-check-bullets ul li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.circle-check-bullets ul li::before {
  content:"✓";
    position:absolute;
    left:0;
    top:2px;
    width:20px;
    height:20px;
    border:2px solid #79c141;
    border-radius:50%;
    color:#79c141;
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ========================================================================== 
   2. UTILITIES
   ========================================================================== */
.small-space { margin-bottom: 15px; }
.med-space { margin-bottom: 30px; }
.lg-space { margin-bottom: 45px; }
.xlg-space { margin-bottom: 60px; }

.reverse-mobile-columns {
  display: block;
}

.twentytwent-before {
  display: none !important;
}

.df_marquee_text {
  color: #ffffff !important;
}

.stick-image-bottom {
  display: flex;
  flex-direction: column;
}

.stick-image-bottom .et_pb_image {
  margin-top: auto;
}

/* ========================================================================== 
   3. GENERIC COMPONENTS
   ========================================================================== */
.standard-card {
  padding: 30px;
  border: 1px solid #b2b7bb;
}

.standard-card img {
  width: 200px;
  height: auto;
  margin-bottom: 15px;
}

.standard-card h3 {
  font-size: 28px !important;
}

.phone-link {
  display: block;
  color: #52812C;
  text-decoration: underline;
}

/* ========================================================================== 
   4. OFF-CANVAS / BUTTON OVERRIDES
   ========================================================================== */


.text-button div h5, .text-button div h3, .text-button div h2 {
  display: block !important;
  width: 100% !important;
  margin-top: 8px;
  margin-left: 0;
  padding: 10px 12px;
  background-color: #7ac142 !important;
  color: #002a5c !important;
  font-size: 10px !important;
	font-weight:600 !important;
  border-bottom: 6px solid #002a5c;
}

h2.toggle-text{
margin-top:10px !important;
margin-bottom:10px !important;
font-size:21px !important;
}




.et_pb_button,
a.et_pb_button.digr_offcanvas_button,
a.green-button,
body a.green-button,
.green-button,
.green-button a,
a.et_pb_button.green-button {
  background: #78c943 !important;
  color: #002a5c !important;
  border: 0 !important;
  border-radius: 2px !important;
  border-bottom: 6px solid #629a35 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  padding: 12px 24px 10px !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}

/* Divi button icon/arrow cleanup */
.et_pb_button.green-button:after,
.green-button.et_pb_button:after {
  display: none !important;
}

/* Hover */
.et_pb_button:hover,
a.green-button:hover,
.green-button a:hover,
.toggle-text a:hover,
a.et_pb_button.green-button:hover {
  background: #94d549 !important;
  color: #002a5c !important;
  border-bottom-color: #578b2f !important;
  padding: 12px 24px 10px !important;
}


h2.top-mobile-button{
	padding-top:0 !important;
	margin-top:0 !important;
}

.off-canvas-content {
  padding: 15px !important;
}

.footer-text a:link {
  color: #e1e1e1 !important;
  text-decoration: underline !important;
}

.footer-text a:hover {
  color: #94d549 !important;
}

/* ========================================================================== 
   5. DECORATIVE SHAPES / TESTIMONIALS
   ========================================================================== */
.notch-box {
  position: relative;
  height: 100% !important;
  padding: 100px 20px;
  text-align: center;
  background-color: #002a5c;
  color: #ffffff;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    55% 100%,
    50% 92%,
    45% 100%,
    0 100%
  );
}

.notch-content h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  line-height: 0.9;
  color: #ffffff;
}

.notch-content span {
  display: block;
  font-weight: 600;
}

.roofline-testimonial {
  width: 100%;
  padding: 100px 20px;
  text-align: center;
  background-color: #002f6c;
  color: #ffffff;
  clip-path: polygon(
    81.012% 35.009%,
    67.681% 0%,
    32.669% 0%,
    19.939% 35.009%,
    6.607% 0%,
    0% 0%,
    0% 100%,
    40.96% 100%,
    49.531% 76.43%,
    58.507% 100%,
    100% 100%,
    100% 0%,
    93.743% 0%,
    81.012% 35.009%
  );
}

.testimonial-content {
  max-width: 700px;
  margin: 0 auto;
  animation: fadein 1s ease-in-out;
}

.testimonial-content p {
  margin: 0.5rem 0;
  font-size: 1rem;
  line-height: 1.6;
}

.stars {
  margin-bottom: 20px;
  font-size: 2rem;
  color: #f7c948;
}

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========================================================================== 
   7. MOBILE MENU
   ========================================================================== */
.et_mobile_menu {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: 85% !important;
  max-width: 85% !important;
  height: 100vh !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-y: auto !important;
  z-index: 300 !important;
  transform: translateX(100%) !important;
  transition: transform 0.55s ease-in-out !important;
  will-change: transform !important;
}

.mobile_nav.opened .et_mobile_menu {
  transform: translateX(0%) !important;
}

.et_mobile_menu,
.et_mobile_menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.et_mobile_menu li a {
  display: block;
  padding: 1rem;
  font-size: 1rem;
  font-weight: bold;
  color: #000000 !important;
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.et_mobile_menu li a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.mobile_nav::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mobile_nav.opened::before {
  opacity: 1;
}

#overlaySection {
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: auto;
}

#overlaySection .et_pb_row,
#overlaySection .et_pb_column,
#overlaySection .et_pb_module {
  display: contents !important;
}

#mobileMenu:active {
  background-color: #efefef !important;
}

#mobileMenu:active,
.mobile_nav:active,
.et_mobile_nav_menu:active,
.et_mobile_menu:active {
  background-color: transparent !important;
}

/* ========================================================================== 
   8. IMAGE / BACKGROUND ANIMATION
   ========================================================================== */
body:not(.et-fb) .et_pb_image img {
  opacity: 0;
  animation: fadeIn 0.8s ease forwards;
  animation-delay: 0.2s;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

.fade-bg {
  opacity: 0;
  animation: fadeBgIn 1s ease forwards;
  animation-delay: 0.5s;
}

@keyframes fadeBgIn {
  to {
    opacity: 1;
  }
}

.et-fb .fade-bg {
  opacity: 1 !important;
  animation: none !important;
}

.swiper-pagination-bullet {
  border-radius: 0 !important;
}

/* ========================================================================== 
   9. FAQ / NAV / GENERIC DIVI HELPERS
   ========================================================================== */
h2.faqs {
  text-transform: none !important;
  color: #002a5c !important;
  background: #ffffff !important;
}

#menu-main-menu .menu-item {
  display: inline-block;
  position: relative;
}

#menu-main-menu .menu-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #7ac142;
  transform: scaleX(0);
  transform-origin: bottom center;
  transition: transform 0.25s ease-out;
}

#menu-main-menu .menu-item:hover::after {
  transform: scaleX(1);
}

/* ========================================================================== 
   10. LOCATIONS NAV / SERVICE PILLS
   ========================================================================== */
.service-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

@supports not (gap: 1rem) {
  .service-nav {
    gap: 0;
  }

  .service-nav .svc-pill + .svc-pill {
    margin-left: 5px;
  }
}

.svc-pill {
  --pad-y: clamp(3px, 0.5vw, 7px);
  --pad-x: clamp(24px, 4.8vw, 62px);
  --bevel: 12px;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  padding: var(--pad-y) var(--pad-x);
  white-space: nowrap;
  text-transform: uppercase;
  font-size: clamp(14px, 1.4vw, 20px);
  font-weight: 700 !important;
  line-height: 1;
  color: #002A5C !important;
  background: #7ac142;
  cursor: pointer;
  isolation: isolate;
  clip-path: polygon(var(--bevel) 0, 100% 0, calc(100% - var(--bevel)) 100%, 0 100%);
  -webkit-clip-path: polygon(var(--bevel) 0, 100% 0, calc(100% - var(--bevel)) 100%, 0 100%);
  transition: transform 0.15s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.svc-pill::after {
  content: "";
  position: absolute;
  top: 18%;
  right: 0;
  bottom: 18%;
  width: 3px;
  background: #e5f4db;
  transform: skewX(-20deg);
  border-radius: 1px;
  pointer-events: none;
}

.svc-pill:hover,
.svc-pill:focus-visible {
  outline: none;
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.svc-pill:focus-visible {
  box-shadow: 0 0 0 3px #142a51, 0 6px 16px rgba(0, 0, 0, 0.12);
}

.svc-pill:active,
.svc-pill.active {
  filter: brightness(1.05);
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) inset;
}

.service-nav .svc-pill {
  display: none;
}

.service-nav.Roofing .svc-pill.Roofing,
.service-nav.Storm .svc-pill.Storm,
.service-nav.Siding .svc-pill.Siding,
.service-nav.Windows .svc-pill.Windows,
.service-nav.Gutters .svc-pill.Gutters,
.service-nav.Doors .svc-pill.Doors,
.service-nav.Commercial .svc-pill.Commercial,
.service-nav.Decks .svc-pill.Decks,
.service-nav.Painting .svc-pill.Painting {
  display: inline-flex;
}

.service-area-msg {
  color: #ffffff;
  font-size: 14px;
  text-align: center;
}

.sub-locations {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: clamp(1rem, 2vw, 1.75rem);
  line-height: 1.4;
}

.sub-locations__sep {
  opacity: 0.7;
  padding: 0 2px;
}

.sub-locations a.sub-location,
.sub-locations .sub-location {
  white-space: nowrap;
}

.extra-locations-block:empty {
  display: none;
}

/* ========================================================================== 
   11. FORMS / GRAVITY FORMS
   ========================================================================== */
.gform_wrapper :focus {
  outline: 3px solid #7ac142 !important;
}


.gform_button{
  padding: 10px 20px !important;
  background-color: #7ac142 !important;
  color: #002a5c !important;
  font-size: 20px !important;
	font-weight:600 !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border-bottom: 6px solid #629a35 !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease;
}

.gform_button:hover {
  background-color: #94d549 !important;
}

body .gform_wrapper input[type="checkbox"]:checked::before {
  content: "✔" !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #21aa04;
  font-family: Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1;
}

.gform_required_legend {
  margin-bottom: 15px;
  font-size: 12px;
}

/* ========================================================================== 
   12. WPSL / LOCATIONS / ZIP SEARCH
   ========================================================================== */
#wpsl-wrap,
#wpsl-stores,
#wpsl-direction-details,
#wpsl-gmap,
#wpsl-result-list {
  width: 100%;
  height: 100% !important;
}

.wpsl-gmap-canvas,
.wpsl-directions,
.wpsl-search,
.no-zip .wpsl-search,
.no-zip .wpsl-direction-wrap {
  display: none !important;
}

#wpsl-result-list #wpsl-stores ul,
.wpsl-simple-items {
  display: flex;
  flex-wrap: wrap;
}

.wpsl-simple-items {
  margin: 0;
  padding: 0;
  list-style: none !important;
}

.wpsl-simple-item,
.wpsl-simple-items .wpsl-simple-item,
#wpsl-result-list #wpsl-stores ul li {
  width: 33% !important;
}

.wpsl-simple-item {
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.wpsl-simple-items .wpsl-simple-item {
  border-bottom: none;
  list-style-type: none;
  list-style-image: none;
}

.wpsl-simple-name {
  margin-bottom: 4px; 
  font-weight: 700;
}

.wpsl-simple-name a,
.wpsl-simple-address a {
  text-decoration: none;
}

.wpsl-simple-item .wpsl-simple-phone:last-child a {
  color: inherit;
  text-decoration: underline;
}

.wpsl-search-widget {
  width: 100%;
}

.wpsl-search-widget form,
.wpsl-search-widget form p:first-of-type {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.wpsl-search-widget form input[type="submit"] {
  margin-top: -2px;
  padding: 0 10px;
  background-color: #7ac142;
  color: #002a5c !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  border: none;
  border-bottom: 4px solid #629a35 !important;
  cursor: pointer;
}

.wpsl-search-widget form input[type="submit"]:hover {
  background-color: #94d549;
}

input#wpsl-widget-search {
  width: 100px !important;
}

.no-zip h2 {
  margin-bottom: 0 !important;
  font-size: 16px !important;
}

.services-container .service-box {
  margin-bottom: 40px;
}

.services-container .service-box.et-first-child {
  clear: both;
}

#wpsl-wrap #wpsl-result-list li {
  border-bottom: none;
}

#loader {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 30px;
  margin: 0;
  padding: 0;
}

.loader-dot {
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-image: none;
  border-radius: 50%;
  background: #ffffff;
  opacity: 0.2;
  animation: loader-fade 1s linear infinite;
}

.loader-dot:nth-child(1) { animation-delay: 0s; }
.loader-dot:nth-child(2) { animation-delay: 0.2s; }
.loader-dot:nth-child(3) { animation-delay: 0.4s; }
.loader-dot:nth-child(4) { animation-delay: 0.6s; }
.loader-dot:nth-child(5) { animation-delay: 0.8s; }

@keyframes loader-fade {
  0% { opacity: 0.2; }
  30% { opacity: 1; }
  60% { opacity: 0.2; }
  100% { opacity: 0.2; }
}

/* ========================================================================== 
   13. ANCHOR / SECTION OFFSET
   ========================================================================== */
#services {
  margin-top: -200px;
  padding-top: 200px;
} 

/* ========================================================================== 
   14. ACF REPEATER CARDS
   ========================================================================== */
.acf-cards-grid {
  display: grid;
  gap: 28px;
}

.acf-cards-grid.cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.acf-cards-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acf-cards-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acf-cards-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.acf-card {
  display: block;
  padding: 28px;
  background: #ffffff;
  border: 1px solid #d6dee9;
}

.acf-card__media {
  margin: 0 0 18px;
}

.acf-card__media img {
  display: block;
  width: 200px;
  height: 200px;
  object-fit: cover;
}

.acf-card__title {
  margin: 30px 0 15px;
  font-size: 1.3em !important;
  font-weight: 600;
  text-transform: uppercase;
}

.acf-card__desc {
  margin: 0;
  line-height: 1.7;
}

.acf-cards__heading {
  margin-top: 0;
  padding-top: 0;
	text-align:center;
}

/* ========================================================================== 
   15. OPTION CARDS
   ========================================================================== */
.sh-options-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px)) !important;
  justify-content: center !important;
  gap: 24px !important;
}

.sh-options-grid .sh-option-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}


.sh-option-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.12);
}

.sh-option-card__media {
  background: #e9e9e9;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.sh-option-card__img {
  display: block;
  width: 100%;
  height: auto;
}

.sh-option-card__body {
  padding: 22px;
}

.sh-option-card__title {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.15;
}

.sh-option-card__desc p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
}

.acf-cards-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

/* Default desktop: up to 3 cards per row */
.acf-cards-grid > .acf-card {
    flex: 0 1 calc((100% - 60px) / 3);
    max-width: 410px;
    min-width: 280px;
    width: 100%;
}

/* Smaller desktop/tablet: 2 cards per row */
@media (max-width: 1150px) {
    .acf-cards-grid > .acf-card {
        flex-basis: calc((100% - 30px) / 2);
        max-width: 460px;
    }
}

/* Mobile: 1 card per row */
@media (max-width: 700px) {
    .acf-cards-grid {
        gap: 24px;
    }

    .acf-cards-grid > .acf-card {
        flex-basis: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

/* ========================================================================== 
   16. CALCULATOR MOBILE SUPPORT
   ========================================================================== */
.sh-calc__cards {
  display: none;
}

/* ========================================================================== 
   17. DIVI ACCORDIONS / LAYOUT HELPERS
   ========================================================================== */
.service-area-accordion .et_pb_toggle.et_pb_accordion_item {
  margin-bottom: 0;
}

.et_pb_toggle_close,
.et_pb_toggle_open {
  padding: 20px 40px !important;
}

.et_pb_toggle_close h5,
.et_pb_toggle_open h5 {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.et_pb_row.four-col-responsive {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px;
} 

.et_pb_row.four-col-responsive > .et_pb_column {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

.service-area-accordion .et_pb_toggle.et_pb_accordion_item {
  margin-bottom: 14px !important;
  background: #fff !important;
  border: 1px solid #e2e2e2 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.045);
  overflow: hidden;
}

/* Remove the old flat-line feel */
.service-area-accordion .et_pb_toggle {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

/* Closed and open card padding */
.service-area-accordion .et_pb_toggle_close,
.service-area-accordion .et_pb_toggle_open {
  padding: 24px 34px !important;
}

/* Question text */
.service-area-accordion .et_pb_toggle_title {
  color: #002a5c !important;
  font-weight: 700;
  line-height: 1.2;
  padding-right: 52px !important;
}

/* Answer text */
.service-area-accordion .et_pb_toggle_content {
  padding-top: 18px !important;
  color: #002a5c;
}

/* Hover lift */
.service-area-accordion .et_pb_toggle.et_pb_accordion_item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.075);
}

/* ========================================================================== 
   18. SIDEBAR / AUTHOR / WIDGET OVERRIDES
   ========================================================================== */
.aioseo-author-bio-compact,
div#block-4.et_pb_widget.widget_block {
  display: none !important;
}

.et_pb_bg_layout_dark .et_pb_widget.widget_block .wp-block-latest-posts__list li a.wp-block-latest-posts__post-title:hover,
.et_pb_bg_layout_dark .et_pb_widget.widget_block .wp-block-latest-posts__list li a.wp-block-latest-posts__post-title:visited:hover {
  color: #7ac142 !important;
}

/* ========================================================================== 
   19. DESKTOP-ONLY VERTICAL ALIGN BLURB FIX
   ========================================================================== */
@media (min-width: 767px) {
  .pa-vertical-align-blurb .et_pb_blurb_content {
    display: flex !important;
  }

  .pa-vertical-align-blurb .et_pb_blurb_container {
    display: flex !important;
    justify-content: center;
    flex-direction: column;
  }

  .et-db #et-boc .et-l .pa-vertical-align-blurb .et_pb_main_blurb_image {
    display: flex;
    width: auto !important;
    margin-bottom: 0 !important;
  }
}

/* ========================================================================== 
   20. RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .acf-cards-grid.cols-md-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .acf-cards-grid.cols-md-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acf-cards-grid.cols-md-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .acf-cards-grid.cols-md-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .et_mobile_menu a[href="#"],
  .et_mobile_menu a.top-link-disabled {
    pointer-events: none;
    cursor: default;
    padding: 1rem;
    font-size: 1.1rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff !important;
    background-color: #efefef;
    border-bottom: 1px solid #ddd;
  }

  .et_mobile_menu a.top-link-disabled:hover {
    text-decoration: none;
    background-color: #f0f0f0;
  }

  .et_mobile_menu a.top-link-disabled::before {
    content: none !important;
  }

  .et_mobile_menu li:not(.menu-item-has-children) > a:not(.top-link-disabled)::before,
  .et_mobile_menu li.menu-item-has-children > ul > li > a:not(.top-link-disabled)::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
    background-image: url("");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    color: #666;
  }

  .et_pb_toggle_close,
  .et_pb_toggle_open {
    padding: 20px !important;
  }

  .et_pb_row.four-col-responsive {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .reverse-mobile-columns {
    display: flex;
    flex-direction: column-reverse;
  }

  .wpsl-simple-list .wpsl-simple-item,
  #wpsl-result-list #wpsl-stores ul li {
    width: 100% !important;
  }

 
}

.et_mobile_menu a.top-link-disabled::after {
  content: "▼";
  float: right;
  margin-left: 0.5rem;
  font-size: 1rem;
  color: #aaa;
}

@media (max-width: 900px) {
  .service-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 12px;
    align-items: stretch;
  }

  .service-nav .svc-pill {
   /*  display: flex; */
    align-items: center;
    justify-content: center;   /* FIXED */
    width: 100%;
    min-height: 40px;
    padding: 14px 14px 12px;
    box-sizing: border-box;
    text-align: center;
    --bevel: 14px;
    transform: none !important;
    -webkit-transform: none !important;
  }

  .service-nav .svc-pill::after {
    content: none !important;
  }
}

/* Optional: tiniest phones switch to 1 column */
@media (max-width: 380px) {
  .service-nav {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .sh-calc__tableWrap {
    display: none;
  }

  .sh-calc__cards {
    display: grid;
    gap: 10px;
    margin-top: 10px;
  }

  .sh-planCard {
    padding: 12px;
    background: #fff;
    border: 1px solid #111;
  }

  .sh-planCard--highlight {
    background: #fff6cc;
  }

  .sh-planCard__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }

  .sh-planCard__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: #111;
  }

  .sh-planCard__meta {
    white-space: nowrap;
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    color: #444;
  }

  .sh-planCard__pills {
    display: grid;
    gap: 8px;
  }

  .sh-pill {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: #e2e2e2;
    border: 1px solid #111;
  }

  .sh-pill strong {
    font-size: 12px;
    font-weight: 600;
    color: #111;
  }

  .sh-pill span {
    font-size: 16px;
    font-weight: 600;
    color: #c00000;
  }

  .sh-pill--dash span {
    color: #777;
  }

  .sh-calc__maxValues {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .notch-box {
    clip-path: polygon(
      0 0,
      100% 0,
      100% 100%,
      55% 100%,
      50% 94%,
      45% 100%,
      0 100%
    );
  }

  .roofline-testimonial {
    position: relative;
    min-height: 350px;
    padding: clamp(24px, 4vw, 48px);
    clip-path: polygon(
      0 30px,
      10% 0,
      25% 30px,
      40% 0,
      55% 30px,
      70% 0,
      85% 30px,
      100% 0,
      100% 94%,
      55% 94%,
      50% 100%,
      45% 94%,
      0 94%
    );
  }

  .stars {
    font-size: 1.5rem;
  }

  .testimonial-content p {
    font-size: 0.95rem;
  }
}

@media (max-width: 680px) {
  .acf-cards-grid.cols-sm-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .acf-cards-grid.cols-sm-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .acf-card__media img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 570px) {
  .wpsl-search-widget form,
  .wpsl-search-widget form p:first-of-type {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .sub-locations {
    gap: 10px;
  }

  .sub-locations__sep {
    padding: 0 4px;
  }
	

}

@media (max-width: 767px) {
  .et_pb_row.four-col-responsive {
    grid-template-columns: 1fr !important;
  }
}

/* display inline phone number for header */
.call-today-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
	margin-top:8px;
}

.call-today-row .call-today-label {
  margin: 0;
  line-height: 1;
}

.call-today-row .wpsl-locations-details,
.call-today-row .wpsl-contact-details,
.call-today-row .wpsl-contact-details span,
.call-today-row .wpsl-contact-details a {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}

.call-today-row .wpsl-location-address,
.call-today-row .wpsl-contact-details br {
  display: none !important;
}
/* ✨ Hide "Phone:" label ONLY */
.call-today-row .wpsl-contact-details {
  position: relative;
  font-size: 0; /* hide text node */
}

/* Bring the number back */
.call-today-row .wpsl-contact-details span,
.call-today-row .wpsl-contact-details a {
  font-size: 16px; /* match your design */
  font-weight: 500;
}  





/* DIVI: title + form inline */


.top-form .et_pb_column {
  display: flex !important;
  align-items: center !important;
  gap: 16px;
  flex-wrap: nowrap;
}

.top-form .et_pb_text {
  flex: 0 0 auto;
  margin-bottom: 0 !important;
  transform: translateY(-28px);
  white-space: nowrap;
	font-weight:600;
}

.top-form .et_pb_code {
  flex: 1 1 auto;
  min-width: 0;
  margin-bottom: 0 !important;
}

/* Form: body + button */
.top-form #gform_8 {
  display: grid !important;
  grid-template-columns: minmax(0, auto) auto !important;
  gap: 12px !important;
  align-items: start !important;
  justify-content: start !important;
}

.top-form #gform_8 .gform_body {
  margin: 0 !important;
  padding: 0 !important;
}

/* Actual GF fields: Name | Zip | Email | Interest */
.top-form #gform_fields_8 {
  display: grid !important;
  grid-template-columns: 300px 130px 130px 100px 130px 130px !important;
  gap: 10px !important;
  align-items: center !important;
}

/* Name field contains First + Last */
.top-form #gform_8 .ginput_complex {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.top-form #gform_8 .ginput_complex > span {
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* Field cleanup */
.top-form #gform_8 .gfield {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: auto !important;
}

/* Inputs */
.top-form #gform_8 input[type="text"],
.top-form #gform_8 input[type="email"],
.top-form #gform_8 input[type="tel"],
.top-form #gform_8 input[type="number"],
.top-form #gform_8 select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
	border-radius:0;
}

/* Button */
.top-form #gform_8 .gform_footer {
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

.top-form #gform_submit_button_8 {
  white-space: nowrap !important;
  margin: 0 !important;
	
}

/* Consent under fields */

body .gform_wrapper #field_8_5 label.gfield_consent_label a,
body .gform_wrapper #field_8_5 label.gfield_consent_label a:link,
body .gform_wrapper #field_8_5 label.gfield_consent_label a:visited {
  color: #003B7A !important;
  text-decoration: underline !important;
}

body .gform_wrapper #field_8_5 label.gfield_consent_label a:hover,
body .gform_wrapper #field_8_5 label.gfield_consent_label a:focus {
  color: #00408A !important;
}

body .gform_wrapper .gfield_consent_description a,
body .gform_wrapper .gfield_consent_description a:link,
body .gform_wrapper .gfield_consent_description a:visited {
  color: #003B7A !important;
  text-decoration: underline !important;
}

body .gform_wrapper .gfield_consent_description a:hover,
body .gform_wrapper .gfield_consent_description a:focus {
  color: #00408A !important;
}

.top-form #gform_8 .gfield--type-consent {
  grid-column: 1 / -1 !important;
  margin-top: 6px !important;

}

.top-form #gform_8 .gfield--type-consent > .gfield_label {
  display: none !important;
}

.top-form #gform_8 .gfield--type-consent .ginput_container_consent {
	
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
}

.top-form #gform_8 .gfield--type-consent input[type="checkbox"] {
  width: auto !important;
  flex: 0 0 auto;
  margin-top: 3px !important;
}

/* Add space after Name field */
.top-form #gform_8 .gfield--type-name {
  margin-right: 12px !important;
}

/*hide default gravity button 
#gform_submit_button_8{ visibility: hidden; position: absolute; left: -100vw; }*/

/* Center text + form together */
.top-form .et_pb_column {
  justify-content: center !important;
}

/* Let the form keep its natural width */
.top-form .et_pb_code {
  flex: 0 0 auto !important;
  display: block !important;
}

/* Keep the GF group tight */
.top-form #gform_8 {
  margin: 0 !important;
}

/* Responsive: stack safely before things collide */
@media (max-width: 1450px) {
  .top-form .et_pb_column {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .top-form .et_pb_text {
    transform: none !important;
  }

  .top-form #gform_8 {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }

  .top-form #gform_8 .gform_footer {
    margin-top: 8px !important;
  }
}
/* Make consent text smaller */
.top-form #gform_8 .gfield--type-consent,
.top-form #gform_8 .gfield--type-consent label,
.top-form #gform_8 .gfield--type-consent p {
  font-size: 12px !important;
}

/* ONLY form ID 8 */

#gform_wrapper_8 .gform_button,
#gform_wrapper_8 input[type="submit"] {
  height: 39px !important;
  min-height: 39px !important;
  line-height: 39px !important;
  box-sizing: border-box !important;
}

/* Fix button alignment */
#gform_wrapper_8 .gform_button,
#gform_wrapper_8 input[type="submit"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
	border-radius:2px !important;
}

/* Zip Code Header Search */
#wpsl-widget-submit{
	height:26px;
		min-height: 26px !important;
  line-height: 26px !important;
  box-sizing: border-box !important;
}

#wpsl-widget-search {
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

#wpsl-widget-search:focus {
  border-color: #75bb42 !important;
  box-shadow:
    inset 4px 0 0 #75bb42,
    0 0 0 3px rgba(36, 201, 106, 0.16);
  outline: none;
	padding-left:6px !important;
}

/* Base state */
.form-engaged {
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.form-engaged:focus-within {
  box-shadow:
    inset 4px 0 0 #75bb42,
    0 6px 18px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}

/* Line up images in a column */
/* Column becomes a wrapping flex container */
.et_pb_column.sh-image-cluster {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

/* Everything defaults to full width */
.et_pb_column.sh-image-cluster > .et_pb_module {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

/* Only image modules become 4-across */
.et_pb_column.sh-image-cluster > .et_pb_image {
  flex: 0 0 calc(25% - 12px) !important;
  width: calc(25% - 12px) !important;
}

/* Image cleanup */
.et_pb_column.sh-image-cluster .et_pb_image_wrap,
.et_pb_column.sh-image-cluster img {
  width: 100% !important;
  display: block !important;
}

/* Hide the empty code modules if they’re still there */
.et_pb_column.sh-image-cluster > .et_pb_code {
  display: none !important;
}

/* Mobile: 2 across */
@media (max-width: 767px) {
  .et_pb_column.sh-image-cluster > .et_pb_image {
    flex: 0 0 calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
  }
}

/* Equal-height Divi blurb cards */
.sh-equal-cards {
  display: flex !important;
  align-items: stretch !important;
}

.sh-equal-cards .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
}

.sh-equal-cards .et_pb_module,
.sh-equal-cards .et_pb_blurb,
.sh-equal-cards .et_pb_blurb_content {
  height: 100% !important;
}

.sh-equal-cards .et_pb_blurb {
  flex: 1 1 auto !important;
}

/* vertical align elements in a row across columns */
.sh-vertical-align {
  display: flex;
}

.sh-vertical-align .et_pb_column {
  display: flex;
  flex-direction: column;
  justify-content: center; /* change this line */
}

/* angle accent */
/* Stronghouse hero image column */
/* Hero image column with green notched edge */
.sh-hero-image-col {
  position: relative !important;
  min-height: 520px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #75bb42 !important;

  -webkit-clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
}

/* House image layer */
.sh-hero-image-col::before {
  content: "";
  position: absolute !important;
  top: 0;
  right: 0;
  bottom: 0;
  left: 5px;

  background-image: url('/wp-content/uploads/2026/01/rainstorm-house.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  -webkit-clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
}

/* Mobile */
@media (max-width: 980px) {
  .sh-hero-image-col {
    min-height: 320px !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
  }

  .sh-hero-image-col::before {
    left: 0;
    -webkit-clip-path: none !important;
    clip-path: none !important;
  }
}




/* =========================================
   NOTCH HERO V2
   ========================================= */

.sh-hero-image-new-col-v2 {
  position: relative !important;
  overflow: hidden !important;
  min-height: 520px !important;
  padding: 0 !important;
  background: #75bb42 !important;

  -webkit-clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
}

.sh-hero-image-new-col-v2::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 5px !important;

  background-image: var(--sh-hero-img) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  -webkit-clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%) !important;
}

/* image variations */

.sh-img-siding {
  --sh-hero-img: url('/wp-content/uploads/2026/05/siding-hero-lp.webp');
}

.sh-img-decking {
  --sh-hero-img: url('/wp-content/uploads/2026/05/decking-hero-lp.webp');
}

.sh-img-tile-roofing{
  --sh-hero-img: url('/wp-content/uploads/2026/05/tile-roofing-hero-lp.webp');
}

.sh-img-windows {
  --sh-hero-img: url('/wp-content/uploads/2026/05/windows-hero-lp.webp');
}

.sh-img-painting {
  --sh-hero-img: url('/wp-content/uploads/2026/06/painting-hero-1.webp');
}

/* mobile */

@media (max-width: 980px) {

  .sh-hero-image-new-col-v2 {
    min-height: 320px !important;

    -webkit-clip-path: none !important;
    clip-path: none !important;
  }

  .sh-hero-image-new-col-v2::before {
    left: 0 !important;

    -webkit-clip-path: none !important;
    clip-path: none !important;
  }

}

/* Stack 3-column Divi row on mobile */
@media (max-width: 767px) {
  .sh-mobile-stack {
    display: block !important;
  }

  .sh-mobile-stack .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 24px !important;
    float: none !important;
    display: block !important;
  }

  .sh-mobile-stack .et_pb_column:last-child {
    margin-bottom: 0 !important;
  }

  .sh-mobile-stack .et_pb_module {
    text-align: left;
  }
}

/* colored form styling */
.styled-form .gform_wrapper,
.styled-form .gform_wrapper label,
.styled-form .gform_wrapper legend,
.styled-form .gform_wrapper .gfield_description,
.styled-form .gform_wrapper .gform_description,
.styled-form .gform_wrapper .gform_required_legend,
.styled-form .gform_wrapper .gfield_consent_label,
.styled-form .gform_wrapper .validation_message,
.styled-form .gform_wrapper .gform_validation_errors,
.styled-form .gform_wrapper .gform_submission_error {
    color: #ffffff !important;
}

.sh-resource-card-copy {
  display: flex;
  flex-direction: column;
  min-height: 250px;
	
 
} 

.top-quote-bar.sh-hide-top-quote {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sh-resource-link {
  margin-top: auto;
}


/* Hide the fallback button by default */
.top-quote-button {
  display: none;
}

/* When form is hidden */
html.sh-hide-quote-on-load .top-quote-bar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Show fallback button */
html.sh-hide-quote-on-load .top-quote-button {
  display: flex !important;
}

/* Custom Complianz settings */

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents.cmplz-links ul {
  display: flex !important;
  justify-content: center !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents.cmplz-links li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents.cmplz-links a {
  color: #003b70 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.cmplz-manage-consent{
	display:none !important;
}
span.swiper-pagination-bullet{
	height:24px !important;
	width:24px !important;
}

.gfield_required{
	color:#ffb5b6 !important;
}

body #page-container a.et_pb_button.green-button {
 
  font-weight: 700 !important;
}

.sh-service-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 42, 92, .68);
  z-index: 1;
}

.sh-home-hero-image-col {
    clip-path: polygon(
        12% 0,
        100% 0,
        100% 100%,
        0 100%
    );
}


@media (max-width: 980px) {
  .sh-home-hero-image-col {
    display: block !important;
    min-height: 320px !important;
    height: 320px !important;
    clip-path: none !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .sh-home-hero-image-col .et_pb_module {
    min-height: 320px !important;
  }
}

#gform_wrapper_2 .gform_required_legend,
#gform_wrapper_2 .gform_required_legend span,
#gform_wrapper_2 .gfield_required,
#gform_wrapper_2 .gfield_required_asterisk {
  color: #ffffff !important;
}
.sh-faded-image {
    opacity: 0.5;
}

h2.entry-title a:link{color: #002A5C; font-size:22px;}

button.wp-block-search__button.wp-element-button{
	color: #002a5c !important;
}

/* SH ACF FAQ Accordion */
.sh-faq-accordion {
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
  border-top: 1px solid #d6d6d6;
}

.sh-faq-item {
  border-bottom: 1px solid #d6d6d6;
}

.sh-faq-question.et_pb_toggle_title {
  position: relative;
  display: block;
  width: 100%;
  padding: 34px 70px 34px 46px;
  background: transparent;
  border: 0;
  color: #002a5c;
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
/*  text-transform: uppercase;*/
  cursor: pointer; 
}

/* override Divi’s default accordion icon */
.sh-faq-question.et_pb_toggle_title::before {
  content: "e050";
  font-family: ETmodules !important;
  speak: none;
  position: absolute;
  top: 50%;
  right: 0;
  left: auto;
  transform: translateY(-50%);
  margin-top: 0;
  color: #94d549;
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
}

/* open state */  
.sh-faq-question[aria-expanded="true"]::before {
  content: "e04f";
}

.sh-faq-answer { 
  padding: 0 46px 34px 46px;
  color: #002a5c;
  font-size: 18px;
  line-height: 1.35;
}

.sh-faq-answer p {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .sh-faq-question.et_pb_toggle_title {
    padding: 24px 54px 24px 20px;
    font-size: 18px;
  }

  .sh-faq-question.et_pb_toggle_title::before {
    right: 18px;
    font-size: 32px; 
  }


  .sh-faq-answer {
    padding: 0 20px 26px;
    font-size: 18px;
  }
}



.sh-testimonial::before{
    content:"“";
    position:absolute;
    top:-10px;
    left:0;
    font-size:190px;
    line-height:1;
    color:#7BC043; /* Brand Green */
    font-family:Georgia, serif;
    opacity:.19;
	
} 

.sh-testimonial::after{
    content:"”";
    position:absolute;
    bottom:-45px;
    right: 0;
    font-size:190px;
    line-height:1;
    color:#7BC043;
    font-family:Georgia, serif;
    opacity:.19;
}

.sh-office-card{
  background:#f7f8fa;
  padding:34px 36px;
  height:100%;
  border-left:1px solid #e6e9ee;
}

.sh-office-card h3{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#002a5c;
}

.sh-office-card p{
  margin:0;
  max-width:24ch; 
  font-size:18px;
  line-height:1.55;
  font-weight:400;
  color:#002a5c;
}

.sh-office-card p br{
  display:block;
  margin-bottom:8px;
  content:"";
}

.sh-office-card h3::before{
  content:"";
  display:block;
  width:42px;
  height:4px;
  background:#7BC043;
  border-radius:999px;
  margin-bottom:14px;
}
.sh-top-quote-form {
  position: relative;
}

.sh-quote-close {
  position: fixed !important;
  top: 12px;
  right: 12px;
  z-index: 9999999;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #002a5c;
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

@media (max-width: 767px) {
  .labor-day-finance-cards {
    display: block !important;
  }

  .labor-day-finance-cards .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 24px !important;
  }
}

/* Quote form close button */
.sh-quote-close:hover,
.sh-quote-close:focus {
  background: #47851e;
  color: #ffffff;
}

 /* ==========================================================
   STRONGHOUSE PROS — STICKY FOOTER
   ========================================================== */

html,
body {
  min-height: 100%;
}

#page-container {
  display: flex !important;
  min-height: 100vh;
  min-height: 100dvh;
  flex-direction: column !important;
  box-sizing: border-box;
}

#et-boc {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0;
}

#et-main-area {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0;
}

#main-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0;
}

#main-footer,
.et-l--footer {
  flex: 0 0 auto !important;
  margin-top: auto !important;
}


/* =========================================
   STRONGHOUSE — GLOBAL GRAND TOTAL
   Add "sh-grand-total" to each Grand Total
   field under Appearance > Custom CSS Class
   ========================================= */

.gform_wrapper .gfield.sh-grand-total {
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;

    width: 100%;
    margin-top: 28px;
    padding: 20px 24px;

    background: #eaf3f8;
    border: 1px solid #c9dce8;
    border-left: 5px solid #0b4778;
    border-radius: 8px;
}

/* Grand Total label */
.gform_wrapper .gfield.sh-grand-total .gfield_label {
    margin: 0 !important;
    color: #07345a;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

/* Amount container */
.gform_wrapper .gfield.sh-grand-total .ginput_container {
    margin: 0 !important;
}

/* Grand Total amount */
.gform_wrapper .gfield.sh-grand-total input {
    width: 160px !important;
    max-width: 40vw;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    color: #07345a !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2;
    text-align: right;
}

/* Mobile */
@media (max-width: 640px) {
    .gform_wrapper .gfield.sh-grand-total {
        gap: 12px;
        margin-top: 22px;
        padding: 18px;
    }

    .gform_wrapper .gfield.sh-grand-total .gfield_label {
        font-size: 17px;
    }

    .gform_wrapper .gfield.sh-grand-total input {
        width: 125px !important;
        font-size: 21px !important;
    }
} 

/* ===============================================================================================================================================================
   STRONGHOUSE PROS | DIVI 5 CHILD THEME STYLES
   Consolidated stylesheet — October 2026
   Keep the existing Theme Name / Template header at the
   beginning of your child theme's style.css.
   Divi controls column ratios and section/row gaps.
   =============================================================================================================================================================== */

/* =========================
   STRONGHOUSE PROS SYSTEM
   ========================= */

:root {
  --shp-navy: #062B52;
  --shp-navy-deep: #031D39;
  --shp-blue: #20C8F4;
  --shp-blue-on-white: #0086A8; /* Requested brand shade: 4.22:1 on white, AA for large text only */
  --shp-blue-hover: #13B5DF;
  --shp-text: #0A2340;
  --shp-text-light: #ffffff;
  --shp-bg-light: #F5F8FC;
  --shp-border: rgba(255,255,255,0.18);
  --shp-max: 1280px;
  --shp-radius: 0px;
  --shp-shadow: 0 14px 34px rgba(3, 29, 57, 0.12);
}

/* ===== Base ===== */

body {
  color: var(--shp-text);
}

.shp-section {
  padding: 0;
  position: relative;
}

.shp-row {
  width: min(100%, var(--shp-max));
  max-width: var(--shp-max);
}

.shp-section .et_pb_row {
  width: min(100%, var(--shp-max));
  max-width: var(--shp-max);
}

.shp-eyebrow {
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--shp-navy);
  margin-bottom: 14px;
}

.shp-eyebrow-light {
  color: var(--shp-blue);
}

.shp-section-title h1,
.shp-section-title h2,
.shp-section-title h3,
.shp-hero-title h1 {
  margin: 0;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--shp-text);
}

.shp-title-light h1,
.shp-title-light h2,
.shp-title-light h3 {
  color: #fff;
}

.shp-hero-title h1 {
  font-size: clamp(48px, 6vw, 88px);
  color: #fff;
}

.shp-section-title h2 {
  font-size: clamp(36px, 4.2vw, 64px);
}

.shp-body-copy,
.shp-hero-copy {
  font-size: 20px;
  line-height: 1.55;
  color: var(--shp-text);
}

.shp-hero-copy {
  color: rgba(255,255,255,0.96);
  max-width: 620px;
}

.shp-copy-light {
  color: rgba(255,255,255,0.9);
}

/* Stronghouse Pros hero heading */
.shp-hero h1.shp-hero-heading {
    color: #ffffff !important;
	margin-bottom:0 !important;
}

/* Cyan accent */
.shp-hero h1.shp-hero-heading .shp-accent {
    color: #20C8F4 !important;
}

/* ===== Accent text spans ===== */
/* wrap the accent line in a span */
.shp-accent,
.shp-hero-title .accent,
.shp-section-title .accent {
  color: var(--shp-blue);
}


/* Cyan text on white/light sections. Apply this class to future text modules.
   #0086A8 passes WCAG AA for large text, but not normal-sized text on white. */
.shp-cyan-on-white,
.shp-cyan-on-white .shp-accent {
    color: var(--shp-blue-on-white) !important;
}

/* ===== Buttons ===== */

.shp-btn.et_pb_button {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  border-radius: 0;
  padding: 18px 28px !important;
  transition: all 0.25s ease;
  box-shadow: none;
}

.shp-btn-primary.et_pb_button {
  background: var(--shp-blue);
  color: #062B52 !important;
  border: 2px solid var(--shp-blue);
}

.shp-btn-primary.et_pb_button:hover {
  background: var(--shp-blue-hover);
  border-color: var(--shp-blue-hover);
  color: #062B52 !important;
  transform: translateY(-1px);
}

.shp-btn-secondary.et_pb_button {
  background: transparent;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.75);
}

.shp-btn-secondary.et_pb_button:hover {
  background: rgba(255,255,255,0.08);
  border-color: #fff;
  color: #fff !important;
  transform: translateY(-1px);
}

/* light backgrounds secondary button */
.shp-btn-secondary.shp-dark-text.et_pb_button {
  color: var(--shp-navy) !important;
  border-color: var(--shp-navy);
}

.shp-btn-secondary.shp-dark-text.et_pb_button:hover {
  background: rgba(6,43,82,0.05);
  color: var(--shp-navy) !important;
}

/* ========================================
   HERO - single source of truth
   Divi row/column widths are set in the Builder.
   Recommended desktop: 45% content / 55% visual.
======================================== */
.shp-hero {
    position: relative;
    padding: 0 !important;
    overflow: hidden;
    background: var(--shp-navy-deep);
}
.shp-hero .shp-hero-row {
    display: flex;
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0;
}
.shp-hero-row > .et_pb_column,
.shp-hero-row > [class*="et_pb_column"] {
    min-width: 0;
    margin: 0 !important;
}
.shp-hero .shp-hero-content {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--shp-navy-deep);
}
.shp-hero .shp-hero-visual {
    position: relative;
    min-height: 570px;
    overflow: hidden;
    padding: 0 !important;
    background: var(--shp-navy);
}
.shp-hero .shp-hero-photo {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}
.shp-hero .shp-hero-photo .et_pb_image_wrap,
.shp-hero .shp-hero-photo img {
    display: block;
    width: 100%;
    height: 100%;
}
.shp-hero .shp-hero-photo img {
    object-fit: cover;
    object-position: center;
}
/* Actual Shapes.svg, recolored white and pinned right/top/bottom */
.shp-hero .shp-hero-cutout {
    position: absolute !important;
    inset: 0 0 0 auto !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 3;
    pointer-events: none;
}
.shp-hero .shp-hero-cutout .et_pb_image_wrap,
.shp-hero .shp-hero-cutout img {
    display: block !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
}
.shp-hero .shp-hero-cutout img {
	display: block !important;
    object-fit: contain;
    object-position: right center;
    filter: brightness(0) invert(1);
}
.shp-hero .shp-hero-title h1 {
    color: #fff !important;
    font-size: clamp(40px, 3.4vw, 62px);
    line-height: 1.04;
    letter-spacing: -0.035em;
    font-weight: 800;
    margin: 0;
}
.shp-hero .shp-hero-title .shp-accent,
.shp-hero .shp-hero-title .accent {
    color: var(--shp-blue) !important;
}
.shp-hero .shp-hero-copy,
.shp-hero .shp-hero-copy p {
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}
.shp-hero .shp-hero-copy { max-width: 460px; }
/* Divi may place the custom class on the wrapper or button itself */
.shp-hero .shp-btn-primary .et_pb_button,
.shp-hero .shp-btn-primary.et_pb_button,
.shp-hero .shp-btn-primary a {
    background: var(--shp-blue) !important;
    border: 2px solid var(--shp-blue) !important;
    color: var(--shp-navy-deep) !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
}
.shp-hero .shp-btn-secondary .et_pb_button,
.shp-hero .shp-btn-secondary.et_pb_button,
.shp-hero .shp-btn-secondary a {
    background: transparent !important;
    border: 2px solid var(--shp-blue) !important;
    color: #fff !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
}
.shp-hero .shp-btn-primary .et_pb_button:hover,
.shp-hero .shp-btn-primary a:hover { background: var(--shp-blue-hover) !important; }
.shp-hero .shp-btn-secondary .et_pb_button:hover,
.shp-hero .shp-btn-secondary a:hover { background: rgba(32,200,244,.12) !important; }
/* Avoid Divi module wrapper stretching individual buttons */
.shp-hero .et_pb_button_module_wrapper {
    max-width: 100%;
    width: fit-content;
}

/* ===== Generic split sections ===== */

.shp-split-section {
  background: #fff;
  padding: 0;
}

.shp-split-section .et_pb_row {
  display: flex;
  align-items: stretch;
  width: min(100%, var(--shp-max));
  max-width: var(--shp-max);
}

.shp-split-section .et_pb_column {
  margin-bottom: 0;
}

.shp-split-section .et_pb_column:first-child {
  overflow: hidden;
}

.shp-split-section .et_pb_column:last-child {
  padding: 72px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.shp-image-large,
.shp-image-large .et_pb_image_wrap,
.shp-image-large img {
  width: 100%;
  height: 100%;
  display: block;
}

.shp-image-large img {
  object-fit: cover;
  min-height: 420px;
}

/* ===== Angled top sections ===== */

.shp-angle-top {
  position: relative;
  margin-top: -1px;
}

.shp-angle-top::before {
  content: "";
  position: absolute;
  top: -42px;
  left: 0;
  right: 0;
  height: 42px;
  background: linear-gradient(
    to right bottom,
    transparent 49%,
    #ffffff 50%
  );
  z-index: 5;
}

.shp-angle-top-light {
  position: relative;
}

.shp-angle-top-light::before {
  content: "";
  position: absolute;
  top: -42px;
  left: 0;
  right: 0;
  height: 42px;
  background: linear-gradient(
    to right bottom,
    transparent 49%,
    #ffffff 50%
  );
  z-index: 5;
}

/* ===== Dark benefits section ===== */

.shp-dark-section {
  background: linear-gradient(135deg, var(--shp-navy-deep) 0%, var(--shp-navy) 100%);
  color: #fff;
  padding: 72px 0;
  overflow: hidden;
}


/* =====================================
   STRONGHOUSE PROS
   NAVY ANGLED SECTION ENTRANCE
===================================== */

.shp-dark-section.shp-angle-navy {
    position: relative;
    z-index: 2;

    /* Overlap the white Opportunity section */
    margin-top: -40px !important;

    /* Keep the content away from the angled edge */
    padding-top: 110px !important;

    /* Angle the entire navy section */
    clip-path: polygon(
        0 40px,
        100% 0,
        100% 100%,
        0 100%
    );
}

/* Mobile: use a gentler angle */
@media (max-width: 767px) {
    .shp-dark-section.shp-angle-navy {
        margin-top: -20px !important;
        padding-top: 70px !important;

        clip-path: polygon(
            0 20px,
            100% 0,
            100% 100%,
            0 100%
        );
    }
}



/* Stronghouse Pros - Custom Footer Links */

/* Stronghouse Pros footer links */

.main-footer a,
.main-footer a:link,
.main-footer a:visited {
    color: #FFFFFF !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.main-footer a:hover,
.main-footer a:focus-visible {
    color: #C4CFD9 !important;
    text-decoration: underline;
}

.main-footer a:focus-visible {
    outline: 2px solid #FFFFFF;
    outline-offset: 3px;
}

.shp-benefits-intro-row {
  margin-bottom: 34px;
}

.shp-benefits-intro-row .et_pb_column:first-child {
  padding-right: 28px;
}

.shp-benefits-intro-row .et_pb_column:last-child {
  padding-left: 28px;
}

.shp-benefits-row .et_pb_column {
  padding: 20px 18px 0;
  position: relative;
}

.shp-benefits-row .et_pb_column:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  width: 1px;
  height: calc(100% - 18px);
  background: rgba(255,255,255,0.18);
}

.shp-benefit-card {
  color: #fff;
  text-align: center;
}

.shp-benefit-card .et_pb_main_blurb_image {
  margin-bottom: 18px;
}

.shp-benefit-card .et_pb_blurb_content {
  max-width: 100%;
}

.shp-benefit-card h4 {
  color: #fff;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.15;
  margin-bottom: 10px;
}

.shp-benefit-card .et_pb_blurb_description {
  color: rgba(255,255,255,0.88);
  font-size: 16px;
  line-height: 1.55;
}

.shp-benefit-card .et-pb-icon {
  color: var(--shp-blue);
  font-size: 40px;
}

/* ===== CTA split ===== */

.shp-cta-split-row .et_pb_column:last-child {
  padding: 72px 48px;
}

.shp-cta-split-row .et_pb_button_module_wrapper {
  display: inline-block;
  margin-right: 12px;
  margin-bottom: 12px;
}

/* ===== Bottom band ===== */

.shp-bottom-band {
  background: linear-gradient(135deg, var(--shp-navy-deep) 0%, var(--shp-navy) 100%);
  overflow: hidden;
}

.shp-bottom-band .et_pb_row {
  display: flex;
  align-items: stretch;
  width: min(100%, var(--shp-max));
  max-width: var(--shp-max);
}

.shp-bottom-band .et_pb_column {
  margin-bottom: 0;
}

.shp-bottom-band .et_pb_column:first-child {
  padding: 64px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.shp-bottom-band-image {
  min-height: 320px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.shp-bottom-band-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,43,82,0.15), rgba(6,43,82,0.0));
}

/* ===== Utility ===== */

.shp-stack-tight .et_pb_module {
  margin-bottom: 16px;
}

.shp-stack-medium .et_pb_module {
  margin-bottom: 24px;
}

.shp-stack-loose .et_pb_module {
  margin-bottom: 32px;
}


/* ===== Responsive ===== */
@media (max-width: 980px) {
    .shp-split-section .et_pb_row,
    .shp-bottom-band .et_pb_row { display: block; }
    .shp-split-section .et_pb_column:last-child,
    .shp-cta-split-row .et_pb_column:last-child,
    .shp-bottom-band .et_pb_column:first-child { padding: 40px 24px; }
    .shp-image-large img { min-height: 320px; }
    .shp-benefits-row .et_pb_column { padding: 20px 0; }
    .shp-benefits-row .et_pb_column:not(:last-child)::after { display: none; }
}
@media (max-width: 767px) {
    .shp-hero .shp-hero-title h1 { font-size: clamp(38px, 9vw, 50px); }
    .shp-hero .shp-hero-copy p { font-size: 16px; }
    .shp-section-title h2 { font-size: 34px; }
    .shp-cta-split-row .et_pb_button_module_wrapper {
        display: block;
        margin-right: 0;
    }
}







/* ====================================
   HERO LAYOUT FIX - DIVI 5
   Keeps Divi's 50/50 column preset
==================================== */

/* Divi controls hero column widths on desktop. */

/* Restore comfortable content padding */
.shp-hero .shp-hero-content {
    padding: 65px clamp(30px, 4vw, 70px) !important;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
}

/* Give the hero breathing room */
.shp-hero .shp-hero-visual {
    min-height: 600px;
}

/* Ensure image fills the right column */
.shp-hero .shp-hero-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Keep SVG attached to far-right edge */
.shp-hero .shp-hero-cutout {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    width: auto !important;
    max-width: none !important;
}

/* Fix secondary button styling */
.shp-hero .shp-btn-secondary,
.shp-hero .shp-btn-secondary a,
.shp-hero .shp-btn-secondary .et_pb_button {
    background: transparent !important;
    color: white !important;
    border-color: #20C8F4 !important;
}


/* The hero columns now have their correct classes. Keep the left column
   in normal flow: the previous max-content grid made the heading overflow. */
@media (min-width: 981px) {
    .shp-hero .shp-hero-content {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
    }
    .shp-hero .shp-hero-title,
    .shp-hero .shp-hero-heading {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-wrap: normal;
    }
}

/* =====================================
   STRONGHOUSE PROS
   SECTION 2 - YOUR OPPORTUNITY
===================================== */

.shp-opportunity {
    background: #ffffff;
    overflow: hidden;
}

/* Full-height photography */

.shp-opportunity .shp-opportunity-image {
    height: 100%;
    margin-bottom: 0 !important;
}

.shp-opportunity-image .et_pb_image_wrap,
.shp-opportunity-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.shp-opportunity-image img {
    object-fit: cover;
    object-position: center;
}

/* Small upper heading */

.shp-opportunity-eyebrow {
    color: #062B52;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* Main headline */

.shp-opportunity h2.shp-opportunity-heading {
    color: #062B52 !important;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.035em;
    padding: 0;
    margin: 0;
}

.shp-opportunity-heading .shp-accent {
    color: #0086A8 !important;
}

/* Paragraph styling */

.shp-opportunity-copy,
.shp-opportunity-copy p {
    color: #062B52;
    font-size: 16px;
    line-height: 1.6;
}

/* Responsive */

@media (max-width: 980px) {
    .shp-opportunity-image,
    .shp-opportunity-image .et_pb_image_wrap {
        height: auto;
    }

    .shp-opportunity-image img {
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }
}

@media (max-width: 767px) {
    .shp-opportunity h2.shp-opportunity-heading {
        font-size: 34px;
    }
}

/* =====================================
   STRONGHOUSE PROS - GLOBAL BUTTONS
   Works throughout the site in Divi 5
===================================== */

/* PRIMARY BUTTON */
.shp-btn-primary.et_pb_button_module_wrapper a,
.shp-btn-primary .et_pb_button,
a.shp-btn-primary {
    background: #20C8F4 !important;
    color: #031D39 !important;
    border: 2px solid #20C8F4 !important;
    border-radius: 3px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
    box-shadow: none !important;
    transition: all 0.2s ease;
}

/* PRIMARY HOVER */
.shp-btn-primary.et_pb_button_module_wrapper a:hover,
.shp-btn-primary .et_pb_button:hover,
a.shp-btn-primary:hover {
    background: #13B5DF !important;
    border-color: #13B5DF !important;
    color: #031D39 !important;
}

/* SECONDARY BUTTON */
.shp-btn-secondary.et_pb_button_module_wrapper a,
.shp-btn-secondary .et_pb_button,
a.shp-btn-secondary {
    background: transparent !important;
    color: #062B52 !important;
    border: 2px solid #20C8F4 !important;
    border-radius: 3px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
    box-shadow: none !important;
    transition: all 0.2s ease;
}

/* SECONDARY HOVER */
.shp-btn-secondary.et_pb_button_module_wrapper a:hover,
.shp-btn-secondary .et_pb_button:hover,
a.shp-btn-secondary:hover {
    background: rgba(32, 200, 244, 0.1) !important;
    color: #062B52 !important;
}

/* SECONDARY BUTTON ON DARK BACKGROUNDS */
.shp-hero .shp-btn-secondary.et_pb_button_module_wrapper a,
.shp-hero .shp-btn-secondary .et_pb_button {
    color: #ffffff !important;
}

/* Consistent primary buttons across Stronghouse Pros */
.shp-btn-primary.et_pb_button_module_wrapper a,
.shp-btn-primary .et_pb_button,
a.shp-btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 12px 22px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Stronghouse Pros - Consistent Primary Button Hover */

.shp-btn-primary.et_pb_button_module_wrapper a:hover,
.shp-btn-primary .et_pb_button:hover,
a.shp-btn-primary:hover,
.shp-hero .shp-btn-primary.et_pb_button_module_wrapper a:hover,
.shp-hero .shp-btn-primary .et_pb_button:hover {
    background-color: #13B5DF !important;
    border-color: #13B5DF !important;
    color: #031D39 !important;
    transform: translateY(-2px);
}

/* Smooth transition for all primary buttons */

.shp-btn-primary.et_pb_button_module_wrapper a,
.shp-btn-primary .et_pb_button,
a.shp-btn-primary {
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease !important;
}

/* Section 4: stable secondary button */

/* Match primary button dimensions */
.shp-next-step .shp-btn-secondary a,
.shp-next-step .shp-btn-secondary .et_pb_button,
.shp-next-step a.shp-btn-secondary {
	color: #062B52 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 22px !important;
    min-height: 42px;
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
transform: translateY(0) !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;

}

/* Prevent Divi's default arrow from changing spacing */
.shp-next-step .shp-btn-secondary .et_pb_button::after,
.shp-next-step .shp-btn-secondary a::after,
.shp-next-step a.shp-btn-secondary::after {
    display: none !important;
    content: none !important;
}

/* Hover: change colors only */
.shp-next-step .shp-btn-secondary a:hover,
.shp-next-step .shp-btn-secondary .et_pb_button:hover,
.shp-next-step a.shp-btn-secondary:hover {
    padding: 12px 22px !important;
    transform: none !important;
    background-color: rgba(32, 200, 244, 0.12) !important;
    color: #062B52 !important;
    border-color: #20C8F4 !important;
	transform: translateY(-2px) !important;
	
}
}

/* Section 3: Benefits heading */

.shp-benefits-eyebrow {
    color: #20C8F4 !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.shp-dark-section h2.shp-benefits-heading {
    color: #ffffff !important;
    font-size: clamp(32px, 3.2vw, 48px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.035em;
    padding: 0;
}

.shp-benefits-intro,
.shp-benefits-intro p {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 1.6;
}


/* =====================================
   STRONGHOUSE PROS - BENEFIT BLURBS
===================================== */

/* Blurb headings */
.shp-dark-section .shp-benefit-card .et_pb_module_header,
.shp-dark-section .shp-benefit-card h4,
.shp-dark-section .shp-benefit-card h3 {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

/* Blurb descriptions */
.shp-dark-section .shp-benefit-card .et_pb_blurb_description,
.shp-dark-section .shp-benefit-card .et_pb_blurb_description p {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 1.55;
}

/* Blurb icons */
.shp-dark-section .shp-benefit-card .et-pb-icon,
.shp-dark-section .shp-benefit-card .et_pb_main_blurb_image {
    color: #20C8F4 !important;
}

/* SVG icons when Divi uses SVG */
.shp-dark-section .shp-benefit-card svg {
    fill: #20C8F4;
    stroke: #20C8F4;
}

/* Benefits section: top row vertical divider */

@media (min-width: 981px) {
    .shp-benefits-intro-divider {
        border-left: 1px solid #20C8F4;
        padding-left: 30px !important;
    }
}

/* Remove divider on tablet/mobile */
@media (max-width: 980px) {
    .shp-benefits-intro-divider {
        border-left: none;
        padding-left: 0;
    }
}


/* ====================================
   STRONGHOUSE PROS - NEXT STEP
==================================== */

.shp-next-step {
    background: #ffffff;
    overflow: hidden;
}

/* Full-height image */
.shp-next-step-image {
    height: 100%;
    margin-bottom: 0 !important;
}

.shp-next-step-image .et_pb_image_wrap,
.shp-next-step-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.shp-next-step-image img {
    object-fit: cover;
    object-position: center;
}

/* Eyebrow */
.shp-next-step-eyebrow {
    color: #062B52;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* Heading */
.shp-next-step h2.shp-next-step-heading {
    color: #062B52 !important;
    font-size: clamp(32px, 3vw, 48px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.035em;
    padding: 0;
}

.shp-next-step-heading .shp-accent {
    color: #0086A8 !important;
}

/* Copy */
.shp-next-step-copy,
.shp-next-step-copy p {
    color: #062B52;
    font-size: 16px;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 980px) {
    .shp-next-step-image,
    .shp-next-step-image .et_pb_image_wrap {
        height: auto;
    }

    .shp-next-step-image img {
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }
}

@media (max-width: 767px) {
    .shp-next-step h2.shp-next-step-heading {
        font-size: 34px;
    }
}

/* =====================================
   STRONGHOUSE PROS
   WHITE ANGLED SECTION TRANSITION
===================================== */

.shp-angle-white {
    position: relative;
    overflow: visible !important;
}

/* White angle extending over navy section */
/* Clean angled transition without a horizontal white seam */


/* =====================================
   STRONGHOUSE PROS
   ANGLED SECTION TRANSITION
===================================== */


/* =====================================
   STRONGHOUSE PROS
   TRUE ANGLED SECTION TRANSITION
===================================== */

.shp-next-step.shp-angle-white {
    position: relative !important;
    z-index: 2;

    /* Pull the section up over the navy */
    margin-top: -40px !important;

    /* No extra space above the photo */
    padding-top: 0 !important;

    /* Clip the entire section diagonally */
    clip-path: polygon(
        0 40px,
        100% 0,
        100% 100%,
        0 100%
    );

    overflow: hidden !important;
}

/* Remove previous decorative overlays */
.shp-next-step.shp-angle-white::before {
    content: none !important;
    display: none !important;
}



/* =====================================
   STRONGHOUSE PROS - CLOSING CTA
===================================== */

.shp-closing-cta {
    background: #031D39;
    overflow: hidden;
}

/* Eyebrow */

.shp-closing-eyebrow {
    color: #20C8F4 !important;
    font-size: 12px;
    letter-spacing: .12em;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 14px;
}

/* Heading */

.shp-closing-cta h2.shp-closing-heading {
    color: #ffffff !important;
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.035em;
    padding: 0;
}

.shp-closing-heading .shp-accent {
    color: #20C8F4 !important;
}

/* Body copy */

.shp-closing-copy,
.shp-closing-copy p {
    color: #ffffff !important;
    font-size: 16px;
    line-height: 1.6;
    max-width: 470px;
}

/* Photograph */

.shp-closing-image {
    height: 100%;
    margin-bottom: 0 !important;
}

.shp-closing-image .et_pb_image_wrap,
.shp-closing-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.shp-closing-image img {
    object-fit: cover;
    object-position: center;
}

/* Responsive */

@media (max-width: 980px) {
    .shp-closing-image,
    .shp-closing-image .et_pb_image_wrap {
        height: auto;
    }

    .shp-closing-image img {
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }
}

@media (max-width: 767px) {
    .shp-closing-cta h2.shp-closing-heading {
        font-size: 34px;
    }
}



/* ========================================
   STRONGHOUSE PROS - CLOSING CTA IMAGE
   Single source of truth
======================================== */

.shp-closing-cta .shp-closing-visual {
    position: relative;
    min-height: 340px;
    padding: 0 !important;
    overflow: hidden;
}

/* Image module fills its column */
.shp-closing-cta .shp-closing-image {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Divi image wrapper and photo */
.shp-closing-cta .shp-closing-image .et_pb_image_wrap,
.shp-closing-cta .shp-closing-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
}

/* Automatic crop */
.shp-closing-cta .shp-closing-image img {
    object-fit: cover !important;
    object-position: center 55% !important;
}

/* Mobile: return image to normal document flow */
@media (max-width: 980px) {
    .shp-closing-cta .shp-closing-visual {
        min-height: 0;
    }

    .shp-closing-cta .shp-closing-image {
        position: relative !important;
        height: 300px !important;
    }
}

@media (max-width: 767px) {
    .shp-closing-cta .shp-closing-image {
        height: 240px !important;
    }
}

/* ===================================================
   STRONGHOUSE PROS HERO - RESPONSIVE
   Above 1200px: desktop two columns with SVG
   981-1200px: desktop two columns, SVG hidden
   980px and below: stacked text/photo, SVG hidden
   This replaces earlier competing hero breakpoint rules.
=================================================== */
@media (max-width: 1200px) {
    .shp-hero .shp-hero-cutout { display: none !important; }
}

@media (max-width: 980px) {
    .shp-hero .shp-hero-row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 0 !important;
    }
    .shp-hero .shp-hero-content,
    .shp-hero .shp-hero-visual {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    .shp-hero .shp-hero-content {
        display: flex !important;
        flex-direction: column !important;
        padding: 42px 32px !important;
    }
    .shp-hero .shp-hero-visual {
        display: block !important;
        position: relative !important;
        height: 380px !important;
        min-height: 380px !important;
        overflow: hidden !important;
        padding: 0 !important;
    }
    .shp-hero .shp-hero-photo {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }
    .shp-hero .shp-hero-photo .et_pb_image_wrap,
    .shp-hero .shp-hero-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }
    .shp-hero .shp-hero-photo img {
        object-fit: cover !important;
        opacity: 1 !important;
        animation: none !important;
    }
}

@media (max-width: 767px) {
    .shp-hero .shp-hero-content { padding: 36px 24px !important; }
    .shp-hero .shp-hero-visual {
        height: 280px !important;
        min-height: 280px !important;
    }
}

/* Tablet hero: verified approach to restore the photo to document flow.
   Both hero column classes must be applied in Divi 5. */
@media (min-width: 768px) and (max-width: 980px) {
    .shp-hero .shp-hero-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
    }
    .shp-hero .shp-hero-content,
    .shp-hero .shp-hero-visual {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    .shp-hero .shp-hero-content {
        padding: 48px 40px !important;
    }
    .shp-hero .shp-hero-visual {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    .shp-hero .shp-hero-photo {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
    }
    .shp-hero .shp-hero-photo .et_pb_image_wrap,
    .shp-hero .shp-hero-photo img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        animation: none !important;
    }
}

/* Hide hero photograph and SVG at 960px and below */
@media screen and (max-width: 980px) {
    .shp-hero .shp-hero-row .et_pb_column.shp-hero-visual {
        display: none !important;
    }
}

/* ============================================================================
   STRONGHOUSE PROS | BUTTON + BENEFIT ICON PALETTE | 2026-10-16
   Place after legacy button rules. Styles only Stronghouse Pros button classes.
   Matches both Divi 5 module wrappers and anchors directly carrying classes.
   ============================================================================ */

/* Accessible section palette */
:root {
    --shp-btn-light-bg: #052548;
    --shp-btn-light-hover: #4D5A68;
    --shp-btn-dark-text: #031D39;
    --shp-benefit-icon-gray: #C4CFD9;
}

/* On white/light sections: slate-gray primary, white lettering. */
:is(.shp-btn-primary.et_pb_button, .shp-btn-primary.et_pb_button_module_wrapper a,
    .shp-btn-primary .et_pb_button, a.et_pb_button.shp-btn-primary) {
    background: var(--shp-btn-light-bg) !important;
    background-color: var(--shp-btn-light-bg) !important;
    border-color: var(--shp-btn-light-bg) !important;
    color: #FFFFFF !important;
}
:is(.shp-btn-primary.et_pb_button, .shp-btn-primary.et_pb_button_module_wrapper a,
    .shp-btn-primary .et_pb_button, a.et_pb_button.shp-btn-primary):hover {
    background: var(--shp-btn-light-hover) !important;
    background-color: var(--shp-btn-light-hover) !important;
    border-color: var(--shp-btn-light-hover) !important;
    color: #FFFFFF !important;
}

/* Outlined secondary button on white/light sections. */
:is(.shp-btn-secondary.et_pb_button, .shp-btn-secondary.et_pb_button_module_wrapper a,
    .shp-btn-secondary .et_pb_button, a.et_pb_button.shp-btn-secondary) {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #626F7C !important;
    color: #455463 !important;
}
:is(.shp-btn-secondary.et_pb_button, .shp-btn-secondary.et_pb_button_module_wrapper a,
    .shp-btn-secondary .et_pb_button, a.et_pb_button.shp-btn-secondary):hover {
    background: #E9EDF0 !important;
    background-color: #E9EDF0 !important;
    border-color: #4D5A68 !important;
    color: #344452 !important;
}

/* Navy hero, benefits and closing section: white primary buttons. */
:is(.shp-hero, .shp-dark-section, .shp-closing-cta)
  :is(.shp-btn-primary.et_pb_button, .shp-btn-primary.et_pb_button_module_wrapper a,
      .shp-btn-primary .et_pb_button, a.et_pb_button.shp-btn-primary) {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: var(--shp-btn-dark-text) !important;
}
:is(.shp-hero, .shp-dark-section, .shp-closing-cta)
  :is(.shp-btn-primary.et_pb_button, .shp-btn-primary.et_pb_button_module_wrapper a,
      .shp-btn-primary .et_pb_button, a.et_pb_button.shp-btn-primary):hover {
    background: #E9EDF0 !important;
    background-color: #E9EDF0 !important;
    border-color: #E9EDF0 !important;
    color: var(--shp-btn-dark-text) !important;
}

/* Navy backgrounds: transparent secondary buttons outlined in white. */
:is(.shp-hero, .shp-dark-section, .shp-closing-cta)
  :is(.shp-btn-secondary.et_pb_button, .shp-btn-secondary.et_pb_button_module_wrapper a,
      .shp-btn-secondary .et_pb_button, a.et_pb_button.shp-btn-secondary) {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
}
:is(.shp-hero, .shp-dark-section, .shp-closing-cta)
  :is(.shp-btn-secondary.et_pb_button, .shp-btn-secondary.et_pb_button_module_wrapper a,
      .shp-btn-secondary .et_pb_button, a.et_pb_button.shp-btn-secondary):hover {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: var(--shp-btn-dark-text) !important;
}

/* Keep Divi's autogenerated button arrows from adding cyan highlights. */
:is(.shp-hero, .shp-opportunity, .shp-next-step, .shp-closing-cta)
  :is(.shp-btn-primary, .shp-btn-secondary) .et_pb_button::after,
:is(.shp-hero, .shp-opportunity, .shp-next-step, .shp-closing-cta)
  a.et_pb_button:is(.shp-btn-primary, .shp-btn-secondary)::after {
    color: inherit !important;
}

/* Four benefits icons: cool silver-gray against navy. */
.shp-dark-section .shp-benefit-card .et-pb-icon,
.shp-dark-section .shp-benefit-card .et_pb_main_blurb_image,
.shp-dark-section .shp-benefit-card .et_pb_icon_wrap {
    color: var(--shp-benefit-icon-gray) !important;
}
.shp-dark-section .shp-benefit-card svg,
.shp-dark-section .shp-benefit-card svg :is(path, circle, rect, polygon, line, polyline) {
    fill: var(--shp-benefit-icon-gray) !important;
    stroke: var(--shp-benefit-icon-gray) !important;
}
/* End Stronghouse Pros button and icon palette. */


/* =========================================
   STRONGHOUSE PROS: UPCOMING EVENTS
   ========================================= */

.shp-events-section {
    background: #f1f4f6;
}



/* Individual event cards */
.shp-events-grid .shp-event-card {
    background: #ffffff !important;
    border: 1px solid #dce3e9;
    border-radius: 0;
    box-shadow: none;

    display: flex;
    flex-direction: column;
    align-self: stretch;

    overflow: hidden;
}

/* Event images */
.shp-event-card .et_pb_image,
.shp-event-card .et_pb_image img {
    width: 100%;
}

.shp-event-card .et_pb_image img {
    display: block;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Text module spacing */
.shp-event-card .shp-event-title,
.shp-event-card .shp-event-meta,
.shp-event-card .shp-event-description {
    padding-left: 20px;
    padding-right: 20px;
}

/* Event name */
.shp-event-card .shp-event-title h3 {
    color: #002a5c;
    font-weight: 700;
    line-height: 1.25;
}

/* Date, time and location */
.shp-event-card .shp-event-meta {
    color: #526275;
    font-size: 14px;
    line-height: 1.5;
}

/* Description */
.shp-event-card .shp-event-description {
    color: #263b50;
    line-height: 1.6;
}

/* Keep buttons at the bottom */
.shp-event-card .shp-btn-primary {
    margin-top: auto !important;
    padding: 20px;
}

/* Preserve existing primary button styling */
.shp-event-card .shp-btn-primary .et_pb_button {
    white-space: normal;
    text-align: center;
}

/* Tablet and mobile refinements */
@media (max-width: 980px) {
    .shp-event-card .shp-event-title,
    .shp-event-card .shp-event-meta,
    .shp-event-card .shp-event-description {
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 767px) {
    .shp-event-card .shp-btn-primary {
        padding: 18px;
    }
}



/* ========================================
   STRONGHOUSE PROS: KICK START CAMP
   ======================================== */

.shp-kickstart-section {
    background: #031d39;
    overflow: hidden;
}

.shp-kickstart-row {
    position: relative;
}

/* Angled edge on the photograph */
.shp-kickstart-visual {
    position: relative;
    overflow: hidden;
    clip-path: polygon(
        12% 0,
        100% 0,
        100% 100%,
        0 100%
    );
}

/* Keep the image filling the column */
.shp-kickstart-visual .et_pb_image,
.shp-kickstart-visual .et_pb_image .et_pb_image_wrap,
.shp-kickstart-visual .et_pb_image img {
    width: 100%;
    height: 100%;
}

.shp-kickstart-visual .et_pb_image img {
    display: block;
    object-fit: cover;
}

/* White text on navy */
.shp-kickstart-content h2,
.shp-kickstart-content h3,
.shp-kickstart-content p {
    color: #fff;
}

/* No angle when stacked */
@media (max-width: 767px) {
    .shp-kickstart-visual {
        clip-path: none;
    }
}


/* ========================================
   KICK START CAMP EVENT CARD
   ======================================== */

.shp-kickstart-card {
    background: #ffffff;
    border: 1px solid #dce3e9;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    max-width: 390px;
}

/* Full-width card image */
.shp-kickstart-card .et_pb_main_blurb_image {
    display: block;
    margin: 0 !important;
    width: 100%;
}

.shp-kickstart-card .et_pb_image_wrap,
.shp-kickstart-card .et_pb_image_wrap img {
    display: block;
    width: 100%;
}

.shp-kickstart-card .et_pb_image_wrap img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Content spacing */
.shp-kickstart-card .et_pb_blurb_container {
    padding: 20px;
}

/* Event title */
.shp-kickstart-card .et_pb_module_header {
    color: #002a5c !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    padding-bottom: 12px;
}

/* Body copy */
.shp-kickstart-card .et_pb_blurb_description {
    color: #263b50;
    font-size: 15px;
    line-height: 1.6;
}

/* Links inside the blurb */
.shp-kickstart-card .et_pb_blurb_description a {
    display: inline-block;
    margin-top: 18px;
    padding: 12px 18px;
    background: #002a5c;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease;
}

.shp-kickstart-card .et_pb_blurb_description a:hover,
.shp-kickstart-card .et_pb_blurb_description a:focus-visible {
    background: #031d39;
    text-decoration: underline;
}

/* Restore dark text inside the white event card */
.shp-kickstart-content .shp-kickstart-card h2,
.shp-kickstart-content .shp-kickstart-card h3,
.shp-kickstart-content .shp-kickstart-card h4,
.shp-kickstart-content .shp-kickstart-card p,
.shp-kickstart-content .shp-kickstart-card li {
    color: #002a5c !important;
}


