/*
Theme Name: Industrio Child Theme
Theme URI: http://shtheme.com/demosd/industrio
Description: This is child theme of industrio
Author: Shtheme
Author URI: https://themeforest.net/user/shtheme
Version: 1.0
Text Domain:  industrio-child
Template: industrio
*/

/* ========TABLE OF CONTENTS==========
00. Body, links, hgroup, paragraphs, general styles
01. Fixed header & Navigation
02. Section Intro (Home)
03. Section About
04. Section Resume
05. Section Portfolio
06. Section Blog
07. Section Contact
08. Footer
09. Loader
10. Responsive design

/*--------------------------------------------------
    00. Body, links, hgroup, paragraphs, general styles
---------------------------------------------------*/

.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover{
	background: none !important; 
}
/* ===== Homepage top slider - dark overlay 50% (added 2026-09-25) ===== */
#minimal-bootstrap-carousel .carousel-inner .item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
    pointer-events: none;
}

/* ===== Disable theme preloader (red loading screen) ===== */
.preloader { display: none !important; }

/* ===== About-section fact icons layout (stack icon above title, resize) ===== */
.fact-counter-section .single-fact-counter .icon-box,
.fact-counter-section .single-fact-counter .text-box {
    display: block !important;
    width: auto !important;
    text-align: center !important;
    vertical-align: middle;
}
.fact-counter-section .single-fact-counter .icon-box {
    margin-bottom: 42px !important;
}
.fact-counter-section .single-fact-counter .icon-box i {
    font-size: 22px !important;
    line-height: 4.6 !important;
    display: inline-block;
}
.fact-counter-section .single-fact-counter .text-box {
    padding-left: 0 !important;
}

/* per-icon visual centering (glyph ink is right-offset from its advance box) */
.fact-counter-section .single-fact-counter .icon-box i.elite-icon-valves { transform: translateX(-31px); }
.fact-counter-section .single-fact-counter .icon-box i.elite-icon-mixers { transform: translateX(-31px); }
.fact-counter-section .single-fact-counter .icon-box i.elite-icon-loading-arms { transform: translateX(-45px); }
.fact-counter-section .single-fact-counter .icon-box i.elite-icon-project-support { transform: translateX(-55px); }

/* ===== About fact-counter divider & spacing ===== */
.fact-counter-section .fact-counter { margin-top: -40px !important; }
.fact-counter-section .fact-counter .single-fact-counter { padding-top: 32px !important; padding-bottom: 32px !important; }
/* center the cross lines */
.fact-counter-section .fact-counter .divider.hor { left: 50% !important; height: calc(100% - 40px) !important; }
.fact-counter-section .fact-counter .divider.ver { top: 50% !important; }
/* titles on one line */
.fact-counter-section .single-fact-counter .text-box h3 {
    font-size: 24px !important;
    white-space: nowrap !important;
    margin-bottom: 8px !important;
}

/* ===== Industries We Serve grid ===== */
.efc-industries-section { background:#0c0c0c; padding:80px 0; }
.efc-industries-head { text-align:center; max-width:920px; margin:0 auto 45px; }
.efc-industries-head h2 { color:#fff; font-size:36px; font-weight:700; margin:0 0 10px; }
.efc-ind-subtitle { color:#ff0000; font-size:18px; font-weight:600; margin:0 0 14px; }
.efc-ind-intro { color:#c7c7c7; font-size:15px; line-height:1.75; margin:0; }
.efc-industries-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.efc-ind-card { position:relative; display:block; min-height:225px; background-size:cover; background-position:center; overflow:hidden; text-decoration:none; }
.efc-ind-card::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.12); transition:background .3s ease; z-index:1; }
.efc-ind-card:hover::before { background:rgba(0,0,0,.35); }
.efc-ind-bar { position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; align-items:center; gap:0; background:#15224c; padding:14px 16px; }
.efc-ind-bar i { color:#fff; font-size:22px; width:30px; text-align:center; flex:0 0 auto; }
.efc-ind-name { color:#fff; font-size:15px; font-weight:600; line-height:1.25; padding-left:12px; margin-left:12px; border-left:1px solid rgba(255,255,255,.35); }
.efc-ind-card:hover .efc-ind-bar { background:#ff0000; }
@media (max-width:991px){ .efc-industries-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .efc-industries-grid{ grid-template-columns:1fr;} .efc-ind-card{min-height:200px;} }

/* industries card image */
.efc-ind-card { background:#111; }
.efc-ind-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; }

/* Fix: force industry card images to fully cover the card (theme img rule forces height:auto !important, leaving gaps) */
.efc-industries-grid .efc-ind-card img.efc-ind-img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center center; }

/* Footer: Get in Touch - align Call us / Email us into a clean left-aligned stack */
.contact-info-style-one .contact-infos { text-align:left; }
.contact-info-style-one .single-contact-infos { display:block; width:auto; margin:0 0 18px; }
.contact-info-style-one .single-contact-infos:last-child { margin-bottom:0; }
/* Footer Socials list icon spacing */
.footer-widget .efc-social-list li { margin-bottom:8px; }
.footer-widget .efc-social-list i { width:20px; margin-right:9px; text-align:center; }

/* ======================= About Us page ======================= */
.efc-about-intro .efc-tagline { color:#2c286b; font-weight:700; font-size:21px; line-height:1.4; margin:0 0 22px; }
.efc-about-intro p { color:#555; font-size:16px; line-height:1.85; margin:0 0 16px; }
.efc-about-intro p:last-child { margin-bottom:0; }
.efc-about-img img { border-radius:10px; box-shadow:0 18px 44px rgba(20,34,76,.14); display:block; }

/* Mission / Vision */
.efc-mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.efc-mv-card { background:#fff; border-radius:12px; padding:40px 34px; box-shadow:0 12px 34px rgba(20,34,76,.08); border-top:4px solid #2c286b; }
.efc-mv-card .efc-ic { width:66px; height:66px; border-radius:50%; background:#2c286b; color:#fff; display:flex; align-items:center; justify-content:center; font-size:27px; margin:0 0 20px; }
.efc-mv-card h3 { color:#15224c; font-size:25px; font-weight:700; margin:0 0 13px; }
.efc-mv-card p { color:#555; font-size:16px; line-height:1.8; margin:0; }

/* Values */
.efc-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.efc-val-card { background:#fff; border-radius:12px; padding:34px 28px; box-shadow:0 10px 28px rgba(20,34,76,.07); transition:transform .3s ease, box-shadow .3s ease; text-align:center; }
.efc-val-card:hover { transform:translateY(-6px); box-shadow:0 20px 44px rgba(20,34,76,.15); }
.efc-val-card .efc-ic { width:70px; height:70px; border-radius:50%; background:rgba(44,40,107,.08); color:#2c286b; display:flex; align-items:center; justify-content:center; font-size:29px; margin:0 auto 20px; transition:all .3s ease; }
.efc-val-card:hover .efc-ic { background:#2c286b; color:#fff; }
.efc-val-card h4 { color:#15224c; font-size:19px; font-weight:700; margin:0 0 11px; }
.efc-val-card p { color:#666; font-size:15px; line-height:1.7; margin:0; }

@media (max-width:1024px){ .efc-values-grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:767px){ .efc-mv-grid,.efc-values-grid{ grid-template-columns:1fr;} .efc-about-intro .efc-tagline{font-size:19px;} .efc-mv-card,.efc-val-card{padding:30px 24px;} }

/* ======================= Policies page ======================= */
.efc-pol-intro { text-align:center; max-width:800px; margin:0 auto; }
.efc-pol-intro .efc-pol-lead { color:#555; font-size:16.5px; line-height:1.8; margin:16px 0 0; }
.efc-pol-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:30px 0 4px; }
.efc-pol-nav a { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#2c286b; border:1px solid #e3e5ef; border-radius:999px; padding:10px 20px; font-size:14px; font-weight:600; text-decoration:none; transition:all .2s ease; box-shadow:0 2px 8px rgba(20,34,76,.05); }
.efc-pol-nav a:hover { background:#2c286b; color:#fff; border-color:#2c286b; transform:translateY(-2px); }
.efc-pol-nav a i { font-size:13px; }

.efc-pol-card { background:#fff; border:1px solid #eceef5; border-radius:16px; padding:42px 44px; box-shadow:0 12px 34px rgba(20,34,76,.06); scroll-margin-top:110px; }
.efc-pol-card-head { display:flex; align-items:center; gap:18px; margin:0 0 24px; }
.efc-pol-ic { flex:0 0 auto; width:60px; height:60px; border-radius:16px; background:linear-gradient(135deg,#2c286b,#3a3590); color:#fff; display:flex; align-items:center; justify-content:center; font-size:25px; box-shadow:0 8px 20px rgba(44,40,107,.28); }
.efc-pol-card-head h3 { margin:0; color:#15224c; font-size:24px; font-weight:700; line-height:1.25; }
.efc-pol-card p { color:#555; font-size:15.5px; line-height:1.85; margin:0 0 14px; }
.efc-pol-card > p:last-child { margin-bottom:0; }
.efc-pol-sub { color:#15224c !important; font-weight:700; font-size:16px; margin:24px 0 14px !important; }

.efc-check-list, .efc-num-list { list-style:none; margin:8px 0 0; padding:0; }
.efc-check-list li { position:relative; padding:0 0 2px 34px; margin:0 0 13px; color:#555; font-size:15.5px; line-height:1.72; }
.efc-check-list li:last-child, .efc-num-list li:last-child { margin-bottom:0; }
.efc-check-list li:before { content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900; position:absolute; left:0; top:3px; color:#2c286b; font-size:13px; }
.efc-num-list { counter-reset:efcnum; }
.efc-num-list li { position:relative; padding:3px 0 3px 44px; margin:0 0 15px; color:#555; font-size:15.5px; line-height:1.72; counter-increment:efcnum; min-height:28px; }
.efc-num-list li:before { content:counter(efcnum); position:absolute; left:0; top:0; width:28px; height:28px; border-radius:50%; background:rgba(44,40,107,.1); color:#2c286b; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }

.efc-pol-note { margin-top:22px; background:#eef0f8; border-left:4px solid #2c286b; border-radius:10px; padding:16px 20px; color:#15224c; font-size:14.5px; font-weight:600; line-height:1.6; }

@media (max-width:767px){
  .efc-pol-card{ padding:30px 22px; border-radius:14px; }
  .efc-pol-card-head{ gap:13px; margin-bottom:20px; }
  .efc-pol-ic{ width:50px; height:50px; font-size:21px; border-radius:13px; }
  .efc-pol-card-head h3{ font-size:19px; }
  .efc-pol-nav a{ padding:9px 16px; font-size:13px; }
}

/* ======================= Footer menu (bottom bar) ======================= */
.bottom-footer .efc-footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 24px; }
.bottom-footer .efc-footer-menu li { margin:0; }
.bottom-footer .efc-footer-menu a { color:#cfd3e0; font-size:14px; text-decoration:none; transition:color .2s ease; }
.bottom-footer .efc-footer-menu a:hover { color:#fff; }
@media (max-width:767px){ .bottom-footer .efc-footer-menu{ justify-content:center; margin:12px 0 0; } }

/* ======================= Mobile responsiveness fixes (site audit, Oct 2026) ======================= */
@media (max-width:767px){
  /* Home "1-2-3 steps" (bdevs-features): a theme .container rendered at 455px inside a narrow Elementor column, clipping text on the right */
  .elementor-widget-bdevs-features > .elementor-widget-container,
  .feature-style-one,
  .feature-style-one .container { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .feature-style-one .col-md-4 { width:100% !important; float:none !important; }

  /* Contact Form 7 fields were fixed-width and overflowed their column */
  .wpcf7-form .wpcf7-form-control-wrap,
  .wpcf7-form input.wpcf7-text,
  .wpcf7-form input.wpcf7-email,
  .wpcf7-form input.wpcf7-tel,
  .wpcf7-form input.wpcf7-number,
  .wpcf7-form input.wpcf7-date,
  .wpcf7-form textarea,
  .wpcf7-form select { width:100% !important; max-width:100% !important; box-sizing:border-box !important; }

  /* Wide content tables (e.g. product spec sheets) scroll horizontally instead of being clipped off-screen */
  .elementor-element table { display:block; width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* fix: bdevs-features has margin:-85px (desktop overlap) which breaks alignment on mobile */
@media (max-width:767px){
  .elementor-widget-bdevs-features > .elementor-widget-container { margin:0 !important; width:auto !important; }
}

/* fix: feature heading 24px made the longest single word (COMPLIANCE) overflow its card on mobile */
@media (max-width:767px){
  .feature-style-one .single-feature-style-one h3 { font-size:20px !important; line-height:1.3 !important; }
}

/* fix (revised): wide content tables scroll inside their wrapper instead of being clipped */
@media (max-width:767px){
  .elementor-element table { display:table !important; width:auto !important; max-width:none !important; overflow:visible !important; }
  div:has(> table) { overflow-x:auto !important; -webkit-overflow-scrolling:touch; max-width:100%; }
}

/* feature section (1-2-3 steps): the desktop overlap margin also breaks at tablet widths (768-991), so disable it below the 3-column layout */
@media (max-width:991px){
  .elementor-widget-bdevs-features > .elementor-widget-container { margin:0 !important; width:auto !important; max-width:100% !important; }
  .feature-style-one, .feature-style-one .container { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .feature-style-one .col-md-4 { width:100% !important; float:none !important; }
}

/* hide theme's placeholder "Logo" heading (class 'displaynone' had no rule defined) */
.displaynone { display:none !important; }

/* ===== Uniform SQUARE sub-category tile images (transparent product on grey gradient) =====
   Loading Arms (term-64) and Agitator/Mixers (term-74) list sub-categories as loop-grid cards
   (template 1242); the featured image is a background-image on .elementor-element-ed1484d.
   Those featured images were replaced with background-removed TRANSPARENT PNGs on a uniform square
   canvas (Pillow flood-fill job, Oct 2026). Here each tile is sized 1:1, the product is CONTAINED
   (no crop) and a soft grey gradient is painted BEHIND it via ::before (z-index -1; ed1484d is not
   a stacking context, so the gradient sits under the product). Each product now floats on one
   seamless grey gradient box - no white framing. The navy caption band (a section background showing
   through the card transparent lower block) is untouched. Scoped to these two trees only. */
body.term-64 .elementor-widget-loop-grid .elementor-element-ed1484d,
body.term-74 .elementor-widget-loop-grid .elementor-element-ed1484d{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:transparent !important;
    background-origin:content-box !important;
    padding:0 !important;
    box-sizing:border-box !important;
    position:relative !important;
    z-index:auto !important;
	height: 190px !important;
}
body.term-64 .elementor-widget-loop-grid .elementor-element-ed1484d::before,
body.term-74 .elementor-widget-loop-grid .elementor-element-ed1484d::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-1 !important;
    pointer-events:none !important;
    background:linear-gradient(145deg,#f5f6f8 0%,#eceef1 45%,#e1e3e8 100%) !important;
}

/* ===== Product-listing thumbnails (leaf sub-category pages) =====
   Products under Loading Arms & Agitator/Mixers list via an elementor 'posts' widget whose
   .elementor-post__thumbnail CROPPED each photo to a fixed landscape frame. The product featured
   images were replaced with background-removed TRANSPARENT square PNGs. Make every thumbnail a
   uniform 1:1 SQUARE and CONTAIN the whole product (no crop). The grey gradient is painted via a
   ::before layer (the thumbnail's own background is overridden by the widget, so ::before is used),
   with the product <img> stacked above it. Scoped to the 15 leaf sub-category term body classes. */
body.term-92 .elementor-widget-posts .elementor-post__thumbnail,
body.term-93 .elementor-widget-posts .elementor-post__thumbnail,
body.term-94 .elementor-widget-posts .elementor-post__thumbnail,
body.term-95 .elementor-widget-posts .elementor-post__thumbnail,
body.term-98 .elementor-widget-posts .elementor-post__thumbnail,
body.term-107 .elementor-widget-posts .elementor-post__thumbnail,
body.term-108 .elementor-widget-posts .elementor-post__thumbnail,
body.term-109 .elementor-widget-posts .elementor-post__thumbnail,
body.term-110 .elementor-widget-posts .elementor-post__thumbnail,
body.term-111 .elementor-widget-posts .elementor-post__thumbnail,
body.term-112 .elementor-widget-posts .elementor-post__thumbnail,
body.term-113 .elementor-widget-posts .elementor-post__thumbnail,
body.term-114 .elementor-widget-posts .elementor-post__thumbnail,
body.term-115 .elementor-widget-posts .elementor-post__thumbnail,
body.term-116 .elementor-widget-posts .elementor-post__thumbnail{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:4px;
    isolation:isolate !important;
}
body.term-92 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-93 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-94 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-95 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-98 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-107 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-108 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-109 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-110 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-111 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-112 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-113 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-114 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-115 .elementor-widget-posts .elementor-post__thumbnail::before,
body.term-116 .elementor-widget-posts .elementor-post__thumbnail::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background:linear-gradient(145deg,#f5f6f8 0%,#eceef1 45%,#e1e3e8 100%) !important;
}
body.term-92 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-93 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-94 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-95 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-98 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-107 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-108 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-109 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-110 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-111 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-112 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-113 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-114 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-115 .elementor-widget-posts .elementor-post__thumbnail img,
body.term-116 .elementor-widget-posts .elementor-post__thumbnail img{
    position:absolute !important;
    top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
    transform:none !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    padding:12px !important;
    box-sizing:border-box !important;
    z-index:1 !important;
}

.contact-info-style-one .contact-infos .single-contact-infos + .single-contact-infos{
	margin: 0 !important;
}

footer.site-footer .footer-widget.subscribe-widget h3, 
footer.site-footer .footer-widget.subscribe-widget p,
footer.site-footer .bottom-footer p{
	color: #000 !important;
}

footer.site-footer .footer-widget ul.links-list li a, footer a {
    color: #2c296b !important;
	
}

@media (max-width: 480px) {
    .header-top .header-right-info {
        display: none !important;
    }
	    .header-navigation {
        padding-left: 15px;
        padding-right: 15px;
    }
	.elementor-element.elementor-element-932bf30 {
    margin-top: 80px;
    position: unset;
    padding: 0;
}
	.feature-style-one .single-feature-style-one .icon-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    margin-bottom: 10px;
}

.single-feature-style-one {
    text-align: center !important;
}
	.logo.pull-left {
    margin-bottom: 20px;
}
}
