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: #161616; --dark-comp: #fff; --primary: #2F4F4F; --primary-comp: #fff; --secondary: #ff0000; --secondary-comp: #fff; } html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }body { font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.5; text-align: center; min-width: 320px; }body, nav a, .projects a, .contact a { color: var(--light-comp, #4d4d4d); }body, header ul, .hero h1, .hero p, .row1 h2, .row1 h3 { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }h1, .home h2 { color: var(--dark, #161616); }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, .row1 h3, .row3 img { transition: ease-in-out .3s; }a, header a:hover, form input[type=submit]:hover, .btn:hover, .row1 a:hover, .contact a:hover, .projects a:hover { text-decoration: none; }a, header a:hover, .row1 a:hover h3, .contact a:hover, .projects a:hover { color: var(--primary, #2F4F4F); }a:hover { text-decoration: underline; }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; }.imgCenter { display: block; margin: 0 auto; }.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, .ccpaNotice, .hero h1, .hero p, .cta h2, .cta p, .contact li, .row2 h2, .row2 p, .row3 h2, .row3 p, .projects h3 { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary, .bg-primary a, .bg-secondary, .bg-secondary a, .top:hover, .hero h1, .hero p { color: var(--dark-comp, #fff); }.bg-dark { background-color: var(--dark, #161616); }.bg-primary { background-color: var(--primary, #2F4F4F); }.bg-secondary { background-color: var(--secondary, #ff0000); }.bg-light { background-color: var(--light, #f5f5f5); color: var(--light-comp, #4d4d4d); }.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); }span { display: block; } header, footer { font-size: 16px; }header .wrap, footer .wrap { padding: 20px 10px; }header .grid { grid-template-columns: 400px 1fr; }header .grid > div:last-of-type, footer .subfoot .grid > div:last-of-type { text-align: right; }.top { display: block; padding: 10px; background-color: var(--primary, #2F4F4F); color: #fff; }nav ul { display: inline-block; }nav li { display: inline-block; margin-left: 20px; }nav .social { display: inline-block; padding: 0; margin: 0 0 0 5px; }nav .social li { margin: 0 0 0 5px; text-align: center; }nav .social svg { vertical-align: middle; stroke: #2F4F4F } .hero, .cta, .row2 { background-size: cover; background-position: center; position: relative; }.hero:before { content: ""; width: 100%; height: 100%; background-color: rgba(0,0,0,.4); position: absolute; top: 0; left: 0; }.hero { width: 100%; height: 400px; background-image: url(/images/rsw.jpg); background-position-y: 35%; position: relative; }.hero { animation: fadeIn 1s ease-in forwards; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; }} .hero > .wrap { top: 50%; transform: translateY(-50%); }.hero h1, .hero p { padding: 0 10px; text-shadow: 2px 2px 3px rgba(0,0,0,.3); }.hero h1 { font-size: 32px; line-height: 1.3; }.hero .btn { margin-top: 50px; } .row1 .wrap { padding: 50px 10px 40px; }.row1 .grid, .contact .grid { padding: 20px 0; }.row1 .grid { grid-template-columns: 1fr 200px; }.row2 .wrap, .row3 .wrap, .row4 .wrap { padding: 40px 10px; }.row3 ul { margin-top: 40px; }.row3 img { height: 390px; width: 100%; }.row4 img { vertical-align: middle; margin: 20px 35px; } form { margin: 20px 0; }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=submit], form textarea, .btn { font-family: 'Montserrat', sans-serif; font-size: 16px; }form input[type=text], form input[type=email], form input[type=tel], form textarea { background-color: var(--dark-comp, #fff); margin-bottom: 10px; padding: 0 10px; border: none; }form input[type=text], form input[type=email], form input[type=tel] { height: 50px; }form input[type=text], form input[type=email], form input[type=tel], form textarea { width: calc(100% - 20px); }form textarea { height: 150px; padding: 15px 10px; }form input[type=submit], .btn { display: inline-block; min-width: 110px; text-align: center; line-height: 1.6; background-color: var(--dark, #161616); color: var(--primary-comp, #fff); padding: 10px 40px; margin: 10px 0; border: none; border-radius: 3px; transition: ease-in-out .3s; }form input[type=submit] { min-width: 250px; margin-top: 50px; }form input[type=submit]:hover, .btn:hover { cursor: pointer; background-color: var(--light-comp, #4d4d4d); }form input, form textarea, ::placeholder { color: var(--dark, #161616); }form input[type=submit]:hover, .btn:hover { color: var(--primary-comp, #fff); }form input, form textarea { outline: none; } .cta:before { background-color: rgba(0,0,0,.5); }.cta .wrap { padding: 40px 10px 50px; }.cta p { max-width: 900px; margin: auto; }.cta form { margin-top: 40px; }.ccpaNotice { text-align: center !important; } main { padding: 30px 10px 40px; }main h1, main h2 { font-size: 24px; }main h3 { font-size: 20px; }main h4 { font-size: 18px; }main ul, main ol { padding-left: 25px; }main li { margin: 5px 0; }main:has(.values) { padding: 0 10px; }.values li:first-of-type h2 { border-bottom: 1px solid #2F4F4F; max-width: 160px; }.values h2 { border-bottom: 1px solid #2F4F4F; max-width: 195px; }.values li:last-of-type h2 { border-bottom: 1px solid #2F4F4F; max-width: 175px; }.values img { height: 100%; }.nolist, .contact ul { list-style: none; padding-left: 0; }.projects .grid, .contact .grid { grid-gap: 20px; padding: 40px 0; }.projects img { object-fit: cover; width: 100%; height: 300px; }.projects h3 { margin: 0; }.projectsthumbs { margin: 50px 0; }.projectsthumbs h3 { text-align: center; }.projectsthumbs a:hover { text-decoration: none; }.projectsthumbs a img { transition: transform 0.3s ease-in-out; filter: grayscale(0%); }.projectsthumbs img { height: 390px; width: 100%; }.projectsthumbs a:hover img { transform: scale(1.1); }.grid.half.check { grid-template-columns: 5px 1fr; }.check span { margin-top: 15px; }.check b { display: block; }.check svg { margin: 0 5px; }.contact .grid > div { padding: 20px; }.sponsors img { width: 150px; filter: grayscale(100%); opacity: .5; }.sponsors a img:hover { filter: none; opacity: 1; transition: ease-in-out .4s; }.sponsors a[href*="https://www.unitedcontractors.org/"] img { width: 115px; } .gallerymain { align-items: end; }.gallery { padding: 10px 0 30px 0; }.gallery a { display: inline-block; vertical-align: top; margin: 5px; overflow: hidden; width: calc((100% / 2) - 10px); height: 200px; }.gallery img { object-fit: cover; width: 100%; height: 100%; } @media(max-width: 999px) { .row3 :is(.grid.half) { grid-template-columns: 1fr !important; } .row3 img, .projectsthumbs img { height: unset; max-height: 390px; max-width: 520px; }} @media (max-width: 768px) { header .grid, footer .grid.third, .grid.half { grid-template-columns: 1fr; text-align: center; } header .grid > div:last-of-type { margin-top: 10px; text-align: center; } nav ul { display: block; } nav li { margin: 10px clamp(5px, 1vw, 25px,); } nav .social { padding: 0; margin: 5px; } nav .social li { margin: 5px; } .hero { height: 300px; } .hero h1 { font-size: 26px; } .row1 .grid { grid-template-columns: 1fr; } .imgLeft, .imgRight { max-width: 100%; float: none; margin: 0 0 20px 0; } .contact .grid { grid-template-columns: 1fr; }footer p, footer li, footer a {text-align: center;display: block;}} @media (max-width: 700px) { .grid.half.check, .grid.half:has(.check) { grid-template-columns: 1fr; } .check svg { margin: 0 auto; } .check span { margin-top: auto; }} @media (max-width: 400px) { .gallery a { width: calc((100% / 1) - 10px); }}