/* BA custom framework. Based on Bootstrap 5.3. Jan 2023. */
/*	
	1.	vars
	2.	layout
	3.	colors, background, overlays
	4.	typography
	5.	margins
	6.	buttons
	7.	links
	8.	alerts
*/


/* ************************* */
/* 1. VARS					 */
/* ************************* */
:root{
	--color-base:#0B2F77;
	--color-base65:rgba(11, 47, 119, 0.65);
	--color-base5:rgba(11, 47, 119, 0.05);
	--color-grey:#DDE4EB;
	--color-light-grey:#F6F8FA;
	--color-dark-grey:#7584A1;
	--color-cyan:#0AF;
	--color-dark-blue:#0B2F77;
	--color-dark-overlay:rgba(15, 38, 55, 0.8);
	--color-indigo:#0155FF;
	--color-pale-blue:#B2E3FF;
	--color-midnight:#07245D;
	--color-gold:#F28D00;
	--color-yellow:#FFC963;
	--color-pale-yellow:#FFE1A7;
	
	--color-link:var(--color-indigo);
	--color-hover:var(--color-cyan);
	--color-active:var(--color-gold);
	--color-disabled:var(--color-light-grey);
	
	--lh-base:1.5;
	--lh-p:1.2;
	--font-base:400 1rem/1.5 'Base', sans-serif;
	--font-icon:900 1rem/1 'Font Awesome 6 Free';
	--font-heading:300 1rem/1.2 'Base', sans-serif;
	
	--margin-small:0.5rem;
	--margin-normal:1.5rem;
	--margin-big:3.5rem;
	--padding-normal:5rem;
	--padding-large:7.5rem;
	
	--container:1320px;
	--radius-small:0.25rem;
	--radius-normal:0.75rem;
	--radius-big:3rem;
	--input-height:4rem;
	--header-height:8.55rem;
	--header-height-sticky:4.75rem;

	--time-fast:0.2s;
	
	--scroll-width:0.5rem;
}
@media (max-width: 1399.98px) {
	:root{
		--container:1140px;}
}
@media (max-width: 1199.98px) {
	:root{
		--header-height:7.55rem;
		--header-height-sticky:3.5rem;
		--container:960px;}
}
@media (max-width: 991.98px) {
	:root{
		--container:100vw;
		--padding-normal:5rem;
		--padding-large:6.5rem;
		--radius-big:2rem;}
}
@media (max-width: 767.98px) {
	:root{
		--margin-small:0.5rem;
		--margin-normal:1rem;
		--margin-big:2.5rem;
		--padding-normal:3.5rem;
		--padding-large:5rem;}
}



/* ************************* */
/* 2. LAYOUT				 */
/* ************************* */
html, body{height:100%;}
body{color: var(--color-base); background:white; display: flex; flex-direction: column; overflow-x: hidden;}
body *{ position:relative;}

#page-wrap{flex:1 0 auto; background: #fff;}

.container{width:var(--container); margin-left:calc(50vw - var(--container)/2);}
.content-section{ padding-top:var(--padding-normal); padding-bottom:var(--padding-normal); }
.large-padding-top{ padding-top:var(--padding-large);}
.large-padding-bottom{ padding-bottom:var(--padding-large);}
.content-section:not([class*='bg-'])+.content-section:not([class*='bg-']){padding-top:0;}

[class*='col-'].indent-right{padding-right:calc(var(--container)/24);}
[class*='col-'].indent-left{padding-left:calc(var(--container)/24);}

.textbox:after{ content:''; display:block; clear:both; font-size: 1px; line-height: 0px; margin:0; padding:0;}

.text-image-wrap img, .text-image-wrap figure{border-radius:var(--radius-normal); overflow: hidden; display:inline-block; margin:0.35rem 0; max-width:100%; z-index:2;}
.text-image-wrap.align-left{float:left; width:33.33%; margin-right:var(--bs-gutter-x); margin-bottom:1rem;}
.text-image-wrap.align-right{float:right; width:33.33%; margin-left:var(--bs-gutter-x); margin-bottom:1rem;}
.text-image-wrap.align-left img, .text-image-wrap.align-right img{width:100%;}
.text-image-wrap.align-center{text-align:center;}
.text-image-wrap.align-center img{width:auto;}
.text-image-wrap.align-stretch img{width:100%;}
.text-image-wrap figure img{margin:0; width:100%;}
.text-image-wrap figcaption{ z-index:2; position:absolute; left:0; bottom:0; padding:1rem; background-color:var(--color-dark-overlay); color:white;}
.text-image-wrap.align-left figure, .text-image-wrap.align-right figure, .text-image-wrap.align-stretch figure{width:100%;}

.textbox iframe {max-width:100%;}

#scrollup { position:fixed; display:block; color:white!important; opacity:0; box-shadow:0 1rem 3rem rgba(0,0,0,0.5); background-color:rgba(0,0,0,0.5); border-radius:50%; text-align:center; line-height:2.5rem; width:2.5rem; height:2.5rem; bottom:-3.5rem; left:calc(100vw - 3.7rem); z-index: 1000;  transition:opacity 1s ease, bottom 1s ease, color 0.2s ease, background-color 0.2s ease; text-decoration:none; }
#scrollup:after{ content:'\f30c'; font:var(--font-icon);}
#scrollup:hover{ background-color:var(--color-hover);}
#scrollup.affix{ opacity:1; bottom:5rem;}

* {scrollbar-width: thin; scrollbar-color: var(--color-dark-grey) var(--color-light-grey);}
*::-webkit-scrollbar {height: var(--scroll-width); width: var(--scroll-width);}
*::-webkit-scrollbar-track {background: var(--color-light-grey);}
*::-webkit-scrollbar-thumb {background: var(--color-dark-grey); border-radius: 0; border: 0;}
*::-webkit-scrollbar-thumb:hover {background: var(--color-dark-grey);}
:root { scroll-behavior: auto; }


@media (max-width: 991.98px) {
	.container{max-width: var(--container);}
	
	[class*='col-'].indent-right{padding-right:calc(var(--bs-gutter-x) * .5);}
	[class*='col-'].indent-left{padding-left:calc(var(--bs-gutter-x) * .5);}
}
@media (max-width: 767.98px) {
	h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .textbox p, .textbox ul, .textbox ol{margin-bottom:var(--margin-normal); margin-top:0;}
	.text-image-wrap.align-left, .text-image-wrap.align-right{float:none; width:auto; max-width:100%; margin-right:0; margin-left:0; margin-bottom:var(--margin-normal);}
	.text-image-wrap.align-left img, .text-image-wrap.align-right img, .text-image-wrap.align-left figure, .text-image-wrap.align-right figure{width:auto;}

	.textbox, .form-wrap, .accordion, .side-nav, .tabs-wrap{margin-bottom:var(--margin-big);}
	
	#scrollup.affix{ opacity:1; bottom:8.5rem;}
}
@media (max-width: 575.98px) {
	#scrollup.affix{ opacity:1; bottom:1rem;}
}


/* ************************* */
/* 3. COLORS & BACKGROUNDS	 */
/* ************************* */
.color-white{color:#fff;}
.color-base{color:var(--color-base);}
.color-grey{color:var(--color-grey);}
.color-dark-grey{color:var(--color-dark-grey);}
.color-light-grey{color:var(--color-light-grey);}
.color-cyan{color:var(--color-cyan);}
.color-dark-blue{color:var(--color-dark-blue);}
.color-indigo{color:var(--color-indigo);}
.color-cyan{color:var(--color-cyan);}
.color-gold{color:var(--color-gold);}

.bg-color-grey{ background-color:var(--color-grey);}
.bg-color-dark-blue{ background-color:var(--color-dark-blue);}
.bg-color-light-grey{ background-color:var(--color-light-grey);}

[class*='overlay-color-']:before{ content:''; display:block; position:absolute; top:0; right:0; bottom:0; left:0;}
.overlay-color-dark:before{ background-color:var(--color-dark-overlay);}

.bg-image-cover{ background-position: center; background-size: cover;}



/* ************************* */
/* 4. TYPOGRAPHY			 */
/* ************************* */
html{font-size: 16px;}
body{font:var(--font-base);}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{font:var(--font-heading); color: inherit;}
h1, .h1{font-size:3.50rem; font-weight: 400;}
h2, .h2{font-size:2.87rem;}
h3, .h3{font-size:2.00rem;}
h4, .h4{font-size:1.625rem;}
h5, .h5{font-size:1.37rem; font-weight: 600;}
h6, .h6{font-size:1.12rem; font-weight: 700;}

.lead, .big{ font-size:1.25rem; font-weight:400; line-height: inherit;}
.small{ font-size:0.81rem;}
.in-form-header:not(:first-child){margin-top:var(--margin-normal); margin-bottom:var(--margin-small);}
.weight-regular{font-weight: 400;}
.weight-semibold{font-weight: 600;}
.weight-bold{font-weight: 700;}
.style-italic{font-style: italic;}
.style-stretched{letter-spacing: 0.035rem;}
.supheader{color:var(--color-indigo); display: block; font-size: 1.125rem; font-weight: 400; letter-spacing: 0.045rem; text-transform: uppercase;}
.color-white .supheader{color:var(--color-pale-blue);}

.textbox ul{ list-style-type:none; padding-left:1.5rem; overflow:hidden;}
.textbox ul li{padding-left:1rem; background:url(../../img/list-marker.svg) no-repeat 0 0.65rem;}
.textbox ul li ul{margin-top:var(--margin-small); padding-left:0.5rem;}
.textbox ul.no-padding{padding-left:0;}

.textbox .style-check li{background: none; padding-left:1.25rem;}
.textbox .style-check li:before{content: '\f058'; font: var(--font-icon); position: absolute; top:0.25rem; left:-0.25rem;}
.small .textbox .style-check li:before{font-size: 0.87rem; left:0;}
.small .textbox .style-check li+li{margin-top:0;}

.textbox ol{counter-reset: listCounter; padding-left:2.5rem; overflow:hidden;}
.textbox ol li{ list-style:none;}
.textbox ol li:before{counter-increment: listCounter; content:counter(listCounter)'. '; color:var(--color-indigo); display:inline-block; margin-left:-1.3rem; margin-right:0.3rem; min-width:1rem; text-align:center;}
.textbox ol li ol{padding-left:2.3rem; margin-top:var(--margin-small); counter-reset: subCounter;}
.textbox ol li ol li:before{counter-increment: subCounter; content:counter(listCounter)'.'counter(subCounter)'. ';  margin-left:-2.1rem; margin-right:0.3rem; min-width:1.7rem;}

.textbox li+li{margin-top:var(--margin-small);}

.textbox.blockquote{padding:2rem; border-radius:var(--radius-normal); background: var(--color-light-grey);}
.textbox.blockquote blockquote{font-style: italic; margin-bottom:var(--margin-normal);}
.textbox.blockquote blockquote:before{content: ''; background: url("../../img/quote-mark.svg") no-repeat right bottom / contain; position: absolute; top:-2.75rem; left:-4rem; width:3.69rem; height:2.87rem; }
.textbox.blockquote figcaption{font-size: 1.125rem; font-weight: 700; color:var(--color-dark-grey);}

.textbox .buttons-group{display: flex; flex-wrap:wrap; gap:var(--margin-small) 1.5rem;}
.text-center .textbox .buttons-group, .textbox.text-center .buttons-group, .textbox .buttons-group.text-center{justify-content: center;}


@media (max-width: 1199.98px) {
	aside .textbox.blockquote blockquote{font-size:1rem;}	
}

@media (max-width: 991.98px) {
	html{font-size: 14px;}
	.textbox.blockquote blockquote:before{top:-2.68rem; left:-3rem; width:3.19rem; height:2.37rem; }
}

@media (max-width: 767.98px) {
	h1{font-size:2.44rem;}
	h2, .h2{font-size:2.06rem;}
	h3, .h3{font-size:1.68rem;}
	h4, .h4{font-size:1.43rem;}
	h5, .h5{font-size:1.18rem;}
	h6, .h6{font-size:1.00rem;}
	.lead, .big{font-size: 1.12rem;}
	.supheader{font-size: 1.1rem;}
	
	.textbox ol{padding-left: 2.5rem;}
	.textbox ul{padding-left: 1.5rem;}
}



/* ************************* */
/* 5. MARGINS				 */
/* ************************* */
h1, h2, h3, h4, h5, h6, ul, ol, p, .alert, address, dl{margin:0;}
h1, h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6, .textbox p, .textbox ul, .textbox ol, .text-image-wrap
	{margin-bottom:var(--margin-normal);}
.textbox, .form-wrap, .accordion, .side-nav, .tabs-wrap, .side-nav-wrap
	{margin-bottom:var(--margin-big);}
.textbox:last-child, .form-wrap:last-child, .accordion:last-child, .side-nav:last-child, .textbox ul:last-child, .textbox ol:last-child, .textbox p:last-child, .textbox .text-image-wrap:last-child,
	h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, 
	.h1:last-child, .h2:last-child, .h3:last-child, .h4:last-child, .h5:last-child, .h6:last-child,
	[class*='mb']:last-child, .tabs-wrap:last-child, .textbox blockquote:last-child, .form-group:last-child
	{margin-bottom:0;}

.mb-half, .textbox .mb-half{margin-bottom:var(--margin-small);}
.mb{margin-bottom:var(--margin-normal);}
.mb-big{margin-bottom:var(--margin-big);}
.mb-0{margin-bottom:0!important;}

@media (max-width: 1399.98px) {
	.mb-big-xl{margin-bottom:var(--margin-big);}
	.mb-xl{margin-bottom:var(--margin-normal);}
	.mb-half-xl{margin-bottom:var(--margin-small);}
}
@media (max-width: 1199.98px) {
	.mb-big-lg{margin-bottom:var(--margin-big);}
	.mb-lg{margin-bottom:var(--margin-normal);}
	.mb-half-lg{margin-bottom:var(--margin-small);}
}
@media (max-width: 991.98px) {
	.mb-big-md{margin-bottom:var(--margin-big);}
	.mb-md{margin-bottom:var(--margin-normal);}
	.mb-half-md{margin-bottom:var(--margin-small);}
}
@media (max-width: 767.98px) {
	.mb-big-sm{margin-bottom:var(--margin-big);}
	.mb-sm{margin-bottom:var(--margin-normal);}
	.mb-half-sm{margin-bottom:var(--margin-small);}
}



/* ************************* */
/* 6. BUTTONS				 */
/* ************************* */
.btn {height:2.56rem; border-radius:1.28rem; border:0; padding:0.7rem 1.5rem; text-transform: uppercase; letter-spacing: 0.035rem; font-weight: 600; font-size: 0.875rem; line-height: 1.4; transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, padding 0.2s ease; }
.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus,
button:focus, button:active:focus, button.active:focus, button.focus, button:active.focus, button.active.focus{outline:0!important;}

.btn-primary{color:#fff; background:var(--color-gold);}
.btn-primary:hover, .btn-primary:focus, .focus.btn-primary, .btn-primary:active, .active.btn-primary, .btn-primary:active:focus, .btn-primary:active:hover, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .btn-primary.dropdown-toggle{
	color:white; background:var(--color-hover);}

.btn-default{ background:var(--color-indigo); color: #fff;}
.btn-default:hover, .btn-default:focus, .focus.btn-default, .btn-default:active, .active.btn-default, .btn-default:active:focus, .btn-default:active:hover, .btn-default.active:hover, .btn-default.active:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .btn-default.dropdown-toggle{
	color:white; background:var(--color-hover);}

.btn-white{ background:#fff; color:var(--color-indigo);}
.btn-white:hover, .btn-white:focus, .focus.btn-white, .btn-white:active, .active.btn-white, .btn-white:active:focus, .btn-white:active:hover, .btn-white.active:hover, .btn-white.active:focus, .btn-white:active.focus, .btn-white.active.focus, .open > .btn-white.dropdown-toggle{
	background:var(--color-hover); color:#fff;}

.btn-link{padding:0; height:auto; text-decoration: none; color:var(--color-link);}
.btn-link:hover, .btn-link:focus{color:var(--color-hover); text-decoration: none;}
.color-white .btn-link{color:var(--color-yellow);}
.color-white .btn-link:hover, .color-white .btn-link:focus{color:var(--color-pale-blue);}

.btn .icon-first{margin-right:0.75rem;}
.btn .icon-last{margin-left:0.75rem;}
.btn [class*='icon-']{line-height:0.01;}

.btn-sm{height:2.06rem; padding:0.45rem 1rem;}

.textbox .btn{margin-top:0.35rem; margin-bottom:0.35rem;}

.btn.has-arrow:hover, .btn.has-arrow:focus{padding-left:1.12rem; padding-right:1.88rem;}
.btn.has-arrow .icon{display: inline-block; vertical-align: -10%; background: url("../../img/i-angle-right-white.svg") no-repeat right center / contain; margin-left:0.5rem; right:0; width:0.56rem; height:0.8531rem; transition:right 0.2s ease;}
.btn.has-arrow .icon:after{content: ''; position: absolute; right:2px; height:2px; width:0; border-radius:1px; top:calc(50% - 1px); background:#fff; transition:width 0.2s ease, background 0.2s ease;}
.btn.has-arrow:hover .icon, .btn.has-arrow:focus .icon{right:-0.68rem;}
.btn.has-arrow:hover .icon:after, .btn.has-arrow:focus .icon:after{width:1.12rem;}
.btn.btn-white.has-arrow .icon{background-image: url("../../img/i-angle-right-blue.svg");}
.btn.btn-white.has-arrow:hover .icon, .btn.btn-white.has-arrow:focus .icon{background-image: url("../../img/i-angle-right-white.svg")}

@media (max-width: 767.98px) {
	.btn:not(.btn-link):not(.btn-sm){height:auto; white-space:normal; padding-top:0.7rem; padding-bottom:0.6rem;}
}



/* ************************* */
/* 7. LINKS					 */
/* ************************* */
a {color:var(--color-link); transition:color 0.2s ease, background 0.2s ease;}
a:hover, A:focus{color:var(--color-hover);}
a:focus, a:active, a:active:focus{outline:none;}
.color-white a:not(.btn){color:var(--color-yellow);}
.color-white a:not(.btn):hover, .color-white a:not(.btn):focus{color:var(--color-pale-blue);}

a img{border:0;}

a[href*='mailto']{word-break: break-all;}

.area-link{ position:absolute; top:0; left:0; width:100%; height:100%; z-index: 2;}
.anchor-link{display:block; top:-4rem; width:100%; height:0;}

.sp-link{ padding-right:1.17rem; color:var(--color-link); display: inline-block; white-space: nowrap; text-transform: uppercase; text-decoration: none; letter-spacing: 0.035rem; font-weight: 600; font-size: 0.87rem; line-height: 1.3;}
.sp-link .icon{display: inline-block; vertical-align: -10%; background: url("../../img/i-angle-right-blue.svg") no-repeat right center / contain; margin-left:0.5rem; right:0; width:0.56rem; height:0.8531rem; transition:right 0.2s ease;}
.sp-link .icon:after{content: ''; position: absolute; right:2px; height:2px; width:0; border-radius:1px; top:calc(50% - 1px); background: var(--color-link); transition:width 0.2s ease, background 0.2s ease;}
.sp-link:hover .icon, .sp-link:focus .icon{right:-0.68rem; background-image: url("../../img/i-angle-right-cyan.svg");}
.sp-link:hover .icon:after, .sp-link:focus .icon:after{width:1.12rem; background: var(--color-hover);}

.color-white a.sp-link{color:var(--color-yellow);}
.color-white a.sp-link:hover, .color-white a.sp-link:focus{color:var(--color-pale-blue);}
.color-white .sp-link .icon{background-image: url("../../img/i-angle-right-yellow.svg");}
.color-white .sp-link .icon:after{background: var(--color-yellow);}
.color-white .sp-link:hover .icon, .color-white .sp-link:focus .icon{background-image: url("../../img/i-angle-right-pale-blue.svg");}
.color-white .sp-link:hover .icon:after, .color-white .sp-link:focus .icon:after{background: var(--color-pale-blue);}

.sp-link.header-link, .color-white .sp-link.header-link{ text-transform: none; font-weight: inherit; font-size: inherit; color:var(--color-cyan);}
.sp-link.header-link .icon, .color-white .sp-link.header-link .icon{vertical-align: 0; background-image: url("../../img/i-angle-right-blue.svg");}
.color-white a.sp-link.header-link:hover, .color-white a.sp-link.header-link:focus{color:var(--color-cyan);}
.color-white .sp-link.header-link .icon:after{background:var(--color-cyan);}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{ color:inherit;}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, h1 a:focus, h2 a:focus, h3 a:focus, h4 a:focus, h5 a:focus, h6 a:focus{
	color:var(--color-hover);}

@media (max-width: 1399.98px) {
	
}
@media (max-width: 1199.98px) {
	
}
@media (max-width: 991.98px) {
	.anchor-link{top:-1rem;}
}



/* ************************* */
/* 8. ALERTS				 */
/* ************************* */
.alert{padding:1rem 1.25rem; display: flex; flex-direction: column; gap:1rem; border-radius:2rem; word-wrap: break-word;}





