:root{
	--lightBlue:#0076BD;
}

*{
    box-sizing:border-box; 
     -moz-box-sizing:border-box; 
     -webkit-box-sizing:border-box; 
     -ms-box-sizing:border-box;
}

body{
    margin:0;
    font-size:62.5%;
    font-family: 'Roboto', sans-serif;
}

a, a *{
    text-decoration: none;
    -webkit-transition: all 0.25s ease-in;
    transition: all 0.25s ease-in;
}
.srOnly {
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}
#content a{color:#4E3883;}
#content a:hover{color:#616BD8;}

li, blockquote, form, .btn, .step .num span, table{
    font-weight: 400;
}
h2{font-size: 4em; font-weight: 700; color: #18428F;}
h2+p{margin-top:10px;}
h3{color:#18428F;}
p, li, td,th{
    font-size: 1.85em;
    color: #393939;
}

header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top:15px;
}

.headerLeft{
    padding:15px 3%;
    display: flex;
    flex:1;
    justify-content: space-between;
    border-right: 5px solid #FFF;
}

.handle{display:none;}

#navContainer{
	display:flex;
    align-items: center;
    justify-content: flex-end;
    font-weight: 300;
}

.tel{display: block; flex-basis: 15%; text-align: center;}
.tel a{font-size: 2.5em;color:#C9252C;}
.tel a[href^="tel:"]{font-size: 1.95em;}
.tel a i{margin-right:5px;}

nav.mainNav{width:100%;position:relative;}
nav.mainNav  ul{
    display: flex;
    gap:50px;
    justify-content: space-between;
    padding-left: 0;
    list-style-type: none;
}

nav.mainNav  ul li{font-size: 1em;}

nav.mainNav  ul li > a, nav.mainNav  ul li > span{
    font-size: 1.45em;
    color:#0A2034;
    font-weight: 600;
    text-transform: uppercase;
}
nav.mainNav  ul li > span{cursor: pointer;}
nav.mainNav ul li:hover > a, nav.mainNav  ul li:hover > span{color:#0076BD;}
nav.mainNav ul li.active > a, nav.mainNav  ul li.active > span{border-bottom: 2px solid #0A2034;}

nav.mainNav ul li.hasSub .subWrap{display: none;}
nav.mainNav ul li .subWrap{position: absolute;z-index:999;}
nav.mainNav ul li .subWrap .sub{margin-top:12px;padding:25px;background-color:#0A2034;text-align: left;width: auto;display: flex;}
nav.mainNav ul li .subWrap .sub .subGroup{margin-right: 40px;}
nav.mainNav ul li .subWrap .sub .subGroup:last-of-type{margin-right: 0;}
nav.mainNav ul li .subWrap .sub .subGroup span{display: block; color:#FFF;;font-size: 1.65em;padding-bottom: 10px;font-weight: bold;}
nav.mainNav ul li .subWrap .sub .subGroup ul{display: flex;flex-direction:column;gap:25px;width: auto;}
nav.mainNav ul li .subWrap .sub .subGroup ul li{text-align: left;padding-left: 0;}
nav.mainNav ul li .subWrap .sub .subGroup ul li a{font-size: 1.65em; color:#FFF;text-transform: capitalize;}
nav.mainNav ul li .subWrap .sub .subGroup ul li:hover a{color:var(--lightBlue);}

#logo img{width:170px;}

.heroWrap{position: relative;overflow: hidden;margin-top:15px;border-top:4px solid #C9252C;border-bottom:4px solid #C9252C;}
.heroText{
	z-index: 1;
    position: absolute;
    left: 0;
    bottom: 0;
	margin-left: 3%;
 }
.heroText h2{margin: 0; color:#FFF;font-size: 6vw; font-weight: 700; text-transform: uppercase;line-height: 100%;text-shadow:2px 4px 3px rgba(0,0,0,0.3);}
.heroText p{color: #FFF;font-size: 3em;text-shadow:2px 4px 3px rgba(0,0,0,0.3);}
.vidWrap{overflow: hidden;padding-bottom: 45%;}
#homeVid{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100vw;
    top:0;
    left: 0;
    overflow: hidden;
 }

.heroImg{position: absolute;top:0;z-index: -1;}
.heroImg img{width: 100vw;margin-top: -150px;}
.heroImg::before{position: absolute;top:0;bottom: 0;right: 0;left: 0; background-color:rgba(0,0,0,.45);content: "";z-index: 1;}

.btnHero{display: inline-block;border:2px solid #FFF;padding: 15px 40px;color:#FFF;font-size: 2em;margin-top: 15px;}

.homeHeaderWrap{margin:40px 0 40px 3%;}
.homeHeaderWrap .homeHeader{display: flex;justify-content: space-between;align-items: center;}
.homeHeaderWrap .homeHeader div h2{text-transform:uppercase;color:#C9252C;font-weight: 900;font-size: 10em;margin: 0}
.homeHeaderWrap .homeHeader img{height:300px;width: auto;}
.homeHeaderWrap p{color:#0772BA;margin-top: 0;margin-bottom: 0;font-size: 5em; font-weight: 700;}

.homeServicesWrap{display: flex;height:1000px}
.homeServicesWrap .serviceColumn{flex-basis: 33.333%; display: flex;flex-direction: column;}
.homeServicesWrap .serviceColumn:nth-child(2){margin:0 5px;}
.homeServicesWrap .serviceColumn .serviceImg{height:100%;width: auto;background-size: cover; background-repeat: no-repeat;background-position:center;}
.homeServicesWrap .serviceColumn .serviceText{background-color: #0772BA;padding:40px 25px;}
.homeServicesWrap .serviceColumn .serviceText h2{color:#FFF;margin: 0;font-size:3.25em;}
.homeServicesWrap .serviceColumn .serviceText h2:nth-child(n+2){margin-top:35px;}
.homeServicesWrap .serviceColumn .serviceText p{color:#FFF;}
.homeServicesWrap .serviceColumn .margTop{margin-top:5px;}
.homeServicesWrap .serviceColumn .margBtm{margin-bottom:5px;}

.btn:not(p.btn), .serviceText p a{
    display:inline-block;
    padding: 15px 45px;
    border:3px solid #C9252C;
    color: #393939;
    margin-top:10px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
    font-size: 1.8em;
    box-sizing: border-box;
}
p.btn{display:inline-block;margin-top:10px;}
p.btn a{    
	display:inline-block;
    padding: 15px 45px;
    border:3px solid #C9252C;
    color: #393939;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
    font-size: 1.25em;
    box-sizing: border-box;
}

.btn:hover, p.btn a:hover{background-color:#C9252C;color:#FFF;}

.btn:first-of-type{margin-right: 10px;}
.btn i{font-size: 1.45em; margin-right: 3px;vertical-align:bottom;}

.serviceText p a{font-size:inherit;}
.btn.white, .serviceText p a{border-color: #FFF !important;color:#FFF !important;}
.btn:hover.white, .serviceText p a:hover{background-color: #FFF !important;color:#18428F !important;}

.internalHeader{display: flex;justify-content: space-between;align-items: center;margin-top:40px;overflow:hidden;}
.internalHeader .pageTitle{padding-left: 3%;}
.internalHeader .pageTitle h1{text-transform:uppercase;color:#C9252C;font-weight: 900;font-size: 10em;margin: 0;}
.internalHeader .pageTitle h2{margin-top: 0;margin-bottom: 0;font-size: 5em; font-weight: 700;}
.internalHeader img{height:300px;width: auto;}

.subNav{background-color:#0772BA;margin-top:5px;padding:20px 3%;margin-top:15px;}
.subNav nav ul{list-style-type: none;display: flex;padding-left: 0;}
.subNav nav ul li{margin-right: 25px;}
.subNav nav ul li:last-of-type{margin-right: 0;}
.subNav nav ul li a{color:#FFF;font-size: 1.10em;}
.subNav nav ul li a:hover{border-bottom: 3px solid #FFF;}
.subNav nav ul li.current a{border-bottom: 3px solid #FFF;font-weight:bold;}

.testimonials{margin: 120px 5%;}
.testimonials .testimonial{padding:0 2%;text-align: center;}
.testimonials .testimonial span{display: block;text-align: center;}
.testimonials .testimonial span img{width:70px;margin:0 auto;}
.testimonials .testimonial .quote{color:#606060;}
.testimonials .testimonial .name{color:0772BA;margin-bottom: 0;font-size: 1.45em;}
.testimonials .testimonial .type{color:#606060;text-transform: uppercase;font-size: 1.2em;margin-top: 5px;}

.content{margin:100px 3%;}
.content h2{margin-bottom: 0;}
.contentFlex{display:flex;align-items: center;}
.contentFlex div:nth-child(1){margin-right: 80px;}
.contentFlex .flexTxt{flex-basis: 60%;}
.contentFlex .flexImg{flex:1;}
.contentFlex .flexImg img{max-width:100%;height:auto;}

.serviceWrap{display: flex;justify-content: space-between; margin-top:5px;min-height: 500px;}
.serviceWrap .serviceImg{flex:1; background-size: cover;}
.serviceWrap .serviceText{flex-basis: 45%;background-color: #0772BA;padding:40px;display: flex;flex-direction: column;justify-content: center;}
.serviceWrap .serviceText h3{margin:0;color:#FFF;font-size: 3em;font-weight: 700;}
.serviceWrap .serviceText h4{margin:0;color:#FFF;font-size: 2.35em;font-weight: 700;}
.serviceWrap .serviceText p{color:#FFF;margin-top:5px;}

.serviceWrap.odd .serviceImg{margin-right: 5px;}
.serviceWrap.even .serviceImg{order:1;margin-left: 5px;}

.internalContact{margin:120px 0;display: flex;justify-content: space-between;}
.internalContact .contactText h2{margin-top:0;margin-bottom:10px;}
.internalContact .contactText{flex:1;display: flex;flex-direction: column; align-items: center;text-align:center;padding:0 3%;}

.location{display: flex;margin:80px 0;}
.location .locationText{background-color:#0772BA;display: flex;flex-direction: column;justify-content: center;flex-basis: 45%;align-items: flex-start;padding: 20px 3%;}
.location .locationText h2{color:#FFF;margin-bottom: 0;}
.location .locationText p{color:#FFF;}
.location .locationMap{flex:1;}
.location .locationMap iframe{width:100%;}

.textImage{padding:80px 3%;display: flex;justify-content: center;align-items: center;}
.textImage div:first-of-type{margin-right:80px;}
.textImage .image img{border-radius: 20px; max-width:100%;}
.textImage .text{flex:1;}
.textImage .text h2 ~ h2{margin-top:70px;}
.textImage .text h2:first-of-type{margin-top: 0;}
.textImage .text h2, .textImage .text h3{margin-bottom: 0;}
.textImage .text h3 {color: #18428F;font-size: 3.25em;font-weight: 700;}
.textLeft{margin:80px 6%;}
.textLeft:has(+.showHide), .textLeft:has(+.form){margin:80px 6% 40px 6%;}

.twoColumn{display:flex;gap:80px;margin:80px 3%;}
.twoColumn div{flex-basis:50%;}

.centerText{margin:80px 15%;text-align:center;}
.centerText h2{margin-bottom:0;}

.ctas{display:flex;padding:80px 3%;gap:40px;}
.ctas .cta{flex-basis:calc(100% * (1/3) - 40px);background-color:#0076BD;border-radius:20px;padding:40px;flex-grow:3;text-align:center;}
.ctas .cta i{color: #FFF;font-size: 3.45em;}
.ctas .cta h2{font-size:3em;color:#FFF;margin-bottom:10px;margin-top:10px;}
.ctas .cta p{color:#FFF;}
.ctas .cta a.btn{font-size: 1.75em;border-color:#FFF;color:#FFF;}
.ctas .cta a.btn:hover{background-color:#FFF;color:#0A2034;}

.staff{margin:40px 3%;}
.staff .staffWrap{display: flex;justify-content: space-between;flex-wrap: wrap;}
.staff .staffWrap .staffMember{flex-basis: 20%;margin-right: 20px;margin-bottom: 20px;}
.staff .staffWrap .staffMember a .staffName{font-weight: bold;margin-bottom: 0;}
.staff .staffWrap .staffMember a .staffTitle{margin-top:5px;}
.staff .staffWrap .staffMember a:hover img{opacity: .5;}
.staff .staffWrap .staffMember a:hover .staffName{color:#009BDF;}
.staff .staffWrap .staffMember a:hover .staffTitle{color:#009BDF;}

table{margin:80px 4%;border:3px solid #18428F;border-radius: 10px; border-spacing: 0; overflow: hidden; }
table tr:nth-child(1){background-color: #748EBC;}
table tr:nth-child(1) th{color:#FFF;}
table tr:nth-child(2n+3){background-color:#FEE6B9;}
table tr td, table tr th{padding:15px;}

.form{margin-bottom:40px;}
.form label{font-size: 1.95em;padding-bottom: 10px;}
.form input[type="text"], .form input[type="email"]{border:2px solid #18428F;font-size:1.65em;padding:10px 20px;width:80%;}
.form textarea{border:2px solid #18428F;font-size:1.65em;padding:10px 20px;width:80%;font-family: inherit;}
.form select{border:2px solid #18428F;color:#FFF;font-size:1.65em;padding:10px 20px;width:80%;}
.form .btn{cursor: pointer;background-color:#FFF;color:#18428F;}
.form .btn:hover{background-color:#C9252C;color:#FFF;}
.thankyou{color:#FFF;background-color:#0972B9;padding:30px;}

.preFooter{display: flex;background-color: #009BDF;margin-top: 40px; margin-bottom: 5px;}
.preFooterText{flex-basis: 40%; padding:40px 3%;}
.preFooterText h2{margin:0;color:#FFF;font-size: 5em;font-weight: 700;}
.preFooter .preFooterImg{flex:1;display: flex;justify-content: space-between;align-items: center;padding-right: 3%;}
.preFooter .preFooterImg:last-of-type{padding-right:0;}
.preFooter .preFooterImg a{flex-basis: 25%;text-align: center;padding: 0 5px;}
.preFooter .preFooterImg a:hover{opacity: .5;}

footer{
    background-color:#0772BA;
    padding: 75px 3% 40px;
    margin-top:40px;
    border-top:2px solid #C9252C;
}

footer .fEnd{margin-top:55px;}
footer a{color:#444444;}
footer a:hover{opacity: .7;}

footer .fEnd p{font-size: 1.5em;color:#FFF;text-align:center;}
footer .fEnd p a{color:#FFF;}

footer .footerWrap{display: flex;justify-content: space-between;gap:80px;color:#FFF;}
footer .footerWrap h3{color:#FFF;font-size:2.5em;}
footer .footerWrap p{color:#FFF;}
footer .footerWrap a{color:#FFF;}
footer .footerLogo{display:flex;align-items:center;}
footer .footerLogo img{width:240px;}
footer .footerSocial .socialLinks{display:flex;gap:15px;}
footer .footerSocial a{font-size:3em;}
footer .footerLinks ul{padding-left:0;list-style-type:none;}
footer .footerLinks ul li{padding-bottom:5px;}
footer .footerLocations p{margin-top:0;}
footer .locWrap{display:flex;gap:20px;}

@media only screen and (min-width: 1770px) {
.heroText h2{font-size:6.5em;}
}

@media (min-width:1053px){
    nav.mainNav button {display: none;}
    [hidden]{display: block;} 
}

@media only screen and (max-width: 1320px) {  
	footer .footerWrap{gap:40px;}
}

@media only screen and (max-width: 1274px) {  
	footer .fWrap{flex-direction: column;text-align: center;}
    footer .fWrap .family{margin-right:0;}
	footer .fWrap .family .familyImg{padding-right: 0;}
    footer .fWrap .fLinks{margin-top: 40px;}
    footer .fWrap #fRight{text-align: center;}
}
@media only screen and (max-width: 1187px) { 
  footer .footerWrap{flex-direction:column;align-items: center;text-align:center;}
  footer .footerWrap .loc{text-align:left;}
}

@media only screen and (max-width: 1052px) {
 [hidden]{display: none !important;}
 .mainNavWrap{height: 100vh;margin-top:40px;}
 nav.mainNav button{
        background-color: transparent;
        border: 0;
        color:#0A2034;
        font-size: 3em;
        cursor: pointer;
    }
    nav.mainNav button span{
        position:absolute;
        left:-10000px;
        top:auto;
        width:1px;
        height:1px;
        overflow:hidden;
    }
    nav.mainNav{margin: 20px 0;order: -1;}
    nav.mainNav.desktop{
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        background-color: #0A2034;
        margin:0;
        z-index: 999;
        text-align: center;
    }
    nav.mainNav.desktop i.fa-bars{display: none;}
    nav.mainNav i.fa-times{display: none;}
    nav.mainNav.desktop i.fa-times{display: block;margin-top: 40px;color:#FFF;}
    nav.mainNav ul{flex-direction: column;justify-content: flex-start;}
    nav.mainNav ul li{margin:10px 0;width:100%;text-align: center;padding: 0;}
    nav.mainNav ul li a{padding: 0;}
    nav.mainNav ul li .subWrap{width: 100%;position:relative;}
    nav.mainNav ul li .subWrap .sub{flex-direction: column;text-align:center;padding:40px 20px;background-color: #0076BD;width: 100%;} 
    nav.mainNav ul li .subWrap .sub .subGroup ul{padding: 0;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li{text-align: center;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li a{color:#FFF;}
    nav.mainNav ul li .subWrap .sub .subGroup ul li a:after{display: none;}
    nav.mainNav ul li > a, nav.mainNav ul li > span{color:#FFF;}
    nav.mainNav ul li > a:hover, nav.mainNav ul li > span:hover{color:var(--lightBlue);}
    nav.mainNav ul li .subWrap .sub .subGroup ul li:hover a{color:#0A2034;}
    .heroText div:before{width:80%;}
    .heroText div{width: 55%;}
    .contentFlex{flex-direction: column;}
    .contentFlex .flexTxt{flex-basis: 100%;}
    .contentFlex div:nth-child(1){margin-right: 0;}
}

@media only screen and (max-width: 939px) {
    .slick-dots{padding-top: 40px !important;display: block;position: relative !important;}
    .tel{flex-basis: 25%;}
    .preFooter{flex-direction: column;}
    .preFooterText h2{font-size: 4em;text-align: center;} 
    .preFooter .preFooterImg{flex-wrap: wrap;justify-content: center}
    .preFooter .preFooterImg a{margin-bottom: 10px;}
    .serviceWrap{flex-direction: column; min-height: auto;}
    .serviceWrap .serviceImg{min-height: 500px;margin-bottom: 5px;background-position:center;}
    .serviceWrap.even .serviceImg{order:-1;margin-left: 0;}
    .serviceWrap.odd .serviceImg{margin-right: 0;}
}

@media only screen and (max-width: 859px) {
    .contentFlex{flex-direction: column;text-align: center;}
    
    .internalHeader .pageTitle h1{font-size: 12vw;}
    .internalHeader .pageTitle h2{font-size: 4em;}
    .internalHeader img{height:200px;}
    
    .subNav nav ul{flex-direction: column;align-items: center;}
    .subNav nav ul li{margin-right: 0; padding: 10px 0;}
    
    .homeServicesWrap{flex-direction: column;height: auto;}
    .homeServicesWrap .serviceColumn{flex-basis:100%;}
    .homeServicesWrap .serviceColumn:nth-child(2){margin:0;}
    .homeServicesWrap .serviceColumn .serviceImg{height:400px;order:-1;}
    .homeServicesWrap .serviceColumn .margTop{margin-top:0;}
    .homeServicesWrap .serviceColumn .margBtm{margin-bottom:0;}
    .homeServicesWrap .serviceColumn .serviceText{margin-bottom: 5px;}
    
    .homeHeaderWrap .homeHeader{flex-direction: column;}
    .homeHeaderWrap .homeHeader div h2{font-size: 7.5em;;}
    .homeHeaderWrap .homeHeader .homeHeaderImg{order: -1;}
    .homeHeaderWrap .homeHeader .homeHeaderImg img{max-width: 100%;}
    .homeHeaderWrap p{font-size: 4em;}
    
    .ctas{flex-direction:column;}
    .twoColumn{flex-direction: column;}
    .textImage, .imageText{flex-direction: column;}
    .textImage div:first-of-type{margin-right: 0;margin-bottom: 20px;}
    .textImage .image, .imageText img{flex-basis: 100%;}
    .textImage.switchImage .image{order:2;}

    .staff{text-align: center;}
    .staff .staffWrap{flex-direction: column;align-items: center;
    text-align: center;}
    .staff .staffWrap .staffMember{margin-bottom: 20px; margin-right: 0;}
    
	footer .fWrap .family .familyImg{flex-wrap:wrap;justify-content: center;}
    footer .fWrap .fLinks{flex-direction: column;}
    footer .fWrap .family .familyImg a{flex-basis: 35%;}
    footer .locWrap{flex-direction:column;}
    footer .footerWrap .loc{text-align:center;}
}


@media only screen and (max-width: 600px) {
    header{flex-direction: column;align-items: stretch;}
    .headerLeft{border-right: 0;border-bottom: 5px solid #FFF;}
    .tel{flex-basis: 100%;padding: 20px;}
    #homeVid{width:auto;}
    .vidWrap{height:100vh;max-height:600px;}
    .heroText div:before{width:100%;left:0;transform: skewX(none);transform: skewy(-3deg);height: 55%;top: 20%;}
    .heroText{padding-right: 5%;}
    .heroText h2{font-size:9vw;}
    .heroText div{text-align: center;width: 100%;}
    .content{margin:0 3%;}
    .internalContact .contactImg img{margin-left: 0;}
    .internalContact{flex-direction: column;align-items: center;}
    .internalContact .contactText{text-align: center;margin: 0;}
    .internalHeader{flex-direction:column;align-items:flex-start;}
    .location{flex-direction: column;}
    .location .locationText{align-items: center}
    .contentFlex, .content{text-align: center;}
    .contentFlex div:nth-child(1){margin: 0 0 30px;}
    .contentFlex img, .content img{max-width: 100%;}
}
