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: #093c98; --primary-comp: #fff; --secondary: #247BAE; --secondary-comp: #fff; } body, form * { font-family: 'Montserrat', sans-serif }body { font-size: 18px; font-weight: 500; line-height: 1.5; text-align: center; min-width: 320px; }body, footer a, nav a { color: var(--light-comp); }body, header ul, .hero h1, .hero p, .row1 h2, .social li { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote, figcaption { text-align: left; text-transform: none; }h4, h5, h6, nav, form input[type=submit], .btn, .row3, .row7 p { text-transform: uppercase; }h1, h2, h3, h4, h5, h6 { line-height: 1.3; }img, iframe { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe { display: block; aspect-ratio: auto 16 / 12; width: 100%; margin: 1em auto; }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, .row7 a:hover, .solutions a:hover { text-decoration: none; }a, header a:hover, footer a:hover, .row7 a:hover, .solutions a:hover h3 { color: var(--secondary); }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; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel] { white-space: nowrap; }sup { line-height: 0; }.center, .hero h1, .hero p, .row3 h2, .row7 h2, .row7 p, .row7 li { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary { color: var(--dark-comp); }.bg-dark { background-color: var(--dark); }.bg-primary { background-color: var(--primary); }.bg-light { background-color: var(--light); padding: 30px clamp(10px, 2vw, 30px); margin-bottom: 20px; }.mid { align-items: center; align-self: center; }.flex { display: flex; flex-wrap: wrap; gap: 10px; }.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); }.grid.fullimg > img { width: 100%; height: 100%; object-fit: cover }.pad { padding-left: 10px; padding-right: 10px }figure, blockquote { margin: 1em 0; }blockquote:before { content: open-quote; margin-right: 5px }blockquote:after { content: close-quote; margin-left: 5px }blockquote:before, blockquote:after { font-family: serif; line-height: 0; font-size: 30px } header, footer .subfoot .grid > div:last-of-type { text-align: right; }header .grid, .row2 .grid { grid-template-columns: 200px 1fr; }header .grid { grid-gap: 5px 0 }header, .hero { position: relative; }header { background-color: rgba(255,255,255,.9); z-index: 999; }header .wrap { padding: 10px 0 5px }header img[src*=logo] { margin: 0 auto; padding: 8px }header a { display: block; }header .btn { background-color: var(--secondary); }header .btn:hover { color: var(--secondary); background-color: #fff; }nav li, .top li, .social li { display: inline-block; }nav a { font-weight: 600; display: block; margin: 4px; padding: 4px }.top .wrap { padding: 0 4px; }.top a, .social svg { display: block }.top a { margin: 4px; padding: 4px }.top svg { color: #fff }.top li { vertical-align: middle; }.top li:has(.btn) { margin: 4px 0 }.top .btn { padding: 5px 10px; margin: 4px; font-size: 15px; } .hero, .row3, .row7, .tailor { background-size: cover; background-position: center; position: relative; }.hero:before, .row3:before, .row7:before, .tailor:before { content: ""; position: absolute; z-index: 1; }.hero:before, .row3:before, .row7:before, .tailor:before { width: 100%; height: 100%; background-color: rgba(0,0,0,.1); top: 0; left: 0; }.hero { width: 100%; height: 400px; }.hero > .wrap { top: 60%; transform: translateY(-60%); z-index: 1; }.hero h1, .hero p, .row3 figure { padding: 0 10px; text-shadow: 1px 1px 3px rgba(0,0,0,.5); }.hero h1, .hero p, .row7 a { color: var(--dark-comp); }.hero h1, .row7 h2 { font-size: 36px; }.hero .btn { width: 230px; padding: 10px; margin-top: 40px; text-shadow: none; }.bgimg { position: relative }.bgimg > img:first-of-type { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center; top: 0; bottom: 0; left: 0; right: 0; z-index: -1 } .row1 img, .row2 img { border-radius: 3px; }.row1 .wrap { padding: 50px 10px 40px; }.row1 h2 { font-size: 36px; }.row1 h2 span, .row2 h3, blockquote, figcaption { font-size: 24px; }.row2 .wrap { padding: 10px; }.row2 .bg-light { padding: 20px 40px 40px; border-left: 10px solid #093C98; }.row2 .grid { grid-template-columns: 300px 1fr; grid-gap: 10px 50px; margin: 50px 0; }.row2 h3 { margin-top: 10px; }.row3 { margin: 60px 0; }.row3 { height: 400px; }.row3.bgimg > img:first-of-type { object-position: 50% 15%; z-index: 0; }.row3:before { background-color: rgba(0, 0, 0, 0.48); z-index: 1 }.row3 .wrap, .row7 .wrap { top: 50%; transform: translateY(-50%); }.row3 .wrap, .row7 .wrap { z-index: 1; }.row3 blockquote { max-width: 700px; font-weight: 400; }.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%; }.row7 { height: 600px; font-weight: bold; }.row7.bgimg > img:first-of-type { object-position: 50% 15%; z-index: 0; }.row7:before { background-color: rgba(0,0,0,.6); }.row7 ul { max-width: 850px; padding: 20px 0; margin: 40px auto; border-top: 1px solid #fff; border-bottom: 1px solid #fff; }.row7 p a { padding: 0 10px; }.logos { max-width: 900px; margin: 0 auto; }.logos img { width: 120px; display: inline-block }.history { padding: 40px clamp(25px, 4vw, 100px) 60px; margin-top: 50px; }.history h2, .history h3 { font-weight: 800; }.history h3 { font-size: 42px; line-height: 1; margin: 20px 0; }.history p { padding-right: 20px; }.history svg { vertical-align: middle }.inquires.bgimg > img:first-of-type { background-repeat: no-repeat; background-size: cover; object-fit: cover; }.about .grid h3 span, footer { font-size: 16px; } form { margin: 20px 0; }form .grid { grid-gap: 0 10px; }form label { display: block; text-indent: 10px; text-align: left }form fieldset { border: none; margin: 0 0 20px; padding: 0 }form legend { text-align: left; background-color: var(--primary); color: var(--primary-comp); display: block; padding: 5px 10px; margin: 10px 0 }form :is(label,input,textarea,select,legend) { font-size: 16px; line-height: 1.5; box-sizing: border-box; width: 100%; display: block }form input { background-color: var(--main-bg) }form :is(input,textarea,select) { padding: 10px; margin-bottom: 10px; border: 1px solid #f5f5f5 }form select { padding: 12px 10px 11px }form textarea { height: 150px; }form input[type=submit], .btn { display: inline-block; width: auto; min-width: 110px; font-weight: bold; text-align: center; line-height: 2; background-color: var(--primary); color: var(--primary-comp); padding: 10px 40px; margin: 10px 0; border: none; border-radius: 5px; transition: ease-in-out .3s; line-height: 1.25 }form input[type=submit] { min-width: 250px; margin: 0; }form input[type=submit]:hover, .btn:hover { cursor: pointer; background-color: var(--secondary); color: var(--primary-comp); } footer .wrap { padding: 10px 10px 20px; }footer > .wrap { padding-top: 0 }footer .grid.fourth { padding: 40px 0; border-top: none; border-bottom: 1px solid #eee; }footer h2 { margin-top: 30px; }footer .social { text-align: left; }footer .social li { margin-right: 10px; }.ccpaNotice { text-align: center !important; } main { padding: 40px 0 0 }.contact .bg-light { padding: 40px 10px; }main h1, main h2, .row3, .row7 li { font-size: 30px; }main h2 span { display: block; color: var(--primary) }main h3, .hero p, .row1 p, .row7 { font-size: 20px; }.hero p { text-wrap: balance }main h4, footer h2 { font-size: 18px; }main ul, main ol { padding-left: 25px; }main li, footer li { margin: 5px 0; }.nolist, footer ul, .row7 ul, .contact ul { list-style: none; padding-left: 0; }.about .grid, .about .flex { padding: 50px 0 40px; }.about .flex h3 span { display: block; margin: 5px 0; }.history .grid h3 { text-align: center }.solutions .grid { grid-gap: 10px; }.solutions .btn { width: 100%; padding: 10px 0; }.contact .grid.mid { grid-template-columns: 300px 1fr; padding: 0 0 50px; }.contact .grid.mid ul { padding: 10px 0 10px 50px; position: relative; }.contact li:first-of-type { position: absolute; top: 10px; left: 5px; }.present-day { width: 100%; height: 400px; object-fit: cover; }.team img { border-radius: 5px; box-shadow: 2px 2px 6px rgba(0, 0, 0,.3); margin-left: 0 }.team .nolist svg { display: inline-block; top: 4px; position: relative; margin-right: 4px }.team .nolist a { font-size: 16px }.solutions { margin-top: 40px }.solutions img { width: 100%; height: 250px; object-fit: cover; border-radius: 5px; }.solutions .half div { padding: 20px; }.solutions a { color: #333; }.solutions a:hover { text-decoration: none; }.bg-light.solutions { padding: 20px clamp(0px, 1vw, 20px); }.corners { border-radius: 3px; }.center { text-align: center; }.doit { background-color: var(--light); padding: 40px 0; margin-top: 60px; }.doit .grid { grid-gap: 10px }.doit .grid div { padding: 10px }:is(.doit,.itsolutions) :is(h2,h3,p) { text-align: center; }.itsolutions { grid-gap: 15px }.itsolutions > div:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 }.itsolutions div { background: #eee; padding: 20px; border-radius: 3px; }.itsolutions h3 { margin: 0; padding: 0; }.itsolutions p { margin-top: 10px; }.itsolutions svg { width: 85px; height: 85px; margin-bottom: 0px; color: var(--primary); }.tailor p { max-width: 660px; margin: 0 auto; font-weight: bold; font-size: 24px; text-shadow: 0 0 5px #333; line-height: 1.8em; color: #fff; vertical-align: middle; }.tailor { padding: 100px 0; margin: 60px 0; display: flex; align-items: center; }.printer-donations { background-image: linear-gradient(90deg, #458ed3 50%, #1e4594 50%); padding: 25px 0; color: #fff; margin-top: 20px; }.printer-donations :is(h2, p) { text-align: center; }.printer-donations h2 span { font-size: 20px; color: #fff; }.printer-donations .wrap { padding: 20px 15px; }.printer-donations .flex { flex-direction: row; flex-flow: row wrap; justify-content: space-evenly; align-content: center; }.printer-donations .flex img { justify-self: center; flex-shrink: 2; width: 250px; }.printer-donations :is(h2 span,p) { text-wrap: balance } .gallery { padding: 10px 0 30px 0; display: flex; flex-wrap: wrap; gap: 10px }.gallery a { flex: 1 0 220px; display: block; height: 200px; }.gallery img { object-fit: cover; object-position: 50% 20%; width: 100%; height: 100% } .ccpaNotice, .a8bmark { display: none; } @media(max-width:900px) { .row1 .grid { grid-template-columns: 1fr; } .row6 p { padding: 0 20px; } .contact .grid.mid { grid-template-columns: 1fr; padding: 0; } .contact :is(h2, ul, li, p) { text-align: center; } .contact li:first-of-type { position: unset; } .contact .grid.mid ul { padding: 10px 0 10px; } .contact iframe { height: 550px; }} @media(max-width:800px) { .imgRight, .imgRight, .imgCenter { float: none; margin: 0 auto; max-width: 100%; }} @media(max-width:767px) { header img { width: clamp(200px, 60vw, 350px) } header .grid, .subfoot .grid { grid-template-columns: 1fr; } header, h2, footer :is(li,p,.social) { text-align: center; } .hero { margin-top: 0; } .subfoot p, header, footer .subfoot .grid > div:last-of-type, .row3 p { text-align: center; } .subfoot img { margin: 0 auto; } footer .grid.fourth, .grid.third { grid-template-columns: 1fr 1fr; }} @media(max-width:700px) { .row2 .grid { grid-template-columns: 1fr; } .row2 img { width: clamp(300px, 85vw,600px); margin: 0 auto; } .row2 h3 { text-align: center; }} @media(max-width:600px) { .grid.half, .grid.fourth, .grid.third { grid-template-columns: 1fr; } .top li:has(.social) { display: block; text-align: center } .top li:has(.btn) { margin: 0 0 4px } .printer-donations { background-image: unset } .printer-donations .grid { grid-gap: 0; } .printer-donations .grid div:first-of-type { background-color: var(--secondary); padding: 10px 0; } .printer-donations .grid div:last-of-type { background-color: var(--primary); padding: 10px 0; } footer :is(h2, ul, li, p), footer .social, .team :is(h3,p) { text-align: center; } .team img { margin: 0 auto } .team h3 { margin-bottom: 10px } .team p { margin: 10px 0 0 } .team ul { display: inline-block; margin: 0 auto 1.5em }} @media(max-width:500px) { footer .grid.fourth { grid-template-columns: 1fr } .row7 h2, .row7 li { font-size: 24px; } .row3 { height: 440px; } .gallery a { flex: 1 0 180px; } nav ul { padding: 0 8px } body .post .postThumbnail { float: none; margin: 0 auto; max-width: 100%; width: auto }}