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; min-width: 320px;}.small { font-size: 14px; }body, footer a, footer button, .services p, .reviews .grid p, .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 { 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 { 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); }.grid.twothird { grid-template-columns: 75% 25%; }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, .credentials .wrap, .reviews .wrap { padding: 40px 10px; }.credentials .wrap { padding: 20px 10px; }.credentials ul { margin-top: 0; }.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 { 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; } .credentials { font-size: 13px; padding: 20px 0; }.credentials h3 { font-size: 15px; margin-bottom: 10px; margin-top: 0; color: #555; }.credentials ul li { margin: 4px 0; line-height: 1.4; color: #666; }.credentials .grid.half { align-items: start; }.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, .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, .credentials ul, .contact ul { list-style: none !important; padding-left: 0 !important; }footer .cta div ul { list-style-type: none !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }footer .cta div ul li { list-style-type: none !important; list-style: none !important; margin: 0 !important; }.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 }.grid.contact {grid-gap: 10px 15px !important; }.contact img {max-width: 175px;} .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; } .services a[href="/equipment"] { pointer-events: none !important; cursor: default !important; }.logo-footer { width: 100px; }.home-footer { padding: 10px; display: flex; align-items: flex-start; gap: 20px; }.home-footer > div:first-child { flex-shrink: 0; }.home-footer > div:last-child { flex: 1; }.home-footer ul { margin: 0; padding: 0; }.home-footer ul li { font-size: 14px; margin: 5px 0; }.home-footer ul li a { color: #333; font-size: 14px; }.home-footer p { margin: 10px 0 0 0; } details { margin: 20px 0; border: 2px solid #ddd; border-radius: 4px; overflow: hidden; background-color: white; }summary { padding: 20px; cursor: pointer; user-select: none; display: flex; align-items: center; gap: 20px; list-style: none; background-color: var(--light, #f5f5f5); }summary::-webkit-details-marker { display: none; }summary::marker { display: none; }.summary-text { flex: 1; color: var(--light-comp, #4d4d4d); font-weight: 400; text-align: left; }.summary-button { padding: 10px 20px; background-color: var(--secondary, #eb5e21); color: white; font-weight: 600; border-radius: 50px; transition: all 0.3s ease; white-space: nowrap; }summary:hover .summary-button, summary:focus .summary-button { background-color: #d84d1a; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(235, 94, 33, 0.3); }details[open] .summary-button { background-color: #d84d1a; }details[open] .summary-button::after { content: " ▲"; }details:not([open]) .summary-button::after { content: " ▼"; }details > *:not(summary) { padding: 20px; margin: 0; } @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 } summary { flex-direction: column; align-items: flex-start; } .summary-button { align-self: center; margin-top: 10px; }} @media(max-width:47.999rem) { .grid.third { grid-template-columns: 1fr 1fr } .grid.twothird { grid-template-columns: 1fr; } footer .grid.third > *:first-of-type { grid-column: 1 / -1 } footer .grid.third * { text-align: center } .contact ul, .contact li, .contact p:has(a) { text-align: center; } .jump { right: 50%; transform: translate(50%, -100%) } .jump:focus { transform: translate(50%, 0) }} @media(max-width:43.75rem) { header #logo {margin: 5px auto; display: block; } header .grid { grid-template-columns: 1fr } nav ul, nav li { text-align: center } nav li { display: block; margin: 0 auto; } nav a { padding: 12px 10px; } .hero > .wrap { padding: 80px 0; top: unset; transform: none } .imgLeft, .imgRight { max-width: 100%; float: none; margin: 10px auto;} .about { display: grid; grid-template-columns: 1fr; } .about > h1 { grid-row: 1; } .about > .imgLeft:nth-of-type(1) { grid-row: 3; } .about > h2:nth-of-type(1) { grid-row: 2; } .about > p:nth-of-type(1) { grid-row: 4; } .about > p:nth-of-type(2) { grid-row: 5; } .about > p:nth-of-type(3) { grid-row: 6; } .about > p:nth-of-type(4) { grid-row: 7; } .about > p:nth-of-type(5) { grid-row: 8; } .about > .clear:nth-of-type(1) { grid-row: 9; } .about > h2:nth-of-type(2) { grid-row: 10; } .about > p:nth-of-type(6) { grid-row: 11; } .about > p:nth-of-type(7) { grid-row: 12; } .about > p:nth-of-type(8) { grid-row: 13; } .about > .clear:nth-of-type(2) { grid-row: 14; } .about > .imgLeft:nth-of-type(2) { grid-row: 16; } .about > h2:nth-of-type(3) { grid-row: 15; } .about > p:nth-of-type(9) { grid-row: 17; } .about > p:nth-of-type(10) { grid-row: 18; } .about > p:nth-of-type(11) { grid-row: 19; } .about > .clear:nth-of-type(3) { grid-row: 20; } .about > .imgLeft:nth-of-type(3) { grid-row: 22; } .about > h2:nth-of-type(4) { grid-row: 21; } .about > p:nth-of-type(12) { grid-row: 23; } .about > p:nth-of-type(13) { grid-row: 24; } .about > p:nth-of-type(14) { grid-row: 25; } .about > p:nth-of-type(15) { grid-row: 26; } .about > p:nth-of-type(16) { grid-row: 27; } .about > .clear:nth-of-type(4) { grid-row: 28; } .about > .imgLeft:nth-of-type(4) { grid-row: 30; } .about > h2:nth-of-type(5) { grid-row: 29; } .about > p:nth-of-type(17) { grid-row: 31; } .about > p:nth-of-type(18) { grid-row: 32; } .about > p:nth-of-type(19) { grid-row: 33; } .about > p:nth-of-type(20) { grid-row: 34; } .about > .clear:nth-of-type(5) { grid-row: 35; }} @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 } main { margin-bottom: 0; padding-bottom: 50px } .credentials .grid.half .grid { grid-gap: 0;} .credentials .grid.half > ul:first-of-type { margin-bottom: 0 } .credentials .grid.half > ul:last-of-type { margin-top: 0 } .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; } footer .cta img { margin: 0 auto; } footer .cta ul, footer .cta li, footer .cta p {text-align: center;}} @media(max-width:31.25rem) {} @media(max-width:25rem) { form input[type=submit] { max-width: unset; display: block; width: 100% } .resources tr { display: block; margin-bottom: 20px; } .resources th { display: block; width: 100%; } .home-footer { flex-direction: column; align-items: center; text-align: center; } .home-footer ul, .home-footer li, .home-footer p { text-align: center; } summary { flex-direction: column; align-items: center; } .summary-button { align-self: center; }}