*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*{ margin: 0; outline: none; -webkit-text-size-adjust: none; }

:root {
    font-family: 'Barlow', sans-serif; font-weight: 400; font-size: 16px; line-height: var(--rootLineHeight) ; color: var(--textColor);
    --primary: rgba(210, 15, 20, 1) ;
    --secondary: rgba(0, 38, 58, 1);
    --gray: rgba(246, 246, 246, 1);
    --mediumGray: rgba(190, 190, 190, 1);
    --darkGray: rgba(77, 77, 77, 1);
    --darkBlue: rgba(0, 30, 47, 1) ;
    --bs-gutter-x: 22px;
    --textColor: var(--secondary);
    --rootLineHeight: 1.375;
    --mainWidth: 2000px;
    --headerHeight: 159px;
}

html { -webkit-font-smoothing: antialiased; }
html{ height: 100% !important; }



main { display: block; width: var(--mainWidth); max-width: 100%; margin: 0 auto; background-color: #fff; min-height: 100vh; padding-top: var(--headerHeight);
    -webkit-box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.1);
    
}

section.slider,
section.customers{ overflow: hidden; }

section.slider div.container > div.text{ padding-bottom: 40px; }
section.slider div.text span.caret { position: absolute; right: 22px; top: 12px; z-index: 3; }

section.slider.application div.container > div.text { padding-bottom: 8px; }

body{ background-color: #fff; overflow-x: hidden; }

#scrolline-wrapper{ z-index: 6; position: fixed; top: 0; width: 100%; height: 8px; width: var(--mainWidth); }
#scrolline-wrapper div.scrolline{ max-width: 100%!important; }

.white{ background-color: #fff; color: initial; }
.red-light{ background-color: var(--primary)!important; color: #fff; }
.steel-blue{ background-color: var(--secondary)!important; color: #fff; }
.dark-blue{ background-color: var(--darkBlue)!important; color: #fff; }

.grey-light,
.bg-gray{ background-color: var(--gray); }


article div.text:not(.line-clamp) :is(h1,h2){ margin-bottom: 1em }

article div.text.large h1,
h1.display{ font-size: 64px; line-height: 0.8974; margin-bottom: 40px; }

div.text.large h1{ font-weight: 300; }

h1, .h1{ font-weight: 700; font-size: 52px; line-height: 1; margin: 0; text-wrap: balance; }
h2, .h2{ font-weight: 700; font-size: 44px; line-height: 1.25; margin: 0; text-wrap: pretty; }
h3, .h3{ font-weight: 700; font-size: 32px; line-height: 1.1875; margin: 0; text-wrap: pretty; }
div.h4{ font-weight: 700; font-size: 24px; line-height: 1.166666; margin: 0; text-wrap: pretty; }
div.h5{ font-weight: 700; font-size: 18px; line-height: 1.333333; margin: 0; text-wrap: pretty; }
div.h6{ font-weight: 700; margin: 0; text-wrap: pretty; }

.h3-mobile{ font-weight: 700; font-size: 24px; line-height: 1.25 ; margin: 0; text-wrap: pretty; }
.h4-mobile{ font-weight: 700; font-size: 20px; line-height: 1.2 ; margin: 0; text-wrap: pretty; }

label{ display: block; font-size: 14px; line-height: 18px; }

.large{ font-size: 24px; line-height: 1.5; }
small, .small{ display: block; font-weight: 500; font-size: 12px; line-height: 16px; }
.tiny{  font-size: 10px; line-height: 14px; }

.line-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
  }

article.steel-blue + article.steel-blue,
.red-light + .red-light,
.bg-gray + .bg-gray,
.bg-none + .bg-none{ padding-top: 0!important; }

img, svg, iframe, picture{ vertical-align: middle; }

.flex{ display: flex; }

.object-fit-cover{ position: absolute; inset: 0; width: 100%!important; height: 100%!important; object-fit: cover; }
.object-fit-contain{ position: absolute; inset: 0; width: 100%!important; height: 100%!important; object-fit: contain; }

hr { border: none; height: 1px; max-width: 100%; background-color: var(--mediumGray); }

ul{ list-style-type: none; margin: 0; padding: 0; }
ul li{ background: none; padding: 0; position: relative; }

figure,
div.image{ position: relative; }

figure img,
div.image img{ max-width: 100%; height: auto; }

article,section{ position: relative; z-index: 2; }

p:empty{ display: block; min-height: 22px; margin-top: 0!important; }

h3 + p,
.h3 + p,
.h4 + p,
.h3-mobile + p{ margin-top: 16px; }

article p + p > a.button{ margin-top: 8px; }

p + button{ margin-top: 24px; }

b,strong{ font-weight: 700; }

.hidden{ display: none; }

article :is(h1,h2) + *{ margin-top: 16px; }

a{ display: inline-block; position: relative; text-decoration: none; color: inherit; }
.underline { border-bottom: 1px solid; border-color: var(--color1); line-height: 1.2; display: inline-block;  }


button.caret::after,
a.button::after,
.button.caret::after{ content: ""; display: inline-block; width: 7px; height: 12px; background: url(svg/caret-white.svg) no-repeat; margin-left: 16px; position: relative; top: 1px; }
.chevron::after{ content: ""; display: inline-block; width: 13px; height: 8px; background: url(svg/chevron-white.svg) no-repeat; margin-left: 16px; }
.plus::after{ content: ""; display: inline-block; width: 14px; height: 14px; background: url(svg/plus-red.svg) no-repeat; margin-left: 8px; position: relative; top: 2px; }

div.text.line-clamp.unclamp +span.plus::after{ transform: rotate(45deg); }

span.caret{ display: inline-block; font-weight: 700; color: var(--primary); cursor: pointer; }
span.caret::after{ content: ""; display: inline-block; width: 7px; height: 12px; background: url(svg/caret-red.svg) no-repeat; margin-left: 16px; position: relative; top: 1px; }

span.button{ display: inline-block; position: relative; z-index: 1; }
span.button > button{ padding: 0; background-color: unset; }

button{ border: none; font-family: inherit; }
button,.button{ display: inline-block; font-weight: 700; font-size: 16px; text-align: center; position: relative; border: unset; background-color: var(--primary); color: #fff; padding: 0 24px; line-height: 42px; cursor: pointer; transition: .2s; }

.button.caret.nopad{ background-color: unset; color: var(--primary); }
.button.caret.nopad::after{ background: url(svg/caret-red.svg) no-repeat; }

.button.caret.nopad{ padding: 0; }

.plus{ display: inline-block; font-weight: 700; color: var(--primary); margin-top: 16px; cursor: pointer; }
.outline-btn{ font-weight: 700; font-size: 16px; font-weight: 700; text-align: center; position: relative; border: 1px solid var(--borderColor); padding: 0 32px; line-height: 40px; cursor: pointer; transition: .2s; }

div.text + span.plus{ display: none; }
div.text.line-clamp + span.plus{ display: inline-block; }
div.text.line-clamp + span.plus b:last-child{ display: none; }

div.text.line-clamp.unclamp{ display: block; }
div.text.line-clamp.unclamp + span.plus b:first-child{ display: none; }
div.text.line-clamp.unclamp + span.plus b:last-child{ display: inline; }

form button{ width: 100%; display: block; }

div.container.Breadcrumb{ position: relative; z-index: 2; }
ol.BreadcrumbList{ display: block; padding: 0; margin: 0; list-style-type: none; font-size: 12px; opacity: 0.5; font-size: 12px; line-height: 14px; font-weight: 700;  }
ol.BreadcrumbList li { display: inline-block; margin: 0 3px 0 0; padding: 0; }
ol.BreadcrumbList li:not(:first-child):before { content:"";  display: inline-block; width: 5px; height: 9px; margin-right: 4px; position: relative; top: 1px; background: url(svg/breadcrumb-caret.svg) no-repeat; background-size: contain; }
ol.BreadcrumbList li a{ color: inherit; }

header a#logomoving { display: block; width: 254px; height: 96px; }
header a#logomoving > svg{ position: relative; left: -22px; }

.headroom { will-change: transform; transition: transform 150ms ease-out; }
.headroom--pinned { transform: translateY(0%); }
.headroom--unpinned { transform: translateY(-100%); }
header{
    z-index: 5;
    margin: 0;
    position: fixed;
    top: 0;
    width: var(--mainWidth);
    background-color: #fff;
    max-width: 100%;
    -webkit-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.05);
    -moz-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.05);
    box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.05);
    margin-top: 8px;
}

.headroom--unpinned #scrolline-wrapper{ position: absolute; top: 100%; }

.headroom--unpinned div.megamenu{ display: none!important; }

header div.panel { text-align: right; position: relative; z-index: 5; background-color: var(--gray); }
header div.panel ul.links{ display: flex; justify-content: end; height: 55px; align-items: center; gap: 24px; }
header div.panel ul.links > li { line-height: 55px; }
header div.panel ul.links li a { font-weight: 500;  }

header nav{ float: left; }
header nav ul.menu{ display: flex; }
header nav ul.menu > li > a.True{ background-color: var(--primary); color: #fff; }
header nav ul.menu > li > a { display: flex; align-items: center; height: 96px; padding: 0 24px; font-weight: 600; font-size: 16px; }



header nav ul.submenu li + li{ margin-top: 12px; }
header nav ul.submenu > li > a { font-weight: 600; font-size: 20px; line-height: 1.4; }


header div.gaq-wrapper{ float: right; display: flex; align-items: center; height: 96px; margin-left: 32px; }

section, article{ padding: 80px 0; }

section.banner div.wrapper { display: block; position: absolute; inset: 0; z-index: 2; }
section.banner{ padding: 0; position: relative; overflow: hidden; background-color: var(--gray);}

section.banner div.video-frame,
section.banner picture{ display: block; position: absolute; top: 0; width: calc(50% + 60px); height: 100%; left: calc(50% - 60px); padding: 0; }
section.banner picture img{ width: auto; height: auto; }

section.banner div.video-frame::before{content: "";display: block;width: 100%;height: 100%;inset: 0;background: url(hero-banner-mask.png) top left no-repeat;z-index: 2;position: absolute;background-size: auto 100%;}

section.banner div.container div.row{ min-height: 664px; }

section.banner div.container div.text{  max-width: 100%; font-size: 14px; line-height: 1.4285; position: relative; z-index: 1; }
section.banner div.container div.text h1{ font-weight: 300; font-size: 78px; line-height: 0.886; }
section.banner div.container div.text h1 strong{ font-weight: 800; display: block; font-size: 94px; line-height: 0.829787; }
section.banner div.container div.text div.banner-text{ max-width: 40ch; margin-top: 28px; }

section.slider a.product{ display: block; width: 210px }
section.slider a.product div.image{ width: 100%; height: 293px; background-color: var(--gray); }
section.slider a.product div.image img{ position: absolute; width: 175px; height: 175px; position: absolute; top: 30px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translate(-50%); transform: translate(-50%); }
section.slider a.product{ display: block; position: relative;}
section.slider a.product div.h5{ position: absolute; bottom: 0; width: 100%; padding: 0 16px; height: 67px; text-align: center; color: var(--darkGray); }

section.slider div.text{ max-width: 600px; }

section div.container > div.text h2 + p{ margin-top: 1em; }

section.products{
    --borderColor: rgba(190, 190, 190, 1);
    border-top: 1px solid var(--borderColor);
    border-bottom: 1px solid var(--borderColor);
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    padding: 0;
    z-index: 4;
}

body[data-filter=open] section.products{ z-index: 5; }

section.products span.filter.button{ width: 170px; position: fixed; top: 548px;; right: 0; z-index: 4;  display: none; }

section.products form{ padding: 24px; width: 500px; max-width: 100%; }


section.products form div.h3{ margin-bottom: 36px; }

section.products form ul.accordion{ color: var(--darkGray); }

section.products form div.flex.stock{ line-height: 52px; border-top: 1px solid rgba(0, 38, 58, 0.2); align-items: center; }
section.products form div.slider-wrapper input + label{ display: inline-block; line-height: 20px; background-color: var(--gray); color: var(--darkGray); padding: 0 12px; font-size: 12px; }
section.products form div.slider-wrapper{ margin-bottom: 32px; }
section.products form div.slider-wrapper div.slider{ margin-top: 16px; }
section.products form div.slider-wrapper > div.row{ margin-top: 8px; }

section.products form ul.accordion ul.specs div.icon{ padding-right: 8px; }
section.products form ul.accordion ul.specs input:checked + label div.icon svg > path { fill: #fff; }

section.products form div.outline-btn{ margin-top: 20px; }

ul.specs{ display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 8px; }
ul.specs input{ display: none; }

ul.specs input + label{ cursor: pointer; }
ul.specs label{ display: flex; align-items: center; gap: 12px; border: 1px solid rgba(77, 77, 77, 0.2); height: 58px; font-weight: 700; border-radius: 3px; padding: 0 12px; }

ul.specs label div.surface{ width: 34px; height: 34px; }
ul.specs label div.surface img{ min-width: 34px; min-height: 34px; }
ul.specs input:checked + label{ background-color: var(--primary); color: #fff; }
ul.specs div.info span.info{ display: inline-block; width: 20px; height: 20px; background: url(svg/Info-gray.svg); margin-top: 4px; }
ul.specs input:checked + label div.info span.info { background: url(svg/Info-red.svg); }

ul.specs.coating{ position: relative; }
ul.specs.coating > li{ position: static; }
ul.specs div.info div.hover-content{
    position: absolute;
    width: 100%;
    left: 0;
    top: 100%;
    background: rgba(229, 229, 229, 1);
    padding: 16px;
    z-index: 1;
    visibility: hidden;
    color: initial;
}

ul.specs div.info div.hover-content strong{ display: block; margin-bottom: 8px; font-size: 16px; line-height: 1.25; }
ul.specs div.info div.hover-content strong:before{ content: ""; display: inline-block; width: 20px; height: 20px; background: url(svg/Info-gray.svg); margin-right: 8px; position: relative; top: 3px; }

ul.specs div.info span.info:hover div.hover-content{ visibility: visible; }

ul.specs.needs div.col{ font-size: 12px; line-height: 1.25; }

div.switch input{ display: none; }
div.switch input + label{ background-color: var(--mediumGray); width: 48px; height: 24px; border-radius: 12px; position: relative; margin-right: 16px; cursor: pointer; transition: .2s; }
div.switch input + label::after{ content: ""; display: block; width: 16px; height: 16px; background-color: #fff; border-radius: 50%; position: absolute; left: 4px; top: 4px; transition: .2s; }

div.switch input:checked + label{ background-color: var(--primary); }
div.switch input:checked + label::after{ left: calc(100% - 20px); }


div#filterResults  > a:nth-child(n+16){ display: none; }
div#filterResults.show-all > a:nth-child(n+16){ display: block; }

section.products div.counter{ padding: 32px; border-bottom: 1px solid var(--borderColor); }

section.products div.pager{ padding: 32px; text-align: center; }
section.products div.pager button{ margin-bottom: 4px; }

section.products > div.row > div:first-child{ border-right: 1px solid var(--borderColor);  }

section.products div.grid a.product{ background-color: #fff; }
section.products a.product div.image { padding-top: 56.748466%; background-color: var(--gray); }

section.products div.image > small.stock-false{ display: none; }
section.products div.image > small.stock-true{ position: absolute; top: 9px; right: 9px; background-color: var(--primary); color: #fff; padding: 0 4px; font-size: 10px; line-height: 1; padding: 2px 4px 4px 4px; }

section.products div.grid{ display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 1px; background-color: var(--borderColor); border-bottom: 1px solid var(--borderColor); }
section.products div.grid.nofilter{ grid-template-columns: repeat(4, 1fr); border-bottom: unset; }
section.products div.grid div.product-info{ padding: 12px 16px 24px 16px; color: var(--darkGray); }

section.products div.product-info div.h5{ margin-bottom: 8px; }
section.products div.product-info small{  display: block; opacity: 0.5; color: var(--darkGray); }

section.products div.product-info > div.flex{ flex-wrap: wrap; }
section.products div.product-info ul.specs{ display: flex; flex-wrap: wrap; gap: 12px; max-width: 202px; }

ul.specs div.surface{ width: 24px; height: 24px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0px 1px 4px 2px rgba(0, 0, 0, 0.05); overflow: hidden; position: relative; }

ul.specs li:hover div.tooltip{ visibility: visible; }

div.stainless{ background: url(surface/stainless.png); background-size: cover; }
div.galvanized{ background: url(surface/galvanized.png); background-size: cover; }
div.painted{ position: relative; background-color: var(--primary); }
div.painted::after{ content: ""; display: block; width: 50%; height: 100%; left: 0; top: 0; position: absolute; background-color: var(--secondary); }

section.products div.product-info div.price{ font-weight: 700; color: var(--primary); margin-top: 16px; }

section.categories{ padding: 0; }
section.categories > div.product-nav{ padding-right: 0; }

section.categories + article.text-image{ padding: 40px 0; }
section.categories + article.text-image h1{ margin: 0; }

nav div.product-nav ul{ margin-top: 0; flex-wrap: wrap; }
div.product-nav ul { display: flex; flex-wrap: nowrap; gap: 12px; margin-top: 24px; /* padding-bottom: 40px; border-bottom: 2px solid var(--gray); */ }
div.product-nav ul li a{ display: block; width: 120px; min-height: 140px; height: 100%; background-color: var(--gray); text-align: center; }
div.product-nav ul li a div.image{ height: 100px; position: relative; padding: 12px; }
div.product-nav ul li a div.image img{ max-width: 100%; max-height: 100%; background-color: unset; margin: auto; }
div.product-nav ul li a label{ display: block; padding: 0 4px 12px 4px; }

div.product-nav li > a[data-selected=True]{ background-color: var(--primary); color: #fff; }

div.product-nav + article.text-image{ padding-top: 40px; }

article.text-image{ padding: 120px 0; overflow: hidden; }
article.text-image div.row{ --bs-gutter-x: 48px; --bs-gutter-y: 25px; }
article.text-image.bg-none div.union{ background: url(svg/union-light.svg); }

article.text-image div.union{
    position: absolute;
    inset: 0;
    background: url(svg/union.svg) ;
    background-position: top center!important;
    background-repeat:  no-repeat!important;
    background-size: 100%!important;
    z-index: 1;
    mix-blend-mode: multiply;
}

article.text-image div.union + div.container{ position: relative; z-index: 1; }

article.text-image div.text.large + div.text{ margin-top: 2rem; }

article.case h1{ margin-bottom: .7em; }
article.case div.text div.h4 + p{ margin-top: 16px; }

ul.flex.customer{ border-top: 1px solid var(--secondary); border-bottom: 1px solid var(--secondary); padding: 16px 0; align-items: center; gap: 24px; max-width: 510px; margin-top: 80px; }
ul.flex.customer img{ max-width: 87px; max-height: 82px; width: auto; height: auto; }
ul.flex.customer li{ max-width: 340px; }

article.statement div.text{ max-width: 100%; width: 820px; margin: 0 auto; text-align: center; }
article.statement div.text blockquote{ font-size: 44px; line-height: 1.181818; font-weight: 700; }
article.statement div.text blockquote + p{ margin-top: 16px; }

article.csr{ --bs-gutter-x: 66px; }
article.csr ul.csr > li { padding-bottom: 60px; border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
article.csr ul.csr > li + li{ margin-top: 45px; }
article.csr ul.csr div.h3{ padding-left: 64px; position: relative; line-height: 48px; margin-bottom: 24px; }
article.csr ul.csr div.h3 > svg { position: absolute; left: 0; }

article.csr
article.csr ul.csr > li div.h5{ margin-bottom: 8px; }

article.csr ul.gallery{ display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 24px; }
article.csr ul.gallery li a { opacity: 0.5; transition: .2s; }
article.csr ul.gallery li a.selected { opacity: 1; }
article.csr ul.gallery li > svg:first-child{ transform: rotate(-180deg); }
article.csr ul.gallery li > svg{ cursor: pointer; }

article.csr ul.gallery li > svg.disabled{ opacity: 0.5; pointer-events: none; }

div.preview-image img{ max-width: 100%; height: auto; }

div.sticky{ position: relative;
    position: -webkit-sticky;
    position: sticky; top: 24px;
    z-index: 10;
 }

section.application{ --bs-gutter-x: 20px; }
section.application ul.tabs{ margin-bottom: 40px; height: unset; border: unset; }
section.application ul.tabs li:not(:last-child){ padding: 15px 25px; cursor: pointer; border-bottom: 1px solid var(--tabsBorderColor); }

section.application .card{ display: flex; background: rgba(0, 38, 58, 0.05); width: 504px; }
section.application .card + .card{ margin-top: 32px; }

section.application .card div.image{ width: 195px; height: 200px; }
section.application .card div.text{ padding: 24px; width: calc(100% - 195px); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; height: 172px; }
section.application .card div.text  small {  }

section.application .card div.text div.h4 +small { margin-top: 16px; font-size: 14px; line-height: 1.42857; }

section.focus-area div.row{ --bs-gutter-x: 6px; }

section.focus-area .card{ display: block; background-color: var(--secondary); color: #fff; padding: 0 16px 16px 16px; text-align: center; width: 220px; height: 100%; padding-bottom: 59px; position: relative; }
section.focus-area .card div.image{ display: flex; height: 80px; align-items: center; justify-content: center; }
section.focus-area .card div.image img{  width: 60px; height: 60px; }
section.focus-area .card strong{ display: block; min-height: 55px; margin: auto; }
section.focus-area .card a.button{ width: calc(100% - 32px); position: absolute; left: 16px; bottom: 16px; }

aside.info div.content div.text p + ul{ margin-top: 16px; }
aside.info div.content{ position: relative; z-index: 2; background-color: var(--gray); width: 385px; height: 100vh; padding: 25px 32px; display: inline-block; text-align: left; transform: translateX(100%); transition: .2s ease-in; }
aside.info div.content div.text div.h4{ margin-bottom: 32px; }
aside.info div.alignright{ margin-bottom: 17px; }
aside.info hr{ margin: 24px 0; }

aside.info {
  overflow: hidden;
  z-index: 6;
  position: fixed;
  top: 0; text-align: right;
  display: block;
  width: var(--mainWidth);
  max-width: 100%;
  margin: 0 auto;
  height: 100vh;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease-in;
}

aside.info div.blinds{ position: absolute; inset: 0; background-color: rgba(0,0,0,0.1); z-index: 1; }

aside.info.show{ opacity: 1; pointer-events: unset; }
aside.info div.content.show { transform: translateX(0); }

aside#applications.info div.content { background-color: var(--primary); width: 607px; color: #fff; padding: 0; }
aside#applications.info div.content div.lazy-scroll{ max-height: calc(100vh - 187px); padding-right: 25px; }
aside#applications.info div.alignright { margin: 33px; }
aside#applications.info div.wrapper{ padding: 0 72px 100px 72px; }

div.megamenu-wrapper{ display: none; position: fixed; text-align: left; width: 100%; height: 550px; top: 151px; left: 0; background-color: var(--primary); color: #fff; }
div.megamenu-wrapper div.gradient { --gradientHeight: 70px; position: absolute; width: 100%; height: var(--gradientHeight); bottom: 0; background: linear-gradient(0deg, #D20F14 0%, rgba(210, 15, 20, 0) 100%); z-index: 2; }
div.megamenu-wrapper div.scroll-down{ text-align: center; margin-top: -43px;  position: relative; z-index: 3; }    

header nav ul.menu > li.hasChild.open > div.megamenu-wrapper{ display: block; }
header nav ul.menu > li.hasChild.open > a{ background-color: #C51217!important; color: #fff!important; }

section.hero div.slick{ font-weight: 800; font-size: 94px; line-height: 78px; }
section.hero div.slick { height: 94px!important; overflow: hidden; }
section.hero div.slick .slick-track{ display: block; }
section.hero div.slick > div.slick-slide:nth-child(n+2){ display: none; }

article div.text a:not(.button){ position: relative; z-index: 1; }
article div.text a:not(.button):before{ content: ""; display: block; width: calc(100% + 4px); height: 2px; position: absolute; bottom: 0; left: -2px; transition: all .2s ease; z-index: -1; background-color: hsl(358, 87%, 44%); }

section.accessories{ padding-top: 0; }
section.accessories div.row{ --bs-gutter-y: 44px; }
div.accessory{ position: relative; /*padding-top: 139.5238%;*/ background-color: var(--gray); height: 100%; border: 1px solid rgba(190, 190, 190, 1);; }
div.accessory div.image {



    /*
  position: absolute;
  width: 175px;
  height: 175px;
  position: absolute;
  top: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%);
  display: flex; align-items: center; justify-content: center;
  */
}

div.accessory div.image img{ max-width: 100%; height: auto!important; }

div.accessory div.h5 {
    /*
  position: absolute;
  bottom: 0;
  */
  width: 100%;
  padding: 16px;
  /*height: 67px;*/
  text-align: center;
  color: var(--darkGray);
}

section.cases div.container > div.text { padding-bottom: 40px; }

.cases div.row{ --bs-gutter-y: 44px; }
.cases div.list-case .text{ padding: 30px 35px 70px 35px; }
.cases div.list-case .text div.h5{ margin-bottom: 0.5em; }
.cases div.list-case .text strong{ font-weight: normal; }
.cases div.list-case .text > div.line-clamp { -webkit-line-clamp: 4; }
.cases div.list-case .text span.caret{ position: absolute; bottom: 30px; }

.cases .image{ position: relative; z-index: 1; padding-top: 78.26%; background-color: rgba(0, 38, 58, 0.1); }
.cases .image label { color: #FFF; font-size: 12px; font-weight: 600; line-height: 14px; background-color: #D20F14; line-height: 29px; padding: 0 12px; position: absolute; top: 13px; right: 16px; }
.cases .image > img{ width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }

.cases .image a.hover{ display: block; position: absolute; top: 0; width: 100%; height: 100%; background: rgba(0,38,58,0.69); text-align: center; color: #fff; opacity: 0; font-size: 16px; font-weight: 600; z-index: 2;
  -webkit-transition: all 0.4s ease-in-out 0s;  -moz-transition: all 0.4s ease-in-out 0s;  transition: all 0.4s ease-in-out 0s;
}
.cases .image a.hover span{ 
 display: block; position: absolute; top: 20%; left: 50%; opacity: 0; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-transition: all 0.3s ease-in-out 0s;
 -moz-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; 
}

.cases .image a.hover img{ width: 74px; height: auto; display: inline-block; margin-bottom: 10px; }

.cases .list-case{ position: relative; z-index: 1; top: 0; transition: all 0.2s linear; height: 100%; }


aside#toast { position: fixed; bottom: 24px; padding-left: 24px; z-index: 4; overflow: hidden; opacity: 0; pointer-events: none; }
aside#toast div.wrapper{ width: 375px; max-width: 100vw; position: relative; z-index: 3; transform: translateX(-110%); transition: .2s ease-in;
    -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);    
}
aside#toast span.close{ display: block; width: 24px; height: 24px; background: url(white-x.svg) center center no-repeat; background-size: 13px; background-color: var(--primary); position: absolute; top: 0; right: 0; cursor: pointer; }
aside#toast div.flex{ display: flex; background-color: var(--secondary); color: #fff; }
aside#toast div.text div.h5{ margin-bottom: 4px; }
aside#toast div.image{ width: 97px; position: relative; }
aside#toast div.text{ width: 278px; min-height: 110px; overflow: hidden; padding: 8px 20px 15px 20px; }
aside#toast div.text a.button{ line-height: 33px; }

aside#toast.show{ opacity: 1; pointer-events: unset; overflow: visible; }
aside#toast.show div.wrapper{ transform: translateX(0); }
aside#toast.show div.wrapper.hide{ transform: translateX(-110%); }

aside#help { position: fixed; bottom: 24px; right: 24px; z-index: 3; overflow: hidden; opacity: 0; pointer-events: none; color: initial; }
aside#help div.wrapper{ width: 375px; position: relative; z-index: 3; transform: translateX(110%); transition: .2s ease-in; padding: 22px 24px; background-color: #fff; 
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
}

aside#help div.wrapper.large-view{ overflow: hidden; }

aside#help span.close{ display: block; width: 24px; height: 24px; background: url(white-x.svg) center center no-repeat; background-size: 13px; background-color: var(--primary); position: absolute; top: 0; right: 0; cursor: pointer; }

aside#help.show{ opacity: 1; pointer-events: unset; overflow: visible; }
aside#help.show div.wrapper{ transform: translateX(0); }
aside#help.show div.wrapper.hide{ transform: translateX(110%); }

aside#help svg.hide-help{ cursor: pointer; position: absolute; top: 31px; right: 24px; }

aside#help ul{ display: flex; gap: 16px; margin: 16px 0 28px 0; }

aside#help div.contact{ display: flex; width: 257px; }
aside#help div.contact div.image{ width: 86px; height: 86px; position: relative; overflow: hidden; border-radius: 3px 3px 0 0; }
aside#help div.contact div.text{ width: calc(100% - 86px); padding: 0 16px; }
aside#help div.contact div.text strong + p{ margin-top: 8px; }

aside#help div.wrapper.small-view{ width: 175px; padding: 4px 13px; cursor: pointer; }
aside#help div.wrapper.small-view span.close { background-color: var(--secondary); width: 17px; height: 17px; top: -9px; }

aside#help div.wrapper.small-view div.flex{ align-items: center; }
aside#help div.wrapper.small-view div.image figure{ width: 34px; height: 34px;

        background-size: cover;
        background-position: center;

}
aside#help div.wrapper.small-view div.flex div.text{ padding: 0 16px; }

aside#help div.large-view{ display: none; }

@media (min-width: 576px){



}

@media (min-width: 992px){


    
}

@media (min-width: 1200px){
    
/*
    header nav ul.menu > li.hasChild:hover > div.megamenu-wrapper{ display: block; }
*/

    header nav ul.menu > li.hasChild > a.False:hover{ background-color: var(--gray); }

    div.container-fluid{ padding: 0 88px; }
    
    section.slider::after{
        content: ""; display: block; position: absolute; top: 0; right: 0; z-index: 2; height: 100%; width: 20%;
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 70%);
    }    

}

@media (max-width: 1500px){
    section.products div.grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1199px){

    :root {
        --headerHeight: 119px;
    }    

    header{ margin-top: 0; }

    div#scrolline-wrapper{ display: none; }

    section.products div.grid.nofilter{ grid-template-columns: repeat(3, 1fr); }
    section.products div.grid { grid-template-columns: repeat(2, 1fr);  }

    header div.gaq-wrapper button.caret::after{ display: none; }
    header div.gaq-wrapper { margin-left: 0; height: 70px; }
    header div.gaq-wrapper button{ height: 100%; }


    header a.logo img{ width: 151px; height: 28px; }

    header ul.burger{ display: flex; flex-wrap: wrap; width: 38px; padding: 28px 0; justify-content: center; gap: 4px; float: right; padding-left: 22px; cursor: pointer; }
    header ul.burger li{ width: 15px; height: 2px; background-color: #000; transition: .2s; }

    body[data-menu=open] header ul.burger li:nth-child(2){ display: none; }
    body[data-menu=open] header ul.burger li:nth-child(1){ transform: rotate(45deg); position: relative; top: 6px; }
    body[data-menu=open] header ul.burger li:nth-child(3){ transform: rotate(-45deg); }

    header div.panel ul.links { height: 49px; font-size: 14px; }
    header div.panel ul.links > li { line-height: 49px; }

    header nav{ display:none; float: none; position: fixed; width: 100%; top: var(--headerHeight); height: calc(100vh - var(--headerHeight)); right: 0; background-color: var(--primary);  color: #fff; }
    header nav::after{ content: ""; display: block; position: absolute; inset: 0; background: url(svg/nav-bg.svg) no-repeat; background-size: cover; mix-blend-mode: multiply; }
    div.megamenu-wrapper{ display: none; }

    header nav ul.menu{ display: block; position: relative; z-index: 1; padding: 22px; }
    header nav ul.menu > li > a { display: block; height: unset; padding: 16px 0; font-size: 24px; }
    header nav ul.menu > li > a.True{ background-color: unset; }

    header nav ul.menu > li.hasChild > a::after{ content: ""; display: block; width: 7px; height: 12px; background: url(svg/caret-white.svg) no-repeat; margin-left: 16px; position: relative; top: 15px; float: right; }

    header nav ul.menu > li.hasChild.open{ position: static; }
    header nav ul.menu > li.hasChild.open div.megamenu-wrapper{ display: block; position: absolute; inset: 0; z-index: 1; height: calc(100vh - 119px); }

    body[data-menu=open]{ overflow: hidden; }
    body[data-menu=open] nav{ display: block; }

    body[data-menu=open] div.megamenu-wrapper div.menu-header{ display: block; height: unset; font-size: 24px; padding: 21px 22px; }
    body[data-menu=open] div.megamenu-wrapper div.menu-header > small{ display: block; margin-bottom: 7px; background: url(svg/menu-back.svg) left center no-repeat; padding-left: 10px; }
    body[data-menu=open] div.megamenu-wrapper > div.container { padding-top: 18px; padding-bottom: 50px;  }   
    body[data-menu=open] div.product-nav ul{ padding-bottom: 18px; }

    body[data-menu=open] div.megamenu-wrapper div.menu-scroll{
         overflow: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background-color: var(--primary);
        max-height: calc(100vh - 212px);        
    }


    body[data-menu=open] div.megamenu-wrapper div.h4{ font-size: 20px; line-height: 1.2; }

    body[data-menu=open] nav div.megamenu-wrapper div.lifting-needs{ padding: 24px 0 0 22px;  }
    body[data-menu=open] nav div.megamenu-wrapper div.lazy-scroll { height: 152px; margin-top: 16px; margin-bottom: 32px; overflow-y: scroll; overflow-x: scroll; }
    body[data-menu=open] nav ul.focus-areas { flex-wrap: nowrap; gap: 12px; }

    body[data-menu=open] nav ul.focus-areas a.card { width: 39vw; }


    body[data-menu=open] div.megamenu-wrapper div.lifting-needs > div.row > div:first-child div.gradient,
    body[data-menu=open] div.megamenu-wrapper div.lifting-needs > div.row > div:first-child div.scroll-down{ display: none; }
    

    body[data-menu=open] nav div.megamenu-wrapper div.applications div.lazy-scroll { height: calc(100vh - 310px); margin-bottom: 0; }
    body[data-menu=open] div.megamenu-wrapper div.gradient { position: fixed; top: calc(100vh - var(--gradientHeight)); }
    div.megamenu-wrapper div.scroll-down { margin-top: unset; position: fixed; top: calc(100vh - 27px); left: 0; width: 100%; }

    body[data-menu=open] nav div.cta div.text { padding: 22px; }

    body[data-menu=open] ul.tabs li:first-child { padding-left: 0; }

    body[data-menu=open] header nav ul.submenu{ padding: 0 22px; }

    div#filterResults > a:nth-child(n+15) { display: none; }

    section.products div.grid { grid-template-columns: repeat(3, 1fr); }
    section.products form { display: none; }

    section.products span.filter.button{ display: block; }

    body[data-filter=open]{ overflow: hidden; }
    body[data-filter=open] section.products form{ position: fixed; top: 0; left: 0; display: block; height: 100vh; background-color: #fff; z-index: 5;
        overflow: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
        -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
        -moz-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.1);
    }

}

@media (max-width: 991px){

    section.products div.grid.nofilter,
    section.products div.grid { grid-template-columns: repeat(2, 1fr); }

}

@media (max-width: 575px){
    
    h1, .h1{ font-size: 34px; }
    h2, .h2{ font-size: 28px; }
    h3, .h3{ font-size: 24px; }
    div.h4{ font-size: 20px; }

    .line-clamp { -webkit-line-clamp: 4; }

    .large {  font-size: 18px; }

    header div.row.flex-nowrap{ --bs-gutter-x: 0; }
    header div.gaq-wrapper button { font-size: 13px; padding: 0 16px; }

    header div.product-nav{ padding: 0 6px; }
    header div.product-nav ul { gap: 0; }
    header div.product-nav ul li { padding: 6px; }
    header div.product-nav ul li a { width: calc(33vw - 15px); }

    section,
    article,
    article.text-image{ padding: 40px 0; }

    article div.text.large h1,
    h1.display{ font-size: 44px; line-height: 43px; margin-bottom: 24px; }

    section.banner div.container div.text h1{ font-size: 44px; line-height: 43px; }

    section.hero{ padding-top: 40px; }
    section.hero div.ticker-wrapper{ height: 52px; }
    section.hero div.ticker-item { font-size: 52px; line-height: 43px; }
    section.banner div.container div.row{ min-height: unset; }
    
    section.banner div.video-frame,
    section.banner picture { position: relative; left: 0; width: unset; padding-top: 100%; margin-top: 24px; }
        
    section.banner div.video-frame::before{ background: url(hero-banner-mask-m.png) top left no-repeat; background-size: 100% 100%;}

    section.products div.grid { display: flex; flex-wrap: wrap; }

    section.products div.grid > a{ width: calc(50% - 2px); }
    section.products div.grid > div.cta{ width: 100%; }
    section.products div.cta div.text { padding-top: 24px!important; max-width: 380px; }

    section.slider div.container > div.text { margin-bottom: 16px; }

    div.slick-arrow-wrapper{ display: none; }
    section.focus-area .card { width: 42vw; }

    ul.tabs { font-size: 12px; }
    section.application ul.tabs li { padding: 0 9px; flex: 0 0 auto; width: auto; }
    section.application ul.tabs li:first-child{ flex: 1 0 0%; }

    section.application .card{ width: 82vw; }
    section.application .card div.image { width: 90px; height: 106px; }
    
    section.application .card div.text { padding: 15px; width: calc(100% - 90px); -webkit-line-clamp: 3; height: 90px; }



    section.application .card div.h4 { font-size: 18px; }
    section.application .card div.text div.h4 +small { margin-top: 12px; }

    section.application .card div.text small{ -webkit-line-clamp: 2; }

    section.application .card + .card { margin-top: 16px; }


    section.slider a.product { width: 120px; }
    section.slider a.product div.image { height: 140px; }
    section.slider a.product div.h5 { font-size: 14px; height: 30px; }
    section.slider a.product div.image img { width: 75px; height: 75px; top: 16px; }


    section.slider div.text span.caret { top: 6px; }
   
    article.text-image div.row { --bs-gutter-x: 22px;--bs-gutter-y: 24px; }
    
/*
    section.products form { opacity: 0; position: absolute; pointer-events: none; }
*/
    section.products div.counter { padding: 22px; }
    section.products div.product-info ul.specs{ font-size: 12px; }
    section.products div.grid div.product-info { padding: 12px 16px 8px 16px; }
    div.product-info > div.flex ul.specs.col { gap: 0; margin: 0 -6px; margin-bottom: 5px!important; }
    div.product-info > div.flex ul.specs.col li{ padding: 0 6px; margin-bottom: 8px; }
    section.products div.product-info div.price { margin-top: 10px; }


    ul.accordion li div.toggler.h5 { font-size: 16px; }

    ul.accordion ul.specs{ grid-template-columns: unset; }
    
    aside#toast{ bottom: 0; padding-left: 0; }

}
