/* BA custom theme. */

[data-calc-height]{display: none;}
.mask{position: absolute; width:0; height:0; pointer-events: none;}


/* main-slider */
#main-slider{z-index: 2;}
#main-slider .item{display: flex; align-items: center; padding-top:17.81rem; padding-bottom:11.38rem;}
#main-slider .item .masked-bg{mask: url('../img/mask-mathead-black.svg') no-repeat left top / auto 100%; position: absolute; top:0; right:0; bottom:0; width:calc(var(--page-side-gap) + var(--container)*0.6666 + 1.5rem);}

#main-slider .slick-dots{counter-reset:SlideNum; justify-content: flex-start; width:calc(var(--container)*0.4166); left:var(--page-side-gap); right:auto; bottom:8rem;}
#main-slider .slick-dots li button{overflow: visible;}
#main-slider .slick-dots li button:before{counter-increment: SlideNum; content:'0'counter(SlideNum); font-size: var(--text-small); padding-top:1.2rem; line-height: 1; border:0; color:var(--color-blue); position: absolute; height:2.87rem; top:0; left:0; right:0; text-align: center; transition:font 0.2s ease, color 0.2s ease;}
#main-slider .slick-dots li button:hover{ background:var(--color-blue);}
#main-slider .slick-dots li button:hover:before{color:var(--color-hover);}
#main-slider .slick-dots .slick-active button:before{font-size: var(--text-lead); font-weight: 700; }
#main-slider .slick-dots .slick-active button:hover:before{color:var(--color-blue);}

#main-slider .slick-arrow{bottom:var(--margin-normal);}
#main-slider .slick-prev{left:var(--page-side-gap);}
#main-slider .slick-next{right:var(--page-side-gap);}


/* masthead-internal */
.masthead-internal-section{padding-top:14.81rem; padding-bottom:var(--padding-large);}
.masthead-internal-section .masked-bg{background: url("../img/bg-mathead-light-grey.svg") no-repeat left top / auto 100%; width:calc(var(--page-side-gap) + var(--container)*0.5833 - 4rem); position: absolute; top:0; bottom:3rem; right:0;}
.masthead-internal-section .bg-image{mask:url('../img/mask-mathead-black.svg') no-repeat left top / auto 100%; position: absolute; top:0; right:0; bottom:0; left:0;}
.masthead-internal-section .bg-blue{background: url("../img/bg-mathead-blue.svg") no-repeat top left / auto 100%; position: absolute; top:0; right:0; bottom:0; left:0;}

.masthead-internal-section.compact-masthead{padding-bottom:var(--padding-normal);}
.masthead-internal-section.compact-masthead .masked-bg{width:calc(var(--page-side-gap) + var(--container)*0.6666 - 4rem);}


/* cta-section */
.cta-section{overflow: hidden; margin-bottom:3rem; padding-top:calc(var(--padding-large) + 4rem); padding-bottom:var(--padding-large);}
.cta-section .masked-bg{position: absolute; top:0; bottom:0; left:0; width:calc(var(--page-side-gap) + var(--container)*0.5833 - 0.75rem); mask: url('../img/mask-cta-black.svg') no-repeat top right / auto 100%;}
.cta-section .masked-bg img{object-fit: cover; width:100%; height:100%;}
.cta-section .bg{background-color: var(--color-light-grey); position: absolute; top:0; bottom:0; right:0; width:calc(var(--page-side-gap) + var(--container)*0.3333 + 3rem - var(--h)/35/0.8);}
.cta-section .bg:before{content: ''; background: url("../img/bg-cta-left.svg") no-repeat right top / 100% 100%; aspect-ratio:0.8032/1; position: absolute; top:0; bottom:0; right:calc(100% - 1px);}


/* internal-content */
.masthead-internal-section + .content-section:before{content: ''; pointer-events: none; background: url("../img/bg-side.svg") no-repeat right top; position: absolute; top:0; left:0; bottom:0; width:calc(var(--page-side-gap) + var(--container)*0.3333 - 1.5rem);}

.has-side-blue-decor:before{content: ''; pointer-events: none; background: url("../img/bg-side-blue.svg") no-repeat right bottom; aspect-ratio:1/1.3; position: absolute; left:0; bottom:0; width:calc(var(--page-side-gap) + var(--container)*0.4166);}

.has-side-grey-decor:before{content: ''; pointer-events: none; background: url("../img/bg-side-grey-right.svg") no-repeat left top; aspect-ratio:1/1.3; position: absolute; right:0; top:0; width:calc(var(--page-side-gap) + var(--container) - 4rem);}


/* directions */
.dir-listing{margin-left:3.69rem; margin-right:3.69rem; display: flex; align-items: stretch; gap:1.5rem;}
.dir-listing .item{overflow: hidden; padding:1.5rem; text-align: center; width:calc((100% - 1.5rem*2)/3);}
.dir-listing .icon{margin-bottom:var(--margin-normal); height:6.375rem;}
.dir-listing .icon img{height:100%; max-height: 100%;}
.dir-listing .floating-title, .dir-listing .title{font-size: var(--h5); font-weight: 600; text-transform: uppercase;}
.dir-listing .floating-title{margin:0;}
.dir-listing .overlay{display: flex; flex-direction: column; justify-content: center; padding:1.5rem; background: var(--color-light-grey); position: absolute; top:100%; left:0; width:100%; height:100%; transition:top 0.4s ease;}
.dir-listing .overlay .links{display: flex; flex-direction: column; justify-content: center; gap:var(--margin-normal);}
.dir-listing .item:hover .overlay{top:0;}
.dir-listing .sp-link{white-space: normal;}


/* projects */
.section-v-header{ display: flex; flex-direction: column; justify-content: flex-end;}
.section-v-header .projects-slider-controls{margin-bottom: var(--padding-large);}

.featured-projects-slider{margin-right:calc(-1*var(--page-side-gap));}
.featured-projects-slider .item{ display: flex; align-items: flex-end; width:22.31rem; min-height:36.25rem; margin-right:1.5rem; border-radius:var(--radius-normal); overflow: hidden;}
.featured-projects-slider .image{position: absolute; top:0; right:0; left:0; bottom:0;}
.featured-projects-slider .image:after{content: ''; position: absolute; top:0; right:0; bottom:0; left:0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.64) 50%,  rgba(0, 0, 0, 0.8) 100%) left top / 100% 200%; transition:background 0.4s ease;}
.featured-projects-slider .item:hover .image:after{background-position: left bottom;}
.featured-projects-slider .category{z-index: 2; max-width:80%; background: url("../img/bg-label.svg") no-repeat top right / auto 100%; padding:0.5rem 1.81rem 0.5rem 2rem; color:var(--color-blue); text-transform: uppercase; font-size: 0.87rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.0875rem; position: absolute; left:0; top:var(--padding-normal);}
.featured-projects-slider .content{padding:10.5rem 2rem 3.5rem 2rem; bottom:-100%; transition:bottom 0.8s ease;}
.featured-projects-slider .item:hover .content{bottom:0;}
.featured-projects-slider .title{font-size: var(--h4); margin-bottom:var(--margin-small);}
.featured-projects-slider .floating-title{left:0; bottom:0; right:0; padding:0 2rem 3.5rem 2rem; position: absolute; font-size: var(--h4); margin:0; transition:bottom 0.4s ease;}
.featured-projects-slider .item:hover .floating-title{bottom:-100%;}

.projects-slider-controls .slick-dots{bottom:0; position: relative; width:auto; max-width: 100%; justify-content: flex-start;}
.projects-slider-controls .slick-dots li{flex-shrink: 1;}


/* locations-setion */
.locations-section{padding:var(--padding-normal) 0;}
.locations-section .bg{background: var(--color-blue); position: absolute; top:0; bottom:0; left:0; right:calc(var(--page-side-gap) + var(--container)*0.25 - 4rem);}
.locations-section .bg:before{content: ''; background: url("../img/bg-locations-blue.svg") no-repeat right top / auto 100%; aspect-ratio:1/1.176; position: absolute; top:0; height:100%; left:calc(100% - 1px);}
.locations-section .textbox{margin-right:1.5rem;}


/* services */
.services-listing{display: flex; align-items: flex-start; gap:5rem;}
.services-listing .item{width:calc((100% - 5rem*2)/3);}
.services-listing .icon{height:5.44rem; margin-bottom:var(--margin-normal);}
.services-listing .icon img{height:100%; max-height: 100%;}
.services-listing .title{font-size: var(--h4);}


/* stat */
.stat-listing{display: flex; flex-wrap:wrap; align-items: flex-start; gap:var(--margin-big) 8rem;}
.stat-listing .item{width:calc((100% - 8rem)/2);text-align: center;}
.stat-listing .value{margin-bottom:var(--margin-small); color:var(--color-indigo-light); font-size: 3.44rem; line-height: 1.2; font-weight: 800;}
.stat-listing .value span{display: block; font-size: 1.62rem; font-weight: 700;}
.stat-listing .title{font-size: var(--h6); font-weight: 700;}


/* flexible-content */
.flexible-section .inner-wrap{display: flex; align-items: center; gap:1.5rem;}
.flexible-section .image{mask:url('../img/mask-flexible-left.svg') no-repeat right top / auto 100%; height:42.56rem; margin-left:calc(-1*var(--page-side-gap)); flex-grow:1;}
.flexible-section .text{width:calc(var(--container)*0.4166); flex:none; padding:var(--padding-normal) 0;}
.flexible-section.image-right .inner-wrap{flex-direction: row-reverse;}
.flexible-section.image-right .image{mask:url('../img/mask-flexible-right.svg') no-repeat left top / auto 100%; margin-right:calc(-1*var(--page-side-gap)); margin-left:0;}


/* news */
.news-listing{display: flex; align-items: stretch; gap:3.56rem;}
.news-listing .item{width:calc((100% - 3.56rem*2)/3); display: flex; align-items: stretch;}
.news-listing .post-card{gap:0; border-radius:var(--radius-normal); transition:background 0.2s ease;}
.news-listing .post-card .content{padding:1.5rem;}
.news-listing .post-card .tags-listing{margin-bottom:var(--margin-normal);}
.news-listing .post-card .title{margin-bottom:var(--margin-small); font-size: var(--h6);}
.news-listing .post-card:not(.no-hover):hover .title:not(.unclickable), .news-listing .post-card .area-link:focus ~ .content .title:not(.unclickable){color:var(--color-blue);}
.post-card:not(.no-hover):hover{background: #fff;}



/* ************************* */
/* FOOTER					 */
/* ************************* */
#footer{margin-top:auto; flex:none; }

/* cta */
.footer-cta{border-bottom:1px solid rgba(255,255,255,0.32); background: var(--color-blue); padding:var(--margin-big) 0;}
.footer-cta .row{justify-content: space-between; gap:var(--margin-normal); align-items: center;}

/* nav */
.footer-nav{background: var(--color-blue); padding:var(--padding-normal) 0;}
.footer-nav .row{justify-content: space-between; flex-wrap: nowrap;}
.footer-nav .row .col{flex-grow:0; width:auto; flex-basis: auto; flex-shrink: 1;}
.footer-nav ul{padding:0; list-style-type: none; display: flex; flex-direction: column; gap:var(--margin-small);}
.footer-nav a{text-decoration: none;}

/* main */
.footer-main{padding:var(--padding-normal) 0; border-bottom:1px solid var(--color-grey);}
.footer-main .row{justify-content: space-between; flex-wrap:nowrap;}
.footer-main .contacts-block{display: flex; flex-direction: column; gap:var(--margin-small);}
.social-share{display: flex; align-items: center; gap:2rem; flex-wrap:wrap; font-size: 1.12rem;}
.footer-main address{display: flex; flex-direction: column; gap:var(--margin-small); text-align: right;}
.footer-main .footer-brand{text-align: center; }
.footer-main .footer-brand img{width:8.43rem; max-width: 100%;}

/* bottom */
.footer-bottom{padding:var(--margin-normal) 0; font-size: var(--text-small); color:var(--color-dark-grey);}
.footer-bottom .container{display: flex; align-items: flex-start; justify-content: space-between; gap:var(--margin-normal);}
.footer-bottom .footer-group{display: flex; align-content: flex-start;}
.footer-bottom .footer-group div+div:before{content: '|'; margin:0 0.25rem;}
.footer-bottom a:not(:hover):not(:focus){color:inherit;}



/* ************************* */
/* RESPONSIVE				 */
/* ************************* */
@media (max-width: 1399.98px) {/* xl */
	#page-wrap{box-shadow:inset 0 0 0 0 black;}
	
	.footer-nav .row .col{flex-basis: 20%;}
	
	.cta-section .bg{width:calc(var(--page-side-gap) + var(--container)*0.3333 + 2rem - var(--h)/35/0.8);}
	
	.dir-listing{margin-left:0; margin-right:0;}
	
	.stat-listing{gap:var(--margin-big) 5rem;}
	.stat-listing .item{width:calc((100% - 5rem)/2);}
	
	.flexible-section .image{height:38rem;}
}

@media (max-width: 1199.98px) {/* lg */
	#page-wrap{box-shadow:inset 0 0 0 0 red;}
	
	.cta-section {padding-top:var(--padding-large);}
	.cta-section .bg{ width:calc(var(--page-side-gap) + var(--container)*0.3333 + 1.5rem - var(--h)/35/0.8);}
	
	.masthead-internal-section{padding-top:10rem; padding-bottom:var(--padding-normal);}
	
	#main-slider .slick-dots{bottom:5rem;}
	#main-slider .item{padding-top:12rem; padding-bottom:var(--padding-large);}
	
	.has-side-blue-decor:before{width:calc(var(--page-side-gap) + var(--container)*0.333);}
	
	.dir-listing .item{padding:1.5rem 1rem;}
	.dir-listing .overlay{padding:1.5rem 1rem;}
	
	.services-listing{gap:3.5rem;}
	.services-listing .item{width:calc((100% - 3.5rem*2)/3);}
	
	.stat-listing{gap:var(--margin-big) 3.5rem;}
	.stat-listing .item{width:calc((100% - 3.5rem)/2);}
	
	.flexible-section .image{height:34rem;}
	
	.news-listing{gap:1.5rem;}
	.news-listing .item{width:calc((100% - 1.5rem*2)/3);}

	
}

@media (max-width: 991.98px) {/* md */
	#page-wrap{box-shadow:inset 0 0 0 0 green;}
	
	.cta-section .bg{ width:calc(var(--container)*0.485 - var(--h)/25/0.8);}
	.cta-section .masked-bg{width:calc(var(--container)*0.5 - 0.75rem);}
	
	.masthead-internal-section{padding-top:var(--margin-big);}
	.masthead-internal-section.compact-masthead .masked-bg{width:calc(var(--container)*0.5833);}
	
	#main-slider .item{flex-direction: column; padding-top:0;}
	#main-slider .item .masked-bg{mask-position:-10vw top; margin-bottom:var(--margin-big); position: relative; width:100%; height:calc(100vw/1.777);}
	#main-slider .slick-dots{bottom:4rem;}
	
	.dir-listing{flex-wrap:wrap; margin-top:var(--margin-big);}
	.dir-listing .item{padding:1.5rem; text-align: left; background: var(--color-light-grey); width:100%; display: flex; flex-direction: row; gap:2rem; align-items: center;}
	.dir-listing .overlay{position:relative; top:0; align-items: flex-start; padding:0;}
	.dir-listing .floating-title{display: none;}
	.dir-listing .icon{margin:0; width:6.5rem; flex:none;}
	.dir-listing .icon img{width:100%; max-width: 100%; height:auto; max-height: none;}
	.dir-listing .overlay .links{flex-direction: row;}
	
	.has-side-blue-decor:before{width:calc(var(--container)*0.6666);}
	
	.featured-projects-slider .slick-track{align-items:flex-start;}
	.featured-projects-slider .item{color:var(--color-base); flex-direction: column; min-height: inherit; align-items: stretch;}
	.featured-projects-slider .image{flex:none; position: relative; aspect-ratio:1/1.618; border-radius:var(--radius-normal);}
	.featured-projects-slider .content{bottom:0; padding:1.5rem;}
	.featured-projects-slider .floating-title{display: none;}
	.featured-projects-slider .item .image:after{border-radius:var(--radius-normal);}
	.featured-projects-slider .item:hover .image:after{background-position: left top;}
	.featured-projects-slider .category{top:auto; bottom:var(--margin-big);}
	.section-v-header{display: block;}
	
	.locations-section .bg{right:calc(var(--container)*0.1666 - 2rem);}
	
	.services-listing{gap:2rem;}
	.services-listing .item{width:calc((100% - 2rem*2)/3);}
	
	.stat-listing{gap:var(--margin-normal) 0;}
	.stat-listing .item{width:50%; padding:1rem;}
	.stat-listing .value{font-size: 3rem;}
	
	.flexible-section .image{height:30rem;}
	
	.news-listing{gap:0.75rem;}
	.news-listing .item{width:calc((100% - 0.75rem*2)/3);}
	.news-listing .post-card .content{padding:1.5rem 1rem;}

}

@media (max-width: 767.98px) {/* sm */
	#page-wrap{box-shadow:inset 0 0 0 0 blue;}
	
	#footer{text-align: center;}
	.footer-nav .row{flex-wrap:wrap;}
	.footer-nav .row .col{width:100%; flex-basis: 100%;}
	.footer-nav ul{flex-direction: row; flex-wrap:wrap; justify-content: center; gap:var(--margin-small) 1.5rem;}
	
	.footer-main .row{flex-wrap: wrap;}
	.footer-main .social-share{justify-content: center;}
	.footer-main address{text-align: center;}
	
	.footer-bottom .container{flex-direction: column-reverse; align-items: center;}
	
	.cta-section{ppadding-top:0; background: var(--color-light-grey);}
	.cta-section .masked-bg{z-index: 2; position: relative; margin-bottom:var(--margin-big); width:100%;}
	.cta-section .bg{display: none;}
	
	.masthead-internal-section{padding-top:0; padding-bottom:var(--padding-normal);}
	.masthead-internal-section .masked-bg{ background-position: -10vw top; width:100%; position: relative; bottom:0; height:calc(100vw/1.777);}
	.masthead-internal-section .bg-image{mask-position:-10vw top;}
	.masthead-internal-section .bg-blue{left:-10vw;}
	.masthead-internal-section + .content-section::before {width:50%;}
	.masthead-internal-section.compact-masthead .masked-bg{width:100%; height:calc(100vw/1.777/1.9);}
	.masthead-internal-section.compact-masthead .masked-bg{ background-position: 0 top;}
	.masthead-internal-section.compact-masthead .bg-image{mask-position:0 top;}
	.masthead-internal-section.compact-masthead .bg-blue{left:0;}
	
	.featured-projects-slider .slick-dots{bottom:-1.5rem; width:100%;}
	.featured-projects-slider .slick-dots li{flex-basis: 0; flex-grow:1;}
	.section-v-header .projects-slider-controls{display: none;}
	
	.locations-section .bg{right:calc(var(--container)*0.25);}
	
	.services-listing{gap:var(--margin-big); flex-wrap:wrap;}
	.services-listing .item{width:100%; display: flex; align-items: flex-start; gap:2rem;}
	.services-listing .icon{margin-left:2rem; height:auto; width:5.62rem; flex:none;}
	.services-listing .icon img{height:auto; max-height: none; width:100%; max-width: 100%;}
	
	.flexible-section .inner-wrap, .flexible-section.image-right .inner-wrap{flex-direction: column; gap:var(--margin-big);}
	.flexible-section .image{height:calc(100vw/1.618); margin-left:-1.5rem; width:100%;}
	.flexible-section.image-right .image{height:calc(100vw/1.618); margin-left:0; margin-right:-1.5rem; width:100%;}
	.flexible-section .text{width:100%; padding:0 0 var(--margin-big) 0;}
	
	.news-listing{flex-wrap:wrap;}
	.news-listing .item:first-child{width:100%;}
	.news-listing .item{width:calc((100% - 0.75rem)/2);}
	
}

@media (max-width: 575.98px) {
	#page-wrap{box-shadow:inset 0 0 0 0 yellow;}
	
	.footer-bottom .footer-group{flex-direction: column-reverse; gap:var(--margin-small);}
	.footer-bottom .footer-group div+div:before{ display: none;}
	
	.dir-listing .overlay .links{flex-direction:column;}
	
	#main-slider .slick-dots{width:50%;}
	
	.locations-section{background: var(--color-blue);}
	.locations-section .bg{display:	none;}
	
	.services-listing .item{gap:2rem;}
	.services-listing .icon{margin-left:0;}
	
	.stat-listing .item{width:100%;}
	.stat-listing .value{font-size: 4.5rem;}
	
	.news-listing .item{width:100%;}
}

@media (max-width: 360px) {
	#page-wrap{box-shadow:inset 0 0 0 0 red;}

}




