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 {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: center} 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;font-size: 14px;} .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%}} .search-container {margin: 20px 0 30px 0;display: flex;justify-content: center;} .search-field {padding: 12px 16px;font-size: var(--16px);border: 2px solid var(--secondary, #eb5e21);border-radius: 4px;width: 100%;max-width: 400px;font-family: 'Montserrat', Arial, Helvetica, sans-serif;transition: border-color 0.3s ease, box-shadow 0.3s ease;} .search-field:focus {outline: none;border-color: var(--primary, #003f7f);box-shadow: 0 0 0 3px rgba(235, 94, 33, 0.1);} .search-field::placeholder {color: #999;} .resources table a {display: inline-flex;align-items: center;gap: 8px;padding: 10px 16px;background-color: var(--secondary, #eb5e21);color: white;text-decoration: none;border-radius: 4px;font-weight: 600;font-size: var(--14px);transition: all 0.3s ease;border: 2px solid var(--secondary, #eb5e21);white-space: nowrap;} .resources table a:hover {background-color: #d84d1a;border-color: #d84d1a;text-decoration: none;transform: translateY(-2px);box-shadow: 0 4px 8px rgba(235, 94, 33, 0.3);} .resources table a:focus {outline: none;box-shadow: 0 0 0 3px rgba(235, 94, 33, 0.3);} .resources table a svg {width: 18px;height: 18px;stroke: white;flex-shrink: 0;}