/* ==========================================================================
   MechWorlds 3D layer
   Loaded after style.css and responsive.css, so it only has to win ties.
   Everything here is additive: delete this file and the link to it and the
   site falls back to the original theme.

   Motion rules
   - Only transform, opacity and custom properties are animated.
   - Pointer tilt only runs on devices with a fine pointer that can hover.
   - prefers-reduced-motion turns every animation and tilt off.
   - Anything hidden until it scrolls into view depends on html.mw-reveal-on,
     which plugins/mw3d.js adds and removes again if the observer dies.
   ========================================================================== */

:root {
    --mw-amber: #fbad1a;
    --mw-amber-deep: #d68f06;
    --mw-amber-soft: #fff4dc;
    --mw-navy: #072d4d;
    --mw-navy-2: #0c4372;
    --mw-navy-deep: #041d33;
    --mw-ink: #1b2633;
    --mw-muted: #5b6878;
    --mw-line: #e3e8ee;
    --mw-bg: #f4f6f9;
    --mw-radius: 14px;
    --mw-shadow-1: 0 1px 2px rgba(7, 45, 77, .06), 0 4px 12px rgba(7, 45, 77, .08);
    --mw-shadow-2: 0 2px 4px rgba(7, 45, 77, .06), 0 12px 28px rgba(7, 45, 77, .14);
    --mw-shadow-3: 0 4px 8px rgba(7, 45, 77, .08), 0 24px 48px rgba(7, 45, 77, .22);
    --mw-ease: cubic-bezier(.2, .8, .2, 1);
}

/* --------------------------------------------------------------------------
   0. Base
   -------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body {
    font-family: 'Poppins', sans-serif;
    color: var(--mw-ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
img { max-width: 100%; }
::selection { background: var(--mw-amber); color: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--mw-amber);
    outline-offset: 2px;
}

/* scroll progress bar: pure CSS, only where scroll timelines exist */
@supports (animation-timeline: scroll()) {
    body::before {
        content: "";
        position: fixed;
        top: 0; left: 0; right: 0;
        height: 3px;
        background: linear-gradient(90deg, var(--mw-amber), #ffd36b);
        transform-origin: 0 50%;
        transform: scaleX(0);
        z-index: 2000;
        animation: mw-progress linear both;
        animation-timeline: scroll(root);
    }
    @keyframes mw-progress { to { transform: scaleX(1); } }
}

/* --------------------------------------------------------------------------
   1. 3D buttons
   -------------------------------------------------------------------------- */
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button,
.offer-wraper .item a.btn,
.about .button a.btn,
.our-team .team-text a.btn,
.quote-request a.btn,
.finance-navbar .button a,
.contact_us-second .contact-form button.btn,
.mw-btn {
    position: relative;
    display: inline-block;
    border: 0;
    border-radius: 10px;
    padding: 13px 30px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(180deg, #ffbf3d 0%, var(--mw-amber) 55%, #f2a10b 100%);
    box-shadow: 0 5px 0 var(--mw-amber-deep), 0 10px 22px rgba(214, 143, 6, .35);
    transform: translateY(0);
    transition: transform .18s var(--mw-ease), box-shadow .18s var(--mw-ease), background .3s;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button:hover,
.offer-wraper .item a.btn:hover,
.about .button a.btn:hover,
.our-team .team-text a.btn:hover,
.quote-request a.btn:hover,
.finance-navbar .button a:hover,
.contact_us-second .contact-form button.btn:hover,
.mw-btn:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 7px 0 var(--mw-amber-deep), 0 16px 28px rgba(214, 143, 6, .4);
}
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button:active,
.offer-wraper .item a.btn:active,
.about .button a.btn:active,
.our-team .team-text a.btn:active,
.quote-request a.btn:active,
.finance-navbar .button a:active,
.contact_us-second .contact-form button.btn:active,
.mw-btn:active {
    transform: translateY(4px);
    box-shadow: 0 1px 0 var(--mw-amber-deep), 0 4px 10px rgba(214, 143, 6, .3);
}
/* navy variant */
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button.inverse,
.quote-request a.btn {
    background: linear-gradient(180deg, #0f4f84 0%, var(--mw-navy) 100%);
    box-shadow: 0 5px 0 var(--mw-navy-deep), 0 10px 22px rgba(4, 29, 51, .35);
}
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button.inverse:hover,
.quote-request a.btn:hover {
    box-shadow: 0 7px 0 var(--mw-navy-deep), 0 16px 28px rgba(4, 29, 51, .4);
}
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button.inverse:active,
.quote-request a.btn:active {
    box-shadow: 0 1px 0 var(--mw-navy-deep), 0 4px 10px rgba(4, 29, 51, .3);
}
/* hover.css paints a sweep behind these; it fights the gradient, so mute it */
.hvr-bounce-to-right:before, .hvr-bounce-to-right2:before { display: none !important; }

/* --------------------------------------------------------------------------
   2. Top header and navigation
   -------------------------------------------------------------------------- */
.main-header { padding: 22px 0 16px; }
/* logo, address, phone and social on one centred line */
@media (min-width: 768px) {
    .main-header { padding: 16px 0; }
    .main-header > .container > .row { display: flex; align-items: center; flex-wrap: nowrap; }
    .main-header > .container > .row:before,
    .main-header > .container > .row:after { display: none; }
    .main-header .col-md-3:first-child,
    .main-header .col-md-3:last-child { flex: 0 0 auto; width: auto; float: none; }
    .main-header .col-md-6 { flex: 1 1 auto; width: auto; float: none; display: flex; justify-content: center; }
    .main-header .logo { margin: 0; text-align: left; }
    .main-header .logo a { display: block; }
    .main-header .logo-img { display: block; width: 260px; max-width: 100%; height: auto; margin: 0; }
    .main-header .general-info { float: none; }
    .main-header .general-info ul { display: flex; align-items: center; gap: 40px; margin: 0; padding: 0; }
    .main-header .general-info ul li { display: flex; align-items: center; gap: 12px; margin: 0; }
    .main-header .general-info .icon,
    .main-header .general-info .text { float: none; margin: 0; }
    .main-header .general-info .text p { margin: 0; line-height: 1.45; }
    .main-header .general-info .text p > br { display: none; }
    .main-header ul span.add {
        display: block;
        margin-bottom: 2px;
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 1.4px;
        text-transform: uppercase;
        color: var(--mw-muted);
    }
    .main-header ul span { font-size: 14px; font-weight: 600; color: var(--mw-ink); }
    .main-header ul span a { color: var(--mw-ink); font-weight: 600; }
    .main-header ul span a:hover { color: var(--mw-amber-deep); text-decoration: none; }
    .main-header .social-icons { float: none; padding: 0; }
    .main-header .social-icons ul { display: flex; gap: 8px; margin: 0; padding: 0; }
    .main-header .social-icons ul li { margin: 0; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .main-header .logo-img { width: 220px; }
    .main-header .general-info ul li:first-child { display: none; }
}
.main-header .icon i {
    width: 42px; height: 42px;
    line-height: 42px;
    text-align: center;
    font-size: 18px;
    border-radius: 12px;
    background: var(--mw-amber-soft);
    box-shadow: inset 0 -3px 0 rgba(214, 143, 6, .25);
}
.main-header .text { margin-left: 12px; }
.main-header .social-icons ul li a,
.main-footer .social-icons ul li a {
    border-radius: 10px;
    background: var(--mw-navy);
    color: #fff;
    box-shadow: 0 3px 0 var(--mw-navy-deep);
    transition: transform .2s var(--mw-ease), background .2s, box-shadow .2s;
}
.main-footer .social-icons ul li a { background: rgba(255, 255, 255, .12); box-shadow: 0 3px 0 rgba(0, 0, 0, .25); }
.main-header .social-icons ul li a:hover,
.main-footer .social-icons ul li a:hover {
    background: var(--mw-amber);
    transform: translateY(-3px);
    box-shadow: 0 6px 0 var(--mw-amber-deep);
}

.main-menu-one {
    background: linear-gradient(180deg, var(--mw-navy-2) 0%, var(--mw-navy) 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset;
    position: relative;
    z-index: 900;
}
.main-menu-one.sticky {
    background: rgba(7, 45, 77, .92);
    -webkit-backdrop-filter: saturate(160%) blur(10px);
            backdrop-filter: saturate(160%) blur(10px);
    box-shadow: 0 10px 30px rgba(4, 29, 51, .28);
    min-height: 0 !important;
}
/* placeholder that holds the menu's height while it is fixed, so the page
   does not jump up by ~70px the moment you scroll past 200px */
.mw-nav-spacer { display: none; }
.mw-nav-spacer.on { display: block; }

@media (min-width: 768px) {
    .main-menu-one > .container > .row { display: flex; align-items: center; }
    .main-menu-one > .container > .row:before,
    .main-menu-one > .container > .row:after { display: none; }
    .main-menu-one .col-md-9 { flex: 1 1 auto; width: auto; }
    .main-menu-one .get-quotes { flex: 0 0 auto; width: auto; display: flex; align-items: center; }
    #main-navigation-wrapper .nav > li { padding: 0; }
    #main-navigation-wrapper .nav > li > a,
    #main-navigation-wrapper .nav > li:first-child > a {
        position: relative;
        padding: 24px 14px;
        font-size: 13.5px;
        letter-spacing: .6px;
        color: rgba(255, 255, 255, .86);
        transition: color .2s;
    }
    #main-navigation-wrapper .nav > li > a:after {
        content: "";
        position: absolute;
        left: 14px; right: 14px; bottom: 16px;
        height: 3px;
        border-radius: 3px;
        background: var(--mw-amber);
        transform: scaleX(0);
        transform-origin: 0 50%;
        transition: transform .3s var(--mw-ease);
    }
    #main-navigation-wrapper .nav > li > a:hover,
    #main-navigation-wrapper .nav > li > a:focus,
    #main-navigation-wrapper .nav > li.mw-active > a { color: #fff; background: transparent; }
    #main-navigation-wrapper .nav > li > a:hover:after,
    #main-navigation-wrapper .nav > li.mw-active > a:after { transform: scaleX(1); }
    .finance-navbar .button a { padding: 12px 22px; margin: 0; }
    .main-menu-one .get-quotes .button-wraper { float: none !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
    #main-navigation-wrapper .nav > li > a,
    #main-navigation-wrapper .nav > li:first-child > a { padding: 22px 9px; font-size: 12px; letter-spacing: .2px; }
    #main-navigation-wrapper .nav > li > a:after { left: 9px; right: 9px; }
}

/* mobile menu */
@media (max-width: 767px) {
    .main-header { text-align: center; padding: 16px 0 6px; }
    .main-header .logo { margin: 0 0 12px; }
    .main-header .logo-img { width: 210px; margin: 0 auto; }
    /* address is repeated in the footer; on a phone the call link earns the space */
    .main-header > .container > .row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
    .main-header > .container > .row:before, .main-header > .container > .row:after { display: none; }
    .main-header .col-md-3:first-child { flex: 1 0 100%; }
    .main-header .col-md-6, .main-header .col-md-3:last-child { width: auto; float: none; padding: 0 8px; }
    .main-header .general-info { float: none; }
    .main-header .general-info ul { display: flex; margin: 0; padding: 0; }
    .main-header .general-info ul li:first-child { display: none; }
    .main-header ul li { margin: 0; text-align: left; }
    .main-header .general-info .text p { margin: 0; line-height: 1.35; }
    .main-header .general-info .text .add, .main-header .general-info .text p > br { display: none; }
    .main-header .social-icons { float: none; padding: 0; }
    .main-header .social-icons ul { padding: 0; }
    #main-navigation-wrapper.navbar-default {
        background: transparent;
        border-top: 0;
        padding: 10px 0;
    }
    #main-navigation-wrapper .navbar-header { margin: 0; }
    .navbar-default .navbar-toggle {
        margin: 0;
        padding: 10px 11px;
        border-radius: 10px;
        border: 0;
        background: rgba(255, 255, 255, .1);
        font-size: inherit;
    }
    .navbar-default .navbar-toggle .icon-bar { background: #fff; width: 22px; }
    .navbar-default .navbar-toggle:hover,
    .navbar-default .navbar-toggle:focus { background: var(--mw-amber); }
    .navbar-default .navbar-toggle:hover .icon-bar { background: #fff; }
    .navbar-default .navbar-collapse {
        margin: 10px 0 4px;
        border: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: var(--mw-shadow-3);
    }
    #main-navigation-wrapper .nav > li > a,
    #main-navigation-wrapper .nav > li:first-child > a,
    #main-navigation-wrapper .nav > li + li > a {
        padding: 14px 20px;
        border-top: 1px solid var(--mw-line);
        color: var(--mw-ink);
    }
    #main-navigation-wrapper .nav > li:first-child > a { border-top: 0; }
    #main-navigation-wrapper .nav > li.mw-active > a { color: var(--mw-amber-deep); background: var(--mw-amber-soft); }
}

/* --------------------------------------------------------------------------
   3. Hero
   -------------------------------------------------------------------------- */
#minimal-bootstrap-carousel { overflow: hidden; background: var(--mw-navy-deep); }
#minimal-bootstrap-carousel .carousel-inner { height: 680px; }
#minimal-bootstrap-carousel .carousel-inner .item { min-height: 0; overflow: hidden; }
/* mw3d.js moves each slide's photo into .mw-hero-bg so it can be animated
   without touching the slide element bootstrap animates */
.mw-hero-ready #minimal-bootstrap-carousel .carousel-inner .item { background-image: none !important; }
.mw-hero-bg {
    position: absolute;
    inset: -4%;
    background-size: cover;
    background-position: center right;
    transform: scale(1.04);
    will-change: transform;
}
#minimal-bootstrap-carousel .item.active .mw-hero-bg { animation: mw-kenburns 9s var(--mw-ease) both; }
@keyframes mw-kenburns {
    from { transform: scale(1.16) translate3d(1.5%, 0, 0); }
    to   { transform: scale(1.04) translate3d(0, 0, 0); }
}
.mw-hero-bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(4, 29, 51, .92) 0%, rgba(4, 29, 51, .72) 38%, rgba(4, 29, 51, .15) 75%, rgba(4, 29, 51, .05) 100%),
        linear-gradient(0deg, rgba(4, 29, 51, .6) 0%, rgba(4, 29, 51, 0) 40%);
}
#minimal-bootstrap-carousel .carousel-caption { z-index: 3; perspective: 1200px; }
#minimal-bootstrap-carousel .carousel-inner .item .carousel-caption .thm-container .box { vertical-align: middle; padding: 0 90px; }
@media (max-width: 767px) {
    #minimal-bootstrap-carousel .carousel-inner .item .carousel-caption .thm-container .box { vertical-align: bottom; padding: 0 20px 70px; }
}
#minimal-bootstrap-carousel .carousel-inner .item .carousel-caption .thm-container .box .content {
    float: none !important;
    max-width: 640px;
    padding: 0 !important;
    text-align: left;
    transform-style: preserve-3d;
    transform: rotateX(var(--mw-rx, 0deg)) rotateY(var(--mw-ry, 0deg));
    transition: transform .6s var(--mw-ease);
}
#minimal-bootstrap-carousel .carousel-caption h1,
#minimal-bootstrap-carousel .carousel-caption h2 {
    font-family: 'Poppins', sans-serif;
    color: #fff;
    margin: 0;
    text-align: left;
    font-size: 58px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.5px;
    text-shadow: 0 2px 0 rgba(0, 0, 0, .25), 0 18px 40px rgba(0, 0, 0, .45);
    translate: 0 0 60px;
}
#minimal-bootstrap-carousel .carousel-caption h1 span,
#minimal-bootstrap-carousel .carousel-caption h2 span {
    color: var(--mw-amber);
    background: linear-gradient(180deg, #ffd36b, var(--mw-amber) 60%, #f09a00);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
}
#minimal-bootstrap-carousel .carousel-caption p,
#minimal-bootstrap-carousel .slide-2 .carousel-caption p {
    font-style: normal;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .86);
    margin: 22px 0 8px;
    max-width: 560px;
    translate: 0 0 40px;
}
#minimal-bootstrap-carousel .carousel-caption .buttons { translate: 0 0 30px; display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button,
#minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button.inverse { margin: 0; }
#minimal-bootstrap-carousel .carousel-caption .mw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    -webkit-backdrop-filter: blur(6px);
            backdrop-filter: blur(6px);
    translate: 0 0 70px;
}
#minimal-bootstrap-carousel .carousel-caption .mw-eyebrow:before {
    content: "";
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--mw-amber);
    box-shadow: 0 0 0 4px rgba(251, 173, 26, .25);
}
#minimal-bootstrap-carousel .carousel-control {
    z-index: 5;
    width: 48px; height: 48px;
    line-height: 48px;
    font-size: 20px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    -webkit-backdrop-filter: blur(6px);
            backdrop-filter: blur(6px);
    opacity: 1;
    text-shadow: none;
}
#minimal-bootstrap-carousel .carousel-control:hover { background: var(--mw-amber); border-color: var(--mw-amber); }
#minimal-bootstrap-carousel .carousel-control.left { left: 2%; }
#minimal-bootstrap-carousel .carousel-control.right { right: 2%; }
.mw-hero-dots {
    position: absolute;
    left: 50%; bottom: 28px;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
    margin: 0; padding: 0;
    list-style: none;
}
.mw-hero-dots li {
    width: 34px; height: 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .3);
    cursor: pointer;
    transition: background .3s, width .3s var(--mw-ease);
}
.mw-hero-dots li.active { width: 56px; background: var(--mw-amber); }

/* floating gears (SVG injected by mw3d.js) */
.mw-gears {
    position: absolute;
    right: calc(2% + 70px); top: 50%;
    width: 440px; height: 440px;
    margin-top: -220px;
    z-index: 2;
    pointer-events: none;
    transform: translate3d(var(--mw-px, 0), var(--mw-py, 0), 0);
    transition: transform .8s var(--mw-ease);
}
/* no CSS filter here: a filter on a parent of a spinning element is
   re-rasterised every frame; the bevel is painted inside the SVG instead */
.mw-gear { position: absolute; display: block; pointer-events: none; }
.mw-gear svg { display: block; width: 100%; height: 100%; animation: mw-spin 24s linear infinite; }
.mw-gear.rev svg { animation-direction: reverse; }
@keyframes mw-spin { to { transform: rotate(360deg); } }
.mw-gears .g1 { width: 260px; height: 260px; right: 0; top: 30px; opacity: .8; }
.mw-gears .g2 { width: 150px; height: 150px; right: 218px; top: 0; opacity: .7; }
.mw-gears .g3 { width: 110px; height: 110px; right: 196px; top: 250px; opacity: .55; }
.mw-gears .g2 svg { animation-duration: 13.85s; }
.mw-gears .g3 svg { animation-duration: 10.15s; }

/* --------------------------------------------------------------------------
   4. Section headings
   -------------------------------------------------------------------------- */
.mw-kicker {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--mw-amber-deep);
}

/* --------------------------------------------------------------------------
   5. Tilt cards (generic)
   mw3d.js sets --mw-rx/--mw-ry and --mw-gx/--mw-gy while the pointer is over
   an element with .mw-tilt.
   -------------------------------------------------------------------------- */
.mw-tilt {
    position: relative;
    transform: perspective(900px) rotateX(var(--mw-rx, 0deg)) rotateY(var(--mw-ry, 0deg)) translateY(var(--mw-lift, 0));
    transform-style: preserve-3d;
    transition: transform .55s var(--mw-ease), box-shadow .4s var(--mw-ease);
    will-change: transform;
}
.mw-tilt.mw-tilting { transition: transform .12s linear, box-shadow .4s var(--mw-ease); }
.mw-tilt:hover { --mw-lift: -6px; }
.mw-glare {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at var(--mw-gx, 50%) var(--mw-gy, 0%), rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 55%);
    opacity: 0;
    transition: opacity .4s;
    z-index: 4;
    mix-blend-mode: soft-light;
}
.mw-tilt:hover .mw-glare { opacity: 1; }

/* --------------------------------------------------------------------------
   6. Service cards (home + Services page)
   -------------------------------------------------------------------------- */
.offer-wraper { padding: 90px 0 70px; background: linear-gradient(180deg, #fff 0%, var(--mw-bg) 100%); }
.offer-wraper > .container > .row { display: flex; flex-wrap: wrap; }
.offer-wraper > .container > .row:before,
.offer-wraper > .container > .row:after { display: none; }
.offer-wraper > .container > .row > [class*="col-"] { display: flex; margin-bottom: 30px; float: none; }
.offer-wraper .second { margin-top: 0; }
.offer-wraper .item {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border-radius: var(--mw-radius);
    box-shadow: var(--mw-shadow-1);
    overflow: hidden;
    padding-bottom: 22px;
}
.offer-wraper .item:hover { box-shadow: var(--mw-shadow-3); }
.offer-wraper .img-box,
.offer-wraper .item .img-box {
    width: 100% !important;
    height: 220px;
    margin: 0 0 20px;
    border-radius: 0;
    overflow: hidden;
    transform: translateZ(0);
}
.offer-wraper .img-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .8s var(--mw-ease);
}
.offer-wraper .item:hover .img-box img { transform: scale(1.09); }
.offer-wraper .item .default-overlay-outer,
.offer-wraper .item:hover .default-overlay-outer { top: 0; }
.offer-wraper .item .default-overlay-outer {
    opacity: 0;
    padding: 0;
    background: linear-gradient(180deg, rgba(7, 45, 77, .25), rgba(7, 45, 77, .78));
    transition: opacity .4s var(--mw-ease);
}
.offer-wraper .item:hover .default-overlay-outer { opacity: 1; }
.offer-wraper .item .default-overlay-outer .inner { display: flex; align-items: center; justify-content: center; }
.offer-wraper .item .default-overlay-outer .content-layer { transform: translateY(14px); transition: transform .45s var(--mw-ease); }
.offer-wraper .item:hover .default-overlay-outer .content-layer { transform: none; }
.offer-wraper .item a.btn { position: static; padding: 11px 24px; }
.offer-wraper .item h3 {
    margin: 0 22px 10px;
    font-size: 18px;
    line-height: 1.4;
    color: var(--mw-ink);
    translate: 0 0 24px;
}
.offer-wraper .item p {
    margin: 0 22px 14px;
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.75;
    color: var(--mw-muted);
    font-weight: 400;
}
.offer-wraper .item h6 { margin: 0 22px; translate: 0 0 18px; }
.offer-wraper .item h6 a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    font-weight: 600;
    color: var(--mw-amber-deep);
    text-decoration: none;
}
.offer-wraper .item h6 a:after {
    content: "\f178";
    font-family: FontAwesome;
    transition: transform .3s var(--mw-ease);
}
.offer-wraper .item:hover h6 a:after { transform: translateX(5px); }
.mw-card-num {
    position: absolute;
    top: 14px; left: 14px;
    z-index: 3;
    min-width: 40px; height: 40px;
    padding: 0 10px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    text-align: center;
    color: var(--mw-navy);
    background: var(--mw-amber);
    box-shadow: 0 4px 0 var(--mw-amber-deep), 0 10px 20px rgba(0, 0, 0, .25);
    translate: 0 0 40px;
}

/* --------------------------------------------------------------------------
   7. Quote band
   -------------------------------------------------------------------------- */
.quote {
    position: relative;
    overflow: hidden;
    padding: 64px 15px;
    background:
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, .07) 0 18px, rgba(255, 255, 255, 0) 18px 36px),
        linear-gradient(120deg, #ffc040 0%, var(--mw-amber) 50%, #f39d00 100%);
}
.quote h3 {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 900px;
    font-size: 30px;
    line-height: 1.45;
    font-weight: 700;
    color: #fff;
    text-shadow:
        0 1px 0 #e39a0a, 0 2px 0 #dc950a, 0 3px 0 #d58f09, 0 4px 0 #ce8a08,
        0 5px 0 #c78507, 0 12px 18px rgba(120, 70, 0, .35);
}
.quote .mw-gear { opacity: .18; filter: none; }
.quote .mw-gear.a { width: 220px; height: 220px; left: -60px; top: -70px; }
.quote .mw-gear.b { width: 160px; height: 160px; right: -40px; bottom: -60px; }

/* --------------------------------------------------------------------------
   8. About (home) + overview (About page)
   -------------------------------------------------------------------------- */
.about { padding: 100px 0; }
.about p, .overview p { font-size: 15px; line-height: 1.85; color: var(--mw-muted); font-weight: 400; }
.about ul li, .overview ul li { font-size: 14.5px; line-height: 1.7; padding: 6px 0 6px 30px; position: relative; color: var(--mw-ink); font-weight: 500; }
.about ul li i, .overview ul li i {
    position: absolute;
    left: 0; top: 9px;
    width: 20px; height: 20px;
    line-height: 20px;
    border-radius: 6px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    background: var(--mw-amber);
    box-shadow: 0 2px 0 var(--mw-amber-deep);
}
.about .button a.btn { margin-top: 26px; }
.about .picture-wraper { position: relative; padding: 0 0 26px 26px; perspective: 1200px; }
.about .picture-wraper:before {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 70%; height: 70%;
    border-radius: 22px;
    background:
        repeating-linear-gradient(45deg, rgba(255, 255, 255, .18) 0 10px, rgba(255, 255, 255, 0) 10px 20px),
        var(--mw-amber);
    transform: translateZ(-40px);
}
.about .picture-wraper .first {
    float: none;
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--mw-shadow-3);
}
.about .picture-wraper .first img { display: block; width: 100%; }
.overview .big-image, .overview .small-images > div { border-radius: 18px; overflow: hidden; box-shadow: var(--mw-shadow-2); }
.overview .big-image img, .overview .small-images img { display: block; width: 100%; }
.overview .small-images { display: flex; gap: 16px; margin-top: 16px; }
.overview .small-images .one, .overview .small-images .two { float: none; width: auto; flex: 1 1 0; margin: 0; }

/* --------------------------------------------------------------------------
   9. Numbers
   -------------------------------------------------------------------------- */
.numbers {
    position: relative;
    padding: 100px 0 !important;
    background-size: cover !important;
    background-attachment: scroll;
}
/* style.css points at img/numbers.jpg, which does not exist (a 404 on every
   home page load); the gradient below is the whole background now */
.numbers { background-image: none !important; background-color: var(--mw-navy-deep) !important; }
.numbers:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(4, 29, 51, .94), rgba(12, 67, 114, .82));
}
.numbers .container { position: relative; z-index: 1; }
.numbers h2 { color: #fff; font-size: 34px; margin-bottom: 0; }
.numbers .row.statistic > .col-md-8 { width: 100%; }
.numbers .row.statistic > .col-md-8 > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 26px;
    perspective: 1000px;
}
.numbers .box,
.numbers .box:first-child {
    float: none;
    margin: 0;
    width: 250px;
    padding: 34px 20px 28px;
    text-align: center;
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .16);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .2);
}
.numbers .number-box, .numbers .box .number-box {
    text-align: center;
    font-size: 54px;
    line-height: 1;
    font-weight: 700;
    color: var(--mw-amber);
    text-shadow: 0 3px 0 var(--mw-amber-deep), 0 14px 24px rgba(0, 0, 0, .35);
    translate: 0 0 40px;
}
.numbers .number-box:after { content: "+"; font-size: .6em; vertical-align: top; margin-left: 2px; }
.numbers .text-box p { text-align: center; margin-top: 14px; line-height: 1.5; font-size: 13px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255, 255, 255, .85); }

/* --------------------------------------------------------------------------
   10. Mission + FAQ
   -------------------------------------------------------------------------- */
.news { padding: 100px 0; background: var(--mw-bg) !important; }
/* new.jpg is only 200x155; show it at its own size beside the text */
.news .our-news .news1 figure {
    width: 200px; height: 155px;
    float: left;
    margin: 4px 22px 12px 0;
    border-radius: 18px;
    box-shadow: var(--mw-shadow-2);
}
.news .our-news .news1 figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news .our-news .news1 .text-box p { font-size: 15px; line-height: 1.8; color: var(--mw-muted); }
.toggle .toggle-heading a {
    border: 1px solid var(--mw-line);
    border-radius: 14px;
    padding: 18px 50px 18px 58px;
    box-shadow: var(--mw-shadow-1);
    transition: transform .25s var(--mw-ease), box-shadow .25s var(--mw-ease), border-color .25s;
}
.toggle .toggle-heading a:hover { transform: translateY(-2px); box-shadow: var(--mw-shadow-2); border-color: #ffd98c; }
#accordion .toggle i { border-color: #ffd98c; }
.toggle .toggle-body { padding: 16px 20px 6px; font-size: 15px; line-height: 1.75; color: var(--mw-muted); }

/* --------------------------------------------------------------------------
   11. Team
   -------------------------------------------------------------------------- */
.our-team { padding: 100px 0; }
/* .members follows a floated .col-md-12 on the About page; without clear it
   becomes a flex box squeezed beside the float and pushed off-screen */
.our-team .members { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; clear: both; width: 100%; }
.our-team .members .member, .our-team .members > [class*="col-"] .member {
    width: 280px;
    max-width: 100%;
    margin: 0;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--mw-shadow-2);
}
.our-team .members .member figure { width: 100%; height: 280px; margin: 0; }
.our-team .members .member figure img,
.our-team .members .member > div > img { width: 100% !important; height: 280px; object-fit: cover; object-position: center top; display: block; }
.our-team .members .member .author-info { border: 0; padding: 18px 20px 20px; text-align: left; }
.our-team .members .member .author-info ul li { line-height: 1.9; font-size: 13.5px; word-break: break-word; }
.our-team .members > [class*="col-"] { float: none; width: auto; padding: 0; }

/* --------------------------------------------------------------------------
   12. Partners
   -------------------------------------------------------------------------- */
.partners { background: var(--mw-bg); }
.partners #about-us-our-partners .owl-stage-outer { padding: 14px 4px 26px; }
.partners .image.partner-tile {
    border: 0;
    border-radius: 14px;
    box-shadow: var(--mw-shadow-1);
    transition: transform .4s var(--mw-ease), box-shadow .4s var(--mw-ease);
}
.partners .image.partner-tile:hover { transform: translateY(-6px) rotateX(8deg); box-shadow: var(--mw-shadow-3); }
.partners .item-partner { perspective: 700px; }

/* --------------------------------------------------------------------------
   13. Request-a-quote band
   -------------------------------------------------------------------------- */
.quote-request {
    position: relative;
    overflow: hidden;
    padding: 46px 0;
    background:
        radial-gradient(circle at 85% 30%, rgba(255, 255, 255, .25), rgba(255, 255, 255, 0) 45%),
        linear-gradient(110deg, #ffbb33, var(--mw-amber) 60%, #f29b00);
}
.quote-request .container { position: relative; z-index: 1; }
.quote-request .row { display: flex; align-items: center; flex-wrap: wrap; }
.quote-request .row:before, .quote-request .row:after { display: none; }
.quote-request h4 { margin: 0; font-size: 24px; line-height: 1.4; color: var(--mw-navy); }
.quote-request .col-md-3 { text-align: right; }
.quote-request a.btn { margin: 0; }
.quote-request .mw-gear { opacity: .16; filter: none; width: 200px; height: 200px; right: 3%; top: -60px; }

/* --------------------------------------------------------------------------
   14. Footer
   -------------------------------------------------------------------------- */
.main-footer {
    position: relative;
    overflow: hidden;
    background: radial-gradient(1200px 400px at 10% 0%, #0d4475 0%, rgba(13, 68, 117, 0) 60%), var(--mw-navy-deep);
}
.main-footer .container { position: relative; z-index: 1; }
.main-footer .mw-gear { opacity: .05; filter: none; width: 420px; height: 420px; right: -120px; bottom: -160px; }
.main-footer h2 { margin-bottom: 22px; }
.main-footer .solutions { margin-top: 0; }
.main-footer .solutions li { margin: 0 0 12px; }
.main-footer .contact-info li { margin-top: 0; margin-bottom: 16px; }
.main-footer .footer-news p:first-child { margin-top: 0; }
.main-footer figure { margin: 0; }
.main-footer .solutions li a { display: inline-block; transition: transform .25s var(--mw-ease), color .25s; }
.main-footer .solutions li a:hover { transform: translateX(6px); color: var(--mw-amber); }
.main-footer .contact-info li { display: flex; gap: 14px; align-items: flex-start; padding-left: 0; }
.main-footer .contact-info li i { flex: 0 0 auto; width: 18px; margin-top: 5px; color: var(--mw-amber); font-size: 16px; }
.main-footer .contact-info .address { float: none; color: #e7ecf2; line-height: 1.7; }
.main-footer .contact-info .address a { color: #e7ecf2; }
.main-footer .contact-info .address a:hover { color: var(--mw-amber); }
.footer-bottom { background: #031627; border: 0; }
.footer-bottom .pull-left { float: none !important; width: 100%; }
.footer-bottom .pull-left p { text-align: center; margin: 0; padding: 18px 0; }
.footer-bottom p, .footer-bottom a { color: rgba(255, 255, 255, .6); }
.footer-bottom a:hover { color: var(--mw-amber); }
a.scroll-top {
    border-radius: 14px;
    background: var(--mw-amber);
    box-shadow: 0 5px 0 var(--mw-amber-deep), 0 12px 24px rgba(0, 0, 0, .25);
    transition: transform .2s var(--mw-ease), box-shadow .2s;
}
a.scroll-top:hover { transform: translateY(-3px); }

/* --------------------------------------------------------------------------
   15. Inner page banner + breadcrumb
   -------------------------------------------------------------------------- */
.header-title {
    position: relative;
    overflow: hidden;
    height: auto;
    padding: 96px 0 104px;
    background-size: cover !important;
    background-position: center !important;
}
.header-title:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(4, 29, 51, .95) 0%, rgba(7, 45, 77, .85) 50%, rgba(7, 45, 77, .55) 100%);
}
.header-title .container { position: relative; z-index: 2; }
.header-title h1,
.header-title h2 {
    margin: 0;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    font-size: 46px;
    letter-spacing: -.3px;
    text-shadow: 0 2px 0 rgba(0, 0, 0, .3), 0 18px 36px rgba(0, 0, 0, .4);
}
.header-title h1:after,
.header-title h2:after {
    content: "";
    display: block;
    width: 64px; height: 5px;
    margin: 18px auto 0;
    border-radius: 5px;
    background: var(--mw-amber);
    box-shadow: 0 3px 0 var(--mw-amber-deep);
}
.header-title .mw-gear { z-index: 1; opacity: .22; filter: none; }
.header-title .mw-gear.a { width: 260px; height: 260px; right: -50px; top: -60px; }
.header-title .mw-gear.b { width: 150px; height: 150px; right: 170px; bottom: -70px; }
.header-title .mw-gear.c { width: 120px; height: 120px; left: -30px; bottom: -40px; opacity: .12; }
.page-nav {
    position: relative;
    z-index: 3;
    padding: 0;
    border: 0;
    margin-top: -26px;
}
.page-nav ul {
    display: table;
    margin: 0 auto;
    padding: 14px 26px;
    border-radius: 999px;
    background: #fff;
    box-shadow: var(--mw-shadow-2);
}
.page-nav ul li { margin: 0 4px; font-size: 14px; font-weight: 500; color: var(--mw-muted); }
.page-nav ul li a { color: var(--mw-navy); }
.page-nav ul li a:hover { color: var(--mw-amber-deep); }
.page-nav ul li span { color: var(--mw-amber-deep); font-weight: 600; text-transform: capitalize; }

/* --------------------------------------------------------------------------
   16. Projects page
   -------------------------------------------------------------------------- */
.projects-section { padding: 80px 0; }
.projects-section .thm-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding: 0 15px; }
.projects-section .thm-container > .item {
    width: auto;
    float: none;
    padding: 0;
    margin: 0;
    height: 260px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--mw-shadow-2);
    cursor: zoom-in;
}
.projects-section .thm-container > .item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--mw-ease); }
.projects-section .thm-container > .item:hover img { transform: scale(1.08); }
.projects-section .thm-container > .item .overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(7, 45, 77, .1), rgba(7, 45, 77, .7));
    opacity: 0;
    transition: opacity .4s var(--mw-ease);
    z-index: 2;
}
.projects-section .thm-container > .item .overlay,
.projects-section .thm-container > .item:hover .overlay { width: 100%; left: 0; right: 0; height: 100%; }
.projects-section .thm-container > .item:hover .overlay { opacity: 1; }
.projects-section .thm-container > .item .overlay span i { width: auto; height: auto; line-height: inherit; background: none; border-radius: 0; font-size: inherit; }
.projects-section .thm-container > .item .overlay span {
    width: 56px; height: 56px;
    line-height: 56px;
    border-radius: 50%;
    text-align: center;
    font-size: 20px;
    color: #fff;
    background: var(--mw-amber);
    box-shadow: 0 5px 0 var(--mw-amber-deep), 0 14px 24px rgba(0, 0, 0, .3);
    transform: translateY(12px) translateZ(40px);
    transition: transform .45s var(--mw-ease);
}
.projects-section .thm-container > .item:hover .overlay span { transform: translateZ(40px); }

/* --------------------------------------------------------------------------
   17. Gallery page
   -------------------------------------------------------------------------- */
.our-team-page { padding: 80px 0; }
.our-team-page .members { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; padding: 0 15px; clear: both; width: 100%; }
.our-team-page .members > [class*="col-"] { width: auto; float: none; padding: 0; }
.our-team-page .members .member { width: 100%; margin: 0; border-radius: 16px; overflow: hidden; box-shadow: var(--mw-shadow-1); cursor: zoom-in; background: #dde3ea; }
.our-team-page .members .member figure { width: 100%; height: auto; aspect-ratio: 1 / 1; margin: 0; }
.our-team-page .members .member figure img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--mw-ease); }
.our-team-page .members .member:hover figure img { transform: scale(1.08); }
.our-team-page .members .member figure .overlay {
    transform: none;
    opacity: 0;
    background: linear-gradient(180deg, rgba(7, 45, 77, 0), rgba(7, 45, 77, .6));
    transition: opacity .4s;
}
.our-team-page .members .member:hover figure .overlay { transform: none; opacity: 1; }
.our-team-page .members .member figure .overlay:after {
    content: "\f00e";
    font-family: FontAwesome;
    position: absolute;
    left: 50%; top: 50%;
    width: 50px; height: 50px;
    margin: -25px 0 0 -25px;
    line-height: 50px;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    background: var(--mw-amber);
    box-shadow: 0 4px 0 var(--mw-amber-deep);
}

/* lightbox (gallery + projects) */
.mw-lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 70px;
    background: rgba(3, 18, 32, .92);
    -webkit-backdrop-filter: blur(6px);
            backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
    perspective: 1400px;
}
.mw-lightbox.open { opacity: 1; visibility: visible; }
.mw-lightbox img {
    width: min(1000px, 100%);
    height: auto;
    max-height: 100%;
    object-fit: contain;
    border-radius: 14px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
    transform: rotateX(10deg) scale(.92);
    transition: transform .45s var(--mw-ease);
}
.mw-lightbox.open img { transform: none; }
.mw-lightbox button {
    position: absolute;
    width: 50px; height: 50px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    font-size: 22px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    cursor: pointer;
    transition: background .2s;
}
.mw-lightbox button:hover { background: var(--mw-amber); }
.mw-lightbox .mw-lb-close { top: 16px; right: 16px; }
.mw-lightbox .mw-lb-prev { left: 12px; top: 50%; margin-top: -25px; }
.mw-lightbox .mw-lb-next { right: 12px; top: 50%; margin-top: -25px; }
.mw-lightbox .mw-lb-count { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; color: rgba(255, 255, 255, .7); font-size: 13px; letter-spacing: 1px; }

/* --------------------------------------------------------------------------
   18. Products page
   -------------------------------------------------------------------------- */
.main-container2 { padding: 70px 0 40px; background: var(--mw-bg); }
.main-container2 .product {
    align-items: center;
    gap: 34px;
    margin: 0 0 34px;
    padding: 28px;
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mw-shadow-1);
    overflow: visible;
    flex-wrap: nowrap;
}
.main-container2 .product:nth-child(even) { flex-direction: row-reverse; }
.main-container2 .product > img,
.main-container2 .product .view-more-container {
    flex: 0 0 380px;
    width: 380px;
    max-width: 380px;
    border-radius: 16px;
    box-shadow: var(--mw-shadow-3);
}
.main-container2 .product > img { height: 280px; object-fit: cover; }
.main-container2 .product .view-more-container { position: relative; display: block; overflow: hidden; border-radius: 16px; }
.main-container2 .product .view-more-container a.view-more-container { box-shadow: none; flex: none; width: 100%; max-width: none; cursor: pointer; }
.main-container2 .product .view-more-container img { display: block; width: 100%; max-width: none; height: 280px; object-fit: cover; }
.main-container2 .product .view-more {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    padding: 12px 26px;
    border-radius: 10px;
    border: 2px solid #fff;
    background: rgba(7, 45, 77, .55);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    font-size: 14px;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.main-container2 .product-details { margin: 0; padding: 0; }
.main-container2 .product-title { font-size: 24px; line-height: 1.3; color: var(--mw-navy); margin-bottom: 14px; }
.main-container2 .product-description, .main-container2 .product-description p { font-size: 15px; line-height: 1.8; color: var(--mw-muted); }
.main-container2 .contact-link { align-self: flex-start; margin: 10px 0 0; font-size: 14px; }
.main-container2 a.contact-link.mw-btn, .main-container2 a.contact-link.mw-btn:hover { color: #fff; }
.main-container2 .contact-link:hover { text-decoration: none; }
#imageModal { z-index: 3000; background: rgba(3, 18, 32, .9); }
#imageModal .modal-content { border-radius: 18px; }

/* --------------------------------------------------------------------------
   19. Contact page
   -------------------------------------------------------------------------- */
.contact_us-second { padding: 80px 0; }
.contact_us-second .contact-form {
    padding: 30px;
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mw-shadow-2);
}
/* columns of unequal height made the floated grid snag and left the submit
   button stranded mid-form; a wrapping flex row cannot snag */
.contact_us-second .contact-form > .row { display: flex; flex-wrap: wrap; align-items: flex-start; }
.contact_us-second .contact-form > .row:before,
.contact_us-second .contact-form > .row:after { display: none; }
.contact_us-second .contact-form > .row > [class*="col-"] { float: none; }
.contact_us-second .contact-form > .row > .mw-form-note { flex: 1 0 100%; }
.contact_us-second .form-grp { margin-bottom: 18px; }
.contact_us-second .form-grp label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--mw-ink); }
.contact_us-second .contact-form .form-grp input,
.contact_us-second .contact-form .form-grp textarea {
    color: var(--mw-ink);
    font-weight: 400;
    margin: 0;
    max-height: none;
    width: 100%;
    border: 1.5px solid var(--mw-line);
    border-radius: 12px;
    padding: 13px 16px;
    font-size: 15px;
    background: #fbfcfd;
    box-shadow: inset 0 2px 4px rgba(7, 45, 77, .04);
    transition: border-color .2s, box-shadow .2s, background .2s;
    height: auto;
}
.contact_us-second .contact-form .form-grp input:focus,
.contact_us-second .contact-form .form-grp textarea:focus {
    outline: 0;
    border-color: var(--mw-amber);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(251, 173, 26, .18);
}
.contact_us-second .form-grp label.error { color: #c0392b; font-weight: 500; margin: 6px 0 0; }
.contact_us-second .contact-form button.btn { margin: 4px 15px 0; }
.contact_us-second .mw-form-note { margin: 16px 0 0; padding: 0 15px; font-size: 13px; color: var(--mw-muted); }
.contact_us-second .keep-in .contact-box {
    padding: 26px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(160deg, var(--mw-navy-2), var(--mw-navy-deep));
    box-shadow: var(--mw-shadow-3);
}
.contact_us-second .keep-in .contact-box h2 { color: #fff; }
.contact_us-second .keep-in .address-box { display: flex; gap: 14px; align-items: flex-start; margin-top: 18px; }
.contact_us-second .keep-in .address-box .icon-box {
    flex: 0 0 auto;
    width: 42px; height: 42px;
    line-height: 42px;
    text-align: center;
    border-radius: 12px;
    color: var(--mw-navy);
    background: var(--mw-amber);
    box-shadow: 0 3px 0 var(--mw-amber-deep);
    float: none;
    margin: 0;
}
.contact_us-second .keep-in .address-box .icon-box i { color: var(--mw-navy); font-size: 18px; line-height: 42px; }
.contact_us-second .keep-in ul.social-icons { display: flex; gap: 10px; padding: 0; margin: 0 0 30px; list-style: none; }
.contact_us-second .keep-in ul.social-icons li { margin: 0; }
.contact_us-second .keep-in ul.social-icons li a {
    display: block;
    width: 42px; height: 42px;
    line-height: 42px;
    text-align: center;
    border-radius: 12px;
    font-size: 16px;
    color: #fff;
    background: var(--mw-navy);
    box-shadow: 0 3px 0 var(--mw-navy-deep);
    transition: transform .2s var(--mw-ease), background .2s, box-shadow .2s;
}
.contact_us-second .keep-in ul.social-icons li a:hover { background: var(--mw-amber); transform: translateY(-3px); box-shadow: 0 6px 0 var(--mw-amber-deep); }
.contact_us-second .keep-in .address-text { margin: 0; color: rgba(255, 255, 255, .88); line-height: 1.7; float: none; }
.contact_us-second .keep-in .address-text a { color: #fff; }
.map-section .google-map { border-radius: 22px; overflow: hidden; box-shadow: var(--mw-shadow-2); margin-bottom: 70px; }
.map-section .google-map iframe { display: block; }

/* --------------------------------------------------------------------------
   20. Certificates (About page)
   -------------------------------------------------------------------------- */
.mw-certs { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; padding: 0 15px; perspective: 1000px; }
.mw-certs img { width: 300px; max-width: 100%; border-radius: 12px; background: #fff; padding: 10px; box-shadow: var(--mw-shadow-2); }

/* --------------------------------------------------------------------------
   21. Scroll reveal
   -------------------------------------------------------------------------- */
.mw-reveal-on .mw-r { opacity: 0; transform: translate3d(0, 34px, 0); }
.mw-reveal-on .mw-r.mw-in {
    opacity: 1;
    transform: none;
    transition: opacity .8s var(--mw-ease), transform .8s var(--mw-ease);
    transition-delay: var(--mw-d, 0s);
}

/* --------------------------------------------------------------------------
   22. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1199px) {
    .mw-gears { width: 360px; height: 360px; margin-top: -180px; right: 1%; transform-origin: 100% 50%; scale: .82; }
}
@media (max-width: 991px) {
    #minimal-bootstrap-carousel .carousel-inner { height: 600px; }
    #minimal-bootstrap-carousel .carousel-caption h1,
    #minimal-bootstrap-carousel .carousel-caption h2 { font-size: 44px; }
    .mw-gears { opacity: .35; }
    .numbers .box { width: 220px; }
    .projects-section .thm-container { grid-template-columns: repeat(2, 1fr); }
    .our-team-page .members { grid-template-columns: repeat(3, 1fr); }
    .main-container2 .product,
    .main-container2 .product:nth-child(even) { flex-direction: column; align-items: stretch; }
    .main-container2 .product > img,
    .main-container2 .product .view-more-container { flex: none; width: 100%; max-width: none; }
    .main-container2 .product-details { text-align: left; }
    .about .picture-wraper { margin-top: 40px; }
    .quote-request .col-md-3 { text-align: left; margin-top: 18px; }
    .contact_us-second .keep-in { margin-top: 30px; }
    /* bootstrap only sizes col-md-* from 992px; inside the flex row they
       would otherwise shrink to their content */
    .contact_us-second .contact-form > .row > [class*="col-"] { width: 100%; }
}
@media (max-width: 767px) {
    #minimal-bootstrap-carousel .carousel-inner { height: 560px; }
    /* keep the <br>s: the markup has no space around them ("Power<br>and") */
    #minimal-bootstrap-carousel .carousel-caption h1,
    #minimal-bootstrap-carousel .carousel-caption h2 { font-size: 34px; letter-spacing: 0; }
    #minimal-bootstrap-carousel .carousel-caption p { font-size: 15px; }
    #minimal-bootstrap-carousel .carousel-caption .mw-eyebrow { font-size: 10.5px; letter-spacing: 1px; padding: 6px 12px; }
    #minimal-bootstrap-carousel .carousel-caption .buttons a.thm-button { padding: 12px 20px; font-size: 13px; }
    #minimal-bootstrap-carousel .carousel-control { display: none; }
    .mw-hero-bg:after { background: linear-gradient(0deg, rgba(4, 29, 51, .95) 0%, rgba(4, 29, 51, .7) 55%, rgba(4, 29, 51, .35) 100%); }
    .mw-gears { right: -110px; top: 18%; opacity: .25; scale: .6; }
    .offer-wraper { padding: 60px 0 40px; }
    .quote { padding: 46px 15px; }
    .quote h3 { font-size: 21px; }
    .about, .news, .our-team { padding: 64px 0; }
    .numbers { padding: 64px 0 !important; }
    .numbers .box { width: 100%; max-width: 320px; }
    .header-title { padding: 64px 0 72px; }
    .header-title h1, .header-title h2 { font-size: 32px; }
    .page-nav ul { padding: 10px 20px; }
    .projects-section .thm-container { grid-template-columns: 1fr; gap: 18px; padding: 0 15px; }
    .projects-section .thm-container > .item { height: 220px; }
    .our-team-page .members { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .main-container2 .product { padding: 16px; gap: 18px; }
    .main-container2 .product > img,
    .main-container2 .product .view-more-container img { height: 220px; }
    .main-container2 .product-title { font-size: 20px; }
    .quote-request h4 { font-size: 19px; }
    .contact_us-second .contact-form { padding: 22px 8px; }
    .mw-lightbox { padding: 60px 10px; }
    .mw-lightbox .mw-lb-prev, .mw-lightbox .mw-lb-next { top: auto; bottom: 10px; margin: 0; }
    .mw-certs img { width: 100%; }
    .news .questions { margin-top: 50px; }
    .partners h2:before { left: 15px; }
}

/* --------------------------------------------------------------------------
   23. Reduced motion: no animation, no tilt, nothing hidden
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { animation: none !important; transition: none !important; }
    .mw-tilt { transform: none !important; }
    .mw-reveal-on .mw-r { opacity: 1; transform: none; }
    body::before { display: none; }
}
