img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} html { --12px: .75rem; --14px: 0.875rem; --15px: 0.9375rem; --16px: 1rem; --17px: 1.0625rem; --18px: 1.125rem; --19px: 1.1875rem; --20px: 1.25rem; --24px: 1.5rem; --32px: 2rem; --50px: 3.125rem; }*:focus-visible, *:focus, input[type=submit]:focus-visible { outline-style: solid; outline-width: 2px; outline-color: #000; outline-offset: 4px; border-radius: 3px; transition: all .3s linear .01s; }:is(nav a, h1):focus-visible, .hero .btn { outline-color: #fff; box-shadow: unset }.jump { text-decoration-line: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; position: absolute; background: #fff; right: 150px; top: 0; padding: 10px; color: var(--primary); border-width: 2px; border-color: var(--secondary); border-style: none solid solid; transform: translateY(-100%); font-weight: bold; font-size: var(--16px); outline-offset: 0 !important }.jump:focus { transform: translateY(0%); }:root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #003f7f; --primary-comp: #fff; --secondary: #eb5e21; --secondary-comp: #fff; } a[target="_blank"] { position: relative }a[target="_blank"] i { padding: 4px; border: 1px solid black; color: #000; background-color: #fff; text-decoration: none; position: absolute; left: 0; top: -30px; z-index: 999; width: 140px; display: none; font-size: var(--12px); font-style: normal; font-weight: 400; font-family: sans-serif; text-align: center !important; text-transform: none }a[target="_blank"]:is(:hover, :focus) i { display: block }header a[onclick="target='_blank'"] i, header a[target="_blank"] i { left: 0; }.ccpaNotice a:focus-visible { outline-color: #000 }.ccpaNotice a i { bottom: unset !important; top: -30px; }.a8bmark[target="_blank"] i { right: 0; left: unset } html { font-size: 1rem }:root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #003f7f; --primary-comp: #fff; --secondary: #eb5e21; --secondary-comp: #fff; }* { box-sizing: border-box; scroll-behavior: smooth }body, button, form * { font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: var(--18px); line-height: 1.6 }body { text-align: center; }body, footer a, footer button, .services p, .reviews .grid p, .solutions h3, .solutions a, .cta legend { color: var(--light-comp, #4d4d4d); }body, header ul, .hero h1, .hero p, .intro h2, .intro h3 { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote, .cta legend { text-align: left; }h1, h2, h3, h4, h5, h6 { line-height: 1.4; }img, iframe, video { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe, video { aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; }a img, iframe { border: none; }a, .services h3, .row4 img, .solutions h3 { transition: ease-in-out .3s; }.services a, .services a:is(:hover,:focus), .about a { text-decoration: none }.services a:is(:hover,:focus) h3 { text-decoration: underline 2px var(--secondary); text-underline-offset: 4px }a:hover { text-decoration: underline; text-decoration-color: var(--secondary) }hr { border-width: 1px; border-color: var(--light, #e7e7e7); border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel] { white-space: nowrap; }sup { line-height: 0; }.hide { display: none !important; }.center, .hero h1, .hero p, .intro h2, .intro p, .services h2, .reviews h2, .row4 h2, .row4 p, .solutions .grid h3, .solutions .grid p { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary { color: var(--dark-comp, #fff); }.bg-dark { background-color: var(--dark, #333); }.bg-primary { background-color: var(--primary, #448ccb); }.bg-light { background-color: var(--light); }.mid { align-items: center; align-self: center; }.grid { display: grid; grid-gap: 10px 40px; }.grid.half { grid-template-columns: repeat(2,1fr); }.grid.third { grid-template-columns: repeat(3,1fr); }.grid.fourth { grid-template-columns: repeat(4,1fr); }button { border: none; background: none; margin: 0; padding: 0; transition: ease-in-out .3s; }button:is(:hover,:focus) { cursor: pointer; outline-offset: 4px; }.bgimg { position: relative }.bgimg > img:first-of-type, .hero div[role=complementary] img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 }.bgimg .wrap { z-index: 2 } header, .subfoot, .services p, form label, form input, form textarea, form input[type=submit], .btn, .about p, .resources tr td:first-of-type { font-size: 16px; }header, form input[type=submit], .btn { font-weight: 500 }header { text-align: left }header .wrap { padding: 10px; }#logo { display: inline-block; margin: 5px 0 0 }header img { max-width: 300px }nav { text-align: right }nav li { display: inline-block;}nav a { display: block; padding: 5px;margin:5px; text-decoration: none }nav a:is(:hover,:focus) { text-decoration: underline 2px var(--secondary); text-underline-offset: 5px }nav a, .hero h1, .hero p { color: var(--dark-comp, #fff); } .hero { position: relative; }.hero { width: 100%; height: clamp(250px, 20vw, 400px); border-bottom: 20px solid var(--primary, #448ccb); }.hero > .wrap, .row4 .wrap { top: 50%; transform: translateY(-50%); }.hero h1, .hero p, .row5 p { padding: 0 10px; text-shadow: 2px 2px 3px rgba(0,0,0,.3); }.hero h1, .hero p { max-width: 750px; margin: 0 auto; }.hero h1 { font-size: 36px; }.hero p { font-size: 24px; margin: 40px auto; } .intro { padding:60px 10px; }.services .wrap, .choose .wrap, .reviews .wrap { padding: 40px 10px; }.services h3, .services .grid p { padding: 0 clamp(15px, 3vw, 40px); }.services .grid, .reviews .grid { grid-gap: 20px; margin: 40px 0; }.services a { display: grid;grid-template-columns:clamp(150px, 20vw, 200px) 1fr;grid-gap:0; background-color: var(--dark-comp, #fff) }.services img {grid-row:span 9;object-fit: cover; width: 100%; height: 100%;object-position:50% 50%} .services a *:last-child{margin-bottom:40px}.services h3, .about h2, .equipment h2, .resources th { color: var(--primary); }.services h3 { font-size: 18px; padding-top: 20px; } .choose .grid div:first-of-type li { margin: 20px 0; }.choose li { margin: 10px 0; padding-left: 40px; position: relative }.choose svg { position: absolute; top: 0; left: 0 }.reviews .grid > div, .solutions .grid > a { background-color: var(--main-bg); }.reviews .grid > div { padding: 50px clamp(15px, 3vw, 40px) 5px; position: relative; }.reviews svg { position: absolute; top: 20px; left: 20px }.reviews { display: none;}.cta h2 { height: 400px; padding: 0 10px; } fieldset { border: none; margin: 0; padding: 0 }legend { display: block; padding: 20px 0 10px; font-weight: bold; font-size: var(--20px) }form { text-align: left; margin: 10px 0 40px; }form .grid { grid-gap: 0 10px; }form label { margin-bottom: 15px }form :is(label,input,textarea,select) { display: block; width: 100%; }form :is(input,textarea,select) { border: 1px solid #eee; padding: 10px; background-color: var(--main-bg, #fff); }form input[type=file] { margin-left: 10px; border-radius: 0; }form textarea { height: 100px; }form input[type=submit], .btn { display: inline-block; min-width: 150px; text-align: center; line-height: 1.8; background-color: var(--secondary); color: var(--primary-comp); padding: 10px 40px; border: none; border-radius: 50px; transition: ease-in-out .3s; text-decoration: none }form input[type=submit] { width: auto; min-width: 250px; }:is(form input[type=submit], .btn):is(:hover, :focus) { cursor: pointer; background-color: #e24912; color: var(--primary-comp); text-decoration: none } footer .wrap { padding: 10px; }footer .cta img { display: block; max-width: 150px; margin: 0 0 50px }footer .subfoot .grid.mid { grid-template-columns: 1fr 150px }footer .bg-light a { text-decoration: none }footer .bg-light a:is(:hover,:focus) { text-decoration: underline var(--secondary); text-underline-offset: 4px }footer button, .wcag a { text-decoration: underline; text-underline-offset: 4px }:is(footer button,.wcag a):is(:hover,:focus) { text-decoration-color: var(--secondary) }footer .grid { margin: 20px 0 }footer p { margin: 5px 0 }.wcag { text-align: right }.ccpaNotice { text-align: center !important; } main { padding: 40px 10px 50px; }main a { color: var(--secondary) }main h1, .home h2, .solutions h3, .cta legend { font-size: 30px; }main h2, main h3 { font-size: 24px; }main h4 { font-size: 20px; }main ul, main ol { padding-left: 25px; }main li, footer li { margin: 5px 0; }.nolist, footer ul, .choose ul, .contact ul { list-style: none; padding-left: 0; }.about h1 { margin-bottom: 40px }.about h2 span, .resources th { font-weight: 600; }.about h2 span { display: block; font-size: 18px; }.about img { object-fit: cover; object-position: top; width: 250px; height: 250px; margin-top: 30px }.about img:first-of-type { margin-top: 10px }.equipment h1 { margin-bottom: 0 }.equipment > p { margin-top: 0 }.equipment .grid { grid-template-columns: 400px 1fr; grid-gap: 40px; padding: 20px 0; }.resources table { width: 100%; border-collapse: collapse; margin: 40px 0; }.resources th, .resources td { padding: 10px 20px; border: 1px solid #ddd }.resources tr:nth-of-type(odd) { background-color: var(--light) }.resources tr td:last-of-type { text-align: center }.resources svg { vertical-align: middle; margin-left: 10px }.contact .grid { grid-template-columns: 1fr 300px; }.contact .grid ul { padding: 15px 0 15px 70px; position: relative; }.contact li:first-of-type { position: absolute; top: 15px; left: 20px; } @media(prefers-reduced-motion:reduce) { * { transition: all 0s !important; scroll-behavior: unset; animation: none }} @media(forced-colors:active) {} @media(max-width:62.5rem) { .grid.fourth { grid-template-columns: 1fr 1fr } .services a{grid-template-columns:1fr;} .services a img{grid-row:unset;height:250px}} @media(max-width:47.999rem) { .grid.third { grid-template-columns: 1fr 1fr } footer .grid.third > *:first-of-type { grid-column: 1 / -1 } footer .grid.third * { text-align: center } .contact .grid { grid-template-columns: 1fr } .contact .grid > div { display: inline-block; margin: 0 auto } .jump { right: 50%; transform: translate(50%, -100%) } .jump:focus { transform: translate(50%, 0) }} @media(max-width:43.75rem) { header .grid { grid-template-columns: 1fr } nav ul { text-align: center } nav a { padding: 5px 10px } .hero > .wrap { padding: 80px 0; top: unset; transform: none }} @media(max-width:37.5rem) { .grid.half, .grid.third, .grid.fourth, footer .cta > .wrap > .grid, .services .grid, footer .subfoot .grid.mid, footer .cta.grid { grid-template-columns: 1fr } .subfoot p, .services h2, .services h3 { text-align: center } .imgRight { float: none; margin: 0 auto; max-width: 100%; } main { margin-bottom: 0; padding-bottom: 50px } .cta .grid > div:last-of-type { margin-top: unset } .about .grid:nth-of-type(even) > img:first-of-type { order: unset; } .about .grid p:last-of-type { margin: 1em 0; } .about .grid :is(h3, p) { padding: 0 }.resources tr td { display: block; }} @media(max-width:31.25rem) { nav ul { display: grid; grid-template-columns: 1fr 1fr } nav li:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 } nav a { text-align: center }} @media(max-width:25rem) { form input[type=submit] { max-width: unset; display: block; width: 100% }}