img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} :root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #448ccb; --primary-comp: #fff; --secondary: #01cdea; --secondary-comp: #fff; } html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }body { font-family: 'Rubik', Arial, Helvetica, sans-serif; font-size: clamp(14px, 2vw, 20px); line-height: 1.5; text-align: center; min-width: 320px; }body, footer a, .row3 a, .about h3 span, .contact a { color: var(--light-comp, #4d4d4d); }body, header ul, .hero h1, .hero p, .row1 h2 { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }nav, form input[type=submit], .btn { text-transform: uppercase; }h1, h2, h3, h4, h5, h6 { line-height: 1.3; }img, iframe { max-width: 100%; height: auto; }iframe { display: block; aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; }.fullwidth { width: 100%; }a img, iframe { border: none; }a, .row6 img { transition: ease-in-out .3s; }a, header a:hover, form input[type=submit]:hover, .btn:hover, footer a:hover, .row3 a:hover, .contact a:hover { text-decoration: none; }a, header a:hover, footer a:hover, main h2 span, .row3 a:hover h3, footer h2 span, .about h3, .contact a:hover { color: var(--primary, #448ccb); }a:hover { text-decoration: underline; }hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgCenter { display: block; margin: 0 auto; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel] { white-space: nowrap; }.bgimg { position: relative }.bgimg > img:first-of-type { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 }.bgimg > .wrap { z-index: 2 }sup { line-height: 0; }.hide { display: none !important; }.center, .hero h1, .hero p, .row1 h2, .row1 p, .row3 h2, .row3 h3, .row3 p, .row4 h2, .row5 p, footer h3, footer li { 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, #f5f5f5); }.mid { align-items: center; align-self: center; }.grid { display: grid; grid-gap: 10px 20px; }.grid.half { grid-template-columns: repeat(2,1fr); }.grid.third { grid-template-columns: repeat(3,1fr); }.grid.fourth { grid-template-columns: repeat(4,1fr); } header, .hero { position: relative; }header { background-image: linear-gradient(rgba(0,0,0,.5),transparent); z-index: 999; }header .wrap, footer .wrap { padding: 20px 10px; }header .grid, .row2 .grid { grid-template-columns: 200px 1fr; }header .grid > div:last-of-type, footer .subfoot .grid > div:last-of-type { text-align: right; }header .logo { font-weight: bold; }nav, footer, .small, .about h3 span { font-size: clamp(14px, 2.5vw, 18px); }nav li, footer .grid.fourth > div:last-of-type li, .contact .grid > div:last-of-type li { display: inline-block; }nav li { font-weight: 600; margin-left: clamp(5px, 2vw, 20px); }header a, .logo:hover, .hero h1, .hero p, .row4 h2 span { color: var(--dark-comp, #fff); } .hero { background-size: cover; background-position: center; position: relative; z-index: 2; }.hero:before { content: ""; position: absolute; z-index: 1; }.hero:before { width: 100%; height: 100%; background-color: rgba(0,0,0,.4); top: 0; left: 0; }.hero { width: 100%; height: 400px; background-position-y: 25% }.hero > .wrap { top: 30%; margin: 0 auto; }.hero h1, .hero p { padding: 0 10px; text-shadow: 2px 2px 3px rgba(0,0,0,.3); }.hero h1 { font-size: clamp(28px, 6vw, 42px); }.hero h1 span, main h2 span, footer h2 span { display: block; padding-bottom: 5px; }.hero p { font-size: clamp(16px, 4vw, 24px); font-weight: 600; }.hero .btn, .about .grid, .contact .grid { margin-top: 40px; text-shadow: none; } .row1 .wrap { padding: 60px 10px 40px; }.row1 p { max-width: 1000px; margin: 20px auto; }.row2 { margin-bottom: 80px; }.row3 { margin: 60px 0; }.row3 .grid { padding: 20px 0; }.row3 h3 { margin-bottom: 0; }.row3 p { margin-top: 0; }.row4 .wrap { padding: 40px 10px 100px; }.row5 .wrap { max-width: 1000px; background-color: var(--main-bg, #fff); padding: 40px; margin: -80px auto 50px; border-radius: 10px; border: 1px solid #eee; }.row6 .wrap { padding: 20px 10px; }.row6 img { vertical-align: middle; filter: grayscale(100%); opacity: 50%; margin: 40px 40px 20px; }.row6 img:hover { filter: grayscale(0); opacity: 100%; } form { margin: 40px 0 20px; }form .grid { grid-gap: 0 10px; }form label { display: block; }form input[type=text], form input[type=email], form input[type=tel], form input[type=file], form input[type=submit], form select, form textarea, form input[type=password], .btn { font-family: 'Rubik', sans-serif; font-size: 16px; }form input[type=text], form input[type=email], form input[type=tel], form select, form textarea, form input[type=password] { background-color: var(--main-bg, #fff); margin-bottom: 10px; padding: 0 10px; border: 1px solid #f5f5f5; }form input[type=text], form input[type=email], form input[type=tel], form select, form input[type=password] { height: 50px; }form input[type=text], form input[type=email], form input[type=tel], form textarea, form input[type=password] { width: calc(100% - 20px); }form select { width: 100%; }form input[type=file] { margin-left: 10px; border-radius: 0; }form textarea { height: 100px; padding: 15px 10px; }form input[type=submit], .btn { display: inline-block; min-width: 110px; font-weight: 600; text-align: center; line-height: 1.6; background-color: var(--primary, #448ccb); color: var(--primary-comp, #fff); padding: 10px 40px; margin: 10px 0; border: none; border-radius: 50px; transition: ease-in-out .3s; }form input[type=submit] { min-width: 250px; margin: 0; }form input[type=submit]:hover, .btn:hover { cursor: pointer; background-color: var(--secondary, #01cdea); color: var(--primary-comp, #fff); } footer > .wrap { padding-top: 0 }footer .cta { padding: 30px 0; }footer .cta h2 span { text-transform: capitalize; }.ccpaNotice { text-align: center !important; } main, .contact .bg-light { padding: 40px 10px; }main h1, footer h2, .home h2 { font-size: clamp(22px, 5vw, 30px); }main h2, header .logo, footer h2 span, .home h2 span, .row1 p, .row5, .hero h1 span, main h2 span, footer h2 span { font-size: clamp(18px, 4vw, 24px); }main h3 { font-size: clamp(18px, 3vw, 22px); }main h4, main h2 span { font-size: clamp(16px, 2.5vw, 20px); }main ul, main ol { padding-left: 25px; }main li, footer li { margin: 5px 0; }.nolist, footer ul, .contact ul { list-style: none; padding-left: 0; }.about h3 span { display: block; } @media(max-width: 999px) { header { background-image: none; } header .grid, footer .cta .grid, .row2 .grid { grid-template-columns: 1fr; } header .grid > a { display: block; width: fit-content; margin: 0 auto; } header img { width: 250px !important; display: block; margin: 0 auto 20px; } header .wrap { text-align: center; } nav { width: 100%; margin-top: 10px; } nav ul { justify-content: center; text-align: center; gap: 5px; } nav a { display: inline-block; padding: 5px 20px; ; text-align: center; border-bottom: none; } nav li:has(a[href^=tel]) {display:block; text-align: center;} .grid.half { grid-template-columns: 1fr 1fr; } .grid.third { grid-template-columns: repeat(3, 1fr); } .grid.fourth { grid-template-columns: repeat(2, 1fr); } .hero { height: 600px; padding: 0; } .hero > .wrap { top: 20%; width: 100%; } .hero h1, .hero p { text-align: center!important; } .hero .wrap:after { display: none; } .row3 { height: 400px; } .row7 { height: 600px; } .row2 .grid { grid-template-columns: 250px 1fr; } .solutions .emphasis { height: 450pxx; } .solutions .emphasis .grid { grid-template-columns: 400px 1fr; } .solutions .emphasis img { height: 350px; } .contact .grid.mid { grid-template-columns: 300px 1fr; } form input[type=submit], .btn { width: auto; display: inline-block; min-width: 250px; box-sizing: border-box; } :is(button, form input[type=submit], .btn) { padding: 10px 40px; } .hero:has(.btn) { height: 550px; } .hero:has(.btn) > .wrap { top: 70px;} .hero:has(.btn) h1, .hero:has(.btn) p { text-align: center !important; }} @media(max-width: 767px) { .hero { height: 500px;} .hero h1, .hero p { text-align: center; } .hero > .wrap { top: 10%; width: 100%; } nav {display: grid;} nav ul {display: grid; grid-template-columns: 1fr 1fr; } nav li:has(a[href^=tel]) { grid-column: 1 / -1; } nav li:has(a[href^=tel]), nav a[href^=tel] { padding-top: 0; } nav :is(a, li) {text-align: center; font-size: 18px; padding-bottom: 5px;} .row2 .grid { grid-template-columns: 1fr; } .row3 { height: 500px;} .grid.third { grid-template-columns: repeat(2, 1fr); } .contact .grid.mid { grid-template-columns: 1fr; place-items: center; text-align: center; } .contact .grid.mid ul { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 0; } .contact .grid.mid ul.social { flex-direction: row; justify-content: center; } .contact li:first-of-type { position: static; } .solutions .emphasis { height: auto; } .solutions .emphasis .grid { grid-template-columns: 1fr; } .solutions .emphasis img { width: 100%; height: auto; } .solutions .emphasis .wrap { position: relative; top: auto; transform: none; } .hero:has(.btn) { height: 600px; } .hero:has(.btn) > .wrap { top: 60px; } .hero:has(.btn) h1, .hero:has(.btn) p { text-align: center; } .contact img {height: 350px; width: auto; overflow: hidden;} .imgLeft, .imgRight, .imgCenter { float: none; max-width: 100%; margin: 20px auto; display: block; }} @media(max-width: 600px) { header img { width: clamp(110px, 35vw, 220px); } header .wrap { padding: clamp(10px, 2.5vw, 15px) clamp(10px, 2.5vw, 15px); } .grid.half, .grid.third, .grid.fourth, footer .grid.fourth, .subfoot .grid { grid-template-columns: 1fr; } footer :is(li, h3, p), footer .subfoot .grid > div:last-of-type {text-align: center;} .row1 .wrap { padding: 20px 10px; } .row3 { height: 600px; } .row6 img { margin: 20px 20px 10px; } .row7 { height: 400px; } .solutions .emphasis .grid { grid-template-columns: 1fr; } .solutions .emphasis img { width: 100%; height: auto; } .hero:has(.btn) h1, .hero:has(.btn) p { text-align: center; }} @media(max-width: 480px) { header img { width: clamp(100px, 30vw, 150px); } header .wrap { padding: clamp(8px, 2vw, 12px) clamp(8px, 2vw, 12px); } nav ul { gap: 4px; } nav a { padding: 4px 8px; } a[href^="mailto:"] { overflow-wrap: break-word; } .row7 { height: 350px; } .hero:has(.btn) { height: 600px; } .hero:has(.btn) h1, .hero:has(.btn) p { text-align: center; }} @media(prefers-reduced-motion:reduce) { * { scroll-behavior: unset !important; transition: all 0s !important; animation: none !important; }} @media(forced-colors:active) { button, input, textarea, a { border: 1px solid #000 !important; } .grayscale, .grayscale-filter { filter: none !important; }}