:root{--main-bg:#fff;--light:#f5f5f5;--light-comp:#3c3c3c;--dark:#3c3c3c;--dark-comp:#fff;--primary:#e72f25;--primary-comp:#fff;--secondary:#bf271f;--secondary-comp:#fff;} *{box-sizing:border-box;scroll-behavior:smooth} body{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;text-align:center;min-width:320px} body,nav a,.subfoot a{color:var(--light-comp,#3c3c3c);} body,header ul,footer ul,.hero h1{padding:0;margin:0;} h1,h2,h3,h4,h5,h6,p,th,td,dd,dt,li,blockquote,address{text-align:left;} h1,h2,h3,h4,h5,h6,.hero strong{line-height:1.4;} img,iframe,video{max-width:100%;height:auto;display:block;margin:0 auto} video:hover{cursor:pointer} iframe{display:block;aspect-ratio:auto 16 / 9;width:100%;margin:0 auto;} .fullwidth{width:100%;} a img,iframe{border:none;} a{transition:ease-in-out .3s;} a,header a:hover,form input[type=submit]:hover,.btn:hover,footer a:hover{text-decoration:none;} a,.top a:hover,nav a:hover,footer a:hover,.simple h2 span{color:var(--primary,#e72f25);} 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,:is(.home,.support-process,.core-values,.cta) h2,:is(.struggle,.solve,.core,.cta) p,.core h3{text-align:center} .wrap{display:block;max-width:1080px;margin:0 auto;position:relative;} .bg-dark,.bg-dark a,.bg-primary,.bg-primary a,.hero,.top a,form input[type=submit],.btn{color:var(--dark-comp,#fff);} .bg-dark{background-color:var(--dark,#3c3c3c);} .bg-primary{background-color:var(--primary,#e72f25);} .bg-light{background-color:var(--light,#f5f5f5);} .mid{align-items:center;align-self:center;} .grid{display:grid;grid-gap:10px 40px;} .grid.half{grid-template-columns:1fr 1fr;} .grid.third{grid-template-columns:1fr 1fr 1fr;} .grid.fourth{grid-template-columns:repeat(4,1fr);} header,.hero{position:relative;} header,footer,footer h3,.hero p,.struggle .grid{font-size:16px;} header .wrap,footer .subfoot .wrap{padding:20px 10px;} header .grid{grid-template-columns:250px 1fr;} header img{max-width:300px} .top,.subfoot{font-size:14px;} .top{line-height:1;background-color:#111;} .top .wrap{padding:15px 10px;text-align:right;} .bgimg{position:relative} .bgimg>img:first-of-type{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0} nav ul{margin:0;padding:0;text-align:right;position:relative;} nav li{list-style:none;display:inline-block;} nav a,footer a,.subfoot a{display:block;} nav a{text-decoration:none;color:#4d4d4d;padding:8px;margin:8px} nav ul ul{position:absolute;text-align:left;padding:10px 0;display:none;background:#eee;border-radius:5px;vertical-align:top;z-index:900;width:320px;} nav ul ul li{display:block;} nav li:hover>ul{display:block;} nav a{border-bottom:1px solid transparent} nav li:hover>a{color:#c21600;border-bottom:1px solid #c21600;} .hero{min-height:450px;height:20vw;max-height:750px} .hero.bgimg>img{object-position:50% 90%} .hero:before{content:"";width:100%;height:100%;background-color:rgba(0,0,0,.1);position:absolute;inset:0;} .hero .wrap{transform:translateY(-50%);top:50%;z-index:2} .hero strong{display:inline-block;font-size:36px;} .hero :is(.homehero,.grid div p,p strong){text-shadow:1px 1px 3px rgba(0,0,0,.7);backdrop-filter:blur(5px);padding:5px 15px;border-radius:15px} .hero .grid{grid-template-columns:450px 1fr;} .hero .grid div:last-of-type p:last-of-type{backdrop-filter:none} .home>div,footer>.wrap,.full>div,main .support-process>div,.comments{padding:40px 10px;} .home h2,.support-process h2,.core-values h2{font-size:30px;} .struggle{background-image:linear-gradient(#fff 57.5%,#3c3c3c 57.5%);} .struggle .grid,.core .grid{grid-gap:0;} .struggle .grid{background-color:#fff;padding:20px;border-radius:15px;border:1px solid #eee} .struggle .grid div{padding:20px;} .struggle .grid div:nth-of-type(-n+3){border-bottom:1px solid #eee;} .struggle .grid div:nth-of-type(3n-1),.core .grid div:nth-of-type(3n-1){border-left:1px solid #eee;border-right:1px solid #eee;} .struggle .grid div:nth-of-type(n+4){padding-top:40px;} .home .solve{padding:10px 10px 60px} .solve p{max-width:1000px;margin:20px auto;} .core .grid div{padding:30px clamp(10px,2vw,30px) 80px;position:relative} .core .grid a.btn{position:absolute;bottom:20px;white-space:nowrap;left:50%;transform:translateX(-50%)} .core h3{margin-top:20px;} .core img,.struggle img{height:65px;width:65px;color:#000;} .ready,.cta form{margin:40px 0;} .comments blockquote{max-width:900px;text-align:center;margin:40px auto;} .comments cite{display:block;font-style:normal;} .comments svg{margin:20px 0;color:#ffff00} .ctafreeconsult{margin:0 0 70px;padding:0 10px;} .ctafreeconsult>a{display:inline-block;padding:10px clamp(20px,3vw,40px);border:2px solid var(--primary,#e72f25);border-radius:15px;box-shadow:0 8px 16px -4px rgba(0,0,0,.5)} .ctafreeconsult :is(h2,p){color:var(--light-comp)} .ctafreeconsult p{text-align:center;font-size:24px;width:100%;max-width:800px;padding:0 10px} .ctafreeconsult h2{text-align:center} .ctafreeconsult a:hover{text-decoration:none;} .ready img{border:1px solid #111;box-shadow:#111 0 0 10px;max-width:250px} form{margin:20px 0;} form .grid{grid-gap:0 10px;} form label{display:block;text-align:left;position:relative} form input[type=text],form input[type=email],form input[type=tel],form input[type=submit],select,form textarea,.btn{font-family:'Montserrat',sans-serif;font-size:16px;} form input[type=text],form input[type=email],form input[type=tel],select,form textarea{margin-bottom:10px;padding:0 10px;border:2px solid #eee;border-radius:5px;} form input[type=text],form input[type=email],form input[type=tel]{height:45px;} form input[type=text],form input[type=email],form input[type=tel],form textarea{width:100%;box-sizing:border-box;} form textarea{height:150px;padding:15px 10px;} form input[type=submit],.btn{display:inline-block;min-width:110px;text-align:center;line-height:1.5;background-color:var(--primary,#e72f25);padding:10px 30px;margin:10px 0;border:none;border-radius:5px;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,#bf271f);} .contact textarea{height:170px;} #form-mtds{display:none} form label[id^=form-]{padding-left:30px} form label[id^=form-] input[type=checkbox]{position:absolute;left:5px;top:5px} form .areas{column-count:2} footer{clear:both} footer .bg-dark{padding:20px 0 50px;} footer .wrap{padding:0 10px;} footer .grid.fourth{grid-template-columns:300px 1fr 1fr 1fr;} footer h3{margin-top:40px;} footer .bg-dark p{padding-right:50px;} .cta{padding:20px 0 50px;} #jumpcontact{margin-top:0;padding-top:0.83em} .subfoot .grid{grid-template-columns:1fr 150px;} .subfoot li{margin:0 5px;} .ccpaNotice{text-align:center !important;background:var(--light,#f5f5f5) !important;} .social{display:flex;grid-gap:10px;justify-content:flex-start;} main{padding:40px 10px 50px;overflow:hidden} .pad{padding-left:10px;padding-right:10px} main h1,.full .services h2{font-size:30px;} main h1{margin-bottom:40px;} main h2,.comments,.full .services h3{font-size:24px;} main h3{font-size:20px;} main h4,.cta{font-size:18px;} main ul,main ol{padding-left:25px;margin:30px 0;} main li,footer li{margin:5px 0;} .nolist,footer ul,.simple ul{list-style:none;padding-left:0;} .full .nolist li,.full .services .wrap div{position:relative;} .full .nolist li{margin:10px 0;left:40px;} .full svg,.full .services img,.full .services .wrap:after,.full .services .wrap div:before,.full .services .wrap div:after{position:absolute;} .full svg{vertical-align:middle;left:-40px;} .full .bg-dark{margin-bottom:20px;} .full .bg-dark li{margin:20px 0;} .full .bg-primary{padding:0 0 40px;overflow:hidden;} .full .bg-primary img{float:left;width:550px;height:550px;border-radius:500px;margin:-275px 15px 5px -275px;shape-outside:ellipse(300px 320px at 0% -10%);} .full .bg-primary h2,.full .bg-primary p{text-align:right;} .full .bg-primary h2{padding:40px 10px 0 0} .full .bg-primary p{padding:0 10px} .full .serv{overflow:hidden;padding:0 10px} .serv .imgbox{height:550px;width:550px;border-radius:500px;border:1px solid #eee;overflow:hidden;z-index:1;background-color:#fff} .serv .imgbox img{object-fit:cover;width:100%;height:100%} .serv .imgbox.contain img{object-fit:contain;padding:0 20px} .serv .imgbox.contain.turing img{object-position:left;padding:50px 45px 0} .serv .imgbox.contain.brivo img{padding:0 50px 0 0} .serv .imgbox.contain.watchguard img{padding:0 20px 20px} .serv .imgbox.alt{width:auto;height:700px;border-radius:15px;padding:0} .serv .imgbox.alt img{padding:50px} .serv h2{font-size:30px} .serv h3{font-size:24px} .serv .grid{align-items:center;padding:30px 0;position:relative;} .serv .grid:before,.serv .grid:after,.serv .wrap:after,.serv .wrap:before{content:"";background-color:#e72f25;position:absolute} .serv .grid:nth-of-type(odd){grid-template-columns:1fr 275px} .serv .grid:nth-of-type(odd):before{width:1px;height:100%;right:100px} .serv .grid:nth-of-type(odd) .imgbox{order:2} .serv .grid:nth-of-type(even){grid-template-columns:275px 1fr} .serv .grid:nth-of-type(even):before{width:1px;height:100%;left:100px} .serv .grid:nth-of-type(even) .imgbox{margin-left:-275px} .serv .grid:after{height:1px;width:100%;background-image:linear-gradient(to right,transparent 100px,#e72f25 100px,#e72f25 calc(100% - 100px),transparent calc(100% - 100px),transparent);bottom:0;background-color:unset} .serv .grid:last-of-type:after{width:50%;background-image:linear-gradient(to right,transparent 100px,#e72f25 100px,#e72f25)} .serv .wrap{padding-bottom:100px} .serv .wrap:after{height:100px;width:1px;left:50%} .support-process{clear:both} .support-process ol{margin:0;position:relative;padding-left:60px;list-style:none;counter-reset:counter} .support-process li{margin:5px 0 20px;position:relative} .support-process li:before{content:counter(counter) ".";counter-increment:counter;font-weight:600;color:#bf271f;font-size:2.8rem;position:absolute;left:-55px;font-family:'Montserrat';font-variant-numeric:tabular-nums;line-height:1} .support-process img{height:100%;object-fit:cover;object-position:30% 50%} .grid.leader,.grid.address{grid-template-columns:300px 1fr} .leader h1 span{display:block;} .grid.address h2{margin-top:1.5em} .grid.address img{height:300px;width:100%;object-fit:cover} .turimg{margin:2em auto 10px} .grid.yt{grid-gap:10px} .ready .wrap .half div:nth-of-type(1){align-content:center} .core-values ol{padding:30px;margin:0;position:relative;padding-left:60px;list-style:none;} .core-values li{margin:5px 0 30px;position:relative} .core-values svg{position:absolute;left:-55px;top:-5px;} .team .grid div img{border-radius:50%;width:200px;margin-top:12px;border:solid 2px rgba(193,61,54,0.80);box-shadow:rgba(0,0,0,0.11) 2px 10px 23px} .team{margin-top:20px;margin-bottom:20px;padding:20px;} .team a :is(h3){color:#3c3c3c} .team a:hover h3{color:#bf271f;} .team a:hover .bg-light{color:#bf271f;box-shadow:rgba(0,0,0,0.60) 0px 19px 38px,rgba(0,0,0,0.60) 0px 15px 12px;transition:0.2s;} .team p{color:#bf271f;text-align:center;font-size:14px;font-weight:bold;} .team h3{text-align:center;} .team .grid .bg-light{border-radius:8px;padding:5px 0 1px;margin:10px 0;box-shadow:rgba(0,0,0,0.3) 0px 19px 38px,rgba(0,0,0,0.22) 0px 15px 12px;} .team hr{border:none;margin-top:1px;height:1px;background:linear-gradient(to right,transparent,#bf271f,transparent);} #policy *{text-align:left} #policy .accordion-section{padding:0 10px} #policy ol{padding-left:40px} .policies{padding:0;margin-top:3em} .policies li{display:inline-block;margin:0} .policies a{margin:5px;padding:5px 10px} @media(max-width:999px){nav ul ul{display:none !important} .core .nowrap{white-space:normal} .core h3 span{display:block} .hero .grid{grid-template-columns:1fr} .hero p{text-align:center}} @media(max-width:767px){body .hero{height:auto;max-height:unset;min-height:unset;padding:80px 0} .hero .wrap{top:unset;transform:none;} .serv .grid{grid-template-columns:1fr !important;grid-gap:50px 0;padding:25px 0} .serv .grid .imgbox{order:unset !important;margin:0 auto !important} .serv :is(h2,h3),.ready :is(h2,p),nav ul,.top ul{text-align:center} .serv .grid:before,.serv .grid:after{display:none} .serv .wrap:before{height:100%;width:1px;left:50%} .serv .grid div{background-color:#fff} .serv .grid:first-of-type{padding-top:50px} .serv .grid p:has(.btn){text-align:center} .grid.third{grid-template-columns:1fr 1fr} .grid.half,header .grid,.subfoot .grid,.grid.leader,.grid.address{grid-template-columns:1fr} form .areas{column-count:1} :is(.struggle,.core) .grid div{border:none !important} .grid.fourth{grid-template-columns:repeat(2,1fr);} :is(.struggle,.core) .grid div:nth-of-type(even){border-left:1px solid #eee !important} :is(.struggle,.core) .grid div:nth-of-type(-n+4){border-bottom:1px solid #eee !important} footer .bg-dark .grid.third>div:first-of-type{grid-column:1/-1} .subfoot li:first-of-type{display:block} .subfoot li,.subfoot ul,.wrap.leader :is(h2,h3,h3+p),.grid.address :is(h2,address){text-align:center} footer .bg-dark p{padding-right:unset}} @media(max-width:600px){.imgRight{float:none;margin:0 auto;max-width:100%} form .grid.half{grid-auto-flow:row !important;} .grid.half,.grid.third,.team .grid{grid-template-columns:1fr} :is(.struggle,.core) .grid div:nth-of-type(even){border-left:none !important} :is(.struggle,.core) .grid div:nth-of-type(-n+5){border-bottom:1px solid #eee !important} .core h3 span{display:inline} footer :is(p,li,h3),.full .bg-primary :is(h2,p){text-align:center} .full .bg-primary img{float:none;margin:-275px auto 0} .serv .imgbox,.full .bg-primary img{width:90vw;height:90vw;margin:-45vw auto 0} .serv .imgbox.contain img{padding:0 !important} .social{justify-content:center;}} @media(max-width:400px){nav a{margin:6px;padding:6px} .hero strong{font-size:32px} main h1,.suppor-process h2{font-size:26px} main h2{font-size:22px} main h4,.cta,body{font-size:16px}} 