 body{font-family:'Libre Franklin',Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;text-align:center;} body,footer h2,footer h3,footer a,.blogs h2 a,.latest h3 a,.solutions h3,.solutions a,.cta h3{color:#3c3c3c;} body,header ul,nav ul{padding:0;margin:0;} h1,h2,h3,h4,h5,h6,p,th,td,dd,dt,li,blockquote{text-align:left;} h1,h2,h3,h4,h5,h6{color:#0e77b8;line-height:1.4;} img,iframe,svg{max-width:100%;height:auto;display:block;margin:0 auto} iframe{aspect-ratio:auto 16 / 9;width:100%;margin:1em auto;display:block} .fullwidth{width:100%;} a img,iframe{border:none;} a:hover,.solutions h3,.partners img{transition:ease-in-out .3s;} a,nav a:hover,footer a:hover,form input[type=submit]:hover,.btn:hover,.blogs h2 a:hover,.latest h3 a:hover,.solutions a:hover{text-decoration:none;} a,footer a:hover,.blogs h2 a:hover,.latest h3 a:hover,.solutions a:hover h3{color:#448bdc;} 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} .hide{display:none !important;} .center,.hero p,.counter h2,.counter p,.comments p,.design h2{text-align:center;} .wrap{display:block;max-width:1080px;margin:0 auto;position:relative;} .flex{display:flex;flex-wrap:wrap;} .flex>*{flex:1;} .mid{align-items:center;align-self:center;} .grid,.content,.blogs .posts{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.fifth{grid-template-columns:repeat(5,1fr);} .grid.sixth{grid-template-columns:repeat(6,1fr);} footer{font-size:16px;clear:both} .pad{padding-left:10px;padding-right:10px} .bgimg{position:relative} .bgimg>img:first-of-type{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0} header{background:rgb(231,231,231);background:linear-gradient(180deg,rgba(231,231,231,1) 0%,rgba(255,255,255,1) 100%);} header .wrap,footer .wrap{padding:20px 10px;} header .grid{grid-template-columns:250px 1fr;grid-gap:0} header .grid>a,footer .grid>p,.social{text-align:left;} header .grid>div,footer .grid>a{text-align:right;} header li{vertical-align:middle} header a{display:block;margin:3px;padding:3px} header p,.counter h2{font-size:36px;} header li,nav li,.social li,.design li{display:inline-block;} .social li{margin:0 4px;} header img{max-width:250px;} header svg{vertical-align:middle;} nav{background-color:#0e77b8;position:relative;z-index:1} nav:after,nav:before{content:"";position:absolute;background-color:#0e77b8;width:50px;height:100px;background-color:transparent;z-index:-1} nav:before{border-top-left-radius:500px;box-shadow:0 -45px 0 0 #0e77b8;bottom:-100px;left:0;} nav:after{border-bottom-right-radius:500px;box-shadow:0 45px 0 0 #0e77b8;top:-100px;right:0;} nav a,.hero p,.comments,.cta h2,.cta .wrap>.grid>div:first-of-type,.design h2,.design,.contact h2{color:#fff;} nav a{padding:10px 0 5px;margin:0 15px;display:block;border-width:5px;border-style:none none solid;border-color:transparent} nav a:hover{border-color:#F5DA0E;color:#Fff;} .hero,.blogs .post,.solutions .grid>a,.design,.help{position:relative;} .hero,.comments,.design,.contact{background-size:cover;background-position:center;} .hero{width:100%;height:350px;z-index:0} .hero:before,.comments:before,.design:before{content:"";width:100%;height:100%;background-color:rgba(0,0,0,.6);position:absolute;top:0;left:0;z-index:111;} .hero>.wrap{top:50%;transform:translateY(-50%);padding:10px;z-index:888;} .hero p,.design h2{font-size:36px;font-weight:600;} .hero strong{display:block;} .counter .grid,.solutions .grid,.jails{grid-gap:10px;} .counter .grid{padding:20px 0;} .counter .grid>div,.solutions .grid>a,.solutions img{border:1px solid #eee;} .counter .grid>div,.solutions .grid>a{border-radius:20px;} .counter .grid>div{padding-top:10px;} .counter h2,.latest h2,.solutions h2{color:#0e77b8;} .counter h2{margin:10px 0 0;} .counter p{margin-top:0;} .latest{background-color:#f5f5f5;padding:30px 10px 40px;margin-top:50px;} .latest .posttags,.latest .postcats,.latest p:nth-of-type(1){display:none} .latest h3{grid-area:h} .latest .postThumbnail{grid-area:img;height:300px;position:relative} .latest .postThumbnail img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%} .latest .postThumbnail img[src$=logo1\.png]{object-fit:contain} .latest p:nth-of-type(2){grid-area:p;margin-top:0} .latest p:nth-of-type(3){grid-area:btn;margin-top:0} .latest .post{display:grid;grid-template-areas:"img" "h" "p" "btn";grid-template-rows:auto} .blogs img{border-radius:10px;} .solutions{padding:40px 10px;} .solutions .grid{grid-template-columns:1fr 1fr 1fr} .solutions h3{padding-top:10px;text-align:center} .solutions p{text-align:center} .solutions .grid>a{padding:40px 20px 20px;margin-top:100px;} .solutions img{background-color:#fff;padding:20px;position:absolute;top:-80px;left:50%;transform:translateX(-50%);border-radius:28%;} .comments{margin:40px 0;padding:100px 20px ;position:relative} .comments>img{object-position:top} .comments .wrap{z-index:222;position:relative} .comments:before{background-color:rgba(84,84,84,.9);} .comments strong{display:block;} .partners ul{margin:0;padding:0} .partners li{display:inline-block;margin:0} .partners a{display:block;margin:20px} .partners img{vertical-align:middle;width:auto;max-height:50px;filter:grayscale(100%);opacity:.6;} .partners a:hover img{filter:grayscale(0);opacity:1;} .cta,.design,.form{background-color:#0e77b8;} .cta,.design{padding:40px 10px;margin-top:40px;} .cta .grid{grid-gap:10px 20px;grid-template-columns:1fr 300px;} .cta p{max-width:450px} .cta h2,.cta p{padding-right:20px;} .cta h3{margin:10px 0 0;} .cta ul{background-color:#fff;padding:10px 30px;border-radius:20px;} .cta .grid.half.mid li a{display:inline-block;margin-top:20px;} .recentprojects .wrap{border:3px solid #eee;padding:40px 40px 20px;position:relative;} .recentprojects .wrap>h2:first-of-type{position:absolute;top:-40px;left:50px;background:#fff;padding:0 20px;} .recentprojects .flex{margin:0 -15px} .recentprojects .flex>*{flex:1 0 200px;margin:15px;} .recentprojects h2{text-align:center;} .recentprojects p i{font-size:14px;color:#3c3c3c} .recentprojects img{border-radius:20px;height:225px;width:100%;object-fit:cover;object-position:50% 25%} form{margin:20px 0;} form .grid{grid-gap:0 10px;} form label,form input[type=text],form input[type=email],form input[type=tel],form select,form textarea,form input[type=password]{line-height:1.25;border:1px solid #eee;} form label{display:block;font-size:16px;text-align:left;padding:10px;margin-bottom:10px;} 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:'Libre Franklin',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:#fff;margin-bottom:10px;padding:10px;} form input[type=text],form input[type=email],form input[type=tel],form textarea,form input[type=password]{box-sizing:border-box;width:100%} form select{width:100%;color:#999;} form input[type=file]{margin-left:10px;border-radius:5px;} 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:#0e77b8;color:#fff;padding:10px 40px;margin:10px 0;border:2px solid white;border-radius:50px;transition:ease-out .3s;min-width:160px} .btn:hover{cursor:pointer;background:#F5DA0E;color:#000;border:2px solid #0e77b8} form input[type=submit]{min-width:250px;margin-top:3%;} form input[type=submit]:hover{background-color:#fff;color:#3c3c3c;} .help .btn:hover{background:#F5DA0E;} .help .btn{cursor:pointer;background:#0e77b8;color:#fff;box-shadow:0 0 10px rgba(0,0,0,.2);position:fixed;bottom:0;right:10px;z-index:999;border:1px solid #fff} .contact input[type=submit]{background-color:#0e77b8;} #survey{text-align:left;margin-top:40px;} #survey input[type=radio]{vertical-align:middle;} /* #survey .dtable>div>div:first-child{width:50%;} #survey .dtable>div{padding-bottom:10px;line-height:2;} .dtable{display:table;width:100%;margin-top:20px;} .dtable>div{display:table-row;} .dtable>div>div{display:table-cell;padding:4px;text-align:center} .dtable>div>div:first-of-type{text-align:left} */ .dtable span.mobile{display:none;} .dtable span.mobile{font-size:1.5em;} .dtable span.mobile.larger{font-size:2em;} .dtable>div{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;align-items:center;grid-gap:5px 10px;margin:5px 0} .dtable{display:grid;grid-gap:5px;grid-template-columns:1fr} .dtable>div>div{text-align:center} .dtable>div>div:first-of-type{text-align:left;} .dtable h4{color:#3c3c3c ;font-weight:normal;margin:0;font-size:16px} .dtable .survcontact{grid-template-columns:3fr 1.5fr 1.5fr} .dtable .survcontact div{text-align:left} footer,.subfoot{border-top:1px solid #eee;} .subfoot .grid{grid-template-columns:1fr 150px} footer >.wrap> .grid{grid-template-columns:2fr 1fr 1fr} footer .social a{display:block;margin:3px;padding:3px} .ccpaNotice{text-align:center !important;} main>.wrap{padding:40px 10px;overflow:hidden} main h1,.latest h2,.solutions h2,.cta h2,.fs30{font-size:30px;} main h2,.latest h3,.solutions h3,.comments{font-size:24px;} main h3,.cta h3{font-size:20px;} main h4,.hero .btn,.projects .btn{font-size:18px;} main ul,main ol{padding-left:25px;} main li,footer li{margin:5px 0;} .nolist,footer ul{list-style:none;padding-left:0;} .design{margin:60px 0 50px;} .design:before{background-color:unset;background-image:linear-gradient(to right,#0e77b8,#0e77b8,rgba(14,119,184,.5));} .design .wrap{z-index:888;} .design .grid{grid-template-columns:250px 1fr;} .design h2{text-transform:uppercase;padding:20px 40px;border:1px solid #fff;} .design ul{text-align:left;padding:0;display:grid;grid-gap:10px;grid-template-columns:1fr 1fr 1fr} .team{margin-bottom:50px;} .contact{background-image:url(/images/bg-map.png);padding-bottom:200px;} .form{padding:40px max(4vw,10px);margin:40px 0;border-radius:20px;} .mt40{margin-top:40px;} .grid.spotlight{grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:5px} .spotlight img{object-fit:cover;width:100%;height:250px;object-position:50% 75%} .grid.industries{grid-gap:0 10px} .industries,.jails{margin:50px 0;} .grid.cavecity{grid-template-columns:1fr 1fr;grid-gap:10px} @media(max-width:999px){.grid.sixth{grid-template-columns:1fr 1fr 1fr} .grid.spotlight{grid-template-columns:1fr 1fr;} .solutions h3 span{display:block} .help .btn{bottom:30px} .subfoot .grid{padding-bottom:40px} .recentprojects .wrap{margin-left:10px;margin-right:10px}} @media(max-width:767px){.solutions .grid,.grid.fourth,.grid.third{grid-template-columns:1fr 1fr;} .cta,.design{padding:20px 10px;margin-top:20px} .cta .grid,footer>.wrap>.grid,.design .grid{grid-template-columns:1fr} footer .grid>div:first-of-type{grid-column:unset} .cta p,.cta li,.cta h2,.cta h3,footer h3,footer li,footer .social,footer h2,footer p{text-align:center} .cta p{padding-left:20px;max-width:unset} .cta h2,.cta{margin-top:0} .cta .address{display:inline-block} .cta ul{padding:20px 40px} .footnav{text-align:left;display:flex;flex-wrap:wrap} .footnav li{flex:1 0 0;white-space:nowrap;margin:0} .footnav a{text-align:center;display:block;margin:6px;padding:4px 16px;border:1px solid #08456b;border-radius:20px;background-color:rgba(245,218,14,.5);font-weight:bold;color:#08456b} #survey .dtable .desktop{display:none} #survey .dtable .mobile{display:block}} @media(max-width:700px){} @media(max-width:600px){.grid.half,.grid.third,.blogs .posts,.solutions .grid,header .grid{grid-template-columns:1fr} .design ul{grid-template-columns:1fr 1fr} header .grid>div{text-align:center} .recentprojects .wrap{border:none;padding:0 10px;margin:0} .recentprojects .wrap>h2:first-of-type{position:relative;top:unset;left:unset;background:unset;padding:0} .latest .post:last-of-type{border-top:1px solid #ccc;padding-top:30px}} @media(max-width:500px){.subfoot .grid{grid-template-columns:1fr} .subfoot p,footer .grid p,nav a{text-align:center} .solutions h3 span{display:inline} nav ul{display:flex;flex-wrap:wrap} nav li{flex:1 0 100px} .grid.sixth{grid-template-columns:1fr 1fr}} @media(max-width:400px){.grid.spotlight{grid-template-columns:1fr}} 