:root{
  --e-global-color-primary:#14457B;
  --e-global-color-secondary:#54595F;
  --e-global-color-text:#7A7A7A;
  --e-global-color-accent:#61CE70;
}
html{scroll-behavior:smooth;}
#about, #services, #gallery, #contact{scroll-margin-top:90px;}
*{box-sizing:border-box;}
body{margin:0;font-family:"Poppins",sans-serif;color:var(--e-global-color-text);}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}

.elementor-container{display:flex;flex-wrap:wrap;width:100%;max-width:1140px;margin:0 auto;position:relative;}
.elementor-section-boxed > .elementor-container{max-width:1140px;}
.elementor-column{position:relative;min-height:1px;display:flex;padding:10px;}
.elementor-widget-wrap{width:100%;}
.elementor-top-section .elementor-container{align-items:stretch;}

/* Header */
#site-header .elementor-container{align-items:center;}
#site-header nav ul.elementor-nav-menu{list-style:none;display:flex;gap:35px;margin:0;padding:0;}
#site-header nav ul.elementor-nav-menu li a{font-weight:500;color:var(--e-global-color-secondary);}
#site-header nav ul.elementor-nav-menu li.current-menu-item a,
#site-header nav ul.elementor-nav-menu li a:hover{color:var(--e-global-color-primary);}
.elementor-icon-list-items.elementor-inline-items{display:flex;list-style:none;margin:0;padding:0;gap:24px;flex-wrap:wrap;}
.elementor-icon-list-item.elementor-inline-item{display:flex;align-items:center;gap:6px;}
.elementor-social-icons-wrapper ul.elementor-grid,
ul.elementor-grid{display:flex !important;grid-template-columns:none !important;list-style:none;gap:20px;margin:0;padding:0;flex-wrap:wrap;}
.elementor-social-icons-wrapper ul{justify-content:flex-end;}
.elementor-social-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;}
.elementor-social-icons-wrapper ul{display:flex;gap:20px;margin:0;padding:0;justify-content:flex-end;}

/* Headings */
.elementor-heading-title{margin:0;font-family:"Poppins",sans-serif;}

/* Icon list (general) */
.elementor-icon-list-items{list-style:none;margin:0;padding:0;}
.elementor-icon-list-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;}

/* Slider (webbricks) */
.single-slide{background-size:cover;background-position:center;min-height:500px;max-height:700px;display:flex;align-items:center;padding:0 60px;}
.slide-content{color:#fff;max-width:600px;}
.slide-content span{text-transform:uppercase;letter-spacing:2px;font-size:14px;}
.slide-content h2{font-size:44px;margin:10px 0;color:#fff;}
.btn-border{display:inline-flex;align-items:center;gap:10px;border:1px solid #fff;color:#fff;padding:10px 22px;margin-top:16px;border-radius:4px;}

/* Filter gallery */
.filter-gallery-menu{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px;}
.filter-gallery-menu button{border:1px solid var(--e-global-color-primary);background:#fff;color:var(--e-global-color-primary);padding:8px 18px;border-radius:30px;cursor:pointer;margin:0;font-size:15px;line-height:1.4;}
.filter-gallery-menu button.active,
.filter-gallery-menu button.active:hover,
.filter-gallery-menu button.active:focus{background:var(--e-global-color-primary) !important;color:#fff !important;}
.filter-gallery-menu button.active::before{display:none;}
.wb-grid-row{display:flex;flex-wrap:wrap;margin:0 -10px;}
.wb-grid-row [class*="wb-grid-desktop-"]{padding:10px;}
.wb-grid-desktop-2{width:50%;}
.wb-grid-desktop-3{width:33.333%;}
.wb-grid-desktop-4{width:25%;}
.wb-grid-desktop-6{width:16.666%;}
.single-filter-gallery{position:relative;overflow:hidden;border:1px solid #eee;border-radius:6px;}
.single-filter-gallery img{width:100%;height:auto;}
.image-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:.2s;}
.single-filter-gallery:hover .image-overlay{opacity:1;}
.image-overlay img{width:24px;}

/* Section heading (webbricks) */
.section-title{text-align:center;margin-bottom:30px;}
.section-subheading{color:var(--e-global-color-accent);text-transform:uppercase;font-size:14px;letter-spacing:1px;}
.section-heading{color:var(--e-global-color-primary);font-weight:600;margin:8px 0;}

/* Footer */
#site-footer{color:#fff;}
#site-footer .elementor-container{align-items:flex-start;}
#site-footer .elementor-heading-title{color:var(--e-global-color-accent);}
#site-footer .elementor-icon-list-item,
#site-footer .elementor-icon-list-text{color:#fff;}
.elementor-divider-separator{display:block;border-top:1.5px solid #fff;width:40px;margin:10px 0;}
.hfe-site-copyright{color:#fff;}

/* Page hero (stub pages) */
.page-hero{background:var(--e-global-color-primary);color:#fff;padding:60px 20px;text-align:center;}
.page-hero h1{margin:0;font-weight:600;}

/* Lightbox */
.simple-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;align-items:center;justify-content:center;padding:30px;}
.simple-lightbox.open{display:flex;}
.simple-lightbox img{max-width:90vw;max-height:85vh;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
.simple-lightbox-close{position:absolute;top:20px;right:30px;color:#fff;font-size:36px;cursor:pointer;line-height:1;}
a.lightbox-trigger{cursor:zoom-in;display:block;}

@media(max-width:900px){
  .elementor-container{flex-direction:column;}
  #site-header nav ul.elementor-nav-menu{flex-wrap:wrap;justify-content:center;}
  .wb-grid-desktop-2,.wb-grid-desktop-3,.wb-grid-desktop-4,.wb-grid-desktop-6{width:50%;}
  .slide-content h2{font-size:28px;}
}
