/* ==========================================================================
BRAND COLORS
#3a67ab 	Brand Blue
#000000		Black
#7f7f7f		Grey
#bcbcbc		Grey Light (for dark BGs)
#ffffff		White

100,300,400,600,700 – Font Weights Available
========================================================================== */




/* ==========================================================================
HARDCODED OVERRIDES
========================================================================== */
:is(body, p, a) {
	font-family: 'Montserrat', sans-serif;
	color: #232323;
}
body {
    line-height: 1.6;
    max-width: 1500px;
    margin: 0 auto;
    background: rgb(234,234,234);
	background: -moz-linear-gradient(top,  rgba(234,234,234,1) 0%, rgba(239,239,239,1) 30%, rgba(247,247,247,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(234,234,234,1) 0%,rgba(239,239,239,1) 30%,rgba(247,247,247,1) 100%);
	background: linear-gradient(to bottom,  rgba(234,234,234,1) 0%,rgba(239,239,239,1) 30%,rgba(247,247,247,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eaeaea', endColorstr='#f7f7f7',GradientType=0 );
}
p {
	font-size: 0.89em;
    margin-bottom: 0.5rem;
    line-height: 1.5rem;
}
p.lead {
	font-size: 1.1em;
	font-weight: 700;
    line-height: 1.7rem;
}
a {
	text-decoration: none;
	color: #3a67ab;
	font-weight: 600;
}
a:hover {
	text-decoration: none;
	color: #000;
}
.btn-primary {
    color: #fff;
    text-transform: uppercase;
    border-radius: 0.5rem;
    border-color: #fff;
	background-color: rgb(58 103 171 / 50%);
	font-weight: 400;
    letter-spacing: 0.08rem;
    font-size: 0.78em;
    padding: 0.5rem 2.5rem 0.4rem 2.5rem;
}
.btn-primary:hover {
	border-color: #fff;
    background-color: rgb(58 103 171 / 100%);
}
.nav-gap { margin-top: 0rem; }
.navbar-nav {
	margin-top:1.5rem;
    position: relative;
    top: 9px;
    background: #ffffffe8;
    border: 2px solid #bcbcbc;
}
@media (min-width: 576px) {
	.nav-gap {
		margin-top: 0rem;
	}
}
@media (min-width: 768px) {
	.navbar-nav {
		margin-top:3rem;
	}
}
@media (min-width: 992px) {
	.navbar-nav {
		margin-top: 0rem;
		background: none;
	    /* border-radius: 0.5rem; */
	    border: 0px solid #bcbcbc;
	}
}
@media (min-width: 1200px) {
	.navbar-nav {
		margin-top:0.5rem;
	}
}
.nav-link {
    color: #000!important;
    text-transform: uppercase;
    font-size: 0.96em;
    font-weight: 400;
    letter-spacing: 0.06rem;
}
:is(.nav-link:hover, .nav-link.active, .footer-nav .active) {
	color: #3a67ab!important;
}
.navbar-toggler {
    padding: .25rem .7rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 2px solid #bcbcbc!important;
}
.masterslider-container-big {
	height: 70vh;
}
.navbar-toggler:focus {
    box-shadow: 0 0 0 0rem;
}






/* ==========================================================================
UTILITIES
========================================================================== */
:is(.transition-fade, .transition-all) {
  -webkit-transition: all 0.6s ease;
     -moz-transition: all 0.6s ease;
       -o-transition: all 0.6s ease;
          transition: all 0.6s ease;
}
.shadow1 { box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1), 0 3px 31px 0 rgba(0, 0, 0, 0.1);}
.shadow2 { box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2), 0 2px 6px 0 rgba(0, 0, 0, 0.15);}
.shadow3 { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.15);}
.cursor-pointer { cursor: pointer; }
.border-top-2 { border-top: 2px solid #fff; }
.border-bottom-2 { border-bottom: 2px solid #fff; }
.d-initial {display: initial;}
.icon-pos1 {position:relative; top:1px;}
.anchor-offset-A {
	position: relative;
	top:-35px;
	display: block;
}
.anchor-offset-B {
	position: relative;
	top:-80px;
	display: block;
}
.IMGsaturate1 { filter: saturate(0.1); }
.IMGsaturate2 { filter: saturate(0.2); }
.IMGsaturate3 { filter: saturate(0.3); }
.IMGsaturate4 { filter: saturate(0.4); }
.IMGsaturate5 { filter: saturate(0.5); }
.IMGsaturate6 { filter: saturate(0.6); }
.IMGsaturate7 { filter: saturate(0.7); }
.IMGsaturate8 { filter: saturate(0.8); }
.IMGsaturate9 { filter: saturate(0.9); }
:is(.IMGsaturate1:hover, .IMGsaturate2:hover, .IMGsaturate3:hover, .IMGsaturate4:hover, .IMGsaturate5:hover, .IMGsaturate6:hover, .IMGsaturate7:hover, .IMGsaturate8:hover, .IMGsaturate9:hover) { 
	filter: saturate(1); 
}
.whiteBG {
	background-color: #fff;
}




/* ==========================================================================
CUSTOM DESIGN
========================================================================== */
.navbar-brand img {
	max-width: 300px;
}
.nav-bar-transparency {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
.ms-hero-text {
	font-family: 'Open Sans', sans-serif;
	font-style: italic;
	font-weight: 700;
	color: #fff;
	font-size: 7em;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.49);
}
.ms-hero-text-mobile {
	font-family: 'Open Sans', sans-serif;
	font-style: italic;
	font-weight: 700;
	color: #fff;
	font-size: 3em;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.49);
}
:is(h3, #intro h1) {
	font-weight: 700;
    letter-spacing: 0.04rem;
}
:is(#hero, .greyBG) {
	background-color: #ececec;
}
:is(.container-bg-1,.container-bg-2,.container-bg-3,.container-bg-4,.container-bg-neutral,.container-bg-portfolio) {
	background-repeat: no-repeat;
}
.container-bg-1 { background-image: url(../img/cms-section-backgrounds/default_large.jpg); background-position: top center;}
.container-bg-2 { background-image: url(../img/container-backgrounds/screen-mockup-1.jpg); background-position: top center; background-size:100%; background-color: #ececec;}
.container-bg-3 { background-image: url(../img/container-backgrounds/footer-mountains.jpg); background-position: top center; background-size:100%; border-top: 2px solid #000;}
.container-bg-4 { background-image: url(../img/container-backgrounds/screen-mockup-2.jpg); background-position: top center; background-size:100%; background-color: #ececec;}
.container-bg-neutral { background-image: url(../img/container-backgrounds/screen-mockup-neutral.jpg); background-position: top center; background-size:100%; background-color: #ececec;}
.container-bg-portfolio {background-position: top center; background-size:100%; }
:is(.container-bg-team, .container-bg-criteria) {
	background-repeat: no-repeat;
	background-position: top center; 
	background-color: #000;
}
.card {
	border-radius: 0;
	background-color: #0000009c;
	border: 1px solid rgba(255,255,255,.9);
}
.card-footer {
	border: 0;
	background-color: rgba(0,0,0,.0);
}
.card-title, 
.card-text {
	color:  #fff;
}
.card h4 {
	font-weight: 100;
    text-transform: uppercase;
    letter-spacing: 0.06rem;
}
.card p {
	font-weight: 300;
    font-size: 0.84em;
    letter-spacing: 0.06rem;
}

.columns-content, .columns-content-2 {
	position: relative;
	z-index: 101;
}
.columns-bottom {
	position:  absolute;
	bottom: 0;
	z-index: 100;
}
.columns-bottom img {
	width: 100%;
}

#quickfacts .fa-solid, .details .fa-solid {
	color: #3a67ab;
	font-size: 1.2em;
}
#quickfacts span, .details span {
	font-weight: 600;
	font-style: italic;
	font-size: 1.2em;
    letter-spacing: 0.04rem;
}
:is(#quickfacts ul, .quickfactsUL, .details ul) {
	list-style: none;
	padding-left: 0;
}
:is(#quickfacts li, .quickfactsUL li) {
	cursor: pointer;
}
:is(#quickfacts li, .details li) {
	border-bottom: 1px solid #3a67ab;
	padding-left: 0.4rem;
	-webkit-border-radius: 15px 15px 0px 0px;
	-moz-border-radius: 15px 15px 0px 0px;
	border-radius: 15px 15px 0px 0px;
}
:is(.quickfactsUL li) {
	padding-left: 0.4rem;
	/*-webkit-border-radius: 15px 15px 0px 0px;
	-moz-border-radius: 15px 15px 0px 0px;
	border-radius: 15px 15px 0px 0px;*/
}
#quickfacts li:hover,
.quickfactsUL li:hover  {
	background: rgb(58,103,171);
	background: linear-gradient(36deg, rgba(58,103,171,0.4990371148459384) 0%, rgba(58,103,171,0.20211834733893552) 26%, rgba(58,103,171,0) 100%);
}
:is(.quickfactsUL li) {
	border-bottom: 1px solid #3a67ab;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    font-size: 0.94em;
    line-height: 1.7rem;
}
.quickfactsUL li:first-child {
	border-top: 1px solid #3a67ab;
	padding-top: 0.7rem;
}
.quickfactsH5 {
	text-transform: uppercase;
    letter-spacing: 0.06rem;
    font-weight: 700;
    font-size: 1.8em;
    margin-bottom: 4rem;
    z-index: 101;
    position: relative;
}
.quickfactsIcon {
    bottom: -5%;
    right: 13%;
    display: block;
    font-size: 19em;
    opacity: 0.1;
    color: #7f7f7f;
    line-height: 1px;
}
.quickfactsIconAlt {
    top: 18px;
    right: 44px;
    display: block;
    font-size: 5em;
    opacity: 1;
    color: #3a67ab;
    line-height: 1px;
    z-index: 100;
}
.footer-nav {
	font-weight: 200;
	font-size: 0.9em;
	letter-spacing: 0.02rem;
    line-height: 0.6em;
}
:is(.footer-nav a, #credits a) {
	font-weight: 300;
	color:  #000;
}
#credits {
	background-color: #000;
	color: #bcbcbc;
	font-size: 0.8em;
	letter-spacing: 0.02rem;
	font-weight: 300;
}
#credits a {
	color: #fff;
}
.social-icon-footer {
	font-size: 2em;
}
.sub-page-header {
	padding-top: 150px;
}
.map-toggle {
	font-size: 2em;
	color: #3a67ab;
}
#team h3 {
	color: #fff;
}
.text-info2 {
	font-weight: 400;
	font-size:  0.9em;
	display:  block;
}



/* ==========================================================================
DESIGN CLASSES - EXECUTIVE TEAM
========================================================================== */
.executive-team .card {
	background-repeat: no-repeat;
	background-size: contain;
    background-position: top;
}
.executive-team .card-body {
	margin: 225px 0 0 0;
	border-top:1px solid #ccc;
	background-color: rgba(0,0,0,0.7);
	padding: 0.8rem 0.6rem 1.8rem 0.6rem;
}
.executive-team .card-body:hover {
    text-decoration: none;
    background-color: rgba(0,0,0,0.9);
}
.executive-team .card-footer {
	background-color: rgba(0,0,0,0.7);	
	padding: 0rem 1.6rem 0rem 1.6rem;
}
.executive-team .title {
	position:relative;
	top:-10px;
	color: #ccc;
	line-height:1.1em;
    font-size: 0.86em;
    min-height: 34px;
    margin-bottom: 0;
}
.board-highlight {
	display:block;
	height:100%;
	width:100%;
	background-position-x: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.bio-modal small {
	font-size:0.7em;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.bio-modal .bio-link-social {
	font-size:2em;
	color:#ccc;
}
.bio-modal .bio-link-social:hover {
	color:#a91e22;
}
.bio-contact {
    font-size: 1.6em;
    position: relative;
    top: 4px;
}
.exec-title,
.criteria-item-title {
	margin-bottom: 1rem;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.28em;
}
:is(.testimonial-quote, .testimonial-name, .testimonial-title){
	font-size: 0.82em;
}
.testimonial-quote {
	line-height: 1.6rem;
    font-style: italic;
    font-size: 0.9em;
}
.testimonial-name {
	font-weight: 800;
}
.testimonial-mug {
	filter: grayscale(80%);
	max-width: 100px!important;
	border-radius: 50%;
	display: none;
}
.carousel-cell {
	width: 90%; /* full width */
	margin-right: 100px;
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.flickity-viewport {
  transition: height 0.2s;
}




/* ==========================================================================
DESIGN CLASSES - CRITERIA ITEMS
========================================================================== */
.criteria-items .card {
	background-repeat: no-repeat;
	background-size: cover;
    background-position: top;
    color: #fff;
}
.criteria-items .card-body {
	background-color: rgba(0,0,0,0.7);
}
.criteria-items .card-body:hover {
    text-decoration: none;
    background-color: rgba(0,0,0,0.9);
}
.criteria-items .card-footer {
	background-color: rgba(0,0,0,0.7);	
	padding: 0rem 1.6rem 0rem 1.6rem;
}
.criteria-items .title {
	position:relative;
	top:-10px;
	color: #ccc;
	line-height:1.1em;
    font-size: 0.86em;
    min-height: 34px;
    margin-bottom: 0;
}






/* ==========================================================================
MIX IT UP CUSTOMIZATION
========================================================================== */
.filter {
    display: inline-block;
    cursor: pointer;
    font-size: 0.86em;
    font-weight: 400;
    line-height: 1em;
    color: #3a67ab;
}
.mixitup-control-active {
	color: #151715;
}
.mixitup-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
}
.filter-divider {
	font-weight: 100;
	font-size: 0.9em;
}



/* ==========================================================================
HOVER FX
========================================================================== */
.mixitup-container img {
	max-width:100%;
	position: relative;
}
.mixitup-container .label {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
}
.mixitup-container .label-bg {
	background: #232323bf;
	width: 100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
}
.mixitup-container .label-text {
	color:#fff;
	position: relative;
	z-index: 500;
	padding: 1.2rem;
	text-align: center;
}
.mixitup-container .label-text .text-title {
	color: #fff;
	position: relative;
	opacity: 0;
}
.mixitup-container .text-category {
	display: block;
	font-size: 9px;
	position: relative;
	top: 200px;
	text-align: center;
	text-transform: uppercase;
	opacity: 0;
}
.mixitup-container .label .line {
	display: block;
	position: relative;
	border-bottom:1px solid #3a67ab;
	width: 10px;
	margin:8px auto 8px auto;
}

/* Target Elements
---------------------------------------------------------------------- */

.mix,
.gap {
    display: inline-block;
    vertical-align: top;
}

.mix {
    background: #fff;
    border-radius: 2px;
    margin-bottom: 0.5rem;
    position: relative;
}

.mix:before {
    content: '';
    display: inline-block;

}

/* Grid Breakpoints
---------------------------------------------------------------------- */

/* 2 Columns */

.mix,
.gap {
    width: calc(100%/2 - (((2 - 1) * 0.4rem) / 2));
}

/* 3 Columns */

@media screen and (min-width: 768px) {
    .mix,
    .gap {
        width: calc(100%/3 - (((3 - 1) * 0.4rem) / 3));
    }
}

/* 4 Columns */
/*
@media screen and (min-width: 992px) {
    .mix,
    .gap {
        width: calc(100%/4 - (((4 - 1) * 0.4rem) / 4));
    }
}
*/
/* 5 Columns */
/*
@media screen and (min-width: 1200px) {
    .mix,
    .gap {
        width: calc(100%/5 - (((5 - 1) * 0.4rem) / 5));
    }
}
*/







#map iframe {
    border: 2px solid #000!important;
	filter: saturate(0.2);
}
.logo { width: 260px; }
#mountainrange { height: 10vh; }
.columns-content { padding-bottom: 10vh; }
.container-bg-2, .container-bg-4 {padding-top: 11rem;}
:is(h3, #intro h1) { font-size: 2.2em; }
.contact a {
	color: #000;
	font-weight: 400;
}

@media (min-width: 576px) {
	.logo { width: 260px; }
	#mountainrange { height: 12vh; }
	.columns-content { padding-bottom: 12vh; }
	.container-bg-2, .container-bg-4 {padding-top: 14rem;}
	.executive-team .card-body { margin: 244px 0 0 0; }
}
@media (min-width: 768px) {
	.logo { width: 310px; margin-top: 0rem;}
	#mountainrange { height: 15vh; }
	.columns-content { padding-bottom: 16vh; }
	.container-bg-2, .container-bg-4 {padding-top: 0rem;}
	.executive-team .card-body { margin: 322px 0 0 0; }
}
@media (min-width: 992px) {
	.logo { width: 290px; margin-top: 1.5rem;}
	#mountainrange { height: 18vh; }
	.columns-content { padding-bottom: 20vh; }
	:is(h3, #intro h1) { font-size: 3em; }
	p {
		font-size: 0.94em;
	    margin-bottom: 1.4rem;
	    line-height: 1.7rem;
	}
	.testimonial-quote {
	    line-height: 2rem;
		font-style: italic;
		font-size: 1.2em;
	}
	.executive-team .card-body { margin: 278px 0 0 0; }
}
@media (min-width: 1200px) {
	.logo { width: 320px; margin-top: 2rem;}
	#mountainrange { height: 22vh; }
	.columns-content { padding-bottom: 30vh; }
	.executive-team .card-body { margin: 337px 0 0 0; }
}
@media (min-width: 1400px) {
	.executive-team .card-body { margin: 397px 0 0 0; }
}










/* ==========================================================================
GOOGLE MAPS API & PROJECTS AJAX CSS
========================================================================== */
#map {
   
}
#mapLocations {
    text-align: center;
}
#mapAPI {
	height: 500px;
	height: 60vh;
	width: 100%;
}
.locTrigger,
.locTriggerReset {
	color: #3a67ab;
    display: inline-block;
    cursor: pointer;
    font-size: 0.86em;
    font-weight: 400;
    line-height: 1em;
}
.locTrigger:hover,
.locTriggerReset:hover {
	color: #151715;
}
.locTrigger strong,
.locTriggerReset strong {
    color: #151715;
    font-weight: bolder;
}


.infowindowH2 {
	font-weight: 500;
	font-size: 1.4em;
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
}
.infoWindowHeroIMG {
	max-height: 220px;
}
#infowindow .viewDetails {
	margin: 0.75rem 0 0rem 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
#infowindow .viewDetails a {
	text-decoration: none;
	color:#000;
}
.custom-clustericon {}

.maptop {
    font-size: 1.2em;
    color: #fff;
    font-weight: 600;
}


.main-results-stage {
	position:relative;
}


.call-to-action h2 {
	font-size: 2em;
	text-transform: none;
}
.call-to-action {
    position: absolute;
    z-index: 1;
    background-color: rgba(0,0,0,0.8);
    border: 1px solid #fff;
    width: 90%;
    left: 5%;
    padding: 1.5rem 1rem 1rem 1rem;
    text-align: left;
    bottom: 6vh;
    border-radius: 0;
    box-shadow: 0 2px 7px 1px rgba(0,0,0,0.3);
    color: #fff;
    height: fit-content;
}
@media (min-width:  768px) { .call-to-action { width: 90%; left: 5%; padding: 1.5rem 3rem 1rem 3rem; } }
@media (min-width:  992px) { .call-to-action { width: 90%; left: 5%; } }
@media (min-width: 1200px) { .call-to-action { width: 50%; left:10%; } }
#call-to-action-show {
    display: none;
    position: absolute;
    bottom: 86%;
    left: 30px;
    font-size: 47px;
    z-index: 1;
    /* color: #fff; */
    opacity: 0.8;
    /* text-shadow: 1px 1px 3px rgb(0 0 0 / 80%); */
    cursor: pointer;
    background-color: #fff;
    border-radius: 50%;
    padding: 2px;
    margin: 0;
    line-height: 1px;
}
.call-to-action-hide {
    position: absolute;
    /* background-image: url(../img/fancybox_sprite.png); */
	top: -10px;
    right: 10px;
    cursor: pointer;
    z-index: 8040;
    font-size: 2em;
    color: #fff;
    /* text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8); */
    cursor: pointer;
}
.call-to-action ul {
    padding-left: 10px;
    padding-top: 0.75rem;
    list-style: none;
}
.call-to-action .mb-1 {
	margin-bottom:1rem;
}
.call-to-action .mb-2 {
	margin-bottom:2rem;
}
.call-to-action .mt-0 {
	margin-top:0;
}
.call-to-action .mb-0 {
	margin-bottom:0;
}


.master-slider-parent {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

