/* ==== generated by tools/build-pages.js: hover rules (do not edit between the markers) ==== */
.hv-1:hover{background:#ECECED !important;color:#E52C1A !important}
.hv-2:hover{background:#fff !important;color:#0E3692 !important}
.hv-3:hover{background:#0E3692 !important}
.hv-4:hover{background:#E52C1A !important}
.hv-5:hover{background:#2C2E35 !important;color:#fff !important}
.hv-6:hover{transform:translateY(-3px) scale(1.05) !important}
.hv-7:hover{background:#c42312 !important}
.hv-8:hover{background:#0E3692 !important;color:#fff !important}
.hv-9:hover{color:#F2B8A8 !important}
.hv-10:hover{box-shadow:0 12px 28px rgba(44,46,53,0.14) !important}
.hv-11:hover{color:#E52C1A !important}
/* ==== end generated ==== */

/* ---- base additions for the static pages ---- */
[hidden]{display:none!important}
html{scroll-behavior:auto}
img{max-width:100%}

/* =====================================================================
   Responsive: tablet / mobile (below 1100 / 768 / 480 px) and large screens (1920 px up to 4K)
   The original design only had fluid widths (clamp / auto-fit / flex-wrap); everything below is new.
   ===================================================================== */

/* ---- header: menu button (hidden on desktop) ---- */
.rg-burger{display:none;width:48px;height:48px;flex:none;border:2px solid #2C2E35;background:#fff;cursor:pointer;padding:0;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.rg-burger span{display:block;width:22px;height:2px;background:#2C2E35;transition:transform .2s,opacity .2s}
body.nav-open .rg-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .rg-burger span:nth-child(2){opacity:0}
body.nav-open .rg-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1100px){
  .rg-5{flex-wrap:wrap;gap:0 12px;min-height:68px;padding-top:6px;padding-bottom:6px}
  .rg-burger{display:flex}
  .rg-11{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;font-size:19px;padding:4px 0 12px;order:3}
  body.nav-open .rg-11{display:flex}
  .rg-11>button,.rg-12>button{display:block;width:100%;text-align:left;padding:15px 4px!important;box-shadow:inset 0 -1px 0 #ECECED}
  .rg-12{width:100%}
  .rg-13{position:static;min-width:0;box-shadow:none;border-top:0;background:#F5F5F6}
  .rg-13 button{padding-left:24px!important}
  .rg-4{max-height:100vh;overflow-y:auto}
  .rg-14{height:560px}
}

/* ---- tablet / large phones ---- */
@media (max-width:768px){
  .rg-26,.rg-38,.rg-52{padding:64px 20px}
  .rg-123{padding:52px 20px}
  .rg-160{padding:60px 20px}
  .rg-236,.rg-246,.rg-272{padding:60px 20px}
  .rg-75{padding:96px 20px 48px}
  .rg-79{padding:48px 20px 64px}
  .rg-282{padding:96px 20px 56px}
  .rg-287{padding:56px 20px 0}
  .rg-206{padding:48px 20px 64px}
  .rg-201{padding:0 20px 64px}
  .rg-312{padding:40px 20px 64px}
  .rg-342{padding:56px 20px 64px}
  .rg-345{padding:48px 20px 24px}
  .rg-2,.rg-5,.rg-17,.rg-25,.rg-92{padding-left:20px;padding-right:20px}
  .rg-92{padding-top:56px;padding-bottom:56px}
  .rg-91{min-height:440px}
  .rg-14{height:520px}
  .rg-19,.rg-95{font-size:15px;letter-spacing:.12em}
  .rg-21,.rg-97{font-size:17px}
  .rg-29{margin-bottom:32px}
  .rg-33{height:210px}
  .rg-34{padding:24px 22px}
  .rg-35{font-size:26px}
  .rg-40{height:230px}
  .rg-45,.rg-104,.rg-131,.rg-161,.rg-237{gap:36px}
  .rg-51{height:300px}
  .rg-107{height:300px}
  .rg-84{min-height:260px}
  .rg-85,.rg-158{padding:28px 22px}
  .rg-157{min-height:260px}
  .rg-65{padding:28px 22px}
  .rg-62{flex-direction:column}
  .rg-71{margin-left:0}
  .rg-101{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:22px 20px}
  .rg-102{font-size:40px}
  .rg-110{padding:26px 22px}
  .rg-127{padding:22px}
  .rg-136,.rg-138{padding:12px 10px}
  .rg-135,.rg-137{font-size:14px}
  .rg-151{padding:18px 16px;font-size:16px}
  .rg-153{padding:0 16px 20px}
  .rg-207{padding:22px 20px}
  .rg-248,.rg-264{padding:26px 20px}
  .rg-259{padding:28px 22px}
  .rg-296{padding:24px 20px}
  .rg-346{gap:28px}
  .rg-202{padding:22px 18px}
  .rg-187,.rg-225{padding:32px 20px}
  .rg-56{width:44px;height:44px}
  .rg-267{font-size:28px}
  /* buttons: comfortable touch size, full width where they sit alone in a row */
  .rg-22,.rg-200,.rg-339{gap:12px}
  .rg-23,.rg-98,.rg-122,.rg-145,.rg-258,.rg-286,.rg-303,.rg-304,.rg-311,.rg-340,.rg-341{padding-left:22px;padding-right:22px}
}

/* ---- phones ---- */
@media (max-width:600px){
  .rg-2>span{display:none}
  .rg-3{gap:6px 16px}
  .rg-8{font-size:22px}
  .rg-7{height:44px}
  .rg-14{height:500px}
  .rg-20{font-size:clamp(38px,11vw,52px)}
  .rg-96{font-size:clamp(38px,11vw,56px)}
  .rg-154,.rg-77,.rg-284{font-size:clamp(36px,11vw,52px)}
  .rg-28,.rg-147,.rg-170{font-size:14px}
  .rg-29,.rg-46,.rg-54,.rg-81,.rg-105,.rg-108,.rg-114,.rg-132,.rg-148,.rg-163,.rg-166,.rg-171,.rg-238,.rg-249,.rg-273,.rg-289,.rg-299{font-size:clamp(28px,8.4vw,36px)}
  .rg-22>button,.rg-22>a,.rg-200>a,.rg-339>*{flex:1 1 100%;text-align:center}
  .rg-256{flex-direction:column;align-items:stretch}
  .rg-256 button[type=submit]{width:100%}
  .rg-333{justify-content:stretch}
  .rg-333 button{width:100%}
  .rg-48{grid-template-columns:1fr}
  .rg-241{grid-template-columns:1fr 1fr}
  .rg-189{aspect-ratio:4 / 3}
  .rg-190,.rg-191{width:40px;height:56px;font-size:28px}
  .rg-193{gap:6px}
  .rg-320{flex-wrap:wrap;gap:14px 24px}
  .rg-326{max-height:300px;padding-left:38px}
  .rg-174,.rg-224{min-width:0;max-width:100%}
  .rg-173{flex-direction:column;align-items:stretch}
  .rg-175{justify-content:flex-end}
  .rg-264{grid-template-columns:1fr}
  .rg-346{flex-direction:column}
  .rg-351{display:none}
}
@media (max-width:380px){
  .rg-5{padding-left:14px;padding-right:14px}
  .rg-8{font-size:20px}
  .rg-26,.rg-38,.rg-52,.rg-236,.rg-246,.rg-272{padding-left:16px;padding-right:16px}
  .rg-79,.rg-75,.rg-282,.rg-206,.rg-312,.rg-342,.rg-345{padding-left:16px;padding-right:16px}
}

/* ---- large screens: the layout is designed for a 1280 px column; scale everything up so it does not float in the
        middle of a 2K / 4K screen (the images are raster files: bigger source photos would be needed for 4K sharpness) ---- */
@media (min-width:1920px){ html{zoom:1.25} }
@media (min-width:2400px){ html{zoom:1.6} }
@media (min-width:3000px){ html{zoom:2} }
@media (min-width:3600px){ html{zoom:2.4} }

/* =====================================================================
   Footer (tools/footer.html) - same on every page
   ===================================================================== */
.rf{background:#2C2E35;color:#ECECED;padding:72px 24px 0}
.rf a{color:#ECECED;text-decoration:none}
.rf a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.rf-main{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1.15fr 1fr 1.35fr;gap:40px 44px;padding-bottom:22px}
.rf-logo{display:flex;align-items:center;gap:16px;color:#fff}
.rf-logo:hover{text-decoration:none!important}
.rf-logo img{height:84px;width:auto;display:block;flex:none}
.rf-logo-text{display:flex;flex-direction:column;gap:6px}
.rf-logo-text b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:34px;line-height:1;color:#fff;letter-spacing:.02em}
.rf-logo-text b i{font-style:normal;color:#E52C1A}
.rf-logo-text em{font-style:normal;font-size:15px;color:#ECECED}
.rf-about{margin:20px 0 22px;font-size:15.5px;line-height:1.65;color:#C9CBD0;max-width:380px}
.rf-baba{height:84px;width:84px;border-radius:50%;background:#fff;display:block}
.rf-col h3{margin:0 0 18px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:19px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding-bottom:10px;border-bottom:3px solid #E52C1A;display:inline-block}
.rf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.rf-col li a{font-size:16px;line-height:1.4;display:inline-block}
.rf-contact address{font-style:normal;display:grid;gap:10px;font-size:16px;line-height:1.55}
.rf-strong{font-weight:700;color:#fff}
.rf-contact a{word-break:break-word}
.rf-hours{color:#C9CBD0;font-size:14.5px}
.rf-bottom{max-width:1280px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14);padding:18px 0 14px;display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between;font-size:13.5px;color:#A9ABB0}
.rf-legal{margin:0;max-width:760px;line-height:1.55}
.rf-bottom-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.rf-bottom a{color:#ECECED;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px}
.rf-cms{display:inline-flex!important;align-items:center;gap:8px}
@media (max-width:1100px){
  .rf-main{grid-template-columns:1fr 1fr 1fr;gap:40px 36px}
  .rf-brand{grid-column:1 / -1}
  .rf-contact{grid-column:span 1}
}
@media (max-width:768px){
  .rf{padding:52px 20px 0}
  .rf-main{grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:36px}
  .rf-contact{grid-column:1 / -1}
}
@media (max-width:480px){
  .rf-main{grid-template-columns:1fr 1fr;gap:32px 20px}
  .rf-logo img{height:72px}
  .rf-logo-text b{font-size:30px}
  .rf-bottom{flex-direction:column;align-items:flex-start}
}

/* =====================================================================
   CMS login page
   ===================================================================== */
.rl-wrap{background:#ECECED;padding:80px 24px 100px;display:flex;justify-content:center}
.rl-card{width:100%;max-width:460px;background:#fff;border-top:5px solid #0E3692;padding:clamp(28px,5vw,44px);box-shadow:0 14px 34px rgba(44,46,53,.1)}
.rl-eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E52C1A;font-size:15px;margin-bottom:8px}
.rl-card h1{margin:0 0 8px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(36px,5vw,46px);line-height:1;text-transform:uppercase;color:#2C2E35}
.rl-intro{margin:0 0 26px;font-size:16.5px;line-height:1.55;color:#5A5B60}
.rl-form{display:grid;gap:18px}
.rl-form label{display:grid;gap:8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px}
.rl-form input{width:100%;padding:14px 16px;border:1px solid #CECFD1;background:#fff;font-family:'Barlow',sans-serif;font-size:16px;color:#2C2E35;border-radius:0;outline:none}
.rl-form input:focus{border-color:#0E3692;box-shadow:0 0 0 3px rgba(14,54,146,.15)}
.rl-msg{min-height:20px;font-size:14.5px;color:#E52C1A}
.rl-btn{background:#E52C1A;color:#fff;border:0;padding:16px 34px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:17px}
.rl-btn:hover{background:#0E3692}
.rl-btn[disabled]{opacity:.6;cursor:wait}
.rl-back{display:inline-block;margin-top:22px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px}
@media (max-width:768px){ .rl-wrap{padding:48px 16px 64px} }

/* login: password eye button */
.rl-pw{position:relative;display:block}
.rl-pw input{padding-right:54px}
.rl-eye{position:absolute;right:0;top:0;height:100%;width:50px;border:0;background:none;cursor:pointer;color:#5A5B60;display:flex;align-items:center;justify-content:center;padding:0}
.rl-eye:hover{color:#0E3692}
.rl-eye .rl-eye-off{display:none}
.rl-eye.is-on .rl-eye-on{display:none}
.rl-eye.is-on .rl-eye-off{display:block}

.rl-msg.ok{color:#1C5930;font-weight:600;background:#E8F4EC;border-left:4px solid #1C5930;padding:10px 14px}

/* hover rules for the markup that js/rg-content.js builds from the CMS data */
.dyn-h-blue:hover{background:#0E3692!important}
.dyn-h-blue2:hover{background:#0E3692!important;color:#fff!important}
.dyn-h-red:hover{background:#E52C1A!important}
.dyn-h-pink:hover{color:#F2B8A8!important}
.dyn-h-red-text:hover{color:#E52C1A!important}
.dyn-h-lift:hover{transform:translateY(-3px) scale(1.05)}
.dyn-card:hover{box-shadow:0 12px 28px rgba(44,46,53,.14)}

/* Q&A of the solution template (details / summary instead of the state buttons) */
.rg-150 summary{list-style:none;cursor:pointer}.rg-150 summary::-webkit-details-marker{display:none}
.rg-150 .rg-152:before{content:"+"}.rg-150[open] .rg-152:before{content:"\2013"}

/* footer: smaller gap above the line, credit line at the very bottom */
.rf-credit{max-width:1280px;margin:0 auto;padding:0 0 22px;text-align:center;font-size:14px;color:#A9ABB0}
.rf .rf-credit a{color:#5B9CFF;font-weight:600;font-family:'Barlow',sans-serif;letter-spacing:0;text-transform:none;font-size:14px}
.rf .rf-credit a:hover{color:#8DBAFF;text-decoration:underline}

/* home: solutions + applications slider (js/rg-content.js): the arrows sit beside the cards, not over the photos */
.sl-wrap{position:relative;grid-column:1/-1;padding:0 60px}
.sl-view{overflow:hidden}
.sl-track{--sl-n:3;--sl-gap:28px;display:flex;gap:var(--sl-gap);transition:transform .6s ease}
.sl-track>*{flex:0 0 calc((100% - (var(--sl-n) - 1) * var(--sl-gap)) / var(--sl-n));min-width:0}
.sl-arr{position:absolute;top:50%;margin-top:-23px;width:46px;height:46px;border:0;background:#0E3692;color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.sl-arr:hover{background:#E52C1A}
.sl-prev{left:0}.sl-next{right:0}
@media (max-width:719px){.sl-wrap{padding:0 40px}.sl-arr{width:36px;height:36px;margin-top:-18px;font-size:24px}}
@media (prefers-reduced-motion:reduce){.sl-track{transition:none}}

/* two white sections one after the other (Why choose -> Top 10 benefits): a smaller gap between them (was 100 + 100 px) */
section.rg-26:has(+ section.rg-52){padding-bottom:36px}
section.rg-26 + section.rg-52{padding-top:36px}
