/*
 Theme Name:   The Dwyer Company
 Theme URI:    https://www.thedwyercompany.com
 Description:  Child theme of GeneratePress created by Holland Adhaus.
 Author:       Holland Adhaus
 Author URI:   https://hollandadhaus.com
 Template:     generatepress
 Version:      1.3
*/

/**
 * HA
 */

/* Hide featured images used for preload */
.page .featured-image.page-header-image {
    display: none !important;
    visibility: hidden !important;
}
/* Navigation transitions */
.main-navigation a, 
.main-navigation .menu-toggle, 
.main-navigation .menu-bar-items, 
.main-navigation a:hover, 
.main-navigation .menu-toggle:hover, 
.main-navigation .menu-bar-items:hover, 
.main-navigation a:active, 
.main-navigation .menu-toggle:active, 
.main-navigation .menu-bar-items:active, 
.main-navigation a:focus, 
.main-navigation .menu-toggle:focus, 
.main-navigation .menu-bar-items:focus {
    transition: color .2s ease !important;
}
/* Elementor icon list and nav menu transitions */
.elementor-nav-menu a, 
.elementor-nav-menu a:hover, 
.elementor-nav-menu a:active, 
.elementor-nav-menu a:focus, 
.elementor-icon-list-item a span, 
.elementor-icon-list-item a:hover span, 
.elementor-icon-list-item a:focus span, 
.elementor-icon-list-item a:active span, 
.elementor-social-icon *,
.elementor-social-icon:hover *,
.elementor-social-icon:focus *,
.elementor-social-icon:active * {
    transition: all .2s ease !important;
} 
/* Elementor lazy load carousel/swiper compat */
.swiper-slide-image.swiper-lazy.lazy-hidden, 
.entry img.swiper-slide-image.swiper-lazy.lazy-hidden, 
img.thumbnail.swiper-slide-image.swiper-lazy.lazy-hidden {
    opacity: 1 !important;
}
/* Vertical table for hours */
.hours-table table {
    margin-bottom: 0;
}
.hours-table table thead, 
.hours-table table tbody {
    display: inline-block;
}
.hours-table table, 
.hours-table td, 
.hours-table th {
    border: none;
    text-align: left !important;
}
.hours-table td, 
.hours-table th {
    padding: 0.25rem 1rem 0 0;
}
.hours-table {
    white-space: nowrap;
}
@media (max-width: 1366px) {
    .hours-table .elementor-widget-container {
        margin-left: 0 !important;
    }
}

/**
* Custom
*/

/** 
* Nav icons 
*/
/* .inside-header a .gp-icon svg {
    width: 1.1rem;
    height: 1.1rem;
    top: 0.25rem;
    overflow: visible;
}
.inside-header nav li a .gp-icon {
    margin-right: 0.25rem;
} */

/**
* Gravity Forms
*/

/* Form reCAPTCHA consent message */
.form-consent-message {
    font-size: 0.8rem;
    color: #9e9e9e;
}
.form-consent-message a {
    color: inherit;
}
/* Hide required initial instructions */
.gform_required_legend {
    display: none !important;
}
/* Rounded input corners */
.gform_wrapper.gravity-theme input[type="color"], 
.gform_wrapper.gravity-theme input[type="date"], 
.gform_wrapper.gravity-theme input[type="datetime-local"], 
.gform_wrapper.gravity-theme input[type="datetime"], 
.gform_wrapper.gravity-theme input[type="email"], 
.gform_wrapper.gravity-theme input[type="month"], 
.gform_wrapper.gravity-theme input[type="number"], 
.gform_wrapper.gravity-theme input[type="password"], 
.gform_wrapper.gravity-theme input[type="search"], 
.gform_wrapper.gravity-theme input[type="tel"], 
.gform_wrapper.gravity-theme input[type="text"], 
.gform_wrapper.gravity-theme input[type="time"], 
.gform_wrapper.gravity-theme input[type="url"], 
.gform_wrapper.gravity-theme input[type="week"], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea, 
.gform_wrapper.gravity-theme .ginput_complex input, 
.gform_wrapper.gravity-theme .ginput_complex select, 
.gform_wrapper.gravity-theme .gform_footer button, 
.gform_wrapper.gravity-theme .gform_footer input, 
.gform_wrapper.gravity-theme .gform_page_footer button, 
.gform_wrapper.gravity-theme .gform_page_footer input {
    border-radius: 0;
}
/* Hide instructions on fields with class .hide-instruction */
.gform_wrapper .gfield.hide-instruction .instruction {
    display: none;
    visibility: none;
}
/* Submit buttons */
.gform_button, .gform_wrapper input[type="submit"] {
    font-weight: bold;
    font-family: 'Montserrat', sans-serif;
/*     font-size: 1.2rem; */
}
/* Fix state subfield in address field */
.ginput_address_state {
    margin-bottom: 8px;
}

.gform_fields {
    --gf-form-gap-y: 1.5rem;
}
.gform-button {
    color: var(--tdc-green);
    border-radius: 0 !important;
}
.gform-button:hover, 
.gform-button:active, 
.gform-button:focus {
    color: var(--tdc-green-light) !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--tdc-green-light) !important;
    color: #fff !important;
}
.gform_wrapper .gform-button--width-full {
    width: 100% !important;
}
/* .gform_wrapper .gform_button,  */
.gform_wrapper input[type="submit"] {
    padding: 0.75rem 1.5rem !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    border-radius: 0 !important;
    background: var(--tdc-green) !important;
    color: #fff !important;
    border: 3px solid var(--tdc-green) !important;
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
}
/* .gform_wrapper .gform_button:hover, 
.gform_wrapper .gform_button:active, 
.gform_wrapper .gform_button:focus, */ 
.gform_wrapper input[type="submit"]:hover, 
.gform_wrapper input[type="submit"]:active, 
.gform_wrapper input[type="submit"]:focus {
    background: transparent !important;
    color: var(--tdc-green) !important;
    border: 3px solid var(--tdc-green) !important;
}

.newsletter-section .elementor-widget-shortcode {
    width: 100% !important;
}
.newsletter-section form {
    display: flex;
    flex-direction: row;
}
.newsletter-section .gform-body {
    width: 100% !important;
}
.newsletter-section .gform_fields {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    align-items: center;
}
.newsletter-section .gfield--type-email {
    flex-grow: 1;
}
.newsletter-section input[type="email"] {
    height: 50px !important;
}
.newsletter-section #field_submit {
    align-items: center !important;
    flex-grow: 0;
    display: flex !important;
    flex-wrap: nowrap !important;
}
/* .newsletter-section .gf-turnstile-container {
    padding-top: 18px;
} */
.newsletter-section #field_submit .gform-button {
    min-width: 200px;
    height: 50px;
    flex-grow: 1;
    padding: 0.5rem !important;
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    padding: 0 !important;
}
@media (max-width: 768px) {
    .newsletter-section form {
        flex-direction: column;
    }
    .newsletter-section .gform_fields {
        flex-direction: column !important;
    }
    .newsletter-section .gfield--type-email {
        width: 100%;
    }
    .newsletter-section #field_submit {
        align-items: center;
        flex-grow: 1;
        display: flex !important;
    }
}
@media (max-width: 540px) {
    .newsletter-section form {
        display: block !important;
    }
    .newsletter-section .gform_fields {
        display: block !important;
    }
    .newsletter-section .gfield--type-email {
        display: block !important;
    }
    .newsletter-section #field_submit {
        display: block !important;
    }
    .newsletter-section #field_submit .gform-button {
        display: block !important;
    }
}


.htb-city {
    font-weight: normal;
    color: #fff;
}
.sp-city {
  font-weight: 500;
  color: var(--tdc-navy);
}
.tdc-green {
    color: var(--tdc-green);
}
.page-id-64 .htb-commercial-phone, 
.page-id-66 .htb-commercial-phone, 
.page-id-68 .htb-commercial-phone, 
.page-id-70 .htb-commercial-phone, 
.page-id-72 .htb-commercial-phone,
.page-id-74 .htb-commercial-phone {
  order: -1;
}

/* Make the two rows size to their own content instead of equal fr */
.grid-rows-auto {
    align-content: start;                 /* don't stretch rows to fill */
    grid-template-rows: auto auto !important;  /* replace the 1fr rows */
    /* If Elementor injects grid-auto-rows or a fixed height, we neutralize: */
    grid-auto-rows: auto;
}
.location-grid-content {
  height: 100%;
}

/* Ensure items don't re-stretch themselves */
.grid-rows-auto > .e-con {
    align-self: start;
}

@media (max-width: 1200px) {
    .hb-menu-horizontal-mono .elementor-widget-nav-menu {
        width: 100%;
    }
    .hb-menu-horizontal-mono ul.elementor-nav-menu {
        flex-direction: column;
        text-align: left;
    }
    .hb-menu-horizontal-mono ul.elementor-nav-menu li.menu-item a {
        display: block;
        text-align: left;
        margin-left: 0 !important;
        padding: 0.5rem 0 !important;
    }
    .menu-content {
        background: var(--dwyer-blue);
    }
}
@media (max-width: 768px) {
    .site-menu #menubar-142 {
        top: 95% !important;
    }
}

.il-h3-p h3 {
    font-size: inherit;
    line-height: inherit;
    text-transform: inherit;
    margin-bottom: 0.25rem;
}
.il-h4-p h4 {
    font-size: 1.5rem;
    line-height: 2rem;
    text-transform: inherit;
    margin-bottom: 0.25rem;
}
.il-h3-p p, 
.il-h4-p p {
    margin-bottom: 0;
} 
.il-inset-ul {
  margin-bottom: 0;
  margin-left: 1rem;
}
.service-li-content {
    height: inherit;
}
.service-li-cont .e-con-inner {
  display: flex;
  flex-wrap: nowrap !important;
}

.split-right-map .elementor-custom-embed, 
.split-right-map .elementor-custom-embed iframe {
  height: 100%;
}
.split-right-map .e-gmap {
  flex: 1 1 auto;
  min-height: 0;
}
/* .split-right-map .e-gmap iframe {
  height: calc(100cqh + 60px) !important;
} */
/**** Split section with bleeds ****/
:root {
  --site-content-max: 1140px;
  --outer-pad: 0;            /* default; overridden by .outer-pad at <=1200px */
}

/* Outer section: no side padding */
.split-bleed {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper defines a container for cqw units */
.split-bleed .split-inner {
  width: 100%;
  max-width: var(--site-content-max);
  margin: 0 auto;
  display: flex;
  gap: 0;
  align-items: stretch;
  container-type: inline-size; /* 1cqw = 1% of this wrapper's width */
}

/* Columns */
.split-left { flex: 0 0 auto; min-width: 0; }
.split-right { flex: 0 0 50cqw; max-width: 50cqw; min-width: 0; }

/* >=1201px: bleed LEFT by gutter; RIGHT stays boxed */
@media (min-width:1201px){
  .split-bleed {
    --inner: min(var(--site-content-max), 100vw);
    --gutter: calc((100vw - var(--inner)) / 2);
  }
  .split-left {
    width: calc(50cqw + var(--gutter));
    margin-left: calc(var(--gutter) * -1);
  }
}

/* <=1200px: stack; make both 100% width; only counter a parent pad if declared */
@media (max-width:1200px){
  /* If a parent set --outer-pad (e.g., via .outer-pad), let this section bleed over it */
  .split-bleed{
    margin-left: calc(-1 * var(--outer-pad));
    margin-right: calc(-1 * var(--outer-pad));
  }

  .split-bleed .split-inner{
    flex-direction: column;
    max-width: none;
    width: 100%;
    margin: 0;
  }

  /* Reset the 50cqw basis when stacked */
  .split-left, .split-right{
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    margin: 0;
  }
}
/**** END ****/

/* Outermost section (no side padding) */
.split-bleed-alt {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper establishes container for cqw units */
.split-bleed-alt .split-inner-alt {
  width: 100%;
  max-width: var(--site-content-max);
  margin: 0 auto;
  display: flex;
  gap: 0;
  align-items: stretch;
  container-type: inline-size; /* 1cqw = 1% of this wrapper's width */
}

/* Columns */
.split-left-alt  { flex: 0 0 50cqw; max-width: 50cqw; min-width: 0; } /* boxed LEFT (50% of inner) */
.split-right-alt { flex: 0 0 auto; min-width: 0; }                     /* bleed RIGHT on desktop */

/* >=1201px: bleed the RIGHT to the viewport edge; LEFT stays boxed */
@media (min-width:1201px){
  .split-bleed-alt {
    --inner: min(var(--site-content-max), 100vw);
    --gutter: calc((100vw - var(--inner)) / 2); /* viewport --> inner wrapper gutter */
  }
  .split-right-alt{
    width: calc(50cqw + var(--gutter));
    margin-right: calc(var(--gutter) * -1); /* push to the right screen edge */
  }
}

/* <=1200px: stack; both columns full width; only counter parent pad if declared */
@media (max-width:1200px){
  .split-bleed-alt{
    margin-left:  calc(-1 * var(--outer-pad));
    margin-right: calc(-1 * var(--outer-pad));
  }

  .split-bleed-alt .split-inner-alt{
    flex-direction: column;
    max-width: none;
    width: 100%;
    margin: 0;
  }

  /* Reset the 50cqw basis when stacked */
  .split-left-alt,
  .split-right-alt{
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    margin: 0;
  }
}
/**** END alt ****/

/**** Split section with bleeds - ALT 40/60 (boxed LEFT 40%, bleed RIGHT 60%) ****/
:root {
  --site-content-max: 1140px;
  --outer-pad: 0; /* set by a padded parent (e.g., .outer-pad) at <=1200px if present */
}

/* Optional helper if you use a padded parent container */
@media (max-width:1200px){
  .outer-pad { --outer-pad: 2rem; }
}

/* Outermost section (no side padding) */
.split-bleed-alt4060 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Centered wrapper establishes container for cqw units */
.split-bleed-alt4060 .split-inner-alt4060 {
  width: 100%;
  max-width: var(--site-content-max);
  margin: 0 auto;
  display: flex;
  gap: 0;
  align-items: stretch;
  container-type: inline-size; /* 1cqw = 1% of this wrapper's width */
}

/* Columns */
.split-left-alt4060  { flex: 0 0 40cqw; max-width: 40cqw; min-width: 0; } /* boxed LEFT (40% of inner) */
.split-right-alt4060 { flex: 0 0 auto; min-width: 0; }                     /* bleed RIGHT on desktop */

/* >=1201px: bleed the RIGHT to the viewport edge; LEFT stays boxed */
@media (min-width:1201px){
  .split-bleed-alt4060{
    --inner: min(var(--site-content-max), 100vw);
    --gutter: calc((100vw - var(--inner)) / 2); /* viewport --> inner wrapper gutter */
  }
  .split-right-alt4060{
    width: calc(60cqw + var(--gutter));
    margin-right: calc(var(--gutter) * -1); /* push to the right screen edge */
  }
}

/* <=1200px: stack; both columns full width; only counter parent pad if declared */
@media (max-width:1200px){
  .split-bleed-alt4060{
    margin-left:  calc(-1 * var(--outer-pad));
    margin-right: calc(-1 * var(--outer-pad));
  }

  .split-bleed-alt4060 .split-inner-alt4060{
    flex-direction: column;
    max-width: none;
    width: 100%;
    margin: 0;
  }

  /* Reset bases when stacked */
  .split-left-alt4060,
  .split-right-alt4060{
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    margin: 0;
  }
}
/**** END alt 40/60 ****/

/**** Diagonal cut split diagonal ****/
/* container */
.diag-cut-cont {
  position: relative;
  overflow: visible;
}

/* the Elementor image widget */
.diag-cut {
  position: absolute;
  bottom: 0;            /* keep existing vertical positioning behavior */
  left: 40% !important; /* override the 40% inline offset */
  height: 100%;         /* make the widget fill the container height */
  transform: translateX(-50%) !important; /* center the *widget* */
  pointer-events: none; /* optional: keeps it non-interactive */
  max-width: none !important;
  width: auto !important;
}

/* the <img> inside the widget */
.diag-cut img {
  display: block;
  height: 100%;         /* fill vertically */
  width: auto !important; 
  max-width: none !important; /* allow the 4x-wide SVG to extend */
  object-fit: contain;  /* maintain proportions (no distortion) */
  object-position: center; /* keep the SVG's 50% viewBox centered */
}

/**** END ****/

/* Equal height fix for Elementor Loop Carousels with .force-eq-height */
.force-eq-height .swiper-slide {
  height: auto !important;
}

.te0 p:last-child, 
.te0 ul:last-child, 
.te0 ol:last-child {
    margin-bottom: 0 !important;
}

.career-li-desc p:last-child, 
.career-li-desc ul:last-child, 
.career-li-desc ol:last-child {
    margin-bottom: 0 !important;
}
.gsection_title {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
  font-weight: bold !important;
  text-transform: none !important;
  margin-bottom: 0;
}

.service-li-content, 
.case-study-li-content {
  height: 100%;
}
.case-study-li-content .elementor-icon-list-icon {
  align-self: flex-start;
  margin-top: 0.15rem;
}

/* Fix E-FA icon fill color bug */
.elementor-icon-list-icon svg.svg-inline--fa path {
  fill: inherit;
}

.footer-cta-body p:last-child, 
.footer-cta-body ul:last-child, 
.footer-cta-body ol:last-child {
  margin-bottom: 0 !important;
}
.footer-cta-body strong {
  font-weight: 800;
}
.tdc-counter .elementor-counter-title {
    text-align: center !important;
}
.tdc-counter.counter-title-block .elementor-counter-title {
  display: block !important;
}
.tdc-counter .elementor-counter-title strong, 
.tdc-counter .elementor-counter-title em {
  display: inline !important;
}
.tdc-counter.counter-small-suffix .elementor-counter-number-suffix, 
.small-number-suffix {
  font-size: 1.25rem;
  line-height: 1.75rem;
  align-content: end;
  margin-bottom: 0.25rem;
  margin-left: 0.25rem;
}
@media (max-width: 1024px) {
  .tdc-counter .elementor-counter-title br {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .grid-iconboxes-shift-vcenter-mobile .elementor-widget-icon-box .elementor-icon-box-content {
    align-content: center !important;
  }
}

.elementor-widget-html div[name="termly-embed"] {
  margin: -20px;
}

/* Homepage hero video */
/* Background video container: fills the hero, behind the content */
#hero .elementor-background-video-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0; /* then give your content containers higher z-index if needed */
}
/* Video: lock its size, but keep Elementor's centering transform */
#hero .elementor-background-video-hosted {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  /* DON'T touch transform/top/left here – let Elementor keep translate(-50%, -50%) */
}
/* Make sure content sits above the video */
#hero .e-child {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  #field_1_1 legend {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
  }
  #input_1_1 .gchoice .gfield-choice-image-wrapper img {
    width: 2rem !important;
    height: 2rem !important;
  }
  #input_1_1 .gchoice .gfield-choice-image-wrapper {
    width: 2rem !important;
    height: 2rem !important;
  }
  #input_1_1 .gfield-image-choice-wrapper-outer {
    padding: 0.5rem !important;
  }
}
.elementor-button .elementor-button-text, 
.elementor-button svg, 
.elementor-button:hover .elementor-button-text, 
.elementor-button:hover svg, 
.elementor-button:active .elementor-button-text, 
.elementor-button:active svg, 
.elementor-button:focus .elementor-button-text, 
.elementor-button:focus svg {
  transition: all .3s ease;
}
.header-cta .elementor-button {
  height: 46px !important;
}
.t-consentPrompt {
  z-index: 999999 !important;
  padding: 0.5rem !important;
}
#hubspot-messages-iframe-container {
  z-index: 888888 !important;
}
.t-consentPrompt [class^="termly-styles-message"] {
  font-size: 10px;
  line-height: 12px;
}
.dwyer-fab a {
  max-width: 250px;
  text-align: left;
  transition: all .3s ease;
}
.dwyer-fab a:hover {
  transition: all .3s ease;
  transform: scale(1.1);
}
.dwyer-fab svg {
  font-size: 2.25rem;
}
.dwyer-fab .elementor-button-text {
  align-content: center;
}

/* New Homepage Form */
.request-quote-form .inspection-type-select legend {
    font-weight: bold;
    color: #fff;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner .gfield-choice-input {
    display: none !important;
    visibility: hidden !important;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner {
    display: block;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner label {
    text-align: center;
    margin: 0;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1.45rem;
    text-transform: uppercase;
    font-weight: bold;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-choice-image-wrapper {
    height: 4rem;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    margin-bottom: 0.25rem;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-choice-image-wrapper img {
    width:  4rem !important;
    height: 4rem !important;
}
.request-quote-form .inspection-type-select .gfield_radio {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: stretch;
  align-items: stretch;
}
.request-quote-form .inspection-type-select .gfield_radio .gfield-image-choice-wrapper-outer {
    display: flex;
    flex-direction: column;
}
.request-quote-form .inspection-type-select legend {
    text-align: center;
    width: 100%;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.request-quote-form .inspection-type-select legend .gfield_required {
    display: none;
}
@media (max-width: 1200px) and (min-width: 881px), (max-width: 768px) {
    .request-quote-form .inspection-type-select .gfield_radio {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
    .request-quote-form .inspection-type-select .gfield_radio .gfield-image-choice-wrapper-outer {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-choice-image-wrapper {
        width: 4rem;
        margin-bottom: 0;
        margin-right: 1rem;
    }
    .request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner {
        display: flex;
        flex: 1;
    }
    .request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner label {
        flex: 1;
        text-align: left;
    }
    .request-quote-form .inspection-type-select .gfield_radio .gchoice .gfield-image-choice-wrapper-inner label br {
        display: none !important;
        visibility: hidden !important;
    }
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice {
    cursor: pointer;
    background: var(--tdc-green);
    box-shadow: none;
    border: 3px solid var(--tdc-green) !important;
    inline-size: unset;
    max-inline-size: unset;
    min-inline-size: unset;
    width: 100%;
    flex: 1;
    border-radius: 0;
    --gf-local-shadow: none !important;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice:hover, 
.request-quote-form .inspection-type-select .gfield_radio .gchoice:active, 
.request-quote-form .inspection-type-select .gfield_radio .gchoice:focus {
  /* background: var(--tdc-green-light) !important;
  transform: translateY(-2px); */
  background: transparent;
  border: 3px solid var(--tdc-green) !important;
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice:hover img, 
.request-quote-form .inspection-type-select .gfield_radio .gchoice:active img, 
.request-quote-form .inspection-type-select .gfield_radio .gchoice:focus img {
    filter: invert(71%) sepia(45%) saturate(562%) hue-rotate(30deg) brightness(90%) contrast(95%);
}
.request-quote-form .inspection-type-select .gfield_radio .gchoice br {
    display: block;
}
.request-quote-form .gfield_radio .gchoice label, 
.request-quote-form .gfield_radio .gchoice .gfield-choice-input {
    cursor: pointer;
}
.request-quote-form .gfield_radio .gchoice .gfield-choice-input {
  margin-top: 0.25rem;
}
.request-quote-form .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:where(:has(input:checked))::after {
    background-color: var(--tdc-navy) !important;
    color: var(--tdc-green-light) !important;
    filter: none;
    font-size: 16px;
    font-weight: 900;
    block-size: 24px;
    inline-size: 24px;
    inset-block-start: 8px !important;
    inset-inline-end: 8px !important;
}
.request-quote-form .gfield--type-image_choice.gfield--image-choice-appearance-card .gchoice:where(:has(input:checked)) {
  background: var(--tdc-green-light);
}
.request-quote-form .gform_previous_button, 
.request-quote-form .gform_previous_button {
    color: var(--tdc-green) !important;
    background: transparent !important;
    border: 3px solid var(--tdc-green) !important;
    margin-bottom: 1rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
}
.request-quote-form .gform_previous_button:hover, 
.request-quote-form .gform_previous_button:hover, 
.request-quote-form .gform_previous_button:active, 
.request-quote-form .gform_previous_button:active, 
.request-quote-form .gform_previous_button:focus, 
.request-quote-form .gform_previous_button:focus {
    color: #fff !important;
    background: var(--tdc-green) !important;
}
.request-quote-form .gform_submit_button_1 {
    background: var(--tdc-green) !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.75rem;
    border: 3px solid var(--tdc-green);
}
.request-quote-form .gform_submit_button_1:hover, 
.request-quote-form .gform_submit_button_1:active, 
.request-quote-form .gform_submit_button_1:focus {
    background: transparent !important;
    color: var(--tdc-green) !important;
}
.request-quote-form .gform_fields {
    --gf-form-gap-y: 0.5rem;
}
.request-quote-form .address_zip {
  inline-size: 100%;
}

@media (min-width: 640px) {
  .gf-force-half-col {
    grid-column: span 6 !important;
  }
}
select.gfield_select {
  color: var(--tdc-charcoal) !important;
  --gf-local-color: var(--tdc-charcoal) !important;
}
.pulse-loop {
  animation: pulseLoop 1.5s infinite;
}
@keyframes pulseLoop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.99);
  }
  100% {
    transform: scale(1);
  }
}
.txt-accent {
    color: var(--e-global-color-accent);
}

.gf-e-btn-pu {
  background: var(--tdc-green);
  color: #fff !important;
  padding: 1rem 2rem;
  font-weight: 800;
  text-transform: uppercase;
  margin-top: 1rem;
  border: 3px solid var(--tdc-green);
  width: 100%;
}
.gf-e-btn-pu:hover, 
.gf-e-btn-pu:active, 
.gf-e-btn-pu:focus {
  background: transparent;
  color: var(--tdc-green) !important;
  border: 3px solid var(--tdc-green);
}
.gf-e-btn-pu:hover svg, 
.gf-e-btn-pu:active svg, 
.gf-e-btn-pu:focus svg {
  fill: var(--tdc-green) !important;
}

.request-quote-form-phone-list li {
  padding: 0.5rem 0;
}