﻿/*
font-family: "forma-djr-text";
*/

body * {letter-spacing: normal; line-height: inherit;}
* {box-sizing: border-box;}
img {max-width: 100%; border: none;}
iframe {max-width: 100%;}
.menuBtn {display: none !important;}
.mobileMenuWrapper, .mobileMap {display: none;}
.clearDiv {clear: both;}
.setWidth {width: 90%; max-width: 1200px; margin: 0 auto;}
.youtubeEmbed {position: relative;padding-bottom: 56.25%;height: 0;width: 100%}
.youtubeEmbed iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.clearBtn {background: none;color: inherit;border: none;padding: 0;font: inherit;cursor: pointer;outline: inherit;transition: all 0.3s ease;}
.sr-only {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);border: 0;}
.bgImg {background-repeat: no-repeat;background-size: cover;background-position: center;position: relative;}
.listToolbar {padding-bottom: 50px;}
.listToolbar + .listToolbar {margin-top: -37px;}
.listToolbar span {padding: 0 7px 0 0;font-size: 110%;letter-spacing: 0.3px;font-weight: 700;}
.listToolbar .sc-menu {display: inline !important;}
.listShared {font-size: 94%;letter-spacing: 0.2px;padding: 0 0 8px;color: #bf0000;}
.adminWarning {font-size: 100%;color: #bf0000;letter-spacing: 0.2px;padding: 20px 0 20px;}
.adminUnpublished {color: #ff7800;background: #fff5ee;display: inline-block;max-width: fit-content;padding: 8px 14px 8px;border-radius: 7px;border: 1px solid #ffb879;margin: 10px 1px 10px;font-size: 110%;font-weight: 500;letter-spacing: 0.5px;}
.white {color: #fff;}
.sc-content-block-quick-insert {display: none !important;}
.sc-menu {position: relative; margin: 0 0 7px !important; z-index: 1000 !important;display: block !important;}
body .sc-menu a {margin-right: 1px !important;}
.sc-menu + h2 {margin-top: 0;}
.fa-facebook-f:before {content: "\f39e" !important;}
.slick-dots {margin: 0 !important;}
.slick-slide {backface-visibility: hidden;} 
.DNNEmptyPane {padding: 0 !important;}






/* ----------------------------- generic ----------------------------- */

body {font-family: "forma-djr-text"; color: #000831; background: #fff; font-size: 1em; margin: 0; padding: 0; width: 100%; height: 100%; }

p, li, td, .Normal {font-family: "forma-djr-text";font-size: 105%;line-height: 150%;color: #000831;font-weight: 400;letter-spacing: 0.3px;}
p {margin-bottom: 12px;}

.contentWrapper {padding-top: 150px; padding-bottom: 150px; position: relative;}

strong {font-weight: 800; letter-spacing: inherit;}
em {font-style: italic; letter-spacing: inherit;}
strong em, em strong {font-style: italic; font-weight: 800;}

h1 {font-family: 'forma-djr-text';font-size: 290%;line-height: 100%;font-weight: 500;font-style: normal;color: #000c45;margin: 0 0 40px;}
h2 {font-family: 'forma-djr-text';font-size: 210%;line-height: 100%;font-weight: 500;font-style: normal;color: #28398b;margin: 0 0 25px;}
h3 {font-family: 'forma-djr-text';font-size: 149%;line-height: 100%;font-weight: 500;font-style: normal;color: #000c45;margin: 0 0 21px;}
h4 {font-family: 'forma-djr-text';font-size: 127%;line-height: 100%;font-weight: 400;font-style: normal;color: #28398b;margin: 0 0 21px;}
h5 {font-family: 'forma-djr-text';font-size: 113%;line-height: 100%;font-weight: 500;font-style: normal;color: #000c45;margin: 0 0 21px;}
h6 {font-family: 'forma-djr-text';font-size: 107%;line-height: 100%;font-weight: 500;font-style: normal;color: #28398b;margin: 0 0 21px;}

h1 + h2 {margin-top: 45px;}
h1 + h3, h2 + h3 {margin-top: 45px;}
h1 + h4, h2 + h4, h3 + h4 {margin-top: 35px;}
h1 + h5, h2 + h5, h3 + h5, h4 + h5 {margin-top: 35px;}
h1 + h6, h2 + h6, h3 + h6, h4 + h6, h5 + h6 {margin-top: 35px;}
p + h2, ul + h2, ol + h2 {margin-top: 60px;}
p + h3, ul + h3, ol + h3 {margin-top: 45px;}

a:link, a:visited { text-decoration: underline; color: #5a6dcb; }
a:hover, a:active, a:focus { text-decoration: none; color: #5a6dcb; }
a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible {outline: 4px solid #ffc100 !important;}
a {transition: all 0.3s ease; letter-spacing: inherit;}

hr {color: #dfdfdf; background-color: #dfdfdf; border: none; height: 1px; text-align: left; margin: 52px 0; opacity: 100%;}

.skiptocontent a {background: #28398b; 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;}

li {padding: 4px 0;}
li:first-child {padding-top: 2px;}
ul, ol {margin: 0 0 22px 30px;}
ul li ul {margin-top: 1px; line-height: 1.2em; margin-bottom: 0;}
ul li ul li {font-size: 90%; line-height: 125%;}
li p {line-height: 1.5em;}
sub, sup {font-size: 75%;}

span {letter-spacing: inherit;}
small {font-size:80%;}
ul li {list-style-type:disc;}
ul li li {list-style-type:circle;}
ul li li li {list-style-type:square;}
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;}

.containerWidthHalf {width: 46%; margin-right: 8%; display: inline-block; vertical-align: top;}
.containerWidthHalf + .containerWidthHalf {margin-right: 0;}
.containerWidthOneThird {width: 25%; margin-right: 7%; display: inline-block; vertical-align: top;}
.containerWidthTwoThird {width: 68%; margin-right: 0; display: inline-block; vertical-align: top;}
.containerWidthTwoThird + .containerWidthOneThird {margin-left: 7%;margin-right: 0;}
.containerWidthOneThird + .containerWidthTwoThird {margin-right: 0;}

.LoginPanel {width: auto !important;float: none !important;display: flex !important;padding: 0 !important;max-width: 100% !important;justify-content: start;}
.LoginPanel > div {min-width: 300px;   max-width: 500px;}
.LoginPanel .dnnForm .dnnFormItem {display: flex;flex-direction: column;flex-wrap: wrap;margin-bottom: 15px;}
.LoginPanel .dnnFormItem > .dnnLabel {margin-top: 0;}
.LoginPanel .dnnFormItem > .dnnLabel label {display: block;padding: 6px 0 5px;}
.LoginPanel .dnnLabel {display: block;float: none;position: relative;width: auto;padding-right: 0;margin-right: 0;overflow: visible;text-align: left;}
.dnnCheckbox .mark {background: none !important;}
.dnnActions li:first-child {padding-top: 4px;}
.dnnLoginRememberMe {font-size: 15px;}
.LoginPanel .dnnLoginService input[type="text"], .LoginPanel .dnnLoginService input[type="password"] {width: 100% !important;min-width: 100%;margin: 0;padding: 10px;box-shadow: none;font-family: inherit;font-size: 95%;color: #000;font-weight: 300;border-radius: 6px;border-color: #d5d5d5;}
.LoginPanel .dnnFormItem:last-child span.dnnFormLabel {display: none;}
.LoginPanel ul.dnnActions {margin: 0 !important;padding: 0 !important;}
.dnnPrimaryAction, .dnnFormItem input[type="submit"], a.dnnPrimaryAction {background: #5d71d1;color: #ffffff;border: none;border-radius: 5px;text-shadow: none;box-shadow:none !important;font-weight: 400;font-size: 15px;padding: 12px 20px;text-decoration: none;}
.dnnPrimaryAction:hover, .dnnFormItem input[type="submit"]:hover, a.dnnPrimaryAction:hover {background: #000c45;color: #ffffff;opacity: 72%;text-decoration: none !important;}
.dnnSecondaryAction, .dnnFormItem input[type="submit"], a.dnnSecondaryAction {background: #e1e1e1;color: #000;border-radius: 5px;text-shadow: none;font-weight: 400;box-shadow:none !important;font-size: 15px;line-height: 100%;padding: 13px 20px;border: none;text-decoration: none;}
.dnnSecondaryAction:hover, .dnnFormItem input[type="submit"]:hover, a.dnnSecondaryAction:hover {background: #e1e1e1;color: #000;opacity: 65%;text-decoration: none !important;}
.dnnActions .dnnSecondaryAction {border: 1px solid #dddddd;padding-top: 10px;padding-bottom: 10px;background: transparent;font-size: 13px;font-weight: 200;}






/* ------------------------- header & footer ------------------------- */


.headerWrapper {
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.topWrapper {
    background: #28398b;
    padding: 6px 0 6px;
}
.topWrapper .setWidth {
	display: flex;
    justify-content: right;
	align-items: center;
}
.topWrapper a {
    color: #fff;
    text-decoration: none;
}
.topWrapper a:hover {
    color: #a5a7aa;
}
.headerWrapper > .setWidth {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
	align-items: center;
}
.logoWrapper img {
    max-width: 190px;
}
#dnn_dnnSearch_txtSearch {
    font-family: 'forma-djr-text';
    font-size: 100%;
    border: none;
    background: #fff;
    border-radius: 3px;
    padding: 2px 12px;
    margin-right: 4px;
    letter-spacing: 0.6px;
    width: 220px;
}
#dnn_dnnSearch_cmdSearch {
	color: #ffffff;
    font-size: 120%;
    position: relative;
    top: 1px;
}
#dnn_dnnSearch_cmdSearch:hover, #dnn_dnnSearch_cmdSearch:focus {
	color: #a5a7aa;
}
#dnn_dnnSearch_txtSearch:focus-visible {
	outline: 3px solid rgb(122 139 153 / 48%) !important;
}
.socialWrapper {
    padding: 0 30px;
}
.socialWrapper a {
    font-size: 110%;
    margin: 0 3px;
    position: relative;
    top: 1px;
}
a.topLink {
    font-weight: 200;
    letter-spacing: 1px;
    font-size: 107%;
    line-height: 100%;
}



.footerWrapper {
    position: relative;
    overflow: hidden;
    background: #000c45;
}
.footerLogoBg {
    position: absolute;
    right: -23px;
    bottom: 30px;
    opacity: 28%;
    max-width: 470px;
}
.footerWrapper > .setWidth {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 90px;
    padding: 60px 0 55px;
    z-index: 10;
    position: relative;
}
.footerLeftCol img {
	max-width: 220px;
}
.footerLeftCol, .footerMiddleCol, .footerRightCol {
    flex: 0 0 auto;
    width: auto;
    display: flex;
    flex-direction: column;
	z-index: 10;
}
.footerPhone {
	color: #fff;
    text-align: center;
    padding: 26px 0 0;
    font-weight: 100;
    letter-spacing: 1px;
    font-size: 110%;
}
.footerHeader {
    color: #fff;
    font-size: 140%;
    letter-spacing: 0.4px;
    margin: 0 0 10px;
}
.footerMiddleCol span {
    color: #fff;
    font-weight: 100;
    letter-spacing: 1px;
    font-size: 92%;
    line-height: 100%;
    padding: 5px 0;
}
.footerMiddleCol span i {
    color: #ffffff8c;
    font-size: 90%;
    padding-right: 6px;
}
.footerSocials a {
    font-size: 120%;
    color: #fff;
    text-decoration: none;
    border: 1px solid #ffffff6e;
    border-radius: 50%;
    display: inline-block;
    padding-top: 7px;
    width: 35px;
    height: 35px;
    text-align: center;
    margin-right: 8px;
}
.footerSocials a:hover {
    background: #fff;
    color: #000c45;
}
.copyLoginDiv {
    background: #000;
    padding: 10px 0 12px;
    position: relative;
    color: #ffffffba;
    font-weight: 200;
	font-size: 92%;
}
.copyLoginDiv > .setWidth {
	display: flex;
    justify-content: space-between;
}
.copyLoginDiv a {
    letter-spacing: 1px;
    color: inherit;
    text-decoration: none;
}
.copyLoginDiv a:hover {
	text-decoration: underline;
	color: #fff;
}
.copyLoginDiv span {
    letter-spacing: 1px;
}
.spacer {
    padding: 0 11px;
}


/* ------------------------- specific styling ------------------------- */

.logoBg {position: absolute;right: -23px;opacity: 9%;z-index: -10;max-width: 660px;top: 50%;transform: translateY(-50%);}

.mainBtn {display: inline-block;margin-right: 3px;}
.mainBtn a {text-decoration: none;color: #28398b;background: #fff;border: 1px solid #28398b;padding: 4px 14px 6px 12px;font-size: 117%;display: inline-block;letter-spacing: 0.7px;font-weight: 300;}
.mainBtn a i {color: #a5a7aa;font-size: 100%;padding-left: 6px;position: relative;top: 1px;}
.mainBtn a:hover {background: #28398b;color: #fff;}

.iconLink a i {position: relative;transition: all 0.3s ease;left: 0;}
.iconLink a:hover i {left: 3px;}

.textItem .mainBtn {padding: 30px 0 0;margin: 0;}
.textText p:last-child {margin-bottom: 0;}
.DnnModule-398 {text-align: center;}
.DnnModule-398 p {font-size: 125%;}
.DnnModule-398 .textItem {max-width: 620px;margin: 0 auto;}

.DNNEmptyPane {padding: 0 !important; }
.grayWrapper {background: #e7ecf1;}
.grayDiv {padding: 100px 0 100px;}

.mapWrapper {background-image: url(images/map.png);padding: 190px 0;background-position: left center;}
.mapWrapper .textTitle, .mapWrapper .textText * {color: #fff; }
.mapWrapper .textText p {font-weight: 300;}

.marginWrapper {padding: 130px 0;}

/* ------------------------------ modules ------------------------------ */




/* home hero */

.homeHeroWrapper {
    background-color: #28398b;
    background-image: linear-gradient(0deg, transparent 9%, rgba(255, 255, 255, .2) 10%, rgba(255, 255, 255, .2) 12%, transparent 13%, transparent 29%, rgba(255, 255, 255, .1) 30%, rgba(255, 255, 255, .1) 31%, transparent 32%, transparent 49%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 51%, transparent 52%, transparent 69%, rgba(255, 255, 255, .1) 70%, rgba(255, 255, 255, .1) 71%, transparent 72%, transparent 89%, rgba(255, 255, 255, .1) 90%, rgba(255, 255, 255, .1) 91%, transparent 92%, transparent), linear-gradient(90deg, transparent 9%, rgba(255, 255, 255, .2) 10%, rgba(255, 255, 255, .2) 12%, transparent 13%, transparent 29%, rgba(255, 255, 255, .1) 30%, rgba(255, 255, 255, .1) 31%, transparent 32%, transparent 49%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 51%, transparent 52%, transparent 69%, rgba(255, 255, 255, .1) 70%, rgba(255, 255, 255, .1) 71%, transparent 72%, transparent 89%, rgba(255, 255, 255, .1) 90%, rgba(255, 255, 255, .1) 91%, transparent 92%, transparent);
    background-size: 50px 50px;
    padding: 50px 0;
}
.homeHeroWrapper .setWidth {
    display: flex;
    gap: 50px;
    align-items: center;
}
.homeheroTitle {
    color: #fff;
    font-size: 610%;
    text-transform: uppercase;
    font-weight: 600;
}
.homeheroSubtitle {
    color: #fff;
    font-weight: 300;
    font-size: 260%;
    line-height: 117%;
    margin: 0;
}
.projhomeItem {
    display: block;
    position: relative;
}
.projhomeFeatured {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.projCaption {
    position: absolute;
    bottom: 7px;
    left: 10px;
    right: 10px;
    transition: all 0.5s ease;
}
.projhomeName {
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 100%);
    display: block;
    letter-spacing: 0.6px;
    line-height: 110%;
    font-size: 100%;
}
.projhomeLoc {
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 100%);
    display: block;
    letter-spacing: 0.6px;
    line-height: 110%;
    font-size: 88%;
    font-weight: 300;
    padding-top: 4px;
}
.projhomeLoc i {
    font-size: 80%;
    position: relative;
    top: -1px;
}
a.projhomeItem {
    position: relative;
    display: block;
    overflow: hidden;
}
a.projhomeItem::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 65%);
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 1;
}
a.projhomeItem .projHoverText {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 160%;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 1px;
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 2;
    white-space: nowrap;
}
a.projhomeItem:hover::before {
    opacity: 1;
}
a.projhomeItem:hover .projHoverText {
    opacity: 1;
}
a.projhomeItem:hover .projCaption  {
    opacity: 0%;
}

/* END home hero */



/* timeline */

.timeWrap {
    position: relative;
}
.timeWrap::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 43px;
    width: 4px;
    background-color: #cbd5e1;
    border-radius: 2px;
    z-index: 1;
}
.timeItem {
    padding: 74px 40px 28px;
    border-radius: 25px;
    box-shadow: rgba(100, 100, 111, 40%) 0px 3px 29px 0px;
    margin-bottom: 40px;
    position: relative;
    display: flex;
    align-items: start;
    gap: 40px;
    align-items: center;
    z-index: 2;
    background: #fff;
}
.timeYear {
    display: block;
    --f: .5em;
    --r: .8em;
    position: absolute;
    top: 20px;
    left: calc(-1 * var(--f));
    padding-inline: .25em;
    line-height: 110%;
    background: #000c45;
    color: #fff;
    border-bottom: var(--f) solid #0005;
    border-right: var(--r) solid #0000;
    clip-path: polygon(0 0, 0 calc(100% - var(--f)), var(--f) 100%, var(--f) calc(100% - var(--f)), 100% calc(100% - var(--f)), calc(100% - var(--r)) calc(50% - var(--f) / 2), 100% 0);
    padding: 5px 34px;
    font-size: 140%;
    letter-spacing: 1px;
}
.timeTitle {
    font-size: 170%;
    margin: 0 0 14px;
}
.timeText {
    margin: 0;
}
.timeImg {
    min-width: 320px;
}
.timeImg img {
    border-radius: 12px;
    margin: 4px 0;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

/* END timeline */





/* forms */

.LiveForm ul.page-break-section, .LiveForm .thank-you {
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 130%;
    background: none !important;
    align-content: normal;
}
.LiveForm .Field input, .LiveForm .Field select, .LiveForm .Field textarea {
    border: 1px solid #cecece !important;
    border-radius: 0 !important;
    padding: 10px 15px !important;
    font-size: 99% !important;
    font-family: "forma-djr-text" !important;
    color: #003534 !important;
    line-height: 120%;
}
.LiveForm .Field input:focus-visible, .LiveForm .Field select:focus-visible, .LiveForm .Field textarea:focus-visible {
    outline: 2px solid #a5a7aa !important;
}
.LiveForm .Field label {
    color: #28398b;
    margin: 15px 0 9px 1px !important;
    font-size: 110% !important;
    line-height: 120% !important;
    font-weight: 500 !important;
}
.LiveForm.Default .Field.Heading h3.Header {
    font-size: 175%;
    font-weight: 500;
    color: #000c45 !important;
    margin: 80px 0 5px;
    padding: 0 0 20px;
    border-color: #dbdbdb;
}
.LiveForm.Default .Field.Heading h2.Header {
    font-family: "forma-djr-text" ;
    font-size: 160%;
    color: #003534 !important;
    border-top: 1px solid #003534;
    border-bottom: none;
    padding: 15px 0 0 0;
    margin: 60px 0 11px;
    font-weight: normal;
}
.LiveForm.Default .Field.Heading .SubHeader {
    font-style: normal !important;
    font-size: 105%;
    line-height: 130%;
    padding-top: 4px;
    padding-bottom: 8px;
}
.LiveForm.Default .Field.Checkbox .Field-Container-Wide label, .LiveForm.Default .Field.Radiobutton .Field-Container-Wide label {
    font-family: "forma-djr-text" !important;
    color: #000831 !important;
    font-size: 89% !important;
    margin: 4px 10px 1px 0px !important;
    font-weight: 400 !important;
}
.noLabel > label {
    display: none !important;
}
.LiveForm.Default ul.page-break-section .Field p {
    color: #000831 !important;
}
.LiveForm .Field label.Field-SubLabel-Container {
    margin: 3px 4px 12px !important;
    font-family: "forma-djr-text" !important;
    font-size: 86% !important;
    font-weight: 600;
}
.Field-Container-Wide tbody tr:last-child .Field-SubLabel-Container {
    margin-bottom: 7px !important;
}
.LiveForm.Default ul.page-break-section .Field {
    padding: 10px 7px !important;
}
.LiveForm.Default .Field.Address table tr td {
    padding-right: 13px !important;
}
.LiveForm.Default label.error {
    font-size: 80% !important;
    font-weight: 600 !important;
    padding: 0 0 0 4px;
    text-transform: none;
}
.LiveForm .Field textarea {
    padding-top: 13px !important;
    padding-bottom: 14px !important;
}
.LiveForm .Field input::placeholder {
    color: #b3b3b3 !important;
}
.LiveForm.Default .Field input[type="radio"], .LiveForm.Default .Field input[type="checkbox"] {
	accent-color: #5e5e5e !important;
	margin-right: 6px !important;
	cursor: pointer;
}
.Field.Required > label.Field-Label-Top:after {
    content: "*" !important;
    color: #450000 !important;
    font-size: 100% !important;
    font-weight: 600 !important;
    position: relative !important;
    top: 0px !important;
    padding-left: 4px !important;
}
.LiveForm .thank-you {
    border-top: 2px solid #d1d1d1;
    margin-top: 40px;
    padding-top: 21px !important;
}
.LiveForm input.bSubmit {
    margin: 20px 0 0 !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: #28398b !important;
    border: 1px solid #28398b !important;
    padding: 7px 27px 9px 26px !important;
    font-size: 117% !important;
    display: inline-block;
    letter-spacing: 0.7px;
    font-weight: 400 !important;
}
.LiveForm input.bSubmit:hover, .LiveForm input.bSubmit:focus-visible {
    background: #000831 !important;
}
.LiveForm .thank-you h2 {
    margin: 20px 0 25px;
    font-size: 170%;
}
.LiveForm.Default .Field.Address input.Street-Address {
	margin-top: 9px !important;
}
.LiveForm .Phone .Field-SubLabel-Container {display: none !important;}
.LiveForm .Field input, .LiveForm .Field select {height: auto !important;}
.LiveForm.Default input[type="submit"]:hover, .LiveForm.Default input[type="button"]:hover {box-shadow: none !important;}
.LiveForm hr {margin: 25px 0;}
.LiveForm.Default ul.page-break-section .Field.Text p:last-child {margin-bottom: 0;}
.LFSettings table tbody tr td {font-size: 16px !important;  line-height: 20px !important;}
.ModLiveFormsC > div:first-child > a {color: #ffffff !important;background: #ab0000;padding: 6px 12px 8px;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;}
.ModLiveFormsC > div:first-child > a:hover {background: #ff0000;}
.LiveForm.Default .Field.Required.Radiobutton table, .LiveForm.Default .Field.Required.Checkbox table {border-color: transparent !important;}
.Field.fullWidth textarea, .Field.fullWidth input, .Field.fullWidth .Field-Container-Wide {width: 100% !important;}

/* END forms */




/* projects */

.projGray {
    background: #e7ecf1;
    padding: 100px 0;
}
.projWhite {
    padding: 75px 0;
    text-align: center;
}
.projHeader {
    font-size: 300%;
    font-weight: 400;
    margin-bottom: 45px;
}
.projItem {
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin-bottom: 55px;
    padding-bottom: 55px;
    align-items: center;
    border-bottom: 1px solid #fff;
    flex-direction: row;
}
.projContent, .projImages {
    flex: 1;
}
.projItem:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.projItem:nth-child(odd) {
    flex-direction: row-reverse; 
}
.projGallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
    padding-top: 11px;
}
.projGalleryItem {
    min-width: 0;
}
.projDetailGallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 11px;
    padding-top: 11px;
    justify-content: center;
}
.projDetailGallery {
    min-width: 0;
}
.projLists {
    display: flex;
    gap: 15px;
    padding: 25px 0 0;
}
.projFeatures, .projServices {
    flex: 1;
    min-width: 0;
}
.projLists ul {
    margin: 0 0 0 -3px;
    padding: 0;
}   
.projFeatures > ul > li, .projServices > ul > li {
    position: relative;
    padding-left: 22px;
    padding-bottom: 5px;
    line-height: 120%;
    letter-spacing: 0.6px;
    font-size: 99%;
    font-weight: 400;
}
.projFeatures li::before, .projServices li::before {
    content: "\f00c";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 100;
    font-size: 88%;
    color: #838588;
    position: absolute;
    left: 0;
    top: 4px;
}
.projFeatures li ul li::before, .projServices li ul li::before {
    content: "\e3d6";
    top: 6px;
}
.projLists ul li > ul {
    margin: 6px 0 0 0;
}
.projLists ul li ul li {
    font-size: 94%;
    position: relative;
    padding-left: 22px;
    padding-bottom: 5px;
    line-height: 120%;
    letter-spacing: 0.6px;
}
.projLists ul li ul li:first-child {
    padding-top: 4px;
}
.projFeatures ul ul, .projServices ul ul {
    margin: 6px 0 0 18px;
    padding: 0;
}
.projLists ul li {
    list-style-type: none !important;
}
.projLists h4 {
    margin: 0 0 10px;
}
.projLocation {
    color: #000c45;
    font-weight: 300;
    font-size: 106%;
    letter-spacing: 0.6px;
    line-height: 100%;
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}
.projLocation i {
    font-size: 80%;
    position: relative;
    top: 1px;
    color: #6c6f86;
}
.projName {
    font-size: 163%;
    margin: 0 0 12px;
}
.projName a {
    color: #000c45;
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-right: 1.5em;
}
.projName a i {
    position: absolute;
    right: 0;
    top: 55%;
    opacity: 0;
    transform: translate(-10px, -50%);
    transition: all .3s ease;
}
.projName a:hover {
    color: #5a6dcb;
}
.projName a:hover i {
    opacity: 1;
    transform: translate(0, -50%);
}
.projSummary {
    margin: 0;
    font-size: 102%;
    padding: 20px 0 0;
}
.projBtn {
    margin: 24px 0 0;
}
.projBtn a {
    font-size: 106%;
    padding: 3px 17px 4px 15px;
}
.backLink {
    padding: 70px 0 0;
}
.backLink a {
    text-decoration: none;
    color: #28398b;
    font-size: 115%;
    letter-spacing: 0.7px;
    font-weight: 400;
}
.backLink a i {
    position: relative;
    transition: all 0.3s ease;
    right: 0;
    padding-right: 4px;
}
.backLink a:hover {
    color: #5a6dcb;
}
.backLink a:hover i {
    right: 4px;
}
.projBack a {
    text-decoration: none;
    color: #28398b;
    font-weight: 400;
    font-size: 197%;
}
.projBack a:hover {
    color: #5a6dcb;
}
.projBack a:hover i {
    right: 10px;
    color: #000;
}
.projBack a i {
    position: relative;
    transition: all 0.3s ease;
    right: 4px;
    color: #8f9293;
    top: 1px;
    padding-right: 10px;
    font-size: 90%;
}
.projDetail .setWidth, .projDetailAll {
    max-width: 1000px;
    margin: 0 auto;
}
.projDetail .projName {
    font-size: 290%;
    margin-bottom: 20px;
}
.projDetail .projSummary {
    font-size: 120%;
    padding: 44px 0 18px;
}
.projDescr {
    padding: 70px 0 0;
}
.projDetail .projImages > img {
    padding: 50px 0 0;
}
.projDetail .projLocation, .projDetail .projCat {
    font-size: 130%;
    position: relative;
    left: -5px;
}
.projDetail .breadcrumb {
    padding: 0 0 76px 0px;
    margin: -40px 0 0;
}
.projDetail .breadcrumbItem:first-child {
    display: none;
} 
.projDetail .breadcrumbItem a, .projDetail .breadcrumbItem {
    color: #28398b
}
.projDetail .breadcrumbItem a:hover {
    color: #7c828a;
}
.projAll .projWrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px 50px;
}
.projAll .projItem {
    display: block;
    margin-bottom: 0;
    padding-bottom: 0;
}
.projAll .projContent {
    padding-top: 22px;
}
.projTags {
    display: flex;
    gap: 18px;
    font-size: 97%;
}
.projCat {
    color: #000c45;
    font-weight: 300;
    font-size: 106%;
    letter-spacing: 0.6px;
    line-height: 100%;
    display: flex;
    align-items: center;
    gap: 3px;
}
.projCat i {
    font-size: 80%;
    position: relative;
    top: 1px;
    color: #6c6f86;
}
.projAll .projSummary {
    font-size: 94%;
}
.projAll .projName {
    font-size: 143%;
    margin: 0 0 15px;
}
.projAll .projBtn a {
    font-size: 96%;
    padding: 2px 17px 4px 15px;
}

/* END projects */



/* list block */

.listblockList ul {
    margin: 0;
    padding: 0;
}
.listblockList li {
    display: flex;
    align-items: flex-start;
    padding-bottom: 5px;
    line-height: 120%;
    letter-spacing: 0.6px;
}
.listblockList ul li:before {
    content: "\f00c";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 100;
    font-size: 97%;
    color: #a5a7aa;
    margin-right: 10px;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    top: -1px;
}

/* END list block */




/* hero */

.herolandingItem, .herodefaultItem {
	background-color: #28398b;
    background-image: linear-gradient(0deg, transparent 9%, rgba(255, 255, 255, .2) 10%, rgba(255, 255, 255, .2) 12%, transparent 13%, transparent 29%, rgba(255, 255, 255, .1) 30%, rgba(255, 255, 255, .1) 31%, transparent 32%, transparent 49%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 51%, transparent 52%, transparent 69%, rgba(255, 255, 255, .1) 70%, rgba(255, 255, 255, .1) 71%, transparent 72%, transparent 89%, rgba(255, 255, 255, .1) 90%, rgba(255, 255, 255, .1) 91%, transparent 92%, transparent), linear-gradient(90deg, transparent 9%, rgba(255, 255, 255, .2) 10%, rgba(255, 255, 255, .2) 12%, transparent 13%, transparent 29%, rgba(255, 255, 255, .1) 30%, rgba(255, 255, 255, .1) 31%, transparent 32%, transparent 49%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 51%, transparent 52%, transparent 69%, rgba(255, 255, 255, .1) 70%, rgba(255, 255, 255, .1) 71%, transparent 72%, transparent 89%, rgba(255, 255, 255, .1) 90%, rgba(255, 255, 255, .1) 91%, transparent 92%, transparent);
    background-size: 50px 50px;
	display: flex;
}
.herolandingImg {
	flex: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.herolandingContent {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 64px 40px 110px;
}
.herodefaultImg {
	flex: 0 0 33.33%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.herodefaultContent {
    flex: 2 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    text-align: left;
    padding: 64px 70px 80px 0;
}
.herolandingTopTitle {
    color: #fff;
    font-weight: 300;
    display: block;
    padding: 0 0 20px;
    font-size: 120%;
    letter-spacing: 1px;
}
.herolandingTitle {
    margin: 0;
    color: #fff;
    font-size: clamp(200%, calc(6.2vw + 1rem), 540%);
    font-weight: 400;
    line-height: 93%;
}
.herodefaultTitle {
    margin: 0;
    color: #fff;
    font-size: 500%;
    font-size: clamp(200%, calc(6.2vw + 1rem), 500%);
    font-weight: 400;
    line-height: 90%;
}
.breadcrumb {
    display: flex;
    list-style: none;
    padding: 0 0 16px 4px;
    margin: 0;
    align-items: center;
}
.breadcrumbItem {
    list-style-type: none;
    color: #fff;
    letter-spacing: 0.7px;
    font-weight: 300;
    font-size: 110%;
}
.breadcrumbItem a {
    color: #fff;
    text-decoration: none;
    padding: 4px 0;
}
.breadcrumbItem a:hover {
    color: #a5a7aa;
}
.separator {
    padding: 0 4px 0 2px;
    position: relative;
    top: 1px;
    color: #a5a7aa;
}

/* END  hero */




/* list links */

.listWrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.listItem {
	display: flex;
    flex-direction: column;
    height: 100%;
}
a.listLink {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    transition: all 0.5s ease;
}
.listsubWrap a.listLink {
    display: block;
    flex-grow: 0;
}
a.listLink:hover .listTitle {
	border-image: fill 0 linear-gradient(rgb(0 0 0 / 70%), rgb(0 0 0 / 70%));
}
.listTitle {
    color: #fff;
    margin: 0;
    padding: 20px;
    min-height: 220px;
    font-size: 180%;
    line-height: 103%;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 91%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    letter-spacing: 0.3px;
    transition: all 0.5s ease;
    border-image: fill 0 linear-gradient(rgb(0 0 0 / 35%), rgb(0 0 0 / 35%));
}
.listTitleInner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s ease;
    position: relative;
    left: 0;
}
.listTitle i {
    position: relative;
    top: 3px;
    opacity: 0;
    margin-left: -12px;
    transform: translateX(-10px);
    right: 0;
    transition: all 0.5s ease;
}
.listTitleText {
    display: inline-block;
    transition: all 0.5s ease;
}
.listLink:hover .listTitle i {
    opacity: 1;
    transform: translateX(0);;
    right: -19px;
}
.listLink:hover .listList {
    background: #ececec;
}
.listLink:hover .listTitleInner {
    left: -18px;
}
.listList {
    border: 1px solid #a5a7aa;
    border-top: none;
    padding: 20px 20px;
    flex-grow: 1;
    transition: all 0.5s ease;
}
.listList > ul {
    margin: 0;
    padding: 0;
}
.listList > ul > li {
    display: flex;
    align-items: flex-start;
    padding-bottom: 4px;
    line-height: 117%;
    font-size: 100%;
    font-weight: 300;
    letter-spacing: 0.6px;
}
.listList > ul > li:before {
    content: "\f00c";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 100;
    font-size: 85%;
    color: #a5a7aa;
    margin-right: 7px;
    flex-shrink: 0;
    margin-top: 2px;
}
.listList > ul > li a {
    text-decoration: none;
    color: #485bb8;
    position: relative;
    left: 0;
}
.listList > ul > li a:hover {
    color: #a5a7aa;
    left: 3px;
}
.listsubWrap, .listWrap {
    padding-top: 114px;
}
.DnnModule-406 .listWrap {
    padding-top: 0;
}
.DnnModule-406 .listTitle {
    font-size: 220%;
}
.DnnModule-406 .listLink:hover .listTitle i {
    right: -22px;
}

/* END list links */




/* CTA image */

.twoWrapper {
	display: flex;
	gap: 0;
	align-items: stretch;
}
.twoWrapper .twoDiv {
	flex: 1;
	display: flex;
	flex-direction: column;
	background: #e7ecf1;
}
.twoRight .textItem {
	padding-top: 130px;
	padding-bottom: 130px;
	padding-left: 70px;
}
.twoDiv > div, .twoDiv .DnnModule, .twoDiv .DNNContainer_noTitle, .twoDiv #dnn_ctr403_ContentPane, .twoDiv .DNNModuleContent, .twoDiv .sc-content-block, .DNNContainer_noTitle > div:first-child {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.ctaimgItem {
    flex: 1;
    display: flex;
	position: relative;
    overflow: hidden;
}
.ctaimgItem::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
    z-index: 1;
}
a.ctaimgLink {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
    font-size: 340%;
    padding-top: 150px;
	position: relative;
    z-index: 2;
}
.ctaimgItem:hover::before {
    background: rgba(0, 0, 0, 50%);
}
a.ctaimgLink i {
	font-size: 110%;
    padding-left: 11px;
    top: 5px;
}
a.ctaimgLink:hover i {
	left: 9px
}

/* END CTA image */





/* animations */

.animate {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	transition-delay: 250ms;
}
.animate.in-view {
	opacity: 1;
	transform: translateY(0);
}
.homeheroItem .animate {
	transition-delay: 500ms;
}
.homeheroItem .homeheroSubtitle {
	transition-delay: 700ms;
}
body.personabar-visible .animate, body.personabar-visible .animate * {
    transform: none !important;
}
body.personabar-visible .animate {
    opacity: 1 !important;
}

/* END animations */




/* search */

.searchInputContainer a.dnnSearchBoxClearText {
    top: 0;
    margin: 3px 0 0;
}
a.dnnSearchBoxClearText.dnnShow {
    background: none !important;
    text-decoration: none;
}
a.dnnSearchBoxClearText.dnnShow::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    content: "\f00d";
    font-size: 100%;
    color: #333;
    transition: all 0.3s ease;
}
.dnnSearchBox a.dnnSearchBoxClearText.dnnShow::before {
    top: -1px;
    position: relative;
} 
a.dnnSearchBoxClearText.dnnShow:hover::before {
    color: #616fb0;
}
ul.searchSkinObjectPreview {
    top: calc(100% + 6px);
    border: none;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
ul.searchSkinObjectPreview > li.searchSkinObjectPreview_group {
    border-bottom: none;
    line-height: 100%;
    padding: 10px 12px;
    font-size: 110%;
}
ul.searchSkinObjectPreview > li {
    line-height: 107%;
    padding: 10px 12px;
    font-size: 98%;
    font-weight: 400;
    color: #0c0c0c;
    transition: all 0.3s ease;
}
ul.searchSkinObjectPreview > li p {
    font-size: 70%;
    line-height: 100%;
    padding: 3px 0 0;
}
ul.searchSkinObjectPreview > li p b {
    color: #3e3e3e;
}
ul.searchSkinObjectPreview > li:last-child {
    text-align: right;
}
ul.searchSkinObjectPreview > li > a.searchSkinObjectPreview_more {
    color: #28398b;
    font-weight: 600;
    font-size: 106%;
}
.searchSkinObjectPreview_more::after {
    content: "\f061";
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    font-size: 90%;
    position: relative;
    top: -1px;
}
.DnnModule-SearchResults {
    margin-top: -30px;
}
.dnnSearchBoxPanel, .dnnSearchResultPanel {
    background: none;
    padding: 0;
}
.dnnSearchBoxPanel .dnnSearchBox {
    height: 37px;
    box-shadow: rgba(100, 100, 111, 12%) 0px 0px 10px 0px;
    border: none;
    border-radius: 8px;
    margin-right: 130px;
}
.dnnSearchBox > input[type="text"], .dnnSearchBox > input[type="text"]:focus {
    padding: 0 10px;
    height: 27px;
    font-family: 'forma-djr-text';
    font-size: 105%;
    width: 97% !important;
}
.dnnSearchBox > a.dnnSearchButton {
    background: none;
    text-decoration: none;
    margin-right: 10px;
    margin-top: 1px;
}
.dnnSearchBox > a.dnnSearchButton::before {
    content: "\f002";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 300;
    display: block;
    color: #50667C;
    font-size: 110%;
    transition: all 0.3s ease;
}
.dnnSearchBox > a.dnnSearchButton:hover:before {
    color: #616fb0;
}
.dnnSearchBox > .dnnSearchBox_advanced, .dnnSearchResultPanel .dnnSearchResultSortOptions, .dnnSearchResultItem-Others {
    display: none;
}
a.dnnSearchResultAdvancedTip {
    margin: 0;
    text-decoration: none;
    line-height: 110%;
    width: 111px;
    font-size: 100%;
    margin-top: 4px;
    padding: 4px 0;
}
a.dnnSearchResultAdvancedTip:hover {
    color: #616fb0;
}
.dnnSearchResultPager.dnnSearchResultPagerTop {
    margin: -10px 0 47px 0;
    border-color: #dfdfdf;
}
.dnnSearchResultPager {
    border-color: #dfdfdf;
    margin-top: 60px;
}
.selectize-control.single .selectize-input {
    background: #fff !important;
    border: 1px solid #e9e9e9 !important;
    box-shadow: none !important;
    border-radius: 8px;
    padding: 5px 13px;
    color: #001729;
    font-weight: 500;
    font-size: 117%;
}
.selectize-dropdown {
    border-color: #e9e9e9 !important;
    width: 70px !important;
    left: 5px !important;
    box-shadow: none !important;
    color: #001729 !important;
    font-weight: 500 !important;
}
.dnnSearchResultPanel .dnnRight {
    margin-right: 0;
}
.dnnSearchResultPager .dnnRight {
    position: relative;
    top: 8px;
}
.selectize-dropdown .option {
    cursor: pointer !important;
}
.dnnSearchResultPanel > .dnnRight > span.dnnSearchResultCountPerPage {
    margin: 3px 5px 0 10px;
}
.dnnSearchResultPanel .selectize-control {
    width: 80px;
}
.dnnSearchResultPager a {
    box-shadow: none;
    background: #ffffff !important;
    text-decoration: none;
    height: 27px;
    width: 30px;
    font-size: 98%;
}
.dnnSearchResultPager a.dnnPager-prev::before {
    content: "\f060";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 300;
    font-size: 110%;
    color: #50667C;
    transition: all 0.3s ease;
    position: relative;
    left: 5px;
}
.dnnSearchResultPager a.dnnPager-next::before {
    content: "\f061";
    font-family: 'Font Awesome 7 Pro';
    font-weight: 300;
    font-size: 110%;
    color: #50667C;
    transition: all 0.3s ease;
    position: relative;
    left: 5px;
}
.dnnSearchResultPager a:hover {
    background: #ededed !important;
}
.dnnSearchResultPager a:hover:before {
    color: #616fb0;
}
.dnnSearchResultPager a.dnnPager-disable {
    opacity: 50%;
}
.dnnSearchResultPager a.dnnPager-disable:hover {
    cursor: default;
}
.dnnSearchResultPager a.dnnPager-disable:hover:before {
    color: #50667C;
}
.dnnSearchResultPager span.dnnPager-current {
    margin: -3px 16px 0 0;
}
.dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Title {
    font-size: 120%;
    line-height: 116%;
}
.dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Title a {
    text-decoration: none;
}
.dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Title a {
    text-decoration: none;
    font-weight: 500;
    font-size: 105%;
    line-height: 114%;
}
.dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Title a:hover, .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Title a:hover {
    color: #000c45;
}
.dnnSearchResultItem-Link a {
    text-decoration: none;
    font-size: 85%;
    color: #364652;
    cursor: default;
    line-height: 110%;
    overflow-wrap: break-word;
}
.dnnSearchResultContainer .dnnSearchResultItem-Description {
    color: #001729 !important;
    font-size: 95%;
    line-height: 116%;
    margin: 7px 0 6px !important;
    font-weight: 300;
}
.dnnSearchResultItem-Link + .dnnSearchResultItem-Description {
    margin-top: 16px !important;
}
.dnnSearchResultContainer .dnnSearchResultItem-Description b {
    color: #001729 !important;
    font-weight: 500;
}
.dnnSearchResultContainer > .dnnSearchResultItem {
    margin: 54px 0 30px 0;
}
#dnnSearchResult-advancedTipContainer {
    margin: 0;
    margin-bottom: 20px;
}

/* END search */





/* ----------------------------- responsive ----------------------------- */

@media all and (max-width: 1350px) {
    .homeheroTitle {margin-bottom: 30px;}
    .homeheroItem {font-size: 84%;}
    .projhomeFeatured {gap: 17px;}
    .homeHeroWrapper {padding: 25px 0;}
}
@media all and (max-width: 1150px) {
    .mapWrapper {background-position: -47px center;padding: 120px 0;}
    a.ctaimgLink {font-size: 270%;}
    .herodefaultContent {padding: 53px 43px 60px 0;}
    .breadcrumbItem {font-size: 100%;line-height: 100%;padding: 2px 0;}
    .contentWrapper {padding-top: 110px;padding-bottom: 110px;}
}
@media all and (max-width: 1050px) {
    .homeheroItem {font-size: 74%;}
    .homeheroTitle {margin-bottom: 16px;}
    .homeHeroWrapper .setWidth {gap: 28px;}
    a.projhomeItem .projHoverText {font-size: 124%;}
    .listWrap {gap: 15px;}
    .DnnModule-406 .listTitle {font-size: 180%;}
    .listTitle i {font-size: 90%;}
    .DnnModule-406 .listLink:hover .listTitle i {right: -18px;}
    .listList, .listTitle {padding: 15px 15px;}
    .listList > ul > li:before {margin-right: 5px;font-size: 76%;}
    .listTitle {min-height: 150px;}
    .twoRight .textItem {padding-left: 40px;}
    .projAll .projWrap {gap: 50px 30px;}
    .projTags {gap: 11px;font-size: 93%;}
    .projSummary {padding: 14px 0 0;}
}
@media all and (max-width: 900px) {
    .menuNav .menuListItem0 {margin: 0 0 0 18px !important;}
    .menuNav .menuListItem0 button, .menuNav .menuListItem0 > a, .menuNav .menuListItem0 > span, .menuBtn.clearBtn {font-size: 122% !important;}
    .logoWrapper img {max-width: 160px;}
    .headerWrapper > .setWidth {padding: 12px 0;}
    a.topLink {font-size: 101%;}
    .homeheroItem {font-size: 64%;}
    .projhomeFeatured {gap: 10px;}
    .mapWrapper {padding: 60px 0;}
    a.ctaimgLink {font-size: 240%;}
    .footerLogoBg {max-width: 390px;}
    .footerWrapper > .setWidth {gap: 60px;}
    .copyLoginDiv > .setWidth {flex-direction: column;gap: 4px;}
    .herolandingContent {padding: 40px 30px 60px;}
}
@media all and (max-width: 850px) {
	.containerWidthOneThird, .containerWidthTwoThird {width: 100%; margin: 0 !important; display: block; padding: 0;}
	.containerWidthOneThird + .containerWidthTwoThird, .containerWidthTwoThird + .containerWidthOneThird {padding-top: 100px;}
	.twoWrapper {flex-direction: column; }
    .homeheroItem {font-size: 54%;}
    .listWrap {grid-template-columns: repeat(2, 1fr);}
    a.ctaimgLink {padding: 200px 0 50px;}
    .twoRight .textItem {padding-top: 90px;padding-bottom: 90px;padding-left: 0;}
    .timeImg {min-width: 260px;}
    .projAll .projName {font-size: 123%;margin: 0 0 11px;}
    .projSummary {padding: 10px 0 0;}
    .projAll .projContent {padding-top: 16px;}
    .projAll .projWrap {gap: 40px 20px;}
    .projBtn {margin: 16px 0 0;}
    .projTags {gap: 4px;flex-direction: column;}
}
@media all and (max-width: 765px) {
	body {font-size: 90%;}
	.containerWidthHalf {width: 100% !important;margin-right: 0 !important;display: block;}
    .containerWidthHalf:first-child {padding: 0 0 100px;}
	.menu {display: none;}
	.menuBtn {display: block !important;}    
    .menuBtn:hover, .menuBtn:focus-visible {color: #000000;}
    .menuBtn i {padding-left: 4px; font-size: 90%;} 
    .homeHeroWrapper .setWidth {flex-direction: column;}
    .homeheroItem {text-align: center;padding: 10px 0 10px;}
    .homeheroTitle {margin-bottom: 12px;}
    .logoBg {max-width: 450px;}
    .DnnModule-399.containerWidthHalf {padding: 0 0 60px;}
    .mobileMap{display:block;}
    .mapWrapper {background: #000a2d;padding: 0;}
    .DnnModule-401 {display: none;}
    .DnnModule-402 {padding: 60px 0 90px;}
    .footerWrapper > .setWidth {gap: 40px;}
    .footerLeftCol img {max-width: 200px;}
    .footerPhone{letter-spacing: 1.5px;font-size: 102%;padding: 16px 0 0;}
    .footerHeader {font-size: 130%;}
    .timeImg {min-width: 230px;}
    .timeItem {gap: 26px;padding: 74px 24px 28px;margin-bottom: 30px;}
    .projFeatures li::before, .projServices li::before {top: 3px;}
    .projFeatures > ul > li, .projServices > ul > li {padding-left: 18px;}
    .herolandingTopTitle {padding: 0 0 5px;}
    a.dnnSearchResultAdvancedTip {display: none !important;}
    .dnnSearchBoxPanel .dnnSearchBox {margin-right: 0;}
    a.dnnSearchBoxClearText.dnnShow {right: 40px !important;top: 3px;}
    .dnnSearchResultContainer > .dnnSearchResultItem-Subset {margin: -17px 10px 30px 17px;}
    .dnnSearchResultContainer .dnnSearchResultItem-Description {margin: 2px 0 6px !important;}
    .dnnSearchResultItem-Link a {    font-weight: 300;
    letter-spacing: 0.7px;
    display: block;font-size: 95%;}
}
@media all and (max-width: 600px) {
	.ModDNNHTMLC td { display: block; width: 100%;}
    .socialWrapper {padding: 0 14px 0 10px;}
    .socialWrapper a {font-size: 104%;}
    #dnn_dnnSearch_txtSearch {font-size: 90%;width: 180px;}
    .animate {transition-delay: 100ms;}
    .listWrap {grid-template-columns: 1fr;gap: 20px;}
    .footerLeftCol img {max-width: 170px;}
    .footerWrapper > .setWidth {gap: 27px;}
    .timeItem {flex-direction: column;align-items: start;gap: 0;}
    .timeImg img:first-child {margin-top: 24px;}
    .projAll .projWrap {gap: 50px;grid-template-columns: 1fr;}
    .projAll .projSummary {font-size: 100%;}
    .projLists {gap: 35px; flex-direction: column;}
    .projGray {padding-bottom: 50px;}
}
@media all and (max-width: 500px) {
    .animate {transition-delay: 0.5s;}
    .logoBg {max-width: 340px;}
    .topWrapper .setWidth{ flex-wrap:wrap; gap:10px;}
    .topLink, .socialWrapper{flex:0 0 auto;}
    .topLink{margin-right:7px;}
    #dnn_dnnSearch_ClassicSearch {flex: 0 0 100%;order: 3;text-align: right;}
    .socialWrapper {padding: 0;}
    .topWrapper {padding: 6px 0 13px;}
    .logoWrapper img {max-width: 140px;}    
    .homeheroTitle {line-height: 90%;}
    .projhomeFeatured {gap: 7px;} 
    .projhomeName {line-height: 100%;} 
    .projCaption {bottom: 4px;left: 7px;right: 7px;}
    .logoBg {right: -63px;top: 60%;}
    .DnnModule-399.containerWidthHalf {padding: 0 0 40px;}  
    .marginWrapper {padding: 100px 0;}
    .twoRight .textItem {padding-top: 70px;padding-bottom: 70px;}
    .footerWrapper > .setWidth {gap: 37px;flex-direction: column;}
    .copyLoginDiv span {line-height: 100%;}
    .footerLogoBg {max-width: 340px;bottom: 70px;}
    .timeTitle {font-size: 148%;margin: 0 0 11px;}
    .herodefaultContent {padding: 32px 43px 38px 0;}
    .herolandingContent {padding: 30px 22px 47px;}
    ul.searchSkinObjectPreview {width: 287px;}
    #dnn_dnnSearch_cmdSearch {font-size: 110%;}
    
}
