/* BA custom theme. */

/* internal masthead */
.masthead-internal-section{margin-top:-3.06rem; padding-top:calc(var(--padding-large) + 3.06rem); padding-bottom:var(--padding-large);}
.masthead-internal-section .section-bg:after{content: ''; background: linear-gradient(270deg, rgba(0,0,0,0.2) var(--page-side-gap), rgba(0,0,0,0.7) calc(100% - var(--page-side-gap))); position: absolute; top:0; bottom:0; left:0; right:0;}
.masthead-internal-section.compact{padding-top:calc(var(--padding-normal) + 3.06rem); padding-bottom:var(--padding-normal);}


/* cta-section */
.cta-full-section .section-bg:after{content: ''; background: linear-gradient(270deg, rgba(0,0,0,0.2) var(--page-side-gap), rgba(0,0,0,0.7) calc(100% - var(--page-side-gap))); position: absolute; top:0; bottom:0; left:0; right:0;}


/* main-slider */
.main-slider-section{margin-top:-3.06rem; background: var(--color-black);}
.main-slider-section:after{content: ''; pointer-events: none; background: url("../img/shape-curv-bottom-right-white.svg") no-repeat center bottom / 156.25rem 100%; height:29.1754rem; position: absolute; left:0; right:0; bottom:-1px;}

#main-slider .item{display: flex; align-items: center; padding-top:12rem; padding-bottom:10rem;}
#main-slider .item .section-bg:after{content: ''; background: linear-gradient(270deg, rgba(0, 0, 0, 0.20) var(--page-side-gap), rgba(0, 0, 0, 0.70) 100%); position: absolute; top:0; right:0; bottom:0; left:0;}

.main-slider-controls{width:20rem; position: absolute; bottom:3.5rem; left:var(--page-side-gap); display: flex; align-items: center; gap:1rem;}
.main-slider-controls .slick-arrow{position: relative;}
.main-slider-controls .slick-prev{order:1;}
.main-slider-controls .current{order:2;}
.main-slider-controls .slick-dots{flex-grow:1; order:3; position: relative; bottom:0; height:auto;}
.main-slider-controls .total{order:4;}
.main-slider-controls .slick-next{order:5;}


/* services */
.services-section{padding-top:var(--padding-large);}
.services-section:after{content: ''; pointer-events: none; background: url("../img/shape-curv-bottom-left-blue.svg") no-repeat center bottom / 156.25rem 100%; height:32.7171rem; position: absolute; left:0; right:0; bottom:calc(2.2rem - 1px);}
.services-section .container{margin-bottom:-2.2rem; z-index: 2; display: flex; align-items: flex-start; flex-direction: row-reverse; gap:6rem;}
.services-listing{display: flex; flex-wrap:wrap; align-items: stretch; gap:1.5rem; width:calc(var(--container)*0.5833); flex:none;}
.services-listing .item{width:calc((100% - 1.5rem)/2);}
.services-listing .image{width:100%;}
.services-listing .image img{object-fit: cover; width:100%; height:100%; aspect-ratio:1.4795/1;}
.services-listing .title{margin-right:1.75rem; display: flex; align-items: center; margin-bottom:0; position: absolute; left:0; bottom:2rem; color:#fff; background: var(--color-red); font-size: var(--h4); padding:0.5rem 1.5rem; border-radius:0 1.7rem 1.7rem 0; transition:padding 0.2s ease, margin 0.2s ease;}
.services-listing .title:after{content: '\f101'; opacity:0; position: absolute; right:1.5rem; font:var(--font-icon); font-size: 1.25rem; transition:opacity 0.2s ease;}
.services-listing .item:hover .title, .services-listing .item .area-link:focus ~ .title{padding-right:3.25rem; margin-right:0;}
.services-listing .item:hover .title:after, .services-listing .item .area-link:focus ~ .title:after{opacity:1;}
.services-listing .item:first-child:before{content: ''; clip-path: polygon(0 0, calc(100% - 0.5rem) 0, 100% 0.5rem, 100% 100%, 0.5rem 100%, 0 calc(100% - 0.5rem)); background: var(--color-red); position: absolute; top:-0.5rem; left:-0.5rem; width:10rem; height:7.5rem; }
.services-listing .item:last-child:before{content: ''; clip-path: polygon(0 0, calc(100% - 0.5rem) 0, 100% 0.5rem, 100% 100%, 0.5rem 100%, 0 calc(100% - 0.5rem)); background: var(--color-red); position: absolute; bottom:-0.5rem; right:-0.5rem; width:10rem; height:7.5rem; }
.services-section .content{flex-grow:1; margin-bottom:var(--padding-large);}


/* expertise */
.expertise-section{padding-top:9.5rem; padding-bottom:13rem; background: var(--color-dark-blue);}
.expertise-section:after{content: ''; pointer-events: none; background: url("../img/shape-curv-bottom-right-white.svg") no-repeat center bottom / 156.25rem 100%; height:29.1754rem; position: absolute; left:0; right:0; bottom:-1px;}
.expertise-listing{display: flex; flex-wrap:wrap; align-items: flex-start; gap:var(--padding-normal) 3.5rem;}
.expertise-listing .item{width:calc((100% - 3.5rem*3)/4);}
.expertise-listing .icon{height:4.87rem; margin-bottom:var(--margin-normal);}
.expertise-listing .icon img{max-height: 100%;}
.expertise-listing .title{display: flex; align-items: center; border-radius:0 1.1rem 1.1rem 0; padding:0.25rem 2.81rem 0.25rem 0; font-size: var(--h5); margin-bottom:var(--margin-small); transition:background 0.2s ease, padding 0.2s ease;}
.expertise-listing .title:after{content: '\f101'; position: absolute; right:1.5rem; opacity:0; font: var(--font-icon); font-size: 1.31rem; transition:opacity 0.2s ease, right 0.2s ease;}
.expertise-listing .item:hover .title, .expertise-listing .item .area-link:focus ~ .title{padding-left:0.5rem; padding-right:2.31rem; background: var(--color-light-blue);}
.expertise-listing .item:hover .title:after, .expertise-listing .item .area-link:focus ~ .title:after{right:0.5rem; opacity:1;}


/* flexible-section */
.flexible-section{padding-top:var(--padding-large); padding-bottom:12.5rem;}
.flexible-section:after{content: ''; pointer-events: none; background: url("../img/shape-curv-bottom-left-grey.svg") no-repeat center bottom / 156.25rem 100%; height:25.0341rem; position: absolute; left:0; right:0; bottom:-1px;}
.flexible-content-block:before{content: ''; clip-path: polygon(0 0, calc(100% - 0.5rem) 0, 100% 0.5rem, 100% 100%, 0.5rem 100%, 0 calc(100% - 0.5rem)); background: var(--color-red); position: absolute; top:-0.5rem; left:-0.5rem; width:10rem; height:7.5rem; }
.flexible-content-block .image{width:100%; margin-bottom:var(--margin-normal);}
.flexible-content-block .image img{aspect-ratio:1.4752/1; object-fit: cover; width:100%; height:100%;}
.flexible-content-block .image:after{content: ''; background: url("../img/shape-curv-bottom-right-white-small.svg") no-repeat center bottom / 100% auto; position: absolute; left:-1px; right:-1px; bottom:-1px; top:0;}
.flexible-content-block .title{font-size: var(--h4);}


/* work */
.work-section{background: var(--color-grey); padding-top:var(--padding-normal);}
.work-section .container{z-index: 3; }

.work-slider{margin-bottom:1rem;}
.work-slider img{aspect-ratio:1.8461/1; object-fit: cover; width:100%; height:100%;}

.work-thumb-slider .item{ width:10.7rem; margin-right:1rem;}
.work-thumb-slider .item:not(.slick-current){cursor: pointer;}
.work-thumb-slider img{outline:4px solid transparent; outline-offset: -4px; aspect-ratio:1.7142/1; object-fit: cover; width:100%; height:100%; transition:outline 0.2s ease;}
.work-thumb-slider .slick-current img{outline-color:var(--color-red);}
.work-thumb-slider .item:after{content: ''; background: var(--color-blue); opacity:0; position: absolute; top:0; right:0; bottom:0; left:0; transition:opacity 0.2s ease;}
.work-thumb-slider .item:not(.slick-current):hover:after{opacity:0.6;}

.work-slider-controls{margin-top:var(--margin-normal); width:15rem; display: flex; align-items: center; gap:1rem;}
.work-section .work-slider-controls{margin-top:var(--margin-big);}
.work-slider-controls .slick-arrow{position: relative;}
.work-slider-controls .slick-prev{order:1;}
.work-slider-controls .slick-dots{flex-grow:1; order:3; position: relative; bottom:0; height:auto;}
.work-slider-controls .slick-next{order:5;}


/* home-cta */
.home-cta-section{margin-top:-17.75rem; padding-top:36rem; padding-bottom:10rem;}
.home-cta-section:after{content: ''; pointer-events: none; background: url("../img/shape-curv-bottom-left-light-grey.svg") no-repeat center bottom / 156.25rem 100%; height:19.5247rem; position: absolute; left:0; right:0; bottom:-1px;}
.home-cta-section:before{content: ''; z-index: 2; pointer-events: none; background: url("../img/shape-curv-top-left-grey.svg") no-repeat center top / 156.25rem 100%; height:29.25rem; position: absolute; left:0; right:0; top:-1px;}
.home-cta-section .section-bg:after{content: ''; background: linear-gradient(270deg, rgba(0, 0, 0, 0.20) var(--page-side-gap), rgba(0, 0, 0, 0.70) 100%); position: absolute; top:0; right:0; bottom:0; left:0;}
.home-cta-section .sep{margin-top:-2.5rem; margin-bottom:1rem; height: 1px; background:rgba(255,255,255,0.2);}




/* ************************* */
/* FOOTER					 */
/* ************************* */
#footer{margin-top:auto; flex:none; background: var(--color-light-grey); }

.footer-bottom{border-top:1px solid var(--color-grey); padding:1.5rem 0; font-size: var(--text-small); color:var(--color-dark-grey); }
.footer-bottom .container{display: flex; align-items: center; justify-content: space-between; gap:3.5rem;}
.footer-bottom .footer-group{display: flex; align-items: flex-start;}
.footer-bottom .footer-group > div + div:before{content: '|'; margin:0 0.5rem;}
.footer-bottom a:not(:hover):not(:focus){color:inherit;}

.footer-top{padding:var(--padding-normal) 0;}
.footer-brand{margin-right:3rem;}
.footer-brand img{max-width: 100%;}
.footer-top address{color:var(--color-dark-grey);}
.footer-top .contact a{text-decoration: none;}
.footer-top .contact a:not(:hover):not(:focus){color:var(--color-base);}

.social-share{display: flex; flex-wrap:wrap; gap:1rem;}
.social-share a{text-decoration: none; border:2px solid var(--color-dark-blue); width:2.5rem; height:2.5rem; border-radius:50%; background: var(--color-dark-blue); color:#fff; display: flex; align-items: center; justify-content: center;}
.social-share a:hover, .social-share a:focus{background: transparent; color:var(--color-dark-blue);}

.footer-links .title{margin-bottom:var(--margin-small); font-size: var(--h6); font-weight: 600; text-transform: uppercase; color:var(--color-dark-grey);}
.footer-links ul{gap:var(--margin-small); padding:0; list-style-type:none; display: flex; flex-direction: column; align-items: flex-start;}
.footer-links a{text-decoration: none; color:var(--color-base);}
.footer-links a:hover, .footer-links a:focus{text-decoration: underline; color:var(--color-hover);}

.footer-top .aff-listing{display: inline-flex; flex-direction: column; align-items: center; gap:var(--margin-normal);}
.footer-top .aff-listing img{max-width: 7.75rem; max-height: 7.8rem;}

.logos-section{border-bottom:1px solid var(--color-grey);}
.logos-section .logos-listing{display: flex; flex-wrap:wrap; align-items: center; gap:1.5rem 3.5rem; justify-content: center;}
.logos-section .logos-listing .item{width:calc((100% - 3.5rem*4)/5); display: flex; align-items: center; justify-content: center;}
.logos-section .logos-listing .item img{max-width:min(9rem, 100%);}




/* ************************* */
/* RESPONSIVE				 */
/* ************************* */
@media (min-width: 2499px) {
	.main-slider-section:after,
	.services-section:after,
	.expertise-section:after,
	.flexible-section:after,
	.home-cta-section:after,
	.home-cta-section:before{background-size: 100% 100%;}
}
	
@media (max-width: 1399.98px) {/* xl */
	#page-wrap{box-shadow:inset 0 0 0 0 black;}
	
	.expertise-section{padding-top:var(--padding-large); padding-bottom:10rem;}
	
	.flexible-section{padding-bottom:10rem;}
	
	.work-thumb-slider .item{ width:9.7rem;}
	
	.home-cta-section{margin-top:-22rem;}

}

@media (max-width: 1199.98px) {/* lg */
	#page-wrap{box-shadow:inset 0 0 0 0 red;}
	
	.masthead-internal-section{padding-top:calc(var(--padding-normal) + 3.06rem); padding-bottom:var(--padding-normal);}
	
	#main-slider .item{padding-top:var(--padding-large); padding-bottom:var(--padding-large);}
	
	.services-section .container{gap:4rem;}
	
	.expertise-listing{gap:var(--margin-big) 2rem;}
	.expertise-listing .item{width:calc((100% - 2rem*2)/3);}
	.expertise-section{padding-bottom:9rem;}
	
	.flexible-section{padding-bottom:7rem;}
	
	.home-cta-section{margin-top:-24rem;}

	
}

@media (max-width: 991.98px) {/* md */
	#page-wrap{box-shadow:inset 0 0 0 0 green;}
	
	.masthead-internal-section{margin-top:0; padding-top:var(--padding-normal);}
	.masthead-internal-section.compact{padding-top:var(--padding-normal);}
	
	.main-slider-section{margin-top:0;}
	#main-slider .item{padding-top:var(--padding-normal); padding-bottom:calc(var(--padding-large) + 1.5rem);}
	.main-slider-controls{bottom:4rem;}
	
	.services-section .content{margin-bottom:0;}
	.services-section .container{flex-direction: column; align-items:flex-start; gap:var(--margin-big);}
	.services-section .services-listing{width:auto; gap:0.75rem;}
	.services-listing .item{width:calc((100% - 0.75rem)/2);}
	
	.work-section .work-slider-controls{margin-top:var(--margin-normal);}
	.work-slider-controls{width:100%;}
	
	.home-cta-section{padding-bottom:8rem;}
	
	.home-cta-section{margin-top:-22rem;}
	
	.logos-section .logos-listing{gap:1.5rem;}
	.logos-section .logos-listing .item{width:calc((100% - 1.5rem*4)/5);}


}

@media (max-width: 767.98px) {/* sm */
	#page-wrap{box-shadow:inset 0 0 0 0 blue;}
	
	#footer{text-align: center;}
	.footer-bottom .container{flex-direction: column-reverse; gap:1rem; align-items: center;}
	.footer-brand{margin-right:0;}
	.footer-top .social-share{justify-content: center;}
	.footer-links ul{align-items: center;}
	.footer-top .aff-listing{flex-direction: row; justify-content: center; display: flex;}
	
	.expertise-listing .item{width:calc((100% - 2rem)/2);}
	
	.flexible-section{padding-bottom:6rem;}
	
	.work-thumb-slider{display: none;}
	
	.home-cta-section{padding-bottom:6rem;}
	
	.logos-section .logos-listing .item{width:calc((100% - 1.5rem*3)/4);}
}

@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); align-items: center;}
	.footer-bottom .footer-group > div + div:before{display: none;}
	
	.services-listing .item{width:100%;}
	
	.expertise-listing .item:first-child{width:100%;}
	.expertise-section{padding-bottom:6rem;}
	
	
}

@media (max-width: 360px) {
	#page-wrap{box-shadow:inset 0 0 0 0 red;}

}




