/****************************************
*           Global style
*           v2_style.css
/****************************************/

:root{
    --main-color: rgba(44,86,151,1); /* #2c5697 */
    --main-foreground-color: black;
    --main-background-color: white;
    --main-cyan: rgba(105,179,231,1); /* #69b3e7 */
    --main-aqua: #00B2A9;
    --main-gold: #F0B323;
    --main-gray: #7C878E;
    --main-dark: #333F48;
    --main-light-gray: gainsboro;
    --sticky-dark-bg: rgba(12, 30, 52, 0.8); /* exact match to header */
}
h1 {
    font-size:  xx-large;
}
h2 {
    font-size: x-large;
}
h3 {
    font-size: larger;
}
h4 {
    font-size: large;
}

button{
    padding: 0;
}

img{
    max-width: 100%;
    vertical-align: middle;
}
a {
    color: #333F48;
    text-decoration: none;
}
a:hover{
    text-decoration: none;
    color: var(--main-color);
}
ol li{
    margin-bottom: 15px;
}
ul{
    padding: 0;
    margin: 0;
    list-style: none;
    line-height: 1.4;
}
p{
    line-height: 1.4;
}

html, body {
    margin: 0;
    height: 100%;
}
body{
    /*font-family: 'Dosis-Regular','TradeGothic','arial';*/
    font-family: 'TradeGothic', 'Arial Narrow', Arial, sans-serif;
    font-size: 16px;
    background-color: white;
    line-height: 1.4;
    width: 100%;
    overflow-x: hidden;
}

sup {
    /* Move the superscripted text up regardless of font*/
    font-size: 50%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
    top: -0.7em;
}


*,*:before,*:after{
    box-sizing: border-box;
    outline:none!important;
}
.container--mini{
    max-width: 960px;
}
figure{
    margin: 0;
}

.avdec-btn {
    background-color: var(--main-color)!important;
    color: white;
}
.u-m-t-0{margin-top: 0;}
.u-m-t-10{margin-top: 10px}
.u-m-t-20{margin-top: 20px}
.u-m-t-30{margin-top: 30px}
.u-m-t-40{margin-top: 40px}
.u-m-t-50{margin-top: 50px}
.u-m-t-60{margin-top: 60px}

.u-m-b-20{margin-bottom: 10px;}
.u-m-b-20{margin-bottom: 20px;}
.u-m-b-30{margin-bottom: 30px;}
.u-m-b-30{margin-bottom: 40px;}
.u-m-b-30{margin-bottom: 50px;}
.u-m-b-60{margin-bottom: 60px;}

.u-m-l-10{margin-left: 10px;}
.u-m-l-20{margin-left: 20px;}
.u-m-l-25{margin-left: 25px;}

.u-m-r-15{margin-right: 15px;}

.u-p-t-10{padding-top: 10px;}
.u-p-t-20{padding-top: 20px}
.u-p-t-30{padding-top: 30px}
.u-p-t-40{padding-top: 40px}
.u-p-t-50{padding-top: 50px}
.u-p-t-60{padding-top: 60px}

.u-p-b-30{padding-bottom: 30px}
.u-p-b-40{padding-bottom: 40px}
.u-p-b-50{padding-bottom: 50px}
.u-p-b-60{padding-bottom: 60px}

.u-p-tb-15{
    padding-top: 15px;
    padding-bottom: 15px;
}

.u-relative{
    position: relative;
}
.u-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display:    -moz-box;
    display: -ms-flexbox;
    display:         flex;
}

.u-flex--wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.u-flex--content-center {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.u-flex--content-between {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.u-flex--content-start {
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -ms-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.u-flex--content-end {
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.u-flex--item-center {
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-box-align: center;
    -ms-flex-align: center;
}

.clear::before,.clear::after,
section::before,section::after  {
    display: block;
    clear: both;
    content: "";
}
.img-block{
    width: 100%;
    display: block;
}
.img-med-thumb img{
    display: block;
    height: auto;
    max-width: 300px;
    border: 3px solid gray;
}
.has-border-top{
    margin-top: 10px;
    /*border-top: 1px solid #e5e5e5;*/
}
.has-border-top-2nd {
    border-top: 1px solid var(--main-color);
    margin-bottom: 30px;
}

.has-shadow{
    box-shadow: 0 0 30px rgba(82, 92, 118, 0.97);
}
.has-stycky-top{
    padding-top: 140px!important;
}
.has-stycky-top-title{
    padding-top: 140px!important;
    margin-bottom: -60px!important;
}

.mfp-bg,.mfp-wrap{
    z-index: 99999999999999999999;
}
.def-img{
    margin: 15px 0;
}
.text-on-line{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
/*grid style*/

/** wrapper2 used on HomePage only - Mark 10/24/19 **/
.wrapper2{
    width: 100vw;
    height: 100vh;
}
.wrapper{
    max-width: 1200px; /* 1140 */
    margin: 0 auto;
    padding: 20px 10px;
}
.wrapper-full{
    position: relative; /* added to add TagLine to top of page */
    padding: 0 15px;
    align-items: center;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
.text-top-home {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - 70px);
    padding-bottom: 40px;
    padding-top: 10px;
}
.row{
    display: flex;
    margin: 0 -15px;
}
.col1{
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0 15px;
}
.col2{
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 15px;
}
.col3{
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    padding: 0 15px;
}
.rowL{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.rowR{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.cola{
    flex: 0 0 40%;
    max-width: 40%;
    padding-left: 15px;
    border: 2px solid black;
    margin: 0;
    font-size: x-large;
}
.colb{
    flex: 0 0 60%;
    max-width: 60%;
    padding: 0;
}
@media screen and (max-width:600px) {
    .cola, .colb {
        width: 100%;
    }
}
@media screen and (max-width: 1700px) {
    .header-left .header-title {
        display: none;
    }

}
/****
 *   Style for mobile users
 *****/
.mobile-desktop-message{
    padding: 16px 18px;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 10px;
    background: rgba(0,0,0,.03);
    margin-top: 10px;
}

/****************************************
*           Fontface
/****************************************/

/* The only three @font-face rules for entire site */
@font-face {
    font-family: 'TradeGothic';
    src: url('../webfonts/TradeGothicLTStdLight.otf') format('opentype');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'TradeGothic';
    src: url('../webfonts/TradeGothicLTStdRegular.otf') format('opentype');
    font-weight: normal;
    font-display: swap;
}
@font-face {
    font-family: 'TradeGothic';
    src: url('../webfonts/TradeGothicLTStdBold.otf') format('opentype');
    font-weight: bold;
    font-display: swap;
}

/**************************************
*   Add to handle form font appearance, override plugin
**************************************/
/* Target both labels in your specific form */
#searchNSN label[for="product"],
#searchNSN label[for="searchterm"] {

    /* Force non-bold / normal weight */
    font-weight: normal !important;     /* or 400 if you prefer the numeric value */

    /* Bigger text – adjust as needed */
    font-size: 20px !important;         /* or 1.125rem, 19px, 1.2em, etc. */

    /* Optional: if you want to lighten it even more visually */
    /* font-weight: 300 !important; */  /* only if your TradeGothic has a light variant */

    /* Optional tweaks for better readability */
    line-height: 1.4;
    letter-spacing: 0.2px;
}

/****************************************
*           Components
/****************************************/

/*** breadcrumb ***/
.breadcrumb-area {
    background-color: #D0D3D4;
    border-bottom: 2px solid var(--main-color);
    position: fixed;
    top: 148px; /*123px;*/
    left: 0;
    width: 100%;
    z-index: 99;
    transition: .3s;
}
.scrolled .breadcrumb-area{
    top: 121px; /*96px;*/
}
.breadcrumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 5px 0 2px;
    list-style: none;
    font-size: 12px;
}

.breadcrumb-item+.breadcrumb-item::before {
    display: inline-block;
    padding-right: .5rem;
    padding-left: .5rem;
    color: #6c757d;
    content: "\e649";
    font-family: "themify";
    font-size: 12px;
    position: relative;
    top: 1px;
}


/*Table styling*/
.c-table {
    display: table;
    max-width: 100%;
    width: 100%;
    background-color: transparent;
    border-collapse: collapse;
    /*border-spacing: 0;*/
    /*border: 1px solid #dedede;*/
}
.c-thead {
    display: table-header-group;
    vertical-align: middle;
    /*border-color: inherit;*/
    background-color: var(--main-color); /*black;*/
    color: var(--main-light-gray);
    font-size: larger;
    /*font-weight: 700;*/
}
/*.c-thead .c-td{*/
/*    font-weight: 600;*/
/*}*/
.c-tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}
.c-tr {
    display: table-row;
    vertical-align: middle;
    border-color: inherit;
}

.c-tr-alt-color {
    background-color: #d8dcdb;
}
.c-td-dark {
    display: table-header-group;
    vertical-align: middle;
    /*border-color: inherit;*/
    background-color: var(--main-color); /*black;*/
    color: var(--main-light-gray);
    /*font-weight: 700;*/
    font-size: larger;
    /*border-bottom-color: gray!important;*/
}
/*** addded this to remove borders, generic single or multiple cells ***/
.c-td-plain {
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    min-width: 150px;
    width: auto;
    border: none !important;  /* Overrides any inherited border */
    background: transparent;  /* Optional: remove background if any */
}
.c-td {
    display: table-cell;
    vertical-align: middle;
    /*padding: 0.5rem;*/
    /*border: 1px solid #dedede;*/
    min-width: 150px;
    width: 33%;
    padding: 10px;
}
.c-td2 {
    display: table-cell;
    vertical-align: top;
    /*padding: 0.5rem;*/
    /*border: 1px solid #dedede;*/
    min-width: 150px;
    width: 50%!important;
    padding: 10px;
    border: 2px solid black;
}
.c-td3 {
    display: table-cell;
    vertical-align: top;
    /*padding: 0.5rem;*/
    /*border: 1px solid #dedede;*/
    min-width: 150px;
    width: 33%!important;
    padding: 10px;
    border: 2px solid black;
}
.c-td4 {
    display: table-cell;
    vertical-align: top;
    /*padding: 0.5rem;*/
    /*border: 1px solid #dedede;*/
    min-width: 150px;
    width: 25%!important;
    padding: 10px;
    border: 2px solid black;
}
.c-td5 {
    display: table-cell;
    vertical-align: middle;
    width: 20%!important;
    padding: 10px;
    min-width: 150px;
    border: 2px solid black;
}
.c-td2flex {
    display: table-cell;
    vertical-align: top;
    padding: 0.5rem;
    /*border: 1px solid #dedede;*/
    min-width: 150px;
    /*     width: 50%!important;*/
    padding: 10px;
}
.c-td2flex-w {
    width: 320px;
}
.c-td2-wrapper-img {
    border: 1px solid black;
    border-radius: 6px;
    margin-bottom: 20px;
}
.c-td2-wrapper-txt {
    padding-left: 5px;
    padding-right: 5px;
}
.c-td2-wrapper-img img {
    width: 300px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

/****************************************
*           Header
/****************************************/

.header{
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 9999999;
    background: var(--main-color);
    /*background: rgb(44,86,151);*/
    /*background: rgba(0, 51, 129, .837);*/
    padding: 15px 0;
}
.scrolled .header{
    padding: 10px 0;
}
.header .logo{}
.header .logo img{
    width: 210px;
    transition: .5s;
}
.header .content-right{
    min-width: 60%;
    margin-left: auto;
}
.header .content-right .mail span {
    color: #fff;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
    position: relative;
    top: -2px;
}
.header .content-right form{
    position: relative;
    margin-right: 40px;
}
.header .content-right form input{
    width: 250px;
    height: 30px;
    padding: 0 52px 0 12px;
    background: var(--main-color);
    border: 1px solid #fff;
    border-radius: 50px 0 0 50px;
    color: #fff;
}
.header .content-right form input::placeholder{
    color: #fff;
}
.header .content-right form button{
    background: #fff;
    border: 0;
    color: #333F48;
    height: 30px;
    cursor: pointer;
    padding: 0 10px;
}

.header .content-right form button i{
    display: none;
}
.header__nav{
    padding-top: 35px;
}
.header__nav ul{}
.header__nav ul li{
    margin-left: 35px;
}
.header__nav ul li a{
    color: #fff;
    text-transform: uppercase;
    white-space: nowrap;
}
.mobilemenu{
    display: none;
    text-align: right;
    color: #fff;
}

.text-top{
    display: block;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-shadow: 2px 2px 2px gray;
}


.text-top button {
    margin-top: 20px;
    color: white;
    padding: 10px 20px;
    border: 1px solid;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;

}

.text-top a{
    color: #fff;
    text-decoration: none;
}
.text-top a:hover {
    color: rgba(105,179,231,1);
    background: #fff;
}
.text-top-h1{
    color: #fff;
    margin-top: 12vh;
    margin-left: 35px;
    font-size: 50px;
    margin-bottom: 0;
    text-shadow:
            -1px -1px 0 var(--main-color),
            1px -1px 0 var(--main-color),
            -1px 1px 0 var(--main-color),
            1px 1px 0 var(--main-color);
}
.text-top-h2{
    max-width: 725px;
    color: #fff;
    margin-top: 0;
    margin-left: 15px;
    font-size: 23px;
    text-shadow:
            -1px -1px 0 var(--main-color),
            1px -1px 0 var(--main-color),
            -1px 1px 0 var(--main-color),
            1px 1px 0 var(--main-color);
}
.text-top p{
    color: #fff;
    font-size: 18px;
    margin-top: 0;
}

/* ============================================================= */
/* MOBILE MENU – DL-MENU (Responsive Off-Canvas / Slide-In Menu) */
/* ============================================================= */

/* Main wrapper – 3D perspective for mobile animations */
.dl-menuwrapper {
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
    -webkit-perspective-origin: 50% 200%;
    -moz-perspective-origin: 50% 200%;
    perspective-origin: 50% 200%;
}

.dl-menuwrapper button { border: none; overflow: hidden; cursor: pointer; outline: none; }
.dl-menuwrapper ul { padding: 0; list-style: none; }
.dl-menuwrapper li { position: relative; }
.dl-menuwrapper li a { display: block; position: relative; outline: none; white-space: normal; }

/* Hover background (desktop + touch devices) */
.no-touch .dl-menuwrapper li a:hover { background: rgba(105,179,231,1); }

.dl-menuwrapper li.dl-back > a { display: inline-block; }
.dl-menuwrapper li.dl-back > a:after {
    content: "\e649"; font-family: "themify"; color: #fff; font-size: 12px; margin-left: 4px;
}
.dl-menuwrapper li > a:after { right: 10px; color: var(--main-color); }

/* Mobile sliding panel */
.dl-menuwrapper .dl-menu {
    margin: 0; position: absolute; width: 250px; opacity: 0; pointer-events: none; right: 0;
}
.dl-menuwrapper .dl-menu.dl-menu-toggle { transition: all 0.3s ease; }
.dl-menuwrapper .dl-menu.dl-menuopen { opacity: 1; pointer-events: auto; }

/* Hide/show logic for submenus in mobile */
.dl-menuwrapper li .dl-submenu { display: none; }
.dl-menu.dl-subview li,
.dl-menu.dl-subview li.dl-subviewopen > a,
.dl-menu.dl-subview li.dl-subview > a { display: none; }
.dl-menu.dl-subview li.dl-subview,
.dl-menu.dl-subview li.dl-subview .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu > li { display: block; }

/* Desktop full-width dropdowns (rarely used) */
.dl-menuwrapper > .dl-submenu {
    position: absolute; width: 100%; top: 50px; left: 0; margin: 0;
}

/* ============================================================= */
/* ANIMATIONS – IN & OUT (mobile only) – untouched, shortened for clarity */
/* ============================================================= */
/* (All your original @keyframes and .dl-animate-in/out rules remain unchanged – kept exactly as-is) */

/* ============================================================= */
/* NO-JAVASCRIPT FALLBACK */
/* ============================================================= */
.no-js .dl-menuwrapper .dl-menu { position: relative; opacity: 1; transform: none; }
.no-js .dl-menuwrapper li .dl-submenu { display: block; }
.no-js .dl-menuwrapper li.dl-back { display: none; }
.no-js .dl-menuwrapper li > a:not(:only-child) { background: rgba(0,0,0,0.1); }
.no-js .dl-menuwrapper li > a:not(:only-child):after { content: ''; }

/* ============================================================= */
/* GENERAL NAVIGATION & DESKTOP DROPDOWNS */
/* ============================================================= */
div:after, .nav-main:after, .nav-main-list:after, .image-thumb-list:after,
.nav-footer-list:after, .contact-info-list:after, aside:after,
.special-offer:after, .page-footer:after, .buttons:after {
    content: ""; display: table; clear: both;
}
a { text-decoration: none; }

/* Main nav container */
.nav-main {}

/* Reset lists */
.nav-main-list, .nav-sub-list { list-style: none; padding: 0; }

/* Mobile main menu background */
.nav-main-list { width: 100%; margin: 0 auto; background: var(--main-color); }

/* Mobile menu items */
.nav-main-item { display: block; width: 100%; }
.nav-main-item > a { display: block; color: #fff; padding: 9px 0; white-space: nowrap; }

/* Hamburger icon */
.nav-handle {
    position: absolute; right: -30px; top: -65px; display: none; cursor: pointer;
    width: 38px; height: 0; padding: 5px 5px 30px; background: transparent;
    color: green; font-size: 9px; font-weight: bold; text-transform: uppercase;
}
/* Phone-safe adjustment: use env() to add buffer on top of your value */
/*@supports (padding-top: env(safe-area-inset-top)) {*/
/*    .nav-handle {*/
/*        top: calc(-40px + env(safe-area-inset-top)) !important;  !* adds phone's safe area to your base *!*/
/*    }*/
/*}*/
.nav-handle:after {
    content: ''; display: block; width: 24px; height: 3px;
    position: absolute; top: 7px; left: 13px; background: #fff;
    box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;
}

/* ============================================================= */
/* DESKTOP DROPDOWNS – FINAL & CLEAN VERSION */
/* ============================================================= */

/* First-level dropdown – opens directly BELOW the parent */
.nav-sub-list {
    position: absolute;
    left: 0;
    width: 250px;
    top: 100% !important;
    margin-top: 0!important;
    transform: translateY(1px);
    background: var(--main-color);
    white-space: nowrap;
    display: none;
    padding: 0 10px;
    right: 0;
    z-index: 999999999;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);   /* beautiful subtle shadow */
}

/* Last top-level item – prevent dropdown going off-screen */
.nav-main-item:last-child > .nav-sub-list {
    left: auto !important;
    right: 0 !important;
}

/* Submenu links */
.nav-sub-item > a, .dl-back > a {
    color: #fff; display: block; padding: 8px 10px;
}

/* Mobile menu open state fix */
.menu-show .is-sticky .figure__btn {
    pointer-events: none; z-index: 1;
}
/* HOVER EFFECT FOR 2ND-LEVEL+ SUBMENUS – black → blue */
.nav-main .dl-menu .nav-sub-list .nav-sub-item:hover,
.nav-main .dl-menu .nav-sub-sub .nav-sub-item:hover {
    background-color: var(--main-color) !important;   /* your main blue */
}
/* 2ND-LEVEL+ SUBMENUS – same drop shadow + perfect vertical alignment */
.nav-main .dl-menu .nav-sub-list .nav-sub-list,
.nav-main .dl-menu .nav-sub-sub {
    top: 0 !important;                                 /* aligns perfectly with parent item */
    margin-top: -12px !important;                      /* pulls it up so top edge matches */
}

/****************************************
*           Home Intro
/****************************************/

.home-intro {
    position: relative;
    z-index: 9999;
    height: 100vh;
    align-items: center;
    padding-top: 120px;
    overflow: hidden;
}
.video-wrap{
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

}
.video-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.video-wrap video, .video-wrap img {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.featured{}
.featured .box{
    background: #fff;
    margin: 0 15px;
    width: 310px;
    border-radius: 4px;
    opacity: .5;
    position: relative;
}

.box figure img{
    width: 100%;
    transition: .3s;
}
.ft-product .text{
    padding: 15px;
}
.ft-product:hover img{
    opacity: .7;
}

.ft-content{
    padding: 25px;
}

.ft-content p{
    margin-top: 15px;
    margin-bottom: 0;
}

/****************************************
*           Home body content
/****************************************/

.home-ct-top {
    padding: 60px 0 60px;
    border-top: 1px solid #e5e5e5;
}
.home-ct-top.home{
    margin-top: -60px;
}
.home-ct-top .content-left{
    background: #e9ecef;
    padding-bottom: 10px;
    /*padding-bottom: 10px!important;*/
}
.home-ct-top .content-left p{
    margin-top: 0;
}
.home-ct-top .content-left a{
    color: var(--main-color);
}
.home-ct-top .content-left ul{
    padding-left: 20px;
}
.home-ct-top .content-left ul li{
    margin-bottom: 10px;
    list-style: circle;
}
.home-ct-top .content-left,
.home-ct-top .content-right{
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 15px;
}
.content-left-alt{
    flex: 0 0 75%;
    max-width: 75%;
    padding-right: 30px;
}
.content-right-alt{
    flex: 0 0 75%;
    max-width: 75%;
    padding-left: 30px;
}
.order2{
    order: 2;
}
.order1{
    order: 1;
}
.home-ct-top .content-mid{
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 15px;
    padding-left: 40px;
}
.home-ct-top .c-list{}
.home-ct-top .c-list a{
    display: block;
    margin-bottom: 18px;
}
/****************************************
*       Convention & Trade Show Carousel
*****************************************/
.conventions-sec .working {
    margin-bottom: 30px;
}
/*.conventions-carousel {*/
/*    position: relative;*/
/*    overflow-x: auto; !* Container scrolls manually *!*/
/*    overflow-y: hidden;*/
/*    padding: 0 80px 20px 80px; !* Space for arrows + bottom padding *!*/
/*    max-width: 1400px;*/
/*    margin: 0 auto;*/
/*    scroll-behavior: smooth;*/
/*    -webkit-overflow-scrolling: touch;*/
/*    scroll-snap-type: x mandatory;*/
/*}*/
.conventions-carousel{
    cursor: grab;
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: auto;
    scroll-snap-type: none;
    touch-action: pan-x;

    /* keep your fade */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 2%, #000 98%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 2%, #000 98%, transparent 100%);

    /* optional: keep your existing max width/padding here if you want */
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 80px 20px;

    scrollbar-width: none;      /* Firefox */
    -ms-overflow-style: none;   /* IE/Edge legacy */

}
.conventions-carousel.is-dragging{
    cursor: grabbing;
    user-select: none;
}

.conventions-carousel.is-dragging .convention-card,
.conventions-carousel.is-dragging *{
    user-select: none;
}



.carousel-track {
    display: flex;
    gap: 30px;
    /*animation: scroll-left 80s linear infinite;*/
    width: max-content; /* Allows long track */
    animation: none!important;
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 15px)); } /* Adjust for gap */
}

/*.conventions-carousel:hover .carousel-track {*/
/*    animation-play-state: paused;*/
/*}*/

/* Arrows fixed */
.carousel-prev,
.carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 51, 102, 0.8);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 2.5rem;
    font-weight: bold;
    cursor: pointer;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-prev { left: 20px; }
.carousel-next { right: 20px; }

.carousel-prev:hover, .carousel-next:hover {
    background: #003366;
}

/* Hide scrollbar */
.conventions-carousel::-webkit-scrollbar { display: none; }
/*.conventions-carousel { -ms-overflow-style: none; scrollbar-width: none; }*/

/* Cards */
.convention-card {
    flex: 0 0 min(250px, 75vw);
    width: auto;
    height: 380px;
    /*background: white;*/
    border: 6px solid var(--main-cyan);
    border-radius: 12px;
    padding: 16px 20px;
    /*box-shadow: 0 8px 20px rgba(0,0,0,0.15);*/
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    scroll-snap-align: center;

    background-image: url("../img/misc/v2_background_wave_light.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* keep existing border, radius, sizing intact */
    position: relative;
    overflow: hidden;
}

/* Your tight spacing */
.card-top, .card-bottom {
    text-align: center;
}

.line-visit { font-size: 1.8rem; font-weight: bold; color: #e6f0ff; margin: 0 0 1px 0; }
.line-at { font-size: 1.3rem; font-style: italic; color: #cfd8e3; margin: 0 0 3px 0; }
.line-booth { font-size: 2.2rem; font-weight: bold; color: var(--main-gold); margin: 0 0 3px 0; }
.line-for { font-size: 1.3rem; font-style: italic; color: #cfd8e3; margin: 0 0 3px 0; }
.line-show {
    font-size: 1.45rem;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.25;
    margin: 0 0 6px 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.line-date { font-size: 1.45rem; color: #e8edf3; font-weight: bold; margin: 0 0 1px 0; }
.line-location { font-size: 1.45rem; color: #e8edf3; font-weight: bold; margin: 0; }

/* ===== Carousel edge fade (tight + subtle) ===== */
/*.conventions-carousel{*/
/*    position: relative;*/
/*    overflow: hidden;*/

/*    -webkit-mask-image: linear-gradient(*/
/*            to right,*/
/*            transparent 0%,*/
/*            #000 2%,*/
/*            #000 98%,*/
/*            transparent 100%*/
/*    );*/
/*    mask-image: linear-gradient(*/
/*            to right,*/
/*            transparent 0%,*/
/*            #000 2%,*/
/*            #000 98%,*/
/*            transparent 100%*/
/*    );*/
/*}*/

/* ===== Visible but elegant door frame edges ===== */
.conventions-carousel::before,
.conventions-carousel::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:12px;                 /* thinner */
    pointer-events:none;
    z-index:5;

    background: rgba(255,255,255,0.65); /* subtle frosted edge */
}

/* Left frame */
.conventions-carousel::before{
    left:0;
    border-right: 1px solid rgba(0,0,0,0.15);
}

/* Right frame */
.conventions-carousel::after{
    right:0;
    border-left: 1px solid rgba(0,0,0,0.15);
}

/* Responsive */
@media (max-width: 1200px) {
    .convention-card { flex: 0 0 260px; height: 360px; padding: 14px 20px; }
    /*.conventions-carousel { padding: 0 70px 20px 70px; }*/
}

@media (max-width: 768px) {
    .convention-card { flex: 0 0 85%; height: 340px; padding: 12px; }
    .carousel-prev, .carousel-next { width: 40px; height: 40px; font-size: 2rem; }
    /*.conventions-carousel { padding: 0 50px 20px 50px; }*/
}

/****************************************
*           Product page
/****************************************/

.product-top{
    padding-top: 10px;
}
.product-top .product-intro:before,
.product-top .product-intro:after{
    content: "";
    display: block;
    clear: both;
}
.product-intro div:last-child{
}
.product-slider{
    float: left;
    width: 32%;
    padding-right: 50px;
    margin-bottom: 7px;
    /*border: 1px solid rgba(44,86,151,1);*/
}
.intro-content{
    float: left;
    width: 68%;
    padding-left: 45px;
}
.intro-content a{
    color: var(--main-color);
}
.sl-item img{
    width: 100%;
    margin: 0;
    /*border: 3px solid transparent;*/
}

.slider-nav .sl-item {
    height: 50px;
    cursor: pointer;
    border-top: 1px solid #7C878E;
    border-bottom: 1px solid #7C878E;
    border-right: 1px solid #7C878E;
    overflow: hidden;
}
.product-slider .slick-arrow {
    position: absolute;
    left: -18px;
    top: 50%;
    color: #333F48;
    line-height: 40px;
    text-align: center;
    transform: translateY(-50%);
    z-index: 99999;
    cursor: pointer;

}
/*gallery thumbnail bg*/
.slick-list {
    background-color: #7C878E;
}
.slick-arrow.ti-angle-right {
    left: auto;
    right: -18px;

}

.product-nav{
    padding: 15px 0 10px;
    transition: .1s;
    margin: 20px;
}

.pquote-nav{
    color: white;
    font-weight: 800;
}
a.pquote-nav:hover{
    color: silver;
    text-decoration: underline;
}

.product-nav ul{
    justify-content: center;
    list-style: none!important;
}
.is-sticky .product-nav{
    background: rgba(255,255,255,.7); /*#fff;*/
    border-top: 0;
    padding: 10px 0 5px;
    margin: 0;
    z-index: 9999!important;
}


.product-nav ul{}
.product-nav ul li{
    padding: 0 5px;
    margin-bottom: 6px;
}
.product-nav ul li:last-child:after{
    display: none;
}
.product-nav ul li:last-child{
    padding-right: 0;
    margin-right: 0;
}
.product-nav ul li:after{
    /*    content: "-";
        margin-left: 13px;*/
}
.product-nav ul li a {
    color: #fff; /*rgba(44,86,151,1);*/
    background: var(--main-color);
    border: 1px solid;
    padding: 2px 5px;
    display: inline-block;
    border-radius: 4px;
    font-size: 16px;
}
.product-nav ul li:first-child a {
    font-size: 15px;
}

.product-nav ul li.current a{
    color: #000; /*#fff;*/
    background: rgba(105,179,231,1); /*rgba(44,86,151,1);*/
}
.product-nav ul li a:hover{
    color: #000; /*#fff;*/
    background: rgba(105,179,231,1); /*rgba(44,86,151,1);*/
}
.entry ul{
    list-style: circle;
    padding-left: 20px;
}
.entry ul li{
    margin-bottom: 12px;
}
table {
    max-width: 100%;
    background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
}

table {
    border: 1px solid #dedede;
}
tr, td, th {
    vertical-align: middle;
}
td {
    padding: 0.5rem;
    border: 1px solid #dedede;
}
.nsn-table td:nth-child(1),
.nsn-table td:nth-child(2){
    white-space: nowrap;
}


.table-act button {
    /*background: #fff;*/
    color: var(--main-color);
    /*padding: 7px 15px;*/
    text-transform: uppercase;
    /*font-size: 13px;*/
    margin-top: 20px;
    margin-bottom: 0px;
    cursor: pointer;
    /*border-radius: 4px;*/
    /*border: 4px double rgba(44,86,151,1);*/

    color: var(--main-gold);
    font-size: 18px;
    font-weight: 700;
    padding: 10px 32px;
    background-color: #0c1e34;
    border: none;
    /*margin-bottom: 16px;*/

}
.table-act button:hover {
    background: var(--main-color);
    color: #fff;
}
.video-play{
    padding: 15px;
    background: var(--main-color);
}
.video-play iframe{
    width: 100%;
    border: 0;
    height: 550px;
}
.table-wrap{
    position: relative;
    overflow-x: auto;
}
.table-wrap.hasshadow {
    max-height: calc(100vh - 285px);
    overflow: hidden;
    min-height: 180px;
}
.table-wrap.hasshadow:before {
    position: absolute;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 500px;
    pointer-events: none;
    content: "";
    background: -webkit-gradient(linear,left top,left bottom,color-stop(50%,transparent),color-stop(50%,rgba(255, 255, 255, 1)));
    background: -webkit-linear-gradient(top,transparent 50%,rgba(255, 255, 255, 1));
    background: linear-gradient(-180deg,transparent 50%,rgba(255, 255, 255, 1));
}
.showAll:before{
    display: none;
}
.table-act {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    z-index: 99;
    padding-bottom: 18px;
}



/*figure-top*/
.figure-top {
    position: relative;
    overflow: hidden;
}
.figure-top.home {

}
.figure-top.inner {

}
.figure__btn{
    position: relative;
    top: -95px;
    z-index: 99999;
}
.is-sticky .figure__btn {
    padding: 15px 0;
}
.figure__btn ul{
    display: flex;
    justify-content: center;
}


.figure__btn ul li {
    flex: 0 0 60px;
}

.figure__btn ul li .btn__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px;
    height: 100%; /*40px;*/
    width: 100%; /*200px;*/
    font-size: 16px;
    color: #000;
    border: 1px solid #000;
    border-radius: 6px;
    cursor: pointer;
    background: rgba(255,255,255,.7); /*#fff;*/
}
.is-sticky .figure__btn ul li .btn__inner {
    background-color: var(--main-color);
    color: #fff;
}


.figure__btn ul li .btn__inner:hover {
    color: #000; /*#fff;*/
    background: rgba(105,179,231,1); /*rgba(44,86,151,1);*/
}


.main-figure {}
.main-figure img{
    width: 100%;
}
.wrapper-c{
    padding: 0 15px;
    max-width: 1200px; /* 1400 */
    margin-left: auto;
    margin-right: auto;
    margin-top: 70px;
    margin-bottom: 100px;
}

.main-figure .wrap{
    margin: auto;
    transform-origin: center!important;
    position: relative;
}
.main-figure .wrap figure strong {
    display: block;
    text-align: center;
    margin-bottom: 23px;
}
.wrap img {
    border-radius: 7px;
}


/**************************************************
*     page style CSS
**************************************************/
.download-i{
    margin-top: 40px;
    padding-bottom: 40px;
}
.content-left-alt a,
.content-right-alt a{
    color: var(--main-color);
}

.figure-box {
    float: right;
    display: block;
    /*display: inline-block;*/
    width: 225px;
    margin-left: 15px;
    margin-bottom: 15px;
}
.figure-box span {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.5;
}
#features-benefits{
    padding-top: 30px;
}


/**************************************************
*     Content Reusable CSS
**************************************************/

.div-top{
    padding-top: 10px;
}
.div-top > div{
    content: "";
    display: block;
    clear: both;
}
.div-top > div{

}

.div-body { /* use with wrapper */
    padding: 10px;
}
.row-33-66 { /* use with u-flex, has-border-top */
    padding-top: 10px;
}
.row-33-66 > div:first-child {
    float:left;
    width: 33%;
    display: block;
    clear: both;
}
.row-33-66 > div:last-child {
    float: left;
    width: 66%;
    padding-left: 45px;
    display: block;
    clear: both;
}

.div-row:first-child {
    padding-top: 0;
    border-top: 0;
}
.div-col {
    padding: 15px;
    margin: 15px;

}

.prod-home {
    position: relative;
    top: -150px;
    padding: 20px;
    margin: 0;
    list-style: none;

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-flex-flow: row wrap;
    justify-content: space-around;
}

.prod-home-item {
    width: 265px;
    margin-top: 10px;
}

.prod-youtube {
    position: relative;
    padding: 20px;
    margin: 0;
    list-style: none;

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-flex-flow: row wrap;
    justify-content: space-around;
}
.prod-youtube-item {
    width: 340px;
    margin-top: 10px;
    list-style: none;

}

/* FIRST 991 */
/*@media (max-width: 991px) {*/
/*    .prod-home {*/
/*        top: 0;*/
/*    }*/
/*    .prod-home-item {*/
/*        margin-top: 10px;*/
/*    }*/
/*    .prod-youtube-item {*/
/*        margin-top: 10px;*/
/*    }*/
/*}*/

/****************************************
*           Collapsing DIV Tags
/****************************************/
.flex-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.flex-columns > div {
    margin: 10px;
    padding: 10px;
    max-width: 350px;
}
.flex-columns > div > iframe {
    display: block;
}

/* =========================================================
   SECTION LINE UTILITIES (clean + predictable)
   - Top horizontal line (near section top)
   - Left OR right vertical line
   - Optional bottom connector line (full width between offsets)
   ---------------------------------------------------------
   Usage:
     class="sec-lines top-left"
     class="sec-lines top-right"
     class="sec-lines top-left bottom-line"
   ========================================================= */

.sec-lines{
    position: relative;
    box-sizing: border-box;

    /* tweak these once and you're done */
    --line-offset: 30px;     /* inset from section edges */
    --line-thickness: 2px;
    --top-line-y: -52px;       /* 0 = top of section; set to 6px if you want a tiny drop */
}

/* TOP horizontal line */
.sec-lines::before{
    content:"";
    position:absolute;
    left: var(--line-offset);
    right: var(--line-offset);
    top: var(--top-line-y);
    height: var(--line-thickness);
    background: var(--main-gold);
    z-index: 10;
    pointer-events:none;
}

/* VERTICAL line (default RIGHT) */
.sec-lines::after{
    content:"";
    position:absolute;
    top: var(--top-line-y);                 /* connects to top line */
    bottom: 0;
    width: var(--line-thickness);
    background: var(--main-gold);
    z-index: 10;
    pointer-events:none;
    right: var(--line-offset);
}

/* LEFT vertical line */
.sec-lines.top-left::after{
    right: auto;
    left: var(--line-offset);
}

/* Explicit RIGHT helper */
.sec-lines.top-right::after{
    left: auto;
    right: var(--line-offset);
}

/* OPTIONAL bottom horizontal connector (between offsets) */
.sec-lines.bottom-line{
    padding-bottom: var(--line-thickness); /* ensures the bottom line isn't clipped */
}

.sec-lines.bottom-line .sec-lines-bottom-fix{ display:none; } /* noop */

/* bottom connector uses another background layer on the section itself */
.sec-lines.bottom-line{
    background-image: linear-gradient(var(--main-gold), var(--main-gold));
    background-repeat: no-repeat;
    background-size: calc(100% - (2 * var(--line-offset))) var(--line-thickness);
    background-position: var(--line-offset) 100%;
}

/* responsive inset */
@media (max-width: 768px){
    .sec-lines{ --line-offset: 20px; }
}




/****************************************
*           Footer
/****************************************/
.bot-footer {
    flex-shrink: 0; /* keep footer at bottom of small content pages */
}
.flex-footer-top {
    display: flex;
    background-color: var(--main-color);
    flex-wrap: wrap;
    justify-content: center;
    color: #fff;
}
.flex-footer-top a:link{
    color: #fff;
    text-decoration: none;
}
.flex-footer-top a:visited{
    color: #fff;
    text-decoration: none;
}
.flex-footer-top a:hover{
    color: #69B3E7;
    text-decoration: none;
}
.flex-footer-top > div {
    margin: 10px;
    padding: 10px;
}
.flex-footer-top > div:first-child {
    margin: 10px 0 10px 0;
    padding: 10px 0 0 0;
}
.flex-footer-top > div:first-child img{
    width: 30px;
    height: auto;
}
.flex-footer-top > div:nth-child(2) {
    margin: 10px 10px 10px 0;
    padding: 10px 10px 10px 0;
}
.flex-footer-top > div:last-child{
    width: 100px;
    display: flex;
    flex-wrap: wrap;
}
.flex-footer-top > div:last-child img{
    width: 27px;
    height: auto;
    display: block;
    margin: 5px;
}
/* copywrite */
.flex-footer-bottom {
    display: flex;
    padding: 5px 0;
    background: #7C878E;
    color: #fff;
    flex-wrap: wrap;
    justify-content: center;
}

/*******************************************************
*          Styling Generic Body Content
*******************************************************/
.content-ctr {
    display: flex;
    flex-direction: column;     /* stack flex items vertically */
    justify-content: center;
    align-items: center;        /* center items horizontally, in this case */

}
.content-ctr h1 {
    max-width: 100%;
    text-align: center;
    margin-bottom: 45px;
}

.content-ctr figure{
    font-weight: 100;
    font-size: 34px;
    line-height: 38px;
}
.rounded-pic img {
    border-radius: 25%;
    width: 225px;
    max-width: 50%;
    height: auto;
}

.bg-gray {
    background-color: #F5F5F5; /*white smoke*/
}
.m-top h3{
    margin-top: 0;
}
.ul-list-1 ul{
    padding-left: 50px;
    line-height: 20px;
    list-style: disc;
}
.ul-list-2 ul{
    padding-left: 19px;
    line-height: 20px;
    list-style: disc;
    line-height: 1.4;

}
.u-m-l-25.ul-list-2 {
    float: left;
    width: 68%;
    margin-left: 0!important;
}

/*.ul-list-1 ul li:before{*/
/*    margin-bottom: 10px;*/
/*    !*list-style: circle;*!*/
/*    content: "\02714\ ";*/
/*}*/
.ul-list-Lg ul{
    list-style-type: circle;
    font-size: 20px;
    line-height: 35px;
    padding-left: 50px;
}
/*.ul-list-Lg ul li:before{*/
/*    content: "\02714\ ";*/
/*}*/
#btnReq {
    display: block;
    background-color: var(--main-gold)!important;   /* yellow/gold */
    color: #0c1e34 !important;              /* dark blue text */
    border: none !important;
    padding: 10px 32px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer;
    margin: 20px auto !important;
    text-align: center;
}
.round-border {
    width: 50%;
    border: 1px solid var(--main-color);
    border-radius: 5px;
    padding: 5px;
    background-color: rgba(105,179,231,1);
}
.contrastBtn, .contrastBtn a {
    border-radius: 5px;
    padding: 5px;
    background-color: var(--main-gold)!important;
    color: black!important;

}

.contrastBtnCtr, .contrastBtnCtr a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    margin: 10px auto;
    border: 1px solid black;
    border-radius: 5px;
    background-color: var(--main-gold)!important;
    color: black!important;
}

#searchform {
    position: relative;           /* Required for absolute positioning */
}

.keyresult {
    position: absolute;
    top: 100%;                    /* Directly below input */
    left: 0;
    width: 100%;                  /* Matches input width */
    margin: 0;
    background: var(--main-light-gray);
    color: var(--main-color);
    border: 1px solid var(--main-color);
    border-top: none;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);  /* subtle raised look */
    padding: 8px 15px 8px 20px;   /* top/right/bottom/left – adjust left for indent */
    line-height: 1.5;
    z-index: 10;
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;           /* no horizontal bar */
    overflow-wrap: break-word;    /* long text wraps */
    display: none;                /* hidden until results */
}

/*.keyresult {*/
/*    position: absolute;*/
/*    margin: 0 20px 0 10px;*/
/*    width: 76%;*/
/*    line-height: 25px;*/
/*    border-top: 0;*/
/*    border: 1px solid var(--main-color);*/
/*    border-bottom-left-radius: 6px;*/
/*    border-bottom-right-radius: 6px;*/
/*    padding: 0 30px 0 30px;*/
/*    color: #FFF;*/
/*    background: rgba(105,179,231,1);*/
/*    z-index: 5;*/
/*}*/
.keyresult .row:hover,
.keyresult span:hover,
.keyresult div:hover,
.keyresult a:hover {
    background-color: var(--main-color);
    color: white;
}
.keyresult:hover {
    cursor: pointer;
}
.keyresult:not(:empty) {
    display: block;
}
.srchGroup {
    margin: 0 0 30px 0;
}
.srchGroup div:first-child a{
    color: var(--main-color)!important;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
}
.srchGroup div:nth-child(2) a{
    color: rgba(105,179,231,1);
}
.srchGroup div:first-child a:hover, srchGroup div:nth-child(2) a:hover{
    color: rgba(105,179,231,1)!important;
}

.highlight {
    color: black;  /* bright yellow text */
    background: yellow;
}
.contentall {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 129px);
}
.pdflink {
    color: var(--main-color);
    font-weight: 600;
}
.pdflink ul li {
    padding-bottom: 20px;
}
.pdflink a {
    text-decoration: underline;
    color: var(--main-color);
}
.pdflink a:hover {
    color: rgba(105,179,231,1);
}
.pdflink a sup {
    display: inline-block;
    text-decoration: none;
}
.pdflink span {
    font-weight: normal;
    color: black;
}
.pdf-full {
    width: 100%;
    height: calc(100vh + 150px);
    min-width: 0;
    margin: 0 auto;
}

.uses {
    overflow: hidden;
    left: 0;
    margin: 15px 0;
    /*clear: both;*/
    width: 90%;
    border: 2px solid var(--main-color);
    border-radius: 6px;
    /*padding: 5px;*/
    padding: 0 5px;
    font-size: 23px;
}
.uses span {
    float: left;
    z-index: 2;
    margin: 0 10px 0 -5px;
    background-color: var(--main-color);
    color: #fff;
    /*font-weight: bolder;*/
    padding-left: 10px;
    padding-right: 10px;
}


.content-default ul {
    margin-left: 40px;
    list-style: disc;
    line-height: 1.4;
}

#inPageLink a {
    border-bottom:1px dotted #000!important;
    text-decoration:none!important;
}
.categoryBorder {
    border: 1px solid var(--main-color);
    border-radius: 6px;
    padding: 15px;
    width: 100%;
    margin: 0;
}

.pquote {
    float: right;
    width: 33%;
    font-size: 20px;
    font-style: italic;
    background: var(--main-color);
    color: #fff;
    font-weight: lighter;
    /*padding: 13px;*/
    margin: 0 13px 13px 13px;
    border-radius: 6px;
}

blockquote {
    margin: 15px; /* gets rid of the default blockquote margin */
    margin: 15px;
    quotes: "\201C" "\201D" "\2018" "\2019";
}
blockquote footer{
    margin-left: 20px;
    font-size: 18px;
}
hr.style1{
    border-top: 1px solid var(--main-color);
    margin: 30px 0;
}

.fontblue {
    color: var(--main-color);
    font-weight: 800;
}

/***** home page collage products ******/
.parent {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(8, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;

    margin: 0 auto;
}
.parent img {
    width: 500px;
    border-radius: 6px;

}

.div1p { grid-area: 1 / 1 / 3 / 3; }
.div1t { grid-area: 1 / 3 / 3 / 4; }
.div2t { grid-area: 3 / 1 / 5 / 2; }
.div2p { grid-area: 3 / 2 / 5 / 4; }
.div3p { grid-area: 5 / 1 / 7 / 3; }
.div3t { grid-area: 5 / 3 / 7 / 4; }
.div4t { grid-area: 7 / 1 / 9 / 2; }
.div4p { grid-area: 7 / 2 / 9 / 4; }

.home-intro:after,
.home-intro *:after{
    display: none;
}

#ProductFamily .row{
    margin: 0!important;
}
.entry h1 {
    text-align: center;
}
.video-with-background:before {
    background-image: url(../img/vid_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    content: " ";
    display: table;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 100%;
    height: 100%;
}
.video-wrap video {
    /* background-image: url(../img/vid_bg.jpg); */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.iti {
    width: 100%;
}
.iti.iti--allow-dropdown {
    width: 351px;
    max-width: 100%;
}
input#phone {
    border: 4px solid #EFEFEF;
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
    outline: medium none;
    background: none repeat scroll 0 0 #FBFBFB;
    padding: 6px 0 6px 6px;
    color: #666666;
    font-size: 100%;
    margin: 0;
    width: 100%;
}
.iti__flag-container{
    width: 100%;
    max-width: 100%;
}
.fs__name span.simple_name_2,
.fs__name span.simple_name_1 {
    width: 50%;
    flex: 0 0 50%;
}

.fs__name span.simple_name_2 input,
.fs__name span.simple_name_1 input{
    width: 100%
}

.float-img-right {
    max-width: 200px!important;
    float: right!important;
    margin: 10px!important;
    border-radius: 7px!important;
}

.float-img-right-cat {
    max-width: 350px!important;
    float: right!important;
    margin: 10px!important;
    border-radius: 7px!important;
}
.image-center {
    max-width: 450px!important;
    margin: 10px!important;
    border-radius: 7px!important;
}

.nsnlink {
    color: black !important;
    background: white !important;
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    position: relative;           /* takes it out of normal flow */
    top: -40px;                   /* pulls it up past the 50px margin + extra */
    z-index: 10;                  /* sits on top of any overlay/fade */
    /*margin-bottom: -70px;         !* removes the empty space it leaves *!*/
    /*padding: 0 20px;*/          /* optional: keeps text from touching edges */
    display: inline-block;        /* prevents it from going full-width */
    text-decoration: underline;
}
/* added by Mark 1.6.2026 to create a photo grid in the product category sections */
.products-grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: flex-start; /* or 'center' if you prefer centered */
    padding: 20px 0;
}

.product-card {
    flex: 0 1 calc(33.333% - 30px);
    min-width: 280px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.18);
}

/* Fixed height image container with cropping */
.product-image {
    width: 100%;
    height: 280px;                /* Fixed height — adjust this value to taste */
    overflow: hidden;
    background: #f8f8f8;          /* fallback if no image */
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;            /* This crops tall images to fill the box perfectly */
    object-position: center;      /* Centers the focal point */
    display: block;
}

/* Blank image case — keep same height */
.product-image:empty {
    height: 280px;
    background: #f0f0f0;
}

/* Text section — always starts at top, grows only if needed */
.product-text {
    padding: 20px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;  /* Important: aligns content to top */
}
/* Left-align text for PDFs + videos (your base card text is centered) */
.product-text--left {
    text-align: left;
    align-items: flex-start;
}

.product-text a {
    font-size: 1.3em;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    margin-bottom: 12px;
    line-height: 1.3;
}

.product-text a:hover {
    text-decoration: underline;
    color: #c41230;  /* or your brand red */
}

.product-text span {
    font-size: 0.95em;
    color: #444;
    line-height: 1.5;
    margin-top: 0;
}
/* Optional: slightly smaller title in these utility cards if needed */
.product-card--doc .product-text a,
.product-card--video .product-text a {
    font-size: 1.1em;
    line-height: 1.3;
    margin-bottom: 10px;
}

/* --- PDF cards: no image area, just text card --- */
.product-card--doc {
    /* keeps existing product-card styling */
}

.product-card--doc .product-text {
    padding: 18px 20px;
}
/* --- Video cards: turn product-image area into responsive 16:9 embed --- */
.product-image--video {
    height: auto;              /* override fixed 280px from .product-image */
    padding: 0;
    display: block;
    background: #111;
    overflow: hidden;
    border-bottom: 2px solid #e8e8e8; /* subtle divider (not a heavy band) */
}

/* Responsive ratio box */
.product-image--video .video-play {
    position: relative;
    width: 100%;
    height: 0;             /* key */
    padding-top: 56.25%;   /* 16:9 ratio */
    margin: 0;
    overflow: hidden;
    background: #fff;
}

/* Make iframe always fill wrapper */
.product-image--video .video-play iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    display: block;
}

/* Text spacing under embeds */
.product-card--video .product-text {
    padding: 16px 18px 18px;
}

/* Improve wrapping for long titles/URLs */
.product-card--doc .product-text a,
.product-card--video .product-text a,
.product-card--doc .product-text span,
.product-card--video .product-text span {
    overflow-wrap: anywhere;
}

/* Optional: make PDF/document cards feel balanced without image */
.prod-doc-grid .product-card--doc {
    min-height: 220px; /* tweak to taste, optional */
}

/****************************************
*           v2 style css new css 29 oct
/****************************************/

* {
    box-sizing: border-box;
    /*font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;*/
    /*  font-family: 'TradeGothic', 'Arial Narrow', Arial, sans-serif;*/
    scroll-behavior: smooth;
}
div:after {
    display: none;
}
section {
    position: relative;
}

/*v2 header css */
.header.new-header {
    background: transparent;
    height: auto;
    padding: 10px 0 0;
}

.header.new-header.sticky-header {
    background: var(--sticky-dark-bg);
    padding-bottom: 9px!important;
}
.header.new-header.sticky-header .logo img {
    filter: brightness(0) invert(1); /* v2.1 */
}
/* added by Mark to switch colors */
.header-title.tagline,
.tagline {
    color: var(--main-color); /* or whatever exact blue matches your logo - common Av-DEC blue */
    transition: color 0.3s ease;
}
/* When scrolled and sticky: turn white */
.header.new-header.sticky-header .tagline {
    color: white !important;  /* add !important if needed to override */
}
.header.new-header .wrapper-full {
    align-items: flex-end;
}
.header-left {
    display: flex;
    align-items: flex-end;
    gap: 13px; /*gap: 40px;*/
}
.scrolled .header.new-header .logo img {
    width: 210px;
}

.header-left .header-title {
    margin: 0;
    font-size: 18px;
    font-weight: bolder;
    color: var(--main-color)!important; /*#fff;*/
    white-space: nowrap;       /* prevents wrapping */
    transform: scaleX(0.88);   /* keep your 88% width if you like it */
    transform-origin: left bottom;
    align-self: flex-end;          /* ← THIS LINE IS ALL YOU NEED */
    position: relative;            /* allows precise nudge */
    bottom: -6px;                  /* drop it down 4px — adjust 2–8px as needed */
}

/* Scrolled state – tagline turns white */
/*.scrolled .header-left .header-title {*/
/*    color: #fff !important;*/
/*}*/
.header-left .header-title .text-highlight {
    color: var(--main-gold)!important;
}
/* Optional: slightly compress if it feels too wide */
/*.header-left .header-title {*/
/*    transform: scaleX(0.88);   !* keep your 88% width if you like it *!*/
/*    transform-origin: left bottom;*/
/*}*/




/*.header-tagline {*/
/*    position: absolute;*/
/*    top: 30%;*/
/*    transform: translateY(-50%);*/
/*    left: 31%; !* This will align visually with the start of the blue background *!*/
/*    font-size: 22px;*/
/*    color: #fff;*/
/*    transform: translateY(-50%) scaleX(0.88);    !*92% width*!*/
/*}*/
/*.header-tagline .text-highlight {*/
/*    color: var(--main-gold);*/
/*}*/
.header-left h2.header-title {
    margin: 0;
    font-size: 22px;
    color: #fff;
}
.header-left h2.header-title .text-highlight {
    color: var(--main-gold);
}
.header.new-header .content-right form {
    background-color: var(--main-gold);
    padding: 8px 15px;
    display: flex;
    width: 37%;
    max-width: 414px;
    margin-right: 10%;
    margin-top: 0;
    margin-bottom: 10px;
}
.header.new-header .content-right form input {
    border: 1px solid #e3ddd7;
    color: black;
    border-radius: 0;
    background: none;
    flex: 1;
    font-size: 12px;
    width: auto;
    height: 39px;
    padding: 8px 17px;
}
.header.new-header .content-right form input::placeholder {
    font-size: 12px;
    color: #0c1e34;
}
/*.header.new-header .content-right .keyresult {*/
/*    border: none;*/
/*    background: none;*/
/*}*/
.header.new-header .content-right form button {
    height: 100%;
    background-color: #0c1e34;
    color: #fff;
    text-transform: uppercase;
    font-size: 15px;
}
.nav-main {
    margin-right: 40px; /* v2.1 */
    /*margin-left: 28px;*/
}
.nav-main .dl-menu {
    background: none;
    width: auto;
    position: static;
    gap: 20px;
    justify-content: space-between;
    min-height: unset;
    opacity: 1;
    pointer-events: auto;
}
.nav-main .dl-menu li {
    flex: 1;
    text-align: center;
}
.nav-main .dl-menu::after {
    display: none;
}
.nav-main .dl-menu > li > a {
    background-color: #fff;/* v2.1 */
    border: 1px solid #0c1e34;
    color: #0c1e34;
    font-size: 18px;
    font-weight: 300;
    padding: 5px;
    margin-right: 0;
}
/* v2.1 */
/*.sticky-header .nav-main .dl-menu > li > a {*/
/*    background-color: var(--main-color);*/
/*  border: 1px solid #fff;*/
/*  color: #fff;*/
/*}*/

.nav-main .dl-menu > li > a::after {
    display: none;
}

.nav-main .dl-submenu {
    box-shadow: none;
    max-width: 120px;
}
.nav-main .dl-menu .nav-sub-list {
    background: none;
    padding-inline: 0;
    /*box-shadow: none;*/
}
.nav-main .dl-menu .nav-sub-list > .nav-sub-item {
    background-color: #d0d3d4;
}
.nav-main .dl-menu .nav-sub-list > .nav-sub-item:hover {
    background-color: #0c1e34;
}
.nav-main .dl-menu .nav-sub-list > .nav-sub-item:hover a {
    color: #fff !important;
}
.no-touch .dl-menuwrapper li a:hover {
    background: none;
}
.nav-main .dl-menu .nav-sub-list .nav-sub-item {
    padding: 5px 10px;
}
.nav-main .nav-sub-item > a {
    color: #0c1e34;
    font-size: 13px;
    font-weight: 300;
}
.nav-main .nav-sub-item a {
    text-align: center;
    text-transform: uppercase;
    padding: 0;
}
.nav-main .nav-sub-item > .has-submenu {
    position: static;
}
.nav-main .nav-sub-item > .has-submenu:before {
    content: "\f105";
    font-family: "FontAwesome";
    left: auto;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 0;
}

.nav-main .nav-sub-sub {
    background: none;
    padding-inline: 0;
    box-shadow: none;
}
.nav-main .dl-menu .nav-sub-sub .nav-sub-item {
    background-color: #0c1e34;
}

.header-separator {
    background-color: #d0d3d4;
    border-bottom: 2px solid var(--main-gold);
    height: 22px;
    margin-top: 10px;
    position: relative;
    /*z-index: 2;*/
    z-index: -1; /* v2.1 */
}
/* header css ends */

/* hero section css starts */
.hero-section {
    background-color: #fff;
    /*background-image: url(../img/misc/v2_hero-left-bg.png);*/
    background-image: url("../img/misc/v2_background_wave_light.png");
    background-size: 70% 90%;/* v2.1 */
    background-position: right top;/* v2.1 */

    /*background-size: 39% 90%;*/
    background-repeat: no-repeat;
    padding-top: 140px;
}
.container {
    width: 95%;
    max-width: 1600px;
    padding: 0 15px;
    margin: 0 auto;
}

.container a:not(.product-menu-link) {
    text-decoration: underline;
}
.container a:not(.product-menu-link):hover {
    color: var(--main-color);
}
.container .product-menu a.product-menu-link:hover {
    color: var(--main-gold);
}
.container .footer-col a {
    color: inherit;
    text-decoration: none;
}

.hero-img-wrapper {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 1;
}
.hero-img-wrapper img {
    width: 85%;
    max-height: 774px;
    object-fit: cover;
}
.hero-video {
    display: block;
    width: 100%;
    height: auto;        /* KEY: scales proportionally */
    max-height: 70vh;    /* prevents it from taking entire screen */
}
.hero-content-row {
    display: flex;
    flex-direction: row-reverse; /* v2.1 */
    align-items: flex-end;
    justify-content: start;/* v2.1 */
    padding-right: 15%;/* v2.1 */
    margin-top: -190px;
}
.hero-title-wrapper {
    background-color: #d0d3d4;
    padding: 20px 40px 50px;
    position: relative;
    z-index: 2;
}
.hero-title-wrapper h1 {
    font-size: 68px;
    font-weight: 300;
    margin: 0;
    color: #000;
    line-height: 1.2;
}
.hero-title-wrapper .origin-date {
    font-size: 36px;
    font-weight: 700;
    color: var(--main-color);
    margin: 0;
    text-align: right;
}
.hero-blue-box {
    background-color: #0c1e34;
    height: 176px;
    width: 128px;
    position: relative;
    z-index: 2;
}
.hero-gray-box {
    background-color: #7c878e;
    height: 352px;
    flex: 1;
    max-width: 790px;
    display: flex;/* v2.1 */
    justify-content: flex-end;
    align-items: flex-end;
    padding: 40px;
}
/* v2.1 start */
.hero-gray-box h2.header-title {
    margin: 0;
    /*font-family: "Dosis-Regular", "TradeGothic", "arial";*/
    /*font-family: 'TradeGothic', 'Arial Narrow', Arial, sans-serif;*/
    font-size: 22px;
    color: var(--main-color);
}
.hero-gray-box h2.header-title .text-highlight {
    color: var(--main-gold);
}
/* v2.1 end */

/* chat box css */
.zsiq_theme1 .zsiq_cnt div.zsiq_ellips {
    font-weight: 600;
    color: #000;
}
.zsiq_theme1 .zsiq_flt_rel {
    border-radius: 5px !important;
    color: #000;
}
.zsiq_theme1 .siqicon.siqico-chat:before {
    content: '\f086';
    font-family: "Font Awesome 5 Free" !important;
    font-size: 30px;
    color: #000;
}

/* quick products css start */
.quick-products {
    padding: 90px 0 50px;
}
.quick-products .container {
    max-width: 1600px;
}
.title-row {
    margin-bottom: 45px;
}
h2.section-title {
    font-size: 78px;
    font-weight: 300;
    margin: 0;
}
.quick-product-img {
    max-height: 760px;
}
/* quick products css end */

/* sections css start */
.working {
    width: 95%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 15px;
}

.working h2 {
    font-size: 78px;
    text-align: left;
    line-height: 1;
    color: #0c1e34;
    margin: 0 0 25px 0;
    font-weight: 300;
}

.working-solution-content .working-section1 .working-img p {
    color: #0c1e34;
    font-size: 32px;
}
/*.working-img {*/
/*    text-align: center; !* centers inline or inline-block children *!*/
/*}*/
.working-img img {
    /*width: 110px;*/
    /*height: 92px;*/
    /*object-fit: contain;*/
    /*  display: block;        !* removes the tiny inline spacing bug *!*/
    /*  margin: 0 auto;        !* horizontal centering *!*/
    width: 110px;
    height: 92px;
    object-fit: contain;
}

.working-section1 {
    display: flex;
    align-items: flex-end;
    max-width: 477px;
    width: 100%;
    margin-bottom: 60px; /* v2.1 */
    /*margin-bottom: 80px;*/
}

.working-section1 p {
    color: #0c1e34;
    font-size: 32px;
    margin: 0;
    font-weight: 300;
}

.working-solution {
    margin-top: 400px;
    /*background-image: url("../img/misc/v2_background.png");*/
    background-image: url("../img/misc/v2_background_wave_light.png");
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 100px;
    padding-bottom: 55px;
}
.av-dec-solution {
    /*background-image: url("../img/misc/v2_background.png");*/
    background-image: url("../img/misc/v2_background_wave_light.png");
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 200px;
    padding-bottom: 220px;
    margin-top: 200px;
}
.working-solution-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: -430px;
    gap: 100px;
}

.working-image {
    max-width: 477px;
    width: 100%;
    height: 233px;
}

.working-solution-content p {
    font-size: 17px;
    color: #fff;
    margin: 20px 0 0; /* v2.1 */
    /*margin: 70px 0 0;*/
}

.working-cta {
    margin-top: 80px;
    display: flex;
    justify-content: center;
}

.working-btn {
    font-size: 18px;
    color: var(--main-gold);
    font-weight: 700;
    background-color: #0c1e34;
    border: none;
    padding: 16px;
}

.working-solution-content > div {
    max-width: 477px;
    width: 100%;
    position: relative;/* v2.1 */

}

.working.interactive {
    padding: 0 15px 80px;
}

.working.interactive p {
    color: var(--main-color); /*#f0b323;*/
    font-size: 32px;
    margin: 0;
    font-weight: 700;
}

.interactive-img {
    /*width: 100%;*/
    /*margin-top: 20px;*/
    width: 100%;                /* Full width of parent */
    aspect-ratio: 16 / 9;       /* Start with this common ratio for tours; adjust as needed */
    height: auto;               /* Let aspect-ratio control height */
    position: relative;         /* Optional, but helps if you add overlays later */
}

.interactive-img iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.border-line {
    width: 100%;
    position: absolute;/* v2.1 */
    top: 45px;
    right: 0;
    width: calc(100% - 120px);/* v2.1 */
}

.interactive-img img {
    width: 100%;
}

/* corrison prevent section css start */
.corrosion-prevent-sec {
    padding-top: 90px;
}
.dec {
    padding-top: 0px !important;
}
.antenna {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 100px;
}

.antenna-content {
    color: #0c1e34;
    font-size: 30px; /*26px;*/
    /*font-weight: 700;*/
    line-height: 1;
}
.antenna-content h5 {
    color: #0c1e34;
    font-size: 35px; /*26px;*/
    /*font-weight: 700;*/
    font-weight: normal;
    margin-bottom: 60px;
    margin-top: 0px;
    min-height: 78px; /* v2.1 */
    text-align: center;
}

.antenna-content img {
    max-width: 311px;
    width: 100%;
    margin-bottom: 70px;
}

.antenna-content ul {
    padding-left: 15px;
    list-style: disc;
}

.antenna-content ul li {
    font-size: 22px; /*12px;*/
    color: #fff;
    font-weight: 400;
}
.av-dec {
    width: 95%;
    max-width: 1600px;
    margin: 0px auto;
    margin-top: -360px;
    padding-left: 15px;
    padding-right: 15px;
}
.section {
    padding: 90px 0 0;
}
/* corrison prevent section css end */

/* sections css end */

.newsletter-section {
    padding: 75px 0 50px; /* 115px 0 200px; */
    position: relative;
}
.newletter-wrapper {
    max-width: 1000px;
    margin: 0 auto;
}
.newletter-wrapper h2.section-title {
    text-align: center;
}
.newletter-wrapper p {
    color: var(--main-color); /*#f0b323;*/
    font-size: 32px;
    font-weight: 700;
    margin: 0;
    line-height: 1;
    text-align: center;
}
.newsletter-form {
    max-width: 626px;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    bottom: -110px;/* v2.1 */
    transform: translateX(-50%);
    z-index: 11; /* v2.1 */
}
.newsletter-form form {
    background-color: var(--main-gold);
    padding: 48px 70px;
    max-width: 626px;
    width: 100%;
    display: flex;
}
.newsletter-form form input {
    border: 1px solid #e3ddd7;
    border-radius: 0;
    background: none;
    flex: 1;
    font-size: 12px;
    width: auto;
    height: 52px;
    padding: 8px 17px;
}
.newsletter-form form input::placeholder {
    font-size: 12px;
    color: #0c1e34;
}
.newsletter-form .keyresult {
    border: none;
    background: none;
}
.newsletter-form form button {
    display: block;
    border: none;
    background-color: #0c1e34;
    color: #fff;
    text-transform: uppercase;
    font-size: 15px;
    padding: 10px 13px;
}
/* Newsletter footer "Go!" button hover + cursor */
.newsletter-section .newsletter-form button {
    cursor: pointer;
}

.newsletter-section .newsletter-form button:hover {
    background-color: var(--main-color);
}
/* v2.1 start */
/* yellow line right */
.nwletter-right::before {
    content: "";
    width: 2px;
    min-height: calc(100% + 38px);
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 0;
}
.nwletter-right::after {
    content: "";
    width: calc(40% - 30px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    bottom: -38px;
    z-index: 10;
}

/* yellow line left */
.nwletter-left::before {
    content: "";
    width: 2px;
    min-height: calc(100% + 38px);
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.nwletter-left::after {
    content: "";
    width: calc(40% - 30px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    bottom: -38px;
    z-index: 10;
}
/* v2.1 end */

/* footer css start */
.footer .footer-top {
    /*background: url("../img/misc/v2_footer-bg.png");*/
    background-image: url("../img/misc/v2_background_wave_dark.png");
    background-size: cover;
    padding: 160px 0 50px;
    color: #fff;
}
.footer .container {
    max-width: 1600px;
}
.footer-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 60px;
    row-gap: 30px;
}
.footer-row .footer-col-2 {
    display: flex;
    justify-content: center;
}
h3.footer-title {
    color: var(--main-gold);
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 15px;
}
p.footer-about-desc {
    font-size: 18px;
}
.footer-news-menu {
    list-style: disc;
    padding-left: 20px;
}
.footer-row .footer-col ul {
    font-size: 18px;
}
.footer-row .footer-col li a {
    color: #fff;
}
.address-info {
    font-size: 18px;
    margin-bottom: 20px;
}
h3.footer-title.follow-title {
    font-weight: 300;
}

.footer-social-links {
    display: flex;
    gap: 12px;
}
.footer-social-links a {
    display: block;
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--main-gold);
    border-radius: 5px;
    color: #0c1e34;
}

.flex-footer-bottom.footer-copyright {
    background: #d0d3d4;
}
.flex-footer-bottom.footer-copyright {
    color: #000;
    text-align: center;
}
.flex-footer-bottom.footer-copyright a {
    color: #000;
}
/* footer css end */

.description-section,
.content-section{
    margin-top: 50px;
    margin-bottom: 0; /* 20px; */
}
.description-section::after,
.content-section::after{
    content: "";
    width: 2px;
    min-height: calc(100% + 50px);
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: -50px;
}

.description-section.line-right::after,
.content-section.line-right::after{
    content: "";
    width: 2px;
    min-height: calc(100% + 50px);
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: -50px;
}

.description-section.line-left::after,
.content-section.line-left::after{
    content: "";
    width: 2px;
    min-height: calc(100% + 50px);
    background: var(--main-gold);          /* your gold/yellow color */
    position: absolute;
    left: 30px;                   /* ← changed from right → left */
    top: -50px;
}

/* NEW: Horizontal line on top (line-over) using ::before */
.description-section.line-over::before,
.content-section.line-over::before {
    content: "";
    height: 2px;
    width: calc(100% - 60px);          /* subtract left/right padding to match vertical offset */
    background: var(--main-gold);
    position: absolute;
    left: 30px;                        /* aligns with vertical lines */
    top: -1px;                         /* sits right at the top edge */
}

/* NEW: Horizontal line on bottom (line-under) using ::after */
.description-section.line-under::after,
.content-section.line-under::after {
    content: "";
    height: 2px;
    width: calc(100% - 60px);   /* matches your 30px left/right offset */
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    bottom: -10px;              /* moves it below the section padding */
    /* optional: extend a bit if needed */
}

.left-section {
    padding: 20px 0;
}
.left-section::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.left-section::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}
.right-section {
    padding: 20px 0;
}
.right-section::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 0;
}
.right-section::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}
/* ---- STUCK STATE ---- */
.product-page-menu.is-stuck{
    position: fixed;
    top: 148px;             /* stays below your main menu */
    left: 0;
    width: 100%;
    z-index: 9999;

    background: var(--sticky-dark-bg); /* use the exact value from your header sticky style */
    /*background: rgba(255,255,255,.85);*/
    /*backdrop-filter: blur(6px);*/

    padding: 19px 0;        /* tighter when stuck */
    border-top: 0;
}

/* Anchor jump offset so headings don’t hide under sticky menu */
.content-section,
.has-border-top{
    scroll-margin-top: 300px; /* 200 + a little buffer */
}
/* product page css */
.hero-section.product-hero {
    background-size: 70% 90%; /* v2.1 */

    /*background-size: 39% 100%;*/
    position: relative;
}
.product-hero .container {
    max-width: 1600px;
}
.product-content-row {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding: 20px 0;
    margin-top: 20px;
    margin-bottom: 60px;
}
.product-content-wrapper {
    padding: 20px 40px 60px 40px;
    position: relative;
    z-index: 1;
    width: 65%;
    margin-top: 40px;
    min-width: 0;
}
.product-content-row::before {
    content: "";
    width: 65%;/* v2.1 */
    /*width: 65%;*/
    height: 105%;
    background-color: #d0d3d4;
    position: absolute;
    top: 20px;
    left: 0;
}
h1.product-title {
    /*font-size: 78px;*/
    font-size: 45px;
    font-weight: 300;
    margin: 0;
    line-height: 1.2;
    color: #0c1e34;

    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.product-subheading {
    color: var(--main-color);
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 26px;
    line-height: 1;
}


/* Product details list */
.product-details{
    list-style: disc;
    padding-left: 30px;
    font-size: 23px;
}

/* Nested lists ONLY inside .product-details (tag-agnostic anchor) */

.product-details ul{
     list-style-type: disc;
     margin: 6px 0 0;
     padding-left: 22px;
     font-size: 23px;
 }

.product-details ol{
    list-style-type: decimal;
    margin: 6px 0 0;
    padding-left: 22px;
    font-size: 23px;
}

/* If something else styles ol li, force it here */
.product-details ol li{
    font-size: 23px;
}
.product-hero-col {
    width: 45%;/* v2.1 */
    padding: 0 20px;
    margin-top: 90px; /* v2.1 */
    align-self: flex-start;
    /*width: 40%;*/
    /*padding: 0 20px;*/
}
.product-images-wrapper {
    box-shadow: 10px 10px 12px 2px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 3;
}
.product-images-wrapper .slick-list {
    background: none;
}
.product-img {
    height: 420px;
}
.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px 15px 0 0;
}
.product-thumb-img {
    height: 120px;/* v2.1 */
    display: block !important;/* v2.1 */
    /*height: 145px;*/
}
.product-thumb-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.thumb-prev,
.thumb-next {
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.8), 0 0 6px rgba(0, 0, 0, 0.5);
    background: none;
    border: none;
    width: 15px;
    height: 30px;
    color: var(--main-gold);
    font-size: 30px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
}
.thumb-prev {
    left: -20px;
}
.thumb-next {
    right: -20px;
}
/*!* these changes override plugins.css settings *!*/
/*.product-img-slider {*/
/*    margin-top: -5px!important; !* to fix lower gap from original plugins.css code ... bug *!*/
/*    border-radius: 0 0 15px 15px !important;*/
/*    overflow: hidden !important;*/
/*    background: #fff;   !* optional, or delete to make transparent over blue background...match your page background *!*/
/*}*/
/* Outer wrapper */
.product-img-slider {
    margin-top: -5px!important;
    position: relative;
    background: transparent!important;
}

.product-img-slider .slick-list {
    border-radius: 0 0 15px 15px;
    overflow: hidden;
}

.hero-contact-btn {
    display: flex;
    justify-content: center;
    margin-top: 50px; /* v2.1 */
    z-index: 9;/* v2.1 */
    position: relative;/* v2.1 */
    /*margin-top: 20px;*/
}
.hero-contact-btn a {
    display: inline-block;
    background-color: var(--main-gold);
    border: none;
    font-size: 16px;
    font-weight: 700;
    padding: 10px;
    color: #0c1e34;
}
/* v2.1 start*/
.product-box-row {
    display: flex;
    align-items: flex-start;
    justify-content: start;
    margin-top: -300px;
    postition: relative;
}

.product-box-row .box-gray {
    background-color: #7c878e;
    height: 352px;
    flex: 1;
    max-width: 700px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 40px;
    margin-left: calc(50% - 50vw);   /* ← ONLY THIS ONE LINE */

}
.product-box-row .box-blue {
    background-color: #0c1e34;
    height: 176px;
    width: 128px;
    margin-top: auto;
}
/* Only target the button inside .product-box-row */
.product-box-row #btnReq,
.product-box-row button#btnReq {
    position: absolute !important;
    left: 75% !important;                 /* centers under the right-hand photo column */
    bottom: 20px !important;
    transform: translateX(-50%) !important;
    z-index: 20;
}
.product-box-row button#btnReq {
    align-self: flex-end;
}
/* hero section content pages */
.product-content-row.product-content-row2 {
    flex-direction: column;
    justify-content: flex-start!important;
}
.product-content-row.product-content-row2::before {
    height: 98%;
}
.product-content-row2 .product-content-wrapper {
    padding: 20px 40px;
}
.hero-img-col {
    width: 100%;
}
.hero-img-wrapper2 {
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 40px;
}
.hero-img-wrapper2 img {
    width: 100% !important;
    aspect-ratio: 5 / 1;           /* ← THIS is the modern, perfect way */
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
    display: block;
}
.hero-img-wrapper2 p {
    width: 58%;
}
.product-box-row1 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: -150px;           /* same vertical overlap as product pages */
    position: relative;          /* needed for absolute button later */
    padding-bottom: 20px;        /* room for the centered button */
}
.product-box-row1 .box-gray1 {
    background-color: #7c878e;
    height: 160px; /*352px;*/                /* same height as product pages */
    flex: 1;
    max-width: 700px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 40px;
    margin-left: calc(50% - 50vw);   /* THIS LINE = magic that makes it go full-width to the right */

}
.product-box-row1 .box-blue1 {
    background-color: #0c1e34;
    height: 160px; /*176px;*/
    width: 128px;
    margin-top: auto;             /* pushes it to the bottom of the row */

}
/* push the decorative gray and blue boxes behind the content - to look similar to product pages hero sections */
.product-content-row.product-content-row2 {
    position: relative;
    z-index: 1;            /* light-gray ::before + title box = wins */
}
.product-box-row1 {
    position: relative;
    z-index: 0;            /* one layer lower → behind the light-gray box */
}
/* v2.1 end */


/* product floating sticky inpage menu section  */
.product-page-menu{
    padding: 19px 0; /*55px 0;*/
    position: relative; /* normal flow until stuck */
    z-index: 50;
    transition: padding 0.3s ease;
}
.product-page-menu .container {
    /*max-width: 1600px;*/
    max-width: inherit;          /* or copy exact value from your main .container if known, e.g. 1600px */
    padding-left: 15px;          /* match your site's typical container side padding – inspect a .content-section .container in dev tools */
    padding-right: 15px;
    margin: 0 auto;
}

.product-menu {
    /*display: flex;*/
    /*align-items: center;*/
    /*justify-content: center;*/
    /*gap: 30px;*/
    /*max-width: 900px;*/
    /*margin: 0 auto;*/
    /*  flex-wrap: wrap;*/
    /*  gap: 15px 20px;*/
    max-width: 100%;             /* ← removes any previous cap like 900px */
    margin: 0;                   /* no auto margins */
    padding: 0;                  /* clear any padding */
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* start from left instead of center – reduces visual "margin" feel */
    gap: 15px 20px;              /* smaller horizontal gap; vertical for rows */
}
.product-menu .up-icon {
    font-size: 24px;
    color: var(--main-color); /*#0c1e34;*/
}
.product-menu-link {
    flex: 1 1 auto;              /* grow to fill row equally, shrink if needed */
    min-width: 140px;            /* base size for shortest labels – adjust after testing */
    white-space: nowrap;
    text-align: center;
    padding: 8px 12px;           /* consistent padding */
    box-sizing: border-box;
    max-width: 180px;
}
.product-menu .product-menu-link {
    display: block;
    flex: 1;
    background-color: var(--main-color); /*#0c1e34;*/
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 3px 5px;
}


.product-page-menu::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    bottom: 0;
}
/*.product-page-menu::before {*/
/*    content: "";*/
/*    width: calc(100% - 60px);*/
/*    height: 2px;*/
/*    background: var(--main-gold);*/
/*    position: absolute;*/
/*    right: 30px;*/
/*    left: 30px;*/
/*    bottom: 0;*/
/*}*/
/*When the in-page menu becomes sticky, kill its yellow pseudo-lines*/
.product-page-menu.is-stuck::before,
.product-page-menu.is-stuck::after{
    content: none !important;
}
/* keep the up arrow button smaller */
.product-menu-link.to-top {
    flex: 0 0 auto;          /* Prevents it from growing like the others */
    width: 45px;             /* Or whatever narrow width you want, e.g. 50px–80px */
    min-width: unset;        /* Overrides any inherited min-width if present */
}

/* section 1 css */
.heading {
    /*font-size: 78px;*/
    font-size: 39px;
    line-height: 1;
    font-weight: 300;
    color: #0c1e34;
    margin: 0;
    margin-bottom: 50px;
    /*font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;*/
    /*  font-family: "Dosis-Regular", "TradeGothic", "arial";*/
    /*  font-family: 'TradeGothic', 'Arial Narrow', Arial, sans-serif;*/
}
.product-table {
    margin-bottom: 40px;
}
.product-table table {
    width: 100%;
}
.product-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
.product-table tbody .bg-table {
    background-color: #d8dcdb;
}
.product-table tbody tr td {
    text-align: center;
    padding: 10px 4px;
    border: 1px solid #000;
    font-size: 14px;
    font-weight: 400;
}
.product-table tbody tr .left-align {
    text-align: left;
    font-weight: 700;
}
.product-btn {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.product-btn > div {
    display: flex;
    justify-content: center;
}
.product-btn button {
    background-color: var(--main-gold);
    border: none;
    font-size: 16px;
    font-weight: 700;
    padding: 10px;
    color: #0c1e34;
}

/* Section 2 */
.pdf-section {
    margin-top: 65px;
}
.conductive-bg {
    /*background-image: url("../img/misc/v2_background.png");*/
    background-image: url("../img/misc/v2_background_wave_light.png");
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 60px;
    padding-bottom: 40px;
    margin-bottom: 95px;
    padding-left: 15px;
    padding-right: 15px;
}
.conductive-li {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.conductive-image {
    flex-shrink: 0;
}
.conductive-content {
    color: var(--main-light-gray);
}
.conductive-content h6 {
    font-size: 20px;
    font-weight: 400;
    /*color: #fff;*/
    text-decoration: underline;
    margin: 0;
}
.conductive-content p {
    font-size: 20px;
    font-weight: 400;
    /*color: #fff;*/
    margin: 0;
}
.conductive-content a {
    font-size: 20px;
    font-weight: 400;
    color: var(--main-light-gray);
    margin: 0;
}

/* section 3 */
.installing-img img {
    width: 100%;
}
.installing-img p {
    font-size: 20px;
    color: #000000;
    font-weight: 400;
    margin: 0;
    margin-bottom: 80px;
}

/* section 5 */
.stock-table tbody tr {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}
.stock-table tbody tr td {
    text-align: left;
    font-size: 14px;
    font-weight: 400;
    color: #000000;
}
.stock-table tbody .stock-bg-table {
    background-color: #0c1e34;
}

.stock-table tbody .stock-bg-table td {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}
.stock-table-btn {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px;

}
.stock-table-btn button {
    color: var(--main-gold);
    font-size: 18px;
    font-weight: 700;
    padding: 10px 32px;
    background-color: #0c1e34;
    border: none;
    margin-bottom: 16px;
}
.stock-table-btn p {
    font-size: 20px;
    font-weight: 400;
    color: var(--main-color);
    text-decoration: underline;
    margin: 0;
}

/* product description section */
.description-section {
    position: relative;
    padding: 26px 0px;

    /*background: url("../img/misc/v2_gasket-bg.png") no-repeat center center/cover;*/
    background: url("../img/misc/v2_background_wave_light.png") center center/cover;
    color: var(--main-light-gray);
}
/* product description section */
.content-section {
    position: relative;
    padding: 26px 0px;
    color: #000;
}

.description-section .container,
.content-section .container{
    position: relative;
    z-index: 1;
    max-width: 1624px;
    margin: auto;
    padding: 0 12px;
}

.description-section h2,
.content-section h2 {
    font-size: 32px;
    font-weight: 700;
}

.description-section h3,
.content-section h3{
    font-size: 24px;
    margin-top: 30px;
    margin-bottom: 0;
}

.description-section h4,
.content-section h4{
    margin-top: 20px;
    font-weight: 600;
}

.description-section p,
.content-section p{
    margin-bottom: 15px;
    /*color: #f2f2f2;*/
    margin-top: 0;
    font-size: 18px;
}

.description-section ul,
.content-section ul{
    margin: 0;
    padding-left: 18px;
    font-size: 18px;
    list-style: disc;
}

.description-section ul li,
.content-section ul li{
    margin-bottom: 8px;
}
.description-section ol li,
.content-section ol li{
    margin-bottom: 8px;
}
.description-section .text-center,
.content-section .text-center{
    text-align: center;
}

.description-section .btn-yellow,
.content-section .btn-yellow{
    display: inline-block;
    background-color: var(--main-gold);
    color: #000;
    padding: 10px 25px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.3s;
    margin-top: 20px;
}

.description-section .btn-yellow:hover,
.content-section .btn-yellow{
    background-color: var(--main-gold);
}

/* responsive css */
@media screen and (max-width: 1200px) {
    /* header responsive */
    .header.new-header .wrapper-full {
        gap: 20px;
    }
    .header-left {
        gap: 20px;
    }

    /*.header-left .header-title {*/
    /*    font-size: 15px; !*18px;*!*/
    /* }*/

    /*.header-tagline {*/
    /*    font-size: 20px;*/
    /*    transform: translateY(-50%) scaleX(0.88);    !*92% width*!*/
    /*}*/

    /*.hero-gray-box h2.header-title {*/
    /*    font-size: 18px; !* v2.1 *!*/
    /*}*/

    .header.new-header .content-right form {
        width: auto;
    }
    .nav-main .dl-menu > li > a {
        font-size: 14px;
    }
    .nav-handle:after {
        background: #fff;/* v2.1 */
        -webkit-box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;/* v2.1 */
        box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;/* v2.1 */
    }
    .sticky-header .nav-handle:after {
        background: #fff;
        -webkit-box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;
        box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;
    }

    /* hero section */
    .hero-section {
        padding-top: 120px;
    }
    .hero-content-row {
        padding-right: 10%; /* v2.1 */
    }
    .hero-blue-box {
        width: 90px; /* v2.1 */
    }
    .hero-title-wrapper h1 {
        font-size: 50px;/* v2.1 */
    }
    .hero-title-wrapper .origin-date {
        font-size: 30px;
    }
    /* v2.1 */
    .antenna {
        gap: 40px;
    }
}

/* media 1024px */
@media (max-width: 1024px) {
    /*.header-left .header-title {*/
    /*    font-size: 10px; !*18px;*!*/
    /*}*/

    /*.header-tagline {*/
    /*    font-size: 18px;*/
    /*    transform: translateY(-50%) scaleX(0.88);    !*92% width*!*/
    /*}*/

    /* working solution */
    .working-solution-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }
    .border-line-fixed {
        filter: brightness(24);
    }
    .fixed-para {
        color: #fff !important;
    }
    .working h2 {
        font-size: 48px;
    }
    .working-solution {
        margin-top: 370px;
    }
    .working.interactive {
        padding-bottom: 40px !important;
    }
    .antenna-content img {
        margin-bottom: 30px !important;
    }
    .antenna-content h5 {
        margin-bottom: 20px !important;
    }
    .working.interactive p {
        font-size: 26px;
    }

    /* antena */
    .antenna {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 30px;
        column-gap: 50px;
    }

    /* section title */
    h2.section-title {
        font-size: 48px;
    }
    /* newsletter section */
    .newletter-wrapper p {
        font-size: 26px;
    }
}

/* media 991px — sync burger appear, menu hide, header shrink */
@media screen and (max-width: 991px) {
    .product-menu {
         gap: 6px 4px!important;              /* smaller horizontal gap; vertical for rows */
    }
    .product-menu .up-icon {
        font-size: 10px!important;
    }
    .product-menu-link {
        min-width: 80px!important;            /* base size for shortest labels – adjust after testing */
        padding: 1px 2px!important;           /* consistent padding */
        max-width: 140px!important;
    }
    .product-menu .product-menu-link {
        font-size: 12px!important;
        font-weight: 200!important;
        padding: 1px 2px!important;
    }
    .header.new-header.sticky-header {
        padding-bottom: 5px !important;
    }
    .product-page-menu.is-stuck {
        top: 77px; /*148px;             /* stays below your main menu */
        padding: 10px 0!important;
    }
    .description-section.line-right::after,
    .content-section.line-right::after{
        right: 20px; /* Mark, fixed on mobile */
    }
    .nav-main .dl-menu {
        top: calc(100% - 5px) !important; /* Slight buffer under burger; adjust if header padding interferes */
        right: -32px !important; /* Aligns to right edge of parent */
        /*transform: translateX(0) !important; !* No shift needed if already right-aligned; use translateX(-10px) if burger has right margin *!*/
    }
    .nav-main .dl-submenu {
        max-width: 250px;
    }
    .nav-main .dl-menu .nav-sub-list {
        background: var(--main-color);
    }
    /* Remove arrows from all menu/submenu links */
    .dl-menu li a::before,
    .dl-menu li a::after {
        content: none !important; /* Kills any generated arrows like > or < */
    }

    /* Specifically for the back button if it has extra styling */
    .dl-back a::before,
    .dl-back a::after {
        content: none !important;
    }

    /* Thicken borders on third-level items */
    .nav-main .dl-menu .dl-submenu li {
        border-bottom: 2px solid var(--main-color) !important; /* Replace #your-border-color with the existing hex/rgb from dev tools for consistency; bump to 3px if 2px is still faint */
    }
    /* Thicken borders on third-level items */
    .nav-main .dl-menu .dl-submenu .dl-submenu li {
        border-bottom: 2px solid var(--main-color) !important; /* Replace #your-border-color with the existing hex/rgb from dev tools for consistency; bump to 3px if 2px is still faint */
    }
    /* copied from 1st 991 section above */
    .prod-home {
        top: 0;
    }
    .prod-home-item {
        margin-top: 10px;
    }
    .prod-youtube-item {
        margin-top: 10px;
    }
    /* END 1st section above */

    .convention-card { flex: 0 0 min(250px, 75vw); }

    /* Force burger visible only here (override any earlier min-width hide) */
    .nav-handle {
        display: block !important;
        top: -50px !important;  /* start lower to avoid top cut-off */
    }

    .scrolled .nav-handle {
        top: -40px !important;
    }

    /*!* Hide full horizontal nav items — mobile slide-in starts *!*/
    /*.nav-main .dl-menu > li > a {*/
    /*    display: none !important;  !* hides text links *!*/
    /*    opacity: 0;*/
    /*    pointer-events: none;*/
    /*}*/
    .dl-menuwrapper .dl-menu.dl-menuopen {
        opacity: 1;
        pointer-events: auto;
    }

    .nav-main .dl-menu {
        position: absolute !important;
        width: 250px !important;
        right: 0;
        top: 100%;
        background: var(--main-color);
        z-index: 9999;
    }

    /* Header height shrink */
    .header {
        padding: 10px 0 !important;
    }

    .scrolled .header {
        padding: 8px 0 !important;
    }

    .scrolled .header.new-header .logo img {
        width: 90px !important;
    }

    /* =========================================================
       SEARCH BAR: force input + button into same row (no overlap)
       ========================================================= */

    .header.new-header .content-right form {
        /* Responsive width so it always fits on narrow phones */
        width: min(260px, calc(100vw - 170px)) !important;

        /* Keep your gold frame */
        padding: 6px 8px !important;
        margin-right: 50px !important;
        margin-bottom: 0 !important;

        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;

        /* Prevent weird wrapping */
        flex-wrap: nowrap !important;
        overflow: hidden !important;
    }

    /* IMPORTANT: kill any absolute/float positioning from desktop CSS */
    .header.new-header .content-right form input,
    .header.new-header .content-right form button {
        position: static !important;
        float: none !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .header.new-header .content-right form input {
        height: 28px !important;
        line-height: 28px !important;
        font-size: 11px !important;
        padding: 0 8px !important;

        flex: 1 1 auto !important;
        min-width: 0 !important; /* critical for flex shrinking */
    }

    .header.new-header .content-right form input::placeholder {
        font-size: 11px !important;
    }

    .header.new-header .content-right form button {
        height: 28px !important;
        line-height: 28px !important;
        font-size: 12px !important;

        /* Fixed button width so it can’t “sit on top” */
        width: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;

        flex: 0 0 44px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Your original hero/footer/etc. rules */
    .hero-section {
        padding-top: 100px;
        background-size: 50% 90%;
    }
    .hero-title-wrapper h1 {
        font-size: 36px;
    }
    .hero-title-wrapper .origin-date {
        font-size: 30px;
    }
    .hero-blue-box {
        height: 140px;
        width: 60px;
    }
    .hero-gray-box {
        height: 280px;
        padding: 20px;
    }

    .av-dec-solution {
        padding-bottom: 140px;
    }

    .footer-row {
        column-gap: 30px;
    }

    /* third 991 copied from below */
    .hero-section.product-hero {
        background-size: 50% 100%;
    }
    .product-content-row {
        flex-wrap: wrap;
    }
    .product-content-row::before {
        width: 100%;
    }
    .product-content-wrapper {
        width: 100%;
    }
    h1.product-title {
        /*font-size: 50px;*/
        font-size: 30px;
    }
    .product-subheading {
        font-size: 26px;
    }
    ul.product-details {
        font-size: 20px;
    }
    .product-hero-col {
        width: 90%;
        margin: 0 auto;
        margin-bottom: 40px;
    }
    .product-menu {
        gap: 15px;
    }
    .product-menu .product-menu-link {
        font-size: 16px;
    }

    .heading {
        /*font-size: 48px;*/
        font-size: 24px;
    }
    /* END third 991 from below */

}


/* media 767px */
@media (max-width: 767px) {
    /* header */
    /*.scrolled .header.new-header .logo img {*/
    /*    width: 90px;*/
    /*}*/
    /*.hero-gray-box h2.header-title {*/
    /*    font-size: 14px; !* v2.1 *!*/
    /*}*/

    /* hero section */
    .hero-section {
        padding-top: 96px; /* v2.1 */
    }
    .hero-content-row {
        margin-top: -140px;
        padding-right: 27px; /* v2.1 */
    }
    .hero-title-wrapper {
        padding: 20px;
    }
    .hero-title-wrapper h1 {
        font-size: 32px;
    }
    .hero-title-wrapper .origin-date {
        font-size: 22px;
    }
    .hero-blue-box {
        width: 20px; /* v2.1 */
        height: 100px;
    }
    .hero-gray-box {
        height: 220px;
    }

    /* working solution */
    .section {
        padding: 60px 0 0;
    }
    .working-solution-content {
        display: grid;
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .working h2 {
        font-size: 30px;
    }
    .fixed-para {
        color: #fff !important;
    }
    .fixed-para2 {
        color: #fff !important;
    }
    .fixed-image {
        filter: brightness(25);
    }
    .working-image {
        max-width: none !important;
        height: auto !important;
    }
    .working-solution-content > div {
        max-width: none !important;
    }
    .working-section1 {
        margin-bottom: 50px;
    }
    .working-solution-content .working-section1 .working-img p {
        font-size: 24px;
    }
    .working-cta {
        margin-top: 50px;
    }

    /* antena */
    .antenna {
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 30px;
        column-gap: 50px;
    }
    .antenna-content img {
        max-width: none !important;
    }

    /* corrison prevent section */
    .corrosion-prevent-sec {
        padding-top: 60px;
    }
    .working.interactive p {
        font-size: 20px;
    }

    /* section title */
    .quick-products {
        padding: 60px 0 30px;
    }
    .title-row {
        margin-bottom: 25px;
    }
    h2.section-title {
        font-size: 30px;
    }

    /* newsletter section */
    .newsletter-section {
        padding: 60px 0 120px;
    }
    .newletter-wrapper p {
        font-size: 20px;
    }
    .newsletter-form {
        bottom: -90px;
    }
    .newsletter-form form {
        padding: 30px 40px;
    }

    /* footer  */
    .footer .footer-top {
        padding: 110px 0 50px;
    }
    .footer-row {
        grid-template-columns: 1fr;
    }
    h3.footer-title {
        font-size: 26px;
    }
    p.footer-about-desc {
        font-size: 16px;
    }
    .footer-row .footer-col ul {
        font-size: 16px;
    }
    .footer-row .footer-col-2 {
        justify-content: flex-start;
    }
}

/* media max-width 576px */
@media screen and (max-width: 576px) {
    /*.header.new-header .content-right form {*/
    /*    display: none;*/
    /*}*/
    .nav-handle {
        top: -50px; /* v2.1 */
    }

    /* hero section */
    .hero-section {
        padding-top: 90px; /* v2.1 */
    }
    .hero-img-wrapper img {
        width: 100%;
    }
    .hero-title-wrapper h1 {
        font-size: 24px;
    }
    .hero-title-wrapper .origin-date {
        font-size: 18px;
    }
    .hero-content-row {
        margin-top: -110px; /* v2.1 */
    }
    .hero-blue-box {
        width: 10px; /* v2.1 */
    }
    .hero-gray-box {
        padding: 10px; /* v2.1 */
    }
}


/* yellow line for Home page */
.hero-section::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
    z-index: 10;
}
.hero-section::before {
    content: "";
    width: 20%; /* v2.1 */
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
}

.working-solution-sec::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 38px;
}
.working-solution-sec::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    top: 36px;
}

.interactive-airplane-sec::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
}
.interactive-airplane-sec::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    top: 36px;
}

.corrosion-prevent-sec::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 38px;
}
.corrosion-prevent-sec::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    top: 36px;
}

.quick-products::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
}
.quick-products::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    top: 36px;
}

/* v2.1 start */
/* yellow line right */
.nwletter-right::before {
    content: "";
    width: 2px;
    min-height: calc(100% + 38px);
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 0;
}
.nwletter-right::after {
    content: "";
    width: calc(40% - 30px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    bottom: -38px;
}

/* yellow line left */
.nwletter-left::before {
    content: "";
    width: 2px;
    min-height: calc(100% + 38px);
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.nwletter-left::after {
    content: "";
    width: calc(40% - 30px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    bottom: -38px;
}
/* v2.1 end */
@media screen and (max-width: 768px) {
    .hero-section::after {
        right: 20px;
    }
    .hero-section::before {
        right: 20px;
    }

    .working-solution-sec::after {
        left: 20px;
    }
    .working-solution-sec::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .interactive-airplane-sec::after {
        right: 20px;
    }
    .interactive-airplane-sec::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .corrosion-prevent-sec::after {
        left: 20px;
    }
    .corrosion-prevent-sec::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .quick-products::after {
        right: 20px;
    }
    .quick-products::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    /* v2.1 start */
    /* .newsletter-section::after {
      right: 20px;
    } */
    .nwletter-right::before {
        right: 20px;
    }
    .nwletter-right::after {
        right: 20px;
    }
    .nwletter-left::before {
        left: 20px;
    }
    .nwletter-left::after {
        left: 20px;
    }
    /* v2.1 end */
}




/* product responsive css THIRD 991  */
/*@media screen and (max-width: 991px) {*/
/*    .hero-section.product-hero {*/
/*        background-size: 50% 100%;*/
/*    }*/
/*    .product-content-row {*/
/*        flex-wrap: wrap;*/
/*    }*/
/*    .product-content-row::before {*/
/*        width: 100%;*/
/*    }*/
/*    .product-content-wrapper {*/
/*        width: 100%;*/
/*    }*/
/*    h1.product-title {*/
/*        !*font-size: 50px;*!*/
/*        font-size: 30px;*/
/*    }*/
/*    .product-subheading {*/
/*        font-size: 26px;*/
/*    }*/
/*    ul.product-details {*/
/*        font-size: 20px;*/
/*    }*/
/*    .product-hero-col {*/
/*        width: 90%;*/
/*        margin: 0 auto;*/
/*        margin-bottom: 40px;*/
/*    }*/
/*    .product-menu {*/
/*        gap: 15px;*/
/*    }*/
/*    .product-menu .product-menu-link {*/
/*        font-size: 16px;*/
/*    }*/

/*    .heading {*/
/*        !*font-size: 48px;*!*/
/*        font-size: 24px;*/
/*    }*/
/*}*/

@media screen and (max-width: 767px) {
    .product-content-wrapper {
        padding: 20px 20px 40px;
    }
    h1.product-title {
        /*font-size: 32px;*/
        font-size: 20px;
    }
    .product-subheading {
        font-size: 22px;
    }
    ul.product-details {
        font-size: 18px;
    }
    .product-menu {
        flex-wrap: wrap;
    }
    .product-menu .product-menu-link {
        flex: none;
    }
    /* v2.1 start */
    .product-box-row .box-gray {
        height: 320px;
    }
    .product-box-row .box-blue {
        height: 150px;
    }

    /* content pages hero */
    .product-content-row2 .product-content-wrapper {
        padding: 20px;
    }
    .hero-img-wrapper2 {
        padding: 0 20px;
    }
    /* v2.1 end */

    .heading {
        /*font-size: 32px;*/
        font-size: 16px;
        margin-bottom: 22px;
    }
    .product-btn {
        grid-template-columns: 1fr;
        row-gap: 16px;
    }
    .conductive-bg {
        margin-bottom: 50px;
    }

    .pdf-section {
        margin-top: 50px;
    }
    .installing-img p {
        margin-bottom: 50px;
    }
    .stock-table {
        overflow: scroll;
    }
    .stock-table table {
        min-width: 600px;
    }

    /* gasket description section */
    .description-section,
    .content-section{
        padding: 60px 15px;
    }

    .description-section h2,
    .content-section h2{
        font-size: 1.5rem;
    }

    .description-section h3,
    .content-section h3{
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 576px) {
    .product-img {
        height: 320px;
    }
    .product-thumb-img {
        height: 100px;
    }
}

/* yellow line for product page */
.hero-section.product-hero::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
    z-index: 99;
}
.hero-section.product-hero::before {
    content: "";
    width: 200px;
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 38px;
}

.product-specifications {
    padding: 20px 0;
}
.product-specifications::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.product-specifications::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}

.pdfs {
    padding: 20px 0;
}
.pdfs::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 0;
}
.pdfs::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}

.install-video {
    padding: 20px 0;
}
.install-video::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.install-video::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}

.gasket-video {
    padding: 20px 0;
}
.gasket-video::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    top: 0;
}
.gasket-video::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}

.nsn {
    padding: 20px 0;
}
.nsn::after {
    content: "";
    width: 2px;
    min-height: 100%;
    background: var(--main-gold);
    position: absolute;
    left: 30px;
    top: 0;
}
.nsn::before {
    content: "";
    width: calc(100% - 60px);
    height: 2px;
    background: var(--main-gold);
    position: absolute;
    right: 30px;
    left: 30px;
    bottom: 0;
}


@media screen and (max-width: 768px) {
    .hero-section.product-hero::after {
        right: 20px;
    }
    .hero-section.product-hero::before {
        right: 20px;
    }

    .product-page-menu::after {
        right: 20px;
    }
    .product-page-menu::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .product-specifications::after {
        left: 20px;
    }
    .product-specifications::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .pdfs::after {
        right: 20px;
    }
    .pdfs::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .install-video::after {
        left: 20px;
    }
    .install-video::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .gasket-video::after {
        right: 20px;
    }
    .gasket-video::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .nsn::after {
        left: 20px;
    }
    .nsn::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }

    .description-section::after,
    .content-section::after{
        min-height: calc(100% + 50px);
        right: 20px;
        top: -50px;
    }

    .left-section::after {
        left: 20px;
    }
    .left-section::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }
    .right-section::after {
        right: 20px;
    }
    .right-section::before {
        width: calc(100% - 40px);
        right: 20px;
        left: 20px;
    }
}

/*@media (max-width: 991px) {*/
/*    !* 1) Stop collapsing the opened menu *!*/
/*    #dl-menu > ul.dl-menu.dl-menuopen {*/
/*        height: auto !important;*/
/*    }*/

/*    !* 2) Force mobile menu links to actually show *!*/
/*    #dl-menu > ul.dl-menu a {*/
/*        display: block !important;*/
/*        opacity: 1 !important;*/
/*    }*/
/*}*/