:root{--main-bg:#fff;--light:#f5f5f5;--light-comp:#4d4d4d;--dark:#333;--dark-comp:#fff;--primary:#233694;--primary-comp:#fff;--secondary:#da0019;--secondary-comp:#fff;} *{box-sizing:border-box;scroll-behavior:smooth;outline-offset:4px} body{font-family:"Montserrat",Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;text-align:center;min-width:320px;} body,header a,footer a,.choose a{color:var(--light-comp,#4d4d4d);} body,header ul,.hero p{padding:0;margin:0;} h1,h2,h3,h4,h5,h6,p,th,td,dd,dt,li,blockquote{text-align:left;} h1,h2{color:var(--primary,#233694);line-height:1.4;} img,iframe,video{max-width:100%;height:auto;display:block;margin:0 auto;border:none} iframe{display:block;aspect-ratio:auto 16 / 9;width:100%;margin:1em auto;} a img,iframe{border:none;} a,.choose h3{transition:ease-in-out .3s;} header a,header a:hover,form input[type=submit]:hover,.btn,.btn:hover,.choose a:hover,footer a,footer a:hover,.choose a,.choose a:hover{text-decoration:none;} a,header a:hover,.choose a:hover h3,footer a:hover{color:var(--secondary,#da0019);} a:hover{text-decoration-color:var(--primary)} 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;} .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 p,.choose h2,.choose p,.reviews h2,.cta h2,.cta p{text-align:center;} .wrap{display:block;max-width:1100px;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,#233694);} .bg-light{background-color:var(--light,#f5f5f5);color:var(--dark,#333);} .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);} .bgimg{position:relative} .bgimg>img:first-of-type{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0} header,.hero{position:relative;} header>.wrap{padding:10px 2px;} header .grid{grid-template-columns:600px 1fr;} header img{max-width:600px;width:100%} header .grid li{text-align:right;} header .grid li:first-of-type{font-size:24px;margin-bottom:10px;} nav{line-height:1.7;border-color:var(--primary);border-style:solid none;border-width:1px} nav ul{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;grid-gap:0} nav a{display:block;margin:5px;padding:5px;text-align:center} nav a,.hero h1,.hero p{color:var(--dark-comp,#fff);} nav a:hover{color:var(--dark-comp);text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-color:var(--secondary);text-underline-offset:4px} main a{text-underline-offset:4px} .hero{background-size:cover;background-position:center;background-color:var(--dark,#333);position:relative;} .hero{width:100%;height:clamp(250px,50vw,500px);background-position-y:30%;} .hero>.wrap{top:50%;transform:translateY(-50%);z-index:2;position:relative} .hero p{font-size:36px;padding:0 10px;text-shadow:2px 2px 3px rgba(0,0,0,.3);} .hero video{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;z-index:0} .hero h1{padding:0 10px;font-size:clamp(40px,8vw,80px);text-align:center;color:#fff;line-height:1.25;margin:0;text-shadow:0 0 3px #000} .home>div{padding:40px 10px 50px;} .choose .grid h3,.choose .grid p{padding:0 clamp(10px,4vw,40px);} .choose .grid,.reviews .grid{grid-gap:20px;margin:40px 0;} .choose .grid>a{background-color:var(--dark-comp,#fff);} .choose .grid img{width:100%} .choose .grid p{text-align:left;} .reviews .grid>div,.featured{background-color:var(--bg-light,#f5f5f5);padding:20px 0 50px;position:relative} .reviews .grid div div,.featured div{position:absolute;bottom:20px;width:100%} .reviews .grid div div p,.featured div p{margin:0} .reviews .grid>div>p,.reviews .grid>div>div,.services .grid h2,.services .grid p,.featured p,.featured div{padding:0 clamp(10px,4vw,40px)} .reviews svg{float:right;} .reviews .grid div div p,.reviews svg{vertical-align:middle;line-height:1} .home .cta{padding:100px 10px;} form{text-align:left;margin:40px 0;} form .grid{grid-gap:0 10px;} form :is(label,input,select,textarea){display:block;width:100%} form :is(input,select,textarea){padding:10px;margin-bottom:10px;border:1px solid #ddd;font-size:16px} form :is(input,select,textarea),.btn{font-family:"Montserrat",Arial,Helvetica,sans-serif;} form textarea{height:150px} form input[type=submit]{min-width:250px;margin:0;} form input[type=submit],.btn{width:auto;display:inline-block;text-align:center;text-transform:uppercase;line-height:1.7;background-color:var(--secondary,#da0019);color:var(--primary-comp,#fff);padding:10px 40px;margin:10px 0;border:none;transition:ease-in-out .3s;} form input[type=submit]:hover,.btn:hover{cursor:pointer;background-color:#c10016;color:var(--primary-comp,#fff);} .btn{min-width:150px;font-size:18px;} footer .wrap{padding:20px 10px;} footer .grid.third{padding:30px 0;} footer .subfoot{border-top:10px solid var(--primary,#233694);} footer .subfoot .grid{grid-template-columns:1fr 150px;} .ccpaNotice{text-align:center !important;} main{border-top:20px solid var(--primary,#448ccb);padding:40px 10px 50px;} main h1,main h2,.choose h3{font-size:30px;} main h3,.about li strong{font-size:24px;} main h4,.about li{font-size:20px;} main ul,main ol{padding-left:25px;} main li,footer li{margin:5px 0;} .nolist,header ul,footer ul,.contact ul{list-style:none;padding-left:0;} .about li{line-height:1.4;margin:0;} .about li strong{color:#c10016;letter-spacing:1px;} .team .grid{grid-template-columns:300px 1fr} .team .grid:nth-of-type(odd){grid-template-columns:1fr 300px} .team .grid:nth-of-type(odd) img{order:2} .team h1,.team h2{text-align:center;} .team img{object-fit:cover;width:300px;height:auto;margin-top:20px;} .team svg,.team a{display:inline-block;vertical-align:middle;} .team svg{margin-right:10px;} .services .gridbox{border:1px solid #eee;margin:50px 0} .services .grid{grid-gap:0;} .services .grid img{object-fit:cover;width:100%;height:100%;} .services .grid:nth-of-type(even)>img{order:2;} .projects img,.gallery img{object-fit:cover;width:100%;} .projects img{display:block;height:300px;} .projects .bottom{object-position:bottom;} .gallery{display:grid;grid-template-columns:repeat( auto-fit,minmax(210px,1fr) );grid-gap:10px} .gallery a{display:block;vertical-align:top;height:200px;} .gallery img{height:100%;} .contact .grid{grid-gap:0 10px} .contact .grid ul{padding:10px 0 10px 50px;position:relative;margin-top:0} .contact .grid svg{position:absolute;top:15px;left:0;} @media(prefers-reduced-motion){*{transition:all 0s !important;scroll-behavior:unset;animation:none}} @media(max-width:999px){header .grid{grid-template-columns:1fr} header .grid li{text-align:center}} @media(max-width:767px){nav ul{grid-template-columns:1fr 1fr 1fr;} main .grid.third{grid-template-columns:1fr 1fr} main .grid.third>div:last-of-type:nth-of-type(odd){grid-column:1/-1} .services .grid,.team .grid,.team .grid:nth-of-type(odd){grid-template-columns:1fr} .services .grid:nth-of-type(even)>img,.team .grid:nth-of-type(odd) img{order:unset;} .services .grid img{height:max(50vw,250px)} .team h3{text-align:center}} @media(max-width:600px){.grid.half,.grid.third,footer .subfoot .grid{grid-template-columns:1fr} .subfoot p,footer :is(li,h3),p:has(.btn){text-align:center}} @media(max-width:500px){main .grid.third{grid-template-columns:1fr} .subfoot p,footer :is(li,h3),p:has(.btn){text-align:center}} @media(max-width:400px){nav ul{grid-template-columns:1fr 1fr} form input[type=submit]{display:block;width:100%}} 