/* Shared content gutters and responsive media for the Fecivent site. */
:root{--fecivent-page-gutter:15px;--fecivent-content-width:1140px}
*,::before,::after{box-sizing:border-box}
html,body{overflow-x:clip}
img,video,iframe{max-width:100%}
img{height:auto}
/* A page has one outer gutter only.  The source theme centred boxed sections at
   1140px, which created large blank side bands on desktop.  Keep the 15px
   gutter at the page edge and leave each component's own card spacing alone. */
#main-content>.e-con-boxed>.e-con-inner,
#main-content>.e-con-full>.e-con-boxed>.e-con-inner{width:calc(100% - (2 * var(--fecivent-page-gutter)))!important;max-width:none!important;margin-inline:auto}
.elementor-widget-image,.elementor-widget-image .elementor-widget-container,.elementor-widget-image a{max-width:100%}
.elementor-widget-image img,.fecivent-classic-service img{display:block;max-inline-size:100%;block-size:auto;margin-inline:auto}
.elementor-image-carousel .swiper-slide img{display:block;max-inline-size:100%;block-size:auto;margin-inline:auto}
.fecivent-classic-service .classic-wrap,.fecivent-classic-service .fecivent-faq,.fecivent-classic-service .fecivent-form-panel{width:calc(100% - (2 * var(--fecivent-page-gutter)));max-width:none}

/* This mirrors the title band used on the existing About Us page. */
.fecivent-about-heading{display:flex;flex-direction:column;padding:100px 0!important;background:#d5e9e8}
.fecivent-about-heading>.e-con-inner{width:calc(100% - (2 * var(--fecivent-page-gutter)))!important;max-width:none!important;margin-inline:auto}
.fecivent-about-heading__inner{width:100%;padding:50px}
.fecivent-about-heading .ekit-heading{text-align:center}
.fecivent-about-heading .fecivent-breadcrumb{display:flex;width:100%;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 0 16px;color:#1f2653;font-size:.95rem;line-height:1.5}
.fecivent-about-heading .fecivent-breadcrumb a{color:#1f2653;text-decoration:none}
.fecivent-about-heading .fecivent-breadcrumb a:hover{text-decoration:underline}
.fecivent-about-heading h1{margin:0;color:#1f2653;font-family:Outfit,sans-serif;font-size:48px;font-weight:600;line-height:54px;text-align:center}

/* Use the same balanced industry-logo treatment as the homepage on About Us. */
.elementor-37 .elementor-element.elementor-element-b922155 .swiper-slide-inner{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}
.elementor-37 .elementor-element.elementor-element-b922155 .swiper-slide-image{display:block!important;width:100%!important;height:132px!important;object-fit:contain;margin:0 auto!important}
.elementor-37 .elementor-element.elementor-element-b922155 .elementor-image-carousel-caption{display:flex;min-height:42px;align-items:flex-start;justify-content:center;margin:0;text-align:center}

/* Keep the certificate pair genuinely even.  Both source files share the same
   ratio; explicitly sizing each slide prevents the carousel's varying inline
   widths from making one certificate look taller than the other. */
.elementor-63 .elementor-element.elementor-element-77737af .swiper-wrapper,
.elementor-37 .elementor-element.elementor-element-73698e3 .swiper-wrapper{display:flex!important;align-items:stretch!important;gap:5px!important}
.elementor-63 .elementor-element.elementor-element-77737af .swiper-slide,
.elementor-37 .elementor-element.elementor-element-73698e3 .swiper-slide{display:flex!important;flex:1 1 0!important;width:calc((100% - 5px)/2)!important;height:auto!important;min-width:0!important;margin-right:0!important}
.elementor-63 .elementor-element.elementor-element-77737af .swiper-slide-inner,
.elementor-37 .elementor-element.elementor-element-73698e3 .swiper-slide-inner{display:flex!important;height:100%!important;flex-direction:column;align-items:stretch!important;margin:0!important}
.elementor-63 .elementor-element.elementor-element-77737af .swiper-slide-image,
.elementor-37 .elementor-element.elementor-element-73698e3 .swiper-slide-image{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1361/1920;object-fit:cover!important;margin:0!important}
.elementor-63 .elementor-element.elementor-element-77737af .elementor-image-carousel-caption,
.elementor-37 .elementor-element.elementor-element-73698e3 .elementor-image-carousel-caption{margin:5px 0 0!important;text-align:center}

/* The termite page keeps its main gutter on the page section.  Cards retain a
   small readable inset, rather than the original 40–55px inner gutters. */
.elementor-387 .elementor-widget-elementskit-image-box .elementskit-box-body{padding:5px!important}
.elementor-387 .elementor-widget-elementskit-image-box .elementskit-info-image-box{height:100%}
.elementor-387 .elementor-element.elementor-element-39fdcdd>.elementor-element,.elementor-387 .elementor-element.elementor-element-39fdcdd .ekit-wid-con,.elementor-387 .elementor-element.elementor-element-39fdcdd .elementor-widget-container,.elementor-387 .elementor-element.elementor-element-39fdcdd .elementskit-infobox{height:100%}
.elementor-387 .elementor-element.elementor-element-39fdcdd{--gap:5px!important;--row-gap:5px!important;--column-gap:5px!important}

/* Prevent anchored headings from being hidden under the site navigation. */
#main-content h1,#main-content h2,#main-content h3{scroll-margin-block-start:100px}

/* Keep footer navigation in the same navy used by the footer body copy.  The
   theme's generic link hover colour was making these links red on some page
   templates after the shared homepage footer was applied. */
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a,
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a .elementor-icon-list-text,
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a:hover,
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a:hover .elementor-icon-list-text,
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a:focus-visible,
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a:focus-visible .elementor-icon-list-text{color:#202653!important}
#main-content>.e-con-boxed.e-parent:last-child .elementor-icon-list-item>a:focus-visible{outline:2px solid #202653;outline-offset:3px}

/* Use the established homepage back-to-top control on every template. */
.back-top{position:fixed!important;right:18px!important;bottom:22px!important;z-index:1000!important;display:grid!important;width:42px!important;height:42px!important;place-items:center!important;padding:0!important;border:0!important;border-radius:99px!important;background:#fff!important;color:#1f2653!important;font:700 16px/1 Outfit,Arial,sans-serif!important;box-shadow:0 2px 9px rgba(0,0,0,.2)!important}
.back-top:hover,.back-top:focus-visible{background:#fff!important;color:#1f2653!important;outline:2px solid #1f2653!important;outline-offset:3px!important}

/* Generated service pages reuse the products title component.  Its exported
   rules refer to theme variables which are not present on a generated page,
   so supply the same two product-band values at the component boundary. */
#main-content.elementor-962>.elementor-element-7f505fc5{--e-global-color-b300ef1:#d5e9e8;--e-global-color-text:#1f2653;color:#1f2653!important;background-color:#d5e9e8!important}
#main-content.elementor-962>.elementor-element-7f505fc5 .elementskit-section-title{color:#1f2653!important}
#main-content.elementor-962>.elementor-element-7f505fc5 .fecivent-breadcrumb,#main-content.elementor-962>.elementor-element-7f505fc5 .fecivent-breadcrumb a{color:#1f2653!important}

/* Purpose-specific service copy for the established residential and commercial
   pages.  The header, title band, enquiry component and footer remain the
   original theme components; this only gives the central service content a
   stable, readable layout. */
.fecivent-core-service{color:#17265a;background:#fff}
.fecivent-core-shell{width:calc(100% - (2 * var(--fecivent-page-gutter)));max-width:none;margin-inline:auto;padding:54px 0}
.fecivent-core-service h2{margin:0 0 18px;color:#1f2653;font-family:Outfit,Arial,sans-serif;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.16}
.fecivent-core-service h3{margin:30px 0 12px;color:#1f2653;font-family:Outfit,Arial,sans-serif;font-size:1.22rem;line-height:1.35}
.fecivent-core-service p,.fecivent-core-service li{font:400 17px/1.75 Outfit,Arial,sans-serif}
.fecivent-core-service p{max-width:900px;margin:0 0 16px}
.fecivent-core-kicker{margin:0 0 10px!important;color:#c91f39;font-size:.88rem!important;font-weight:800!important;letter-spacing:.09em;text-transform:uppercase}
.fecivent-core-band{background:#e9f3f2}
.fecivent-core-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 34px;margin:18px 0 0;padding-left:22px}
.fecivent-core-list li::marker{color:#c91f39}
.fecivent-core-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fecivent-core-step{padding:26px;background:#fff;border:1px solid #dbe5e5;border-top:4px solid #c91f39;box-shadow:0 7px 18px rgba(31,38,83,.08)}
.fecivent-core-step h3{margin-top:0}.fecivent-core-step p{margin-bottom:0}
.fecivent-core-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}
.fecivent-core-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 36px}
.fecivent-core-links a{padding:9px 12px;border:1px solid #c7d8d7;color:#1f2653;font:700 15px/1.3 Outfit,Arial,sans-serif;text-decoration:none}
.fecivent-core-links a:hover,.fecivent-core-links a:focus{border-color:#c91f39;color:#c91f39}
.fecivent-core-cta{padding:30px;background:#202653;color:#fff}.fecivent-core-cta h2{color:#fff;font-size:1.75rem}.fecivent-core-cta p{margin-bottom:22px}.fecivent-core-cta a{display:inline-block;padding:13px 22px;background:#c91f39;color:#fff;font:700 16px Outfit,Arial,sans-serif;text-decoration:none}
.fecivent-core-faq details{padding:15px 0;border-bottom:1px solid #c7d8d7}.fecivent-core-faq summary{cursor:pointer;color:#1f2653;font:700 17px/1.4 Outfit,Arial,sans-serif}.fecivent-core-faq details p{padding-top:12px;margin-bottom:0}

@media(max-width:1024px){
  /* The source uses a desktop-centred heading utility with a mobile-left class.
     Honour the mobile intent so headings, copy and buttons share one page gutter. */
  #main-content .text--mobileleft,#main-content .text--mobileleft .head-title,#main-content .text--mobileleft .heading-title{ text-align:left!important }
  .elementor-387 .elementor-element.elementor-element-a1e5da6,.elementor-387 .elementor-element.elementor-element-b8414dc .text-content-block{ text-align:left!important }
  .elementor-387 .elementor-element.elementor-element-9bef527{--gap:20px!important;--row-gap:20px!important;--column-gap:20px!important}
}

@media(max-width:1024px){
  .fecivent-about-heading{padding:80px 0!important}
  .fecivent-about-heading>.e-con-inner{width:calc(100% - (2 * var(--fecivent-page-gutter)))!important}
  .fecivent-about-heading__inner{padding:36px}
  .fecivent-about-heading h1{font-size:34px;line-height:40px}
}

/* Keep legacy Elementor media and split layouts inside their own columns. */
#main-content .e-con,.elementor-widget-image,.elementor-image-carousel,.elementor-image-carousel .swiper-wrapper,.elementor-image-carousel .swiper-slide{min-inline-size:0}
.elementor-widget-image a{display:block}
.elementor-image-carousel .swiper-slide-inner{max-inline-size:100%}
@media(max-width:767px){
  /* The logo/header has a 15px mobile inset.  Every page section begins on
     that same line; full-bleed backgrounds are left untouched. */
  :root{--fecivent-page-gutter:15px}
  #main-content>.e-con-boxed>.e-con-inner{width:calc(100% - (2 * var(--fecivent-page-gutter)))!important}
  #main-content>.e-con-boxed.e-parent:not(:first-of-type){--padding-left:0px!important;--padding-right:0px!important}
  #main-content>.e-con-full.e-parent:not(:first-of-type){--padding-left:var(--fecivent-page-gutter)!important;--padding-right:var(--fecivent-page-gutter)!important}
  .fecivent-classic-service .classic-wrap,.fecivent-classic-service .fecivent-faq,.fecivent-classic-service .fecivent-form-panel{width:calc(100% - (2 * var(--fecivent-page-gutter)))}
  .fecivent-classic-service .fecivent-form-panel{padding-inline:20px}
  .fecivent-about-heading{padding:31px 0 25px!important}
  .fecivent-about-heading>.e-con-inner{width:calc(100% - (2 * var(--fecivent-page-gutter)))!important}
  .fecivent-about-heading__inner{padding:20px 0}
  .fecivent-about-heading .ekit-heading{text-align:left}
  .fecivent-about-heading .fecivent-breadcrumb{justify-content:flex-start;margin-bottom:17px;font-size:.86rem}
  .fecivent-about-heading h1{font-size:34px;line-height:40px;text-align:left}
  .fecivent-core-shell{padding:38px 0}
  .fecivent-core-list,.fecivent-core-grid,.fecivent-core-columns{grid-template-columns:1fr}
  .fecivent-core-list{gap:8px}.fecivent-core-columns{gap:16px}.fecivent-core-step{padding:22px}
  .elementor-37 .elementor-element.elementor-element-b922155 .swiper-slide-inner{min-height:152px;gap:7px}
  .elementor-37 .elementor-element.elementor-element-b922155 .swiper-slide-image{height:100px!important}
  .elementor-37 .elementor-element.elementor-element-b922155 .elementor-image-carousel-caption{min-height:35px}
}
