/* BA custom theme. */


/* masthead */
.masthead-internal-section{border-top:1px solid transparent; padding-bottom:var(--padding-large);}
.masthead-internal-section > .container{margin-top:calc(var(--header-height) + var(--padding-large));}
.masthead-internal-section .section-bg:after{content: ''; background:linear-gradient(0deg, rgba(0, 1, 34, 0.00) 0%, rgba(0, 1, 34, 0.60) 100%) no-repeat left top / 100% 21.8rem rgba(0, 1, 34, 0.60); position: absolute; inset:0;}
.masthead-internal-section .breadcrumbs-section{margin-top:var(--header-height);}
.masthead-internal-section .breadcrumbs-section + .container{margin-top:var(--padding-large);}

.masthead-internal-section.has-no-image + .content-section:not([class*='bg-']){padding-top:0;}


/* cta-full */
.cta-full-section{padding:var(--padding-large) 0;}


/* main-slider */
#main-slider{counter-reset:SlideNum;}
#main-slider .item{padding-top:calc(var(--padding-x-large) + var(--header-height)); padding-bottom:var(--padding-x-large);}
#main-slider .item .section-bg:after{content: ''; background:linear-gradient(0deg, rgba(0, 1, 34, 0.00) 0%, rgba(0, 1, 34, 0.60) 100%) no-repeat left top / 100% 21.8rem rgba(0, 1, 34, 0.60);  position: absolute; inset:0;}

#main-slider .slick-dots{top:calc(var(--padding-x-large) + var(--header-height) + 2.25rem); flex-direction: column; align-items: flex-end; gap:2.38rem; justify-content:flex-start; bottom:auto; height:auto; width:0; right:var(--page-side-gap); left:auto; }
#main-slider .slick-dots li{height:1px;}
#main-slider .slick-dots li button{opacity:0.5; width:1rem; height:1px; margin:0; border:0; border-radius:0; background:var(--color-white); overflow:visible; padding:0; line-height:1; transition:opacity 0.2s ease;}
#main-slider .slick-dots li button:before{counter-increment: SlideNum; content:'0'counter(SlideNum); top:-0.4rem; font-size: var(--text-small); color:var(--color-white); position: absolute; right:1.5rem; transition:transform 0.4s ease;}
#main-slider .slick-dots li button:hover{opacity:1;}
#main-slider .slick-dots .slick-active button, #main-slider  .slick-dots .slick-active button:hover{opacity:1; cursor:default;}
#main-slider .slick-dots .slick-active button:before, #main-slider  .slick-dots .slick-active button:hover:before{font-weight: 500; transform: scale(1.615); transform-origin: 100% 50%;}


/* approach */
.approach-slider{margin-top:var(--padding-large);}
.approach-slider .swiper-wrapper{height:var(--item-height); align-items: center;}
.approach-slider .item{width:calc(var(--container)*0.5 - 1.5rem);  margin:0 calc(var(--container)/24 + 0.75rem); text-align: center; border-radius:var(--radius-normal);}
.approach-slider .item:before{content: ''; background: transparent; position: absolute; inset:0; border-radius:inherit; transition:background 1s ease;}
.approach-slider .image{width:100%;}
.approach-slider .image img{border-radius:var(--radius-normal); aspect-ratio:1.71/1; object-fit: cover; width:100%; height:100%;}
.approach-slider .content{padding:2rem; width:100%;}
.approach-slider .title{font-size: var(--h4); font-weight: 400; text-transform: uppercase;}
.approach-slider .content .textbox{overflow: hidden; transition:height 0.4s ease;}
.approach-slider .content .textbox .sp-link{margin-bottom:0.5rem;}
.approach-slider .item.swiper-slide-active:before{ background: var(--color-night);}
.approach-slider .item.swiper-slide-active .content .textbox{height:var(--h)!important;}

.approach-slider .swiper-button-next{right:calc(var(--page-side-gap) + var(--container)*(0.1666 + 0.03)); transform: translateX(50%);}
.approach-slider .swiper-button-prev{left:calc(var(--page-side-gap) + var(--container)*(0.1666 + 0.03)); transform: translateX(-50%)}


/* solutions */
.solutions-listing{display: flex; flex-wrap:wrap; align-items: stretch; gap:1.5rem;}
.solutions-listing .item{min-height:calc(var(--item-height) - 2.5rem); --item-height:18rem; display: flex; align-items:stretch; width:calc((100% - 1.5rem)/2); border-radius:var(--radius-normal);}
.solutions-listing .inner{ width:100%; padding:2rem; border-radius:inherit; border:1px solid var(--color-dark-border); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; transition:border 0.2s ease, background 0.2s ease;}
.solutions-listing .item:hover .inner{border-color:var(--color-indigo); background: var(--color-indigo);}
.solutions-listing .title{font-size: var(--h5); font-weight: 400; text-transform: uppercase; margin-bottom:0;}
.solutions-listing .item .textbox{margin-top:var(--margin-normal); color:var(--color-white);}
.solutions-listing .icon{height:6.75rem; margin-bottom:var(--margin-normal); transition:height 0.3s ease;}
.solutions-listing .icon img{height:100%; max-height: 100%; transition:opacity 0.3s ease;}
.solutions-listing .icon .default{opacity:1;}
.solutions-listing .icon .hover{opacity:0; position: absolute; top:0; left:0;}
.solutions-listing .item:hover .icon{height:3.5rem; transition-delay:0.1s;}
.solutions-listing .item:hover .icon .default{opacity:0;}
.solutions-listing .item:hover .icon .hover{opacity:1;}


/* systems */
.systems-listing{display: flex; align-items: stretch; gap:0.12rem;}
.systems-listing .item{min-height:var(--item-height); --item-height:20rem; border-radius:var(--radius-normal); border-top-right-radius: 0; display: flex; align-items: stretch; width:calc((100% - 0.12rem*2)/3);}
.systems-listing .item:after{content: '\f061'; transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; width:3.125rem; height:3.125rem; border:1px solid var(--color-white); border-radius:50%; position: absolute; top:0; right:0; opacity:0.4; font: var(--font-icon); font-size: 1.5rem; transition:opacity 0.2s ease;}
.systems-listing .item:hover:after{opacity:1;}
.systems-listing .inner{padding:2rem; background: var(--color-night); border-radius:inherit; width:100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; transition:background 0.3s ease;
	mask:linear-gradient(180deg, #000 0%, #000 100%),
	url("/web/assets/img/mask-top-right-corner.svg") no-repeat right top / 4.4375rem;
	mask-composite:subtract;}
.systems-listing .item:hover .inner{background: var(--color-indigo);}
.systems-listing .icon{height:2.5625rem; margin-bottom:var(--margin-normal);}
.systems-listing .icon img{height:100%; max-height: 100%; transition:opacity 0.3s ease;}
.systems-listing .icon .default{opacity:1;}
.systems-listing .icon .hover{opacity:0; position: absolute; top:0; left:0;}
.systems-listing .item:hover .icon .default{opacity:0;}
.systems-listing .item:hover .icon .hover{opacity:1;}
.systems-listing .title{font-size: var(--h5); font-weight: 400; text-transform: uppercase;}
.systems-listing .textbox{color:var(--color-white); margin-bottom:0;}
.systems-listing .collapse .textbox{margin-top:var(--margin-normal);}
.systems-listing .collapse .textbox ul{padding-left:0;}


/* about */
.about-inner{display: flex; align-items:stretch; gap:0.12rem;}
.about-inner .image{width:calc(50% - 0.12rem/2); flex:none;}
.about-inner .image img{object-fit: cover; width:100%; height:100%; border-radius:var(--radius-normal);}

.about-listing{width:calc(50% - 0.12rem/2); flex:none; display: flex; align-items: stretch; flex-wrap:wrap; gap:0.12rem;}
.about-listing .item{min-height:var(--item-height); --item-height:20rem; border-radius:var(--radius-normal); border-top-right-radius: 0; display: flex; align-items: stretch; width:calc((100% - 0.12rem)/2);}
.about-listing .item:after{content: '\f061'; transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; width:3.125rem; height:3.125rem; border:1px solid var(--color-white); border-radius:50%; position: absolute; top:0; right:0; opacity:0.4; font: var(--font-icon); font-size: 1.5rem; transition:opacity 0.2s ease;}
.about-listing .item:hover:after{opacity:1;}
.about-listing .inner{padding:2rem 3.5rem 2rem 2rem; background: var(--color-night); border-radius:inherit; width:100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; transition:background 0.3s ease;
	mask:linear-gradient(180deg, #000 0%, #000 100%),
	url("/web/assets/img/mask-top-right-corner.svg") no-repeat right top / 4.4375rem;
	mask-composite:subtract;}
.about-listing .item:hover .inner{background: var(--color-indigo);}
.about-listing .title{font-size: var(--h4); font-weight: 400; margin-bottom:0;}
.about-listing .collapse .textbox{margin-top:var(--margin-normal);}
.about-listing .collapse .textbox ul{padding-left:0;}


/* logos */
.logos-wrap{padding:var(--margin-big) 3.5rem var(--padding-normal) 3.5rem; border-radius:var(--radius-normal); background: var(--color-white);}
.logos-wrap .title{margin-left:-3.5rem; padding:0.5rem 3.5rem; background: var(--color-black); border-radius:0 var(--radius-normal) var(--radius-normal) 0; font-size: var(--h4); font-weight: 400;}
.logos-wrap .title:before{content: ''; background: url("/web/assets/img/curv-outer-top-left.svg") no-repeat left bottom / contain; bottom:calc(100% - 1px); left:-1px; width:0.8125rem; height:0.8125rem; position: absolute;}
.logos-wrap .title:after{content: ''; background: url("/web/assets/img/curv-outer-bottom-left.svg") no-repeat left top / contain; top:calc(100% - 1px); left:-1px; width:0.8125rem; height:0.8125rem; position: absolute;}

.logos-listing{display: flex; align-items: center; flex-wrap:wrap; gap:2.5rem; justify-content:space-evenly;}
.logos-listing .item{width:calc((100% - 2.5rem*5)/6);}
.logos-listing .item img{object-fit: contain; width:100%; height:100%; transition:transform 0.2s ease;}
.logos-listing .item a:hover img, .logos-listing .item a:focus img{transform: scale(1.2);}




/* ************************* */
/* FOOTER					 */
/* ************************* */
#footer{margin-top:auto; flex:none; }

.footer-bottom{border-top:1px solid var(--color-dark-border); padding:1.5rem 0; font-size: var(--text-small); color:var(--color-base);} 
.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{border-top:1px solid var(--color-dark-border); padding:var(--padding-normal) 0;}
.footer-brand{padding-right:2rem;}
.footer-brand img{width:15.25rem; max-width: 100%;}

.footer-contacts{display: flex; flex-direction: column; align-items: flex-start; gap:var(--margin-small);}
.footer-contacts .item{display: flex; gap:0.5rem; align-items: flex-start;}
.footer-contacts .icon{margin-top:0.3rem;}
.footer-contacts a:not(:hover):not(:focus){color:var(--color-base);}

.footer-nav-wrap{--bs-gutter-x:5rem;}
.footer-nav{padding-top:2rem;}
.footer-nav .title{margin-bottom:1rem; font-size: var(--h6); font-weight: 500; line-height: 1.2; text-transform: uppercase;}
.footer-nav ul{padding:0; list-style-type: none; display: flex; flex-direction: column; align-items: flex-start; gap:1rem;}
.footer-nav ul a{color:var(--color-base); text-decoration: none;}
.footer-nav ul a:hover, .footer-nav ul a:focus{color:var(--color-hover);}



/* ************************* */
/* RESPONSIVE				 */
/* ************************* */
@media (max-width: 1399.98px) {/* xl */
	#page-wrap{box-shadow:inset 0 0 0 0 yellow;}
	
	.footer-nav-wrap{--bs-gutter-x:2rem;}
	
	#main-slider .item{padding-top:calc(var(--padding-large) + var(--header-height)); padding-bottom:var(--padding-large);}
	#main-slider .slick-dots{top:calc(var(--padding-large) + var(--header-height) + 2.25rem);}
	
	.logos-listing{gap:1.5rem;}
	.logos-listing .item{width:calc((100% - 1.5rem*5)/6);}
}

@media (max-width: 1199.98px) {/* lg */
	#page-wrap{box-shadow:inset 0 0 0 0 red;}
	
	.masthead-internal-section{padding-bottom:var(--padding-normal);}
	.masthead-internal-section > .container{margin-top:calc(var(--header-height) + var(--padding-normal));}
	.masthead-internal-section .breadcrumbs-section + .container{margin-top:var(--padding-normal);}
	
	.footer-nav-wrap{--bs-gutter-x:1.5rem;}
	
	.approach-slider{margin-top:var(--padding-normal);}
	
	.about-listing .item{width:100%; min-height:var(--item-height); --item-height:10rem;}
	
	.logos-listing .item{width:calc((100% - 1.5rem*4)/5);}
}

@media (max-width: 991.98px) {/* md */
	#page-wrap{box-shadow:inset 0 0 0 0 green;}
	
	.masthead-internal-section .breadcrumbs-section{margin-top:var(--header-height-mobile);}
	.masthead-internal-section > .container{margin-top:calc(var(--header-height-mobile) + var(--padding-normal));}
	
	#main-slider .item{padding-top:calc(var(--padding-normal) + var(--header-height-mobile)); padding-bottom:var(--padding-normal);}
	#main-slider .slick-dots{top:calc(var(--padding-normal) + var(--header-height-mobile) + 2.25rem);}
	
	.approach-slider .item{width:calc(var(--container)*0.5833 - 1.5rem);  margin:0 0.75rem;}
	.approach-slider .swiper-pagination-bullets{margin-top:var(--margin-normal);}
	.approach-slider{margin-top:var(--margin-big);}
	
	.solutions-listing .item .collapse{display: block;}
	.solutions-listing .inner{padding:1.5rem; justify-content: flex-start;}
	.solutions-listing .item:hover .icon{height:6.75rem;}
	.solutions-listing{gap:0.75rem;}
	.solutions-listing .item{width:calc((100% - 0.75rem)/2); min-height: inherit;}
	.solutions-listing .item .textbox{margin-top:var(--margin-small);}
	
	.systems-listing .collapse{display: block;}
	.systems-listing .inner{padding:4rem 1.5rem 1.5rem 1.5rem; justify-content: flex-start;}
	.systems-listing .item{min-height: inherit;}
	
	.about-listing .collapse{display: block;}
	.about-listing .item{width:100%; min-height:inherit; }
	
	.logos-listing .item{width:calc((100% - 1.5rem*3)/4);}

	
}

@media (max-width: 767.98px) {/* sm */
	#page-wrap{box-shadow:inset 0 0 0 0 blue;}
	
	.footer-bottom > .container{flex-direction: column-reverse; gap:var(--margin-small); align-items: center;}
	#footer{text-align: center;}
	.footer-contacts{align-items: center;}
	.footer-brand{padding:0;}
	.footer-nav ul{flex-direction: row; flex-wrap:wrap; justify-content: center; gap:0.5rem 1.5rem; margin-left:10vw; margin-right:10vw;}
	
	.approach-slider .item{width:80vw;  margin:0 0.375rem;}
	
	.systems-listing{flex-wrap:wrap;}
	.systems-listing .item{width:100%;}
	.systems-listing .inner{padding-top:1.5rem;}
	
	.about-inner{flex-direction: column;}
	.about-inner .image{width:100%;}
	.about-inner .image img{aspect-ratio:1.618/1;}
	.about-listing{width:100%;}
	.about-listing .item{ width:calc((100% - 0.12rem)/2);}
	
	.logos-listing .item{width:calc((100% - 1.5rem*2)/3);}
	.logos-wrap{padding-left:2rem; padding-right:2rem;}
	.logos-wrap .title{margin-left:-2rem; padding-left:2rem; padding-right:2rem;}
}

@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;}
	
	.solutions-listing .item{width:100%;}
	.solutions-listing .title{font-size: var(--h4);}
	.systems-listing .title{font-size: var(--h4);}
	
	.about-listing .item{ width:100%;}
	
	.logos-listing .item{width:calc((100% - 1.5rem)/2);}
}

@media (max-width: 360px) {
	#page-wrap{box-shadow:inset 0 0 0 0 red;}

}




