﻿/*
font-family: "Raleway";
*/



img {max-width: 100%; border: none;}
.clearDiv {clear: both;}
.setWidth {width: 90%; max-width: 1200px; margin: 0 auto;}
*{box-sizing: border-box;}
iframe {max-width: 100%;}
body * {letter-spacing: normal; line-height: inherit;}
.sc-content-block-quick-insert {display: none !important;}
div.actionMenu ul.dnn_mact > li.actionMenuMove > ul li {height: auto !important;}
.eds_galleryWrapper {padding-top: 0px !important;}
.slider-wrapper > div {background: transparent !important;}
.sc-menu {position: relative; margin: 0 !important; z-index: 1000 !important;}
.slick-dots {margin-left: 0;}
.mark, mark {background: none;}
.menuBtn, .mobileMenuWrapper {display: none;}
.fa-facebook-f:before {content: "\f39e" !important;}
.slick-dots {margin: 0 !important;}




/* ------------------------- header & footer ------------------------- */

.headerWrapper {
	background: #ffffff;
    position: relative;
}
.headerWrapper:before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/header-background.jpg);
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	opacity: 80%;
}
.topWrapper {
    background: #0C71C3;
    text-align: right;
    padding: 9px 0;
	position: relative;
}
.topLink {
    display: inline-block;
    margin-left: 25px;
}
.topLink a {
    color: #fff !important;
    text-decoration: none !important;
    font-size: 88%;
    font-weight: 500;
}
.topLink a i {
    font-size: 72%;
    padding-right: 3px;
    position: relative;
    top: -1px;
}
.topLink.fbLink a i {
    font-size: 110%;
    padding: 0;
    position: relative;
    top: 1px;
}
.topLink a:hover, .topLink a:focus {
	color: #101870 !important;
}
.tableSetWidth {
    display: table;
	position: relative;
}
.logoWrapper {
    display: table-cell;
    vertical-align: bottom;
    width: 250px;
    padding: 14px 0;
}
.menuWrapper {
    display: table-cell;
    vertical-align: bottom;
    text-align: right;
}


.footerWrapper {
    background: #101870;
    padding: 50px 0 35px;
}
.footerColumns {
	display: table;
}
.footerLeftCol {
    display: table-cell;
    vertical-align: top;
    padding-right: 20px;
}
.footerMiddleCol {
    display: table-cell;
    vertical-align: top;
    padding-right: 20px;
    width: 36%;
}
.footerRightCol {
    display: table-cell;
    vertical-align: top;
    text-align: center;
}
.footerLogo {
    max-width: 325px;
}
.footerTitle {
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 130%;
    line-height: 100%;
    word-spacing: 3px;
    margin-bottom: 24px;
	padding-top: 4px;
}
.footerText {
    font-weight: 500;
    color: #fff;
    margin: 0 0 14px;
    font-size: 100%;
    line-height: 120%;
}
.footerText a {
    color: #fff !important;
    text-decoration: none !important;
}
.footerText i {
    font-size: 80%;
    padding-right: 4px;
    width: 18px;
}
.footerText a:hover, .footerText a:focus {
	color: #0C71C3 !important;
}
.footerSocials.footerText i {
    padding: 0;
    font-size: 160%;
}
.footerNoIcon {
	padding-top: 1px;
}
.footerNoIcon i {
	color: transparent;
}
.footerMenu {
    text-align: center;
    margin: 53px 0 0;
}
.copyLoginDiv {
    background: #0C71C3;
    padding: 20px 0;
    text-align: center;
}
.copyLogin {
    color: #fff;
    font-size: 76%;
    letter-spacing: 0.5px;
}
.copyLogin a {
	color: #fff !important;
	text-decoration: none !important;
}
.copyLogin a:hover, .copyLogin a:focus {
	opacity: 50%;
}





/* ----------------------------- generic ----------------------------- */

body {margin: 0; padding: 0; width: 100%; height: 100%; background: #fff; font-family: "Raleway"; font-size: 1em; color: #000;}

p, li, .contentDiv td, .Normal {font-family: "Raleway";font-size: 100%;line-height: 160%;color: #000;}

.contentWrapper {padding-top: 150px; padding-bottom: 150px; position: relative;}

.contentDiv li{padding: 4px 0;}
.contentDiv ul, .contentDiv ol{margin: 0 0 22px 35px;}
.contentDiv ul li ul li {font-size: 0.9em; line-height: 1.25em; list-style-type: circle;}
.contentDiv ul li ul {margin-top: 1px; line-height: 1.2em; margin-bottom: 0;}
.contentDiv li p {line-height: 1.5em;}

strong{font-weight: 700;}
em{font-style: italic;}
strong em, em strong{font-style: italic; font-weight: 700;}

h1 {font-family: 'Raleway'; font-size: 270%; line-height: 104%; font-weight: 700; font-style: normal; color: #101870; margin: 0 0 40px;}
h2 {font-family: 'Raleway'; font-size: 220%; line-height: 104%; font-weight: 700; font-style: normal; color: #0C71C3; margin: 0 0 23px;}
h3 {font-family: 'Raleway'; font-size: 140%; line-height: 104%; font-weight: 700; font-style: normal; color: #101870; margin: 30px 0 19px;}
h4 {font-family: 'Raleway'; font-size: 110%; line-height: 104%; font-weight: 600; font-style: normal; color: #0C71C3; margin: 30px 0 19px;}
h5 {font-family: 'Raleway'; font-size: 105%; line-height: 104%; font-weight: 600; font-style: normal; color: #101870; margin: 30px 0 19px;}
h6 {font-family: 'Raleway'; font-size: 100%; line-height: 104%; font-weight: 600; font-style: normal; color: #0C71C3; margin: 30px 0 19px;}

h1 + h2{margin-top: 35px;}
h1 + h3, h2 + h3{margin-top: 35px;}
h1 + h4, h2 + h4, h3 + h4{margin-top: 25px;}
h1 + h5, h2 + h5, h3 + h5, h4 + h5{margin-top: 25px;}
h1 + h6, h2 + h6, h3 + h6, h4 + h6, h5 + h6{margin-top: 25px;}
p + h2 {margin-top: 60px;}

a:link, a:visited{ text-decoration: underline; color: #0C71C3; }
a:hover, a:active, a:focus{ text-decoration: none; color: #0C71C3; }
a:focus, select:focus, input:focus, textarea:focus, .slick-arrow:focus, .slick-dots li:focus, .slick-dots button:focus {outline: thin dotted #000 !important;}
a {transition: all 0.3s ease; letter-spacing: inherit;}
a.dnnPrimaryAction, a.dnnSecondaryAction {text-decoration: none;border: none;box-shadow: none;text-shadow: none;transition: all 0.3s ease;font-size: 90%;padding: 8px 10px;line-height: 100%;}
a.dnnPrimaryAction {color: #fff;background: #2D70B9;}
a.dnnSecondaryAction {color: #000;background: #E6E6E6;}
a.dnnPrimaryAction:hover, a.dnnPrimaryAction:focus {border: none;background: #0d3f75;}
a.dnnSecondaryAction:hover, a.dnnSecondaryAction:focus {color: #000;background: #BDBDBD !important;}
.dnnLoginActions a.dnnSecondaryAction {font-size: 80%;font-weight: 400;background: #F5F5F5;}
.dnnCheckbox {margin-right: 0;}
.dnnBoxLabel {font-size: 80%;color: #616161;}
.dnnLabel {font-size: 95%;color: #000;}
.dnnLoginService input {font-family: inherit !important;font-size: 90% !important;letter-spacing: 0.6px;color: #000 !important;box-shadow: none !important;padding: 7px 10px !important;}

span {letter-spacing: inherit;}
small{font-size:0.8em;}
big{font-size:1.2em;}
blockquote, pre{font-family:Lucida Console, monospace;}
ul li{list-style-type:square;}
ul li li{list-style-type:disc;}
ul li li li{list-style-type:circle;}
ol li{list-style-type:decimal;}
ol ol li{list-style-type:lower-alpha;}
ol ol ol li{list-style-type:lower-roman;}
ol ul li{list-style-type:disc;}

hr{color: #0C71C3; background-color: #0C71C3; border: none; height: 1px; text-align: left; margin: 25px 0; opacity: 100%;}

.skiptocontent a {background: #101870;font-family: 'Raleway';padding: 6px 8px;position: absolute;z-index: 1025;top: -50px;left: 0;color: #fff;font-size: 95%;line-height: 150%;transition: top 1s ease-out, background 1s linear;}
.skiptocontent a:focus {top: 0;text-decoration: none;outline: 0;transition: top .1s ease-in, background .5s linear;}
.skipLink {position: absolute; top: 50px;}



/* ------------------------- specific styling ------------------------- */

.mainBtn {margin-top: 50px; margin-bottom: 14px;}
.mainBtn a {background: #101870;color: #fff;text-decoration: none;text-transform: uppercase;font-weight: 800;font-size: 86%;padding: 15px 20px;letter-spacing: 0.7px;}
.mainBtn a:hover, .mainBtn a:focus {background: #0C71C3;}

.DNNEmptyPane {padding: 0 !important;}
.blueWrapper {background: #0C71C3;}
.blueDiv {padding: 40px 0;}
.grayWrapper {background: #F7F7F7;}
.grayDiv {padding: 70px 0;}
.whiteDiv {padding: 140px 0;}

.grayDiv p:last-child {margin-bottom: 0;}





/* ------------------------------ modules ------------------------------ */




/* action form */

.form-label {
    font-size: 100%;
    line-height: 100%;
    font-weight: 600;
    color: #101870;
    margin: 0 0 5px 0 !important;
}
.form-control {
    font-family: inherit;
    font-size: 95%;
    line-height: 140%;
    padding: 7px 13px;
    color: #000;
    border: 1px solid #d9d9d9;
    border-radius: 0;
}
textarea.form-control {
    padding: 13px 13px;
}
.form-group {
    margin-bottom: 38px !important;
}
.btn {
    background: #101870;
    color: #fff !important;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 86%;
    padding: 12px 20px;
    letter-spacing: 0.7px;
    border: none;
    border-radius: 0;
    font-family: inherit;
    transition: all 0.3s ease;
}
.btn:hover, .btn:focus {
    background: #0C71C3;
}
.alert-info {
    background-color: #E9F2FA;
    color: #000;
    border: none;
    border-radius: 0;
    padding: 50px 30px;
    margin: 0;
}
.submit-confirm h2 {
    color: #101870;
}
.submit-confirm p {
    margin: 0;
}

/* END action form */







/* icon + info */

.iconInfoWrap {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 50px;
    row-gap: 50px;
}
.iconInfoItem {
    flex: 0 0 calc(33.3% - 34px);
    display: flex;
    flex-direction: column;
}
.iconInfoIcon {
    color: #101870;
    font-size: 200%;
    margin: 0 0 30px 0;
}
.iconInfoTitle {
    font-size: 150%;
    text-transform: uppercase;
    margin: 0 0 15px;
}
.iconInfoText p {
    font-weight: 500;
}
.iconInfoText a {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    transition: all 0.15s ease;
}
.iconInfoText a:hover, .iconInfoText a:focus {
    color: #101870;
    transform: scale(105%);
    
}

/* END icon + info */







/* gallery */

.galWrap {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 20px;
    row-gap: 20px;
}
.galItem {
    flex: 0 0 calc(20% - 17px);
    display: flex;
    flex-direction: column;
}
.galPopup {
    text-align: center;
}
.galPopDiv {
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}
.galImgOverlay {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: rgb(255 255 255 / 53%);
    transition: all .3s;
}
.galImgOverlay:before {
    content: "\f055";
    font-weight: 900;
    font-family: 'Font Awesome 6 Free';
    position: absolute;
    top: 55%;
    left: 50%;
    margin: -13px 0 0 -17px;
    font-size: 190%;
    color: #0C71C3;
    transition: all 0.3s ease;
}
.galPopDiv:hover .galImgOverlay, .galPopDiv:focus .galImgOverlay {
    z-index: 3;
    opacity: 1;
}
.galPopDiv:hover .galImgOverlay:before, .galPopDiv:focus .galImgOverlay:before {
    top: 50%;
}
.fancybox-skin {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.fancybox-inner {
    overflow: hidden !important;
}
.fancybox-overlay {
    background: rgb(0 0 0 / 70%) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.fancybox-nav {
    height: auto !important;
    top: 50% !important;
    transform: translateY(-50%);
    width: unset !important;
    font-size: 180%;
    color: #ffffff !important;
    padding: 10px !important;
    background: none !important;
    opacity: 100%;
}
.fancybox-prev {
    left: -25px !important;
}
.fancybox-next {
    right: -25px !important;
}
.fancybox-nav:hover, .fancybox-nav:focus {
    opacity: 35%;
}
.fancybox-close {
    background: none !important;
    width: unset !important;
    height: unset !important;
    padding: 10px;
    font-size: 170%;
    right: -25px !important;
    top: -40px !important;
    color: #ffffff !important;
    opacity: 100%;
}
.fancybox-close:hover, .fancybox-close:focus {
    opacity: 35%;
}

/* END gallery */






/* services */

.servicesItem {
    display: table;
    width: 100%;
    padding: 150px 0;
}
.servicesItem:nth-child(even) {
    background: #F7F7F7;
    box-shadow: -530px 0 0 0 #F7F7F7, 530px 0 0 0 #F7F7F7;
}
.servicesImg {
    display: table-cell;
    vertical-align: top;
    width: 430px;
}
.servicesContent {
    display: table-cell;
    vertical-align: top;
}
.servicesImgLeft .servicesContent {
    padding-left: 7%;
}
.servicesImgRight .servicesContent {
    padding-right: 7%;
}
.servicesImg img {
    box-shadow: 8px 8px 0px 0px #0C71C3;
}
.servicesTitle {
    font-size: 240%;
}
.servicesText ul {
    column-count: 2;
    column-gap: 35px;
    margin-top: -9px;
    margin-left: 19px;
}
.servicesText ul li {
    padding: 1px 0;
    font-size: 95%;
}
.servicesText ul:last-child, .servicesText p:last-child {
    margin-bottom: 0;
}

/* END services */





/* image + text */

.imgTxtFull {
	text-align: center;
}
.imgTxtTitle {
    color: #101870;
	margin: 0;
}
.imgTxtSubtitle {
    color: #0C71C3;
    margin: 25px 0 0;
    font-weight: 500;
    line-height: 120%;
}
.imgTxtSide {
    margin-top: 60px;
}
.imgTxtImg {
    display: table-cell;
    vertical-align: top;
    width: 400px;
    padding-top: 4px;
}
.imgTxtText {
    display: table-cell;
    vertical-align: top;
    text-align: left;
    padding-left: 100px;
}
.imgTxtImg img {
    box-shadow: 5px 5px 0px 0px #0C71C3;
}
.imgTxtText p:last-child {
	margin-bottom: 0;
}

/* END image + text */







/* icon + link */

.iconLinkWrap {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 50px;
    row-gap: 90px;
}
.iconLinkItem {
    flex: 0 0 calc(33.3% - 34px);
    display: flex;
    flex-direction: column;
}
.iconLinkTitle {
    color: #000;
    margin: 25px 0 14px;
}
.iconLinkText {
    font-size: 87%;
    font-weight: 500;
    margin-bottom: 33px;
}
.iconLinkBtn {
    margin-top: auto;
	margin-bottom: 10px;
}
.iconLinkBtn.mainBtn a {
	font-size: 76%;
    padding: 12px 17px;
}

/* END icon + link */






/* call to action */

.ctaBlueItem {
    text-align: center;
	padding: 9px 0 0;
}
.ctaBlueTitle h2, .ctaBlueTitle h3, .ctaBlueTitle p {
    color: #fff;
    font-size: 180%;
    line-height: 104%;
    margin: 0;
    font-weight: 500;
}
.ctaBlueTitle a {
    color: inherit;
    text-decoration: none;
    font-weight: 800;
}
.ctaBlueTitle a:hover, .ctaBlueTitle a:focus {
	color: #101870;
}
.ctaBlueItem .mainBtn a:hover, .ctaBlueItem .mainBtn a:focus {
	background: #fff;
	color: #101870;
}

/* END call to action */







/* hero */

.homeHeroItem {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
    height: 600px;
    position: relative;
    text-align: center;
}
.homeHeroItem .setWidth {
	position: relative;
    height: inherit;
}
.homeHeroBlue {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -64px;
    background: #101870;
    padding: 44px 15px;
    border-radius: 10px;
}
.homeHeroTitle {
    color: #fff;
    margin: 0;
}
.intHeroItem {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    text-align: right;
}
.intHeroTitle {
    color: #fff;
    margin: 0;
    padding: 100px 0;
    text-transform: uppercase;
    word-spacing: 8px;
}

/* END hero */










/* ----------------------------- responsive ----------------------------- */

@media all and (max-width: 1200px) {
    .galItem {flex: 0 0 calc(25% - 16px);}
}

@media all and (max-width: 900px) {
    body {font-size: 92%;}
    .logoWrapper {width: 210px;}
    #dnn_pnav > li {margin: 0 0 0 20px !important;}
    .imgTxtText {padding-left: 50px;}
    .imgTxtImg {width: 350px;}
    .servicesImg { width: 340px;}
    .servicesImgRight .servicesContent {padding-right: 5%;}
    .servicesImgLeft .servicesContent {padding-left: 6%;}
    .galItem {flex: 0 0 calc(33.33% - 15px);}
}

@media all and (max-width: 765px) {
	.menuWrapper {vertical-align: middle;}
    .menu { display: none; padding: 20px 0 11px 0;}
    .menuBtn {cursor: pointer;display: inline;font-weight: 700;font-size: 108%;text-transform: uppercase;color: #101870;transition: all 0.3s ease;letter-spacing: 1px !important;}    
    .menuBtn:hover, .menuBtn:focus {color: #0C71C3;}
    .menuBtn i {padding-left: 4px;padding-right: 2px; font-size: 90%;}
    .closeBtn {cursor: pointer; text-align: right; font-size: 108%; color: #fff; font-weight: 500; background: #0C71C3; padding: 7px 5%; letter-spacing: 1px !important;transition: all 0.3s ease;}
    .closeBtn i {font-size: 100%; padding-left: 2px;}
	.closeBtn:hover, .closeBtn:focus {background: #00569b; }
	body {font-size: 88%;}
    .homeHeroItem {height: 500px;}
    .iconLinkWrap {column-gap: 37px;}
    .iconLinkItem {flex: 0 0 calc(50% - 21px);}
    .imgTxtImg {display: block;width: 100%;}
    .imgTxtText {display: block;width: 100%;padding: 65px 0 0;text-align: center;}
    .servicesImg {display: none;}
    .servicesContent {padding: 0 !important;}
    .servicesItem:nth-child(even) {box-shadow: -280px 0 0 0 #F7F7F7, 280px 0 0 0 #F7F7F7;}
    .servicesItem {padding: 100px 0;}
}

@media all and (max-width: 600px) {
	.ModDNNHTMLC td { display: block; width: 100%;}
    .footerLeftCol, .footerMiddleCol, .footerRightCol {display: block;width: 100%;text-align: center;padding: 27px 0;}
    .footerLogo {margin: 0 auto;}
    #footerNav > li { margin: 0 10px !important;}
    .galItem {flex: 0 0 calc(50% - 11px);}
    .fancybox-prev {left: 0 !important;text-shadow: rgb(0 0 0) 0px 0 8px;}
    .fancybox-next {right: 0 !important;text-shadow: rgb(0 0 0) 0px 0 8px;} 
    .iconInfoItem {flex: 0 0 100%;}
    .iconInfoWrap {row-gap: 60px;}
}

@media all and (max-width: 500px) {
    .iconLinkItem {flex: 0 0 100%;}
    .topLink {margin-left: 0;}
    .topLink a {font-size: 85%;}
    .addressLink {margin-left: 8px;}
    .fbLink {display: block;padding: 3px 0 0;}
    .phoneLink i, .addressLink i {display: none;}
    .logoWrapper {width: 162px;}
    .homeHeroBlue {padding: 29px 11px;}
    .homeHeroTitle {font-size: 240%;}
    .homeHeroItem {height: 400px;}
    #footerNav > li {margin: 0 1px !important;}
    #footerNav > li:first-child {margin-left: 0 !important;}
    #footerNav > li:last-child {margin-right: 0 !important;}
    .copyLoginDiv {padding: 13px 0;}
    .intHeroTitle {padding: 70px 0;}
    .blueDiv {padding: 30px 0;}
    .ctaBlueTitle h2, .ctaBlueTitle h3, .ctaBlueTitle p {font-size: 140%;}
    .ctaBlueItem .mainBtn {margin-top: 43px;}
    .galItem {flex: 0 0 calc(50% - 6px);}
    .galWrap {column-gap: 9px;row-gap: 9px;}
}
