/* 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:#191F2E;
	--color-base-rgb:25,31,46;
	--color-black:#191F2E;
	--color-black-rgb:25,31,46;
	--color-black65:rgba(var(--color-black-rgb),0.65);
	--color-black30:rgba(var(--color-black-rgb),0.3);
	--color-grey:#A2A7B2;
	--color-light-grey:#E6E9F0;
	--color-dark-grey:#595F6E;
	--color-blue-deep:#191F2E;
	--color-blue-deep-hover:#363F55;
	--color-blue-steel:#195064;
	--color-blue-steel-rgb:25,80,100;
	--color-blue-steel10:rgba(var(--color-blue-steel-rgb),0.1);
	--color-blue-steel30:rgba(var(--color-blue-steel-rgb),0.3);
	--color-blue-steel-hover:#287793;
	--color-blue-light:#ADCACB;
	--color-blue-light-hover:#D4F3F4;
	--color-cream:#FAFCEB;
	--color-cream-rgb:250,252,235;
	--color-yellow:#FCF0AB;
	--color-yellow-hover:#FFF9D5;
	--color-orange:#F74D0A;
	--color-orange-hover:#FF7138;
	--color-teal:#008A86;
	
	--color-link:var(--color-base);
	--color-hover:var(--color-blue-steel);
	--color-active:var(--color-black);
	--color-disabled:var(--color-light-grey);
	--color-danger:#842029;
	--color-success:#0F5132;
	
	--font-base:400 1.25rem/1.25 'Base', sans-serif;
	--font-icon:900 1rem/1 'Font Awesome 6 Free';
	--font-heading:400 1rem/1.0 'Base', sans-serif;
	--text-lead:1.5rem;
	--text-small:1rem;
	--h1:5.425rem; 
	--h2:3.425rem;
	--h3:2.65rem;
	--h4:2.468rem;
	--h5:1.9rem;
	--h6:1.46rem;
	
	--margin-small:0.5rem;
	--margin-normal:1.5rem;
	--margin-big:3rem;
	
	--padding-normal:5rem;
	--padding-large:8rem;
	--padding-x-large:10rem;
	
	--radius-normal:0.3125rem;
	--radius-small:0.13rem;
	
	--container:1573px;
	--page-side-gap:calc(50vw - var(--container)/2 + 0.75rem);
	
	--input-height:3.5rem;
	--nav-height-secondary:2rem;
	--nav-height-main:4.1875rem;
	--header-height:calc(var(--nav-height-secondary) + var(--nav-height-main));
	--header-height-sticky:4.2rem;
	--header-height-mobile:4rem;
	--upload-button-width:7rem;
	
	--scroll-width:0.5rem;
}
@media (max-width: 1919.98px) {
	:root{
		--container:82vw;
	}
}
@media (max-width: 1199.98px) {
	:root{
		--h1:3.81rem; 
		--h2:3.05rem;
		--h3:2.44rem;
		--h4:1.95rem;
		--h5:1.56rem;
		--h6:1.25rem;
		--text-lead:1.35rem;
	}
}
@media (max-width: 991.98px) {
	:root{
		--container:89vw;
		--padding-normal:5rem;
		--padding-large:7rem;
		--padding-x-large:9rem;
	}
}
@media (max-width: 767.98px) {
	:root{
		--container:88vw;
		--margin-small:0.5rem;
		--margin-normal:1.5rem;
		--margin-big:3rem;
		--padding-normal:5rem;
		--padding-large:7rem;
		--padding-x-large:9rem;
		--h1:2.98rem; 
		--h2:2.48rem;
		--h3:2.07rem;
		--h4:1.73rem;
		--h5:1.44rem;
		--h6:1.2rem;
		--text-lead:1.3rem;
	}
}
@media (max-width: 575.98px) {
	:root{
		--container:85vw;
	}
}


/* ************************* */
/* 2. LAYOUT				 */
/* ************************* */
html, body{height:100%;}
body{color: var(--color-base); background:var(--color-cream); display: flex; flex-direction: column; overflow-x: hidden;}
body *{ position:relative;}

#page-wrap{flex:1 0 auto;}

.container{width:var(--container); max-width:var(--container); margin-left:calc(50vw - var(--container)/2);}
.content-section{ padding-top:var(--padding-normal); padding-bottom:var(--padding-normal); }
.content-section:not([class*='bg-'])+.content-section:not([class*='bg-']){padding-top:0;}

.large-padding-top{ padding-top:var(--padding-large);}
.large-padding-bottom{ padding-bottom:var(--padding-large);}
.x-large-padding-top{ padding-top:var(--padding-x-large);}
.x-large-padding-bottom{ padding-bottom:var(--padding-x-large);}

.section-bg{position: absolute; inset:0;}
.section-bg img, .section-bg video, .image-fit img, .image-fit video{object-fit: cover; width:100%; height:100%;}

.cutout{padding-left:1px; mask:linear-gradient(0deg, #000 0%, #000 100%), url("../../img/mask-tri-cutout.svg") no-repeat left center / auto 100%; mask-composite:subtract;}

[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:2rem; margin-bottom:1rem;}
.text-image-wrap.align-right{float:right; width:33.33%; margin-left:2rem; 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; max-width: 100%}
.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:0.5rem 1rem; background-color:var(--color-black65); color:white;}
.text-image-wrap.align-left figure, .text-image-wrap.align-right figure, .text-image-wrap.align-stretch figure{width:100%;}
.text-image-wrap.align-left.width-50, .text-image-wrap.align-right.width-50{width:46.5%;}

.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:var(--radius-normal); 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:6.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);}
}
@media (max-width: 767.98px) {
	.text-image-wrap.align-left, .text-image-wrap.align-right, .text-image-wrap.align-left.width-50, .text-image-wrap.align-right.width-50{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;}
	
	[class*='col-'].indent-right{padding-right:calc(var(--bs-gutter-x) * .5);}
	[class*='col-'].indent-left{padding-left:calc(var(--bs-gutter-x) * .5);}
}



/* ************************* */
/* 3. COLORS & BACKGROUNDS	 */
/* ************************* */
.color-white{color:var(--color-cream);}
.color-black{color:var(--color-black);}
.color-grey{color:var(--color-grey);}
.color-dark-grey{color:var(--color-dark-grey);}
.color-light-grey{color:var(--color-light-grey);}
.color-blue-deep{color:var(--color-blue-deep);}
.color-blue-steel{color:var(--color-blue-steel);}
.color-blue-light{color:var(--color-blue-light);}
.color-cream{color:var(--color-cream);}
.color-yellow{color:var(--color-yellow);}
.color-orange{color:var(--color-orange);}
.color-teal{color:var(--color-teal);}

.bg-color-grey{ background-color:var(--color-grey);}
.bg-color-light-grey{ background-color:var(--color-light-grey);}
.bg-color-dark-grey{ background-color:var(--color-dark-grey);}
.bg-color-blue-deep{ background-color:var(--color-blue-deep);}
.bg-color-blue-steel{ background-color:var(--color-blue-steel);}
.bg-color-blue-light{ background-color:var(--color-blue-light);}
.bg-color-white{background-color: #fff;}
.bg-color-cream{background-color:var(--color-cream);}



/* ************************* */
/* 4. TYPOGRAPHY			 */
/* ************************* */
html{font-size: 16px;}
body{font: var(--font-base);}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{padding-top:0.15em; font:var(--font-heading); color:var(--color-blue-steel);}
.color-white h1, .color-white h2, .color-white h3, .color-white h4, .color-white h5, .color-white h6{color:var(--color-cream);}
h1.color-teal, h2.color-teal, h3.color-teal, h4.color-teal, h5.color-teal, h6.color-teal{color:var(--color-teal);}

h1, .h1{font-size:var(--h1);}
h2, .h2{font-size:var(--h2);}
h3, .h3{font-size:var(--h3);}
h4, .h4{font-size:var(--h4);}
h5, .h5{font-size:var(--h5); line-height: 1.25;}
h6, .h6{font-size:var(--h6); line-height: 1.3;}

.lead, .big{ font-size:var(--text-lead); font-weight: 400;}
.small{ font-size:var(--text-small); letter-spacing: 0.03rem;}
.in-form-header{margin-bottom:var(--margin-small);}
.has-decor:before{content: ''; display: block; background: url("../../img/double-arrow-orange.svg") no-repeat center / contain; width:1.874rem; aspect-ratio:1.297/1; position: absolute; left:-3.37rem; top:0.35em; }
.has-decor.decor-steel:before{background-image: url("../../img/double-arrow-steel.svg");}
.has-decor.decor-white:before{background-image: url("../../img/double-arrow-cream.svg");}
.has-decor.decor-bullet:before{left:-3.12rem; width:1.5625rem; aspect-ratio:1/1; top:0.2em;}
.has-decor.decor-bullet.decor-white:before{background-image: url("../../img/decor-bullet-white.svg");}
.has-decor.decor-bullet.decor-teal:before{background-image: url("../../img/decor-bullet-teal.svg");}

.textbox ul{ list-style-type:none; padding-left:1rem; overflow:hidden;}
.textbox ul li{padding-left:1rem; background:url(../../img/list-marker.svg) no-repeat 0 0.6rem;}
.textbox ul li ul{margin-top:var(--margin-small); padding-left:0.5rem;}
.color-white .textbox ul li{background-image: url("../../img/list-marker-light.svg");}
.textbox ul.small li{background-position: 0 0.4rem;}

.textbox ul.two-cols{display: block; column-count: 2; column-gap: 1.5rem;}
.textbox ul.two-cols li{display: inline-block; width:100%;}
.textbox ul.two-cols li:not(:last-child){margin-bottom:var(--margin-small);}

.textbox ol{counter-reset: listCounter; padding-left:2rem; overflow:hidden;}
.textbox ol li{ list-style:none;}
.textbox ol li:before{counter-increment: listCounter; content:counter(listCounter)'. '; 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 ul, .textbox ol{display: flex; flex-direction: column; gap:var(--margin-small);}

.textbox blockquote{color:var(--color-teal); padding-left:2rem; background: url("../../img/quote-mark.svg") no-repeat left top; font-size: var(--text-lead); font-style: italic;}

.textbox.bottom-padding{padding-bottom:0.35rem;}
.textbox.top-padding{padding-top:0.35rem;}

.textbox ul.no-markers{padding-left:0;}
.textbox ul.no-markers > li{padding:0; background-image:none;}

@media (max-width: 1199.98px) {
	.textbox ul.two-cols{display: flex; column-count: 1; column-gap:0; }
	.textbox ul.two-cols li{display:block;}
	.textbox ul.two-cols li:not(:last-child){margin-bottom:0;}
}
@media (max-width: 991.98px) {
	html{font-size: 14px;}
	.has-decor.decor-bullet:before{top:0.5em;}
}

@media (max-width: 767.98px) {
	.textbox ol{padding-left: 2.5rem;}
	.textbox ul{padding-left: 1.5rem;}
	.has-decor::before{left:-2.75rem; top:0.3em;}
	.has-decor.decor-bullet:before{left:-2.75rem; top:0.5em;}
	.textbox.bottom-padding{padding-bottom:0;}
}
@media (max-width: 575.98px) {
	.has-decor::before{left:-2.37rem;}
	.has-decor.decor-bullet:before{left:-2.37rem;}
}



/* ************************* */
/* 5. MARGINS				 */
/* ************************* */
h1, h2, h3, h4, h5, h6, ul, ol, p, .alert, address, dl, blockquote, figure{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); margin-top:0;}
.textbox, .form-wrap, .accordion, .side-nav, .tabs-wrap, .side-nav-wrap, .side-col-banner 
	{margin-bottom:var(--margin-big);}
.textbox:last-child, .form-wrap:last-child, .accordion:last-child, .side-nav:last-child, .side-nav-wrap: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, .side-col-banner: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-x-big{margin-bottom:var(--padding-normal);}
.mb-0{margin-bottom:0!important;}

@media (max-width: 1399.98px) {
	.mb-x-big-xl{margin-bottom:var(--padding-normal);}
	.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-x-big-lg{margin-bottom:var(--padding-normal);}
	.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-x-big-md{margin-bottom:var(--padding-normal);}
	.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-x-big-sm{margin-bottom:var(--padding-normal);}
	.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 {border-radius:var(--radius-normal); border:0; font-family: 'Condensed'; font-size: 1rem; display: inline-flex; align-items: center; justify-content: center; gap:0.69rem; height:2.5rem; padding:0.3rem 1rem; text-transform: uppercase; letter-spacing: 0.03rem; font-weight: 500; line-height: 1.2; transition:color 0.2s ease, border-color 0.2s ease, background 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:focus-visible{box-shadow:none;}

.btn:not(.has-icon):not(.btn-select):not(.has-no-icon):after{content: '\f0da'; font:var(--font-icon);}

.btn-primary{color:var(--color-cream); background:var(--color-orange);}
.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:var(--color-cream); background:var(--color-orange-hover);}

.btn-default{ color:var(--color-cream); background: var(--color-blue-steel);}
.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:var(--color-cream); background:var(--color-blue-steel-hover);}

.btn-light{ color:var(--color-blue-deep); background: var(--color-blue-light);}
.btn-light:hover, .btn-light:focus, .focus.btn-light, .btn-light:active, .active.btn-light, .btn-light:active:focus, .btn-light:active:hover, .btn-light.active:hover, .btn-light.active:focus, .btn-light:active.focus, .btn-light.active.focus, .open > .btn-light.dropdown-toggle{
	color:var(--color-blue-deep); background:var(--color-blue-light-hover);}

.btn-dark{ color:var(--color-cream); background: var(--color-blue-deep);}
.btn-dark:hover, .btn-dark:focus, .focus.btn-dark, .btn-dark:active, .active.btn-dark, .btn-dark:active:focus, .btn-dark:active:hover, .btn-dark.active:hover, .btn-dark.active:focus, .btn-dark:active.focus, .btn-dark.active.focus, .open > .btn-dark.dropdown-toggle{
	color:var(--color-cream); background:var(--color-blue-deep-hover);}

.btn-yellow{ color:var(--color-blue-steel); background: var(--color-yellow);}
.btn-yellow:hover, .btn-yellow:focus, .focus.btn-yellow, .btn-yellow:active, .active.btn-yellow, .btn-yellow:active:focus, .btn-yellow:active:hover, .btn-yellow.active:hover, .btn-yellow.active:focus, .btn-yellow:active.focus, .btn-yellow.active.focus, .open > .btn-yellow.dropdown-toggle{
	color:var(--color-blue-steel); background:var(--color-yellow-hover);}

.btn-link{padding:0; height:auto; text-decoration: none; gap:0.25rem; color:var(--color-link);}
.btn-link:hover, .btn-link:focus, .btn-link:focus-visible{color:var(--color-hover); text-decoration: none; box-shadow: none;}
.color-white .btn-link{color:var(--color-cream);}
.color-white .btn-link:hover, .color-white .btn-link:focus, .color-white .btn-link:focus-visible{color:var(--color-blue-light);}

.textbox .btn{margin-top:0.35rem; margin-bottom:0.35rem;}

@media (max-width: 767.98px) {
	.btn:not(.btn-link){height:auto; white-space:normal; padding:0.65rem 1rem;}
}



/* ************************* */
/* 7. LINKS					 */
/* ************************* */
a {color:var(--color-link); transition:color 0.2s ease, background 0.2s ease;}
a:hover, A:focus{color:var(--color-hover); text-decoration:none;}
a:focus, a:active, a:active:focus{outline:none;}
.color-white a:not(.btn){color:var(--color-cream);}

.textbox a:not(.btn), a._file_name{padding:3px 1px 2px 0; text-decoration: none; background: linear-gradient(90deg, var(--color-base) 0%, var(--color-base) 100%) no-repeat left bottom / 100% 1px;}
.textbox a:not(.btn):hover, .textbox a:not(.btn):focus, a._file_name:hover, a._file_name:focus{background-image: linear-gradient(90deg, var(--color-hover) 0%, var(--color-hover) 100%); color:var(--color-cream); background-size: 100% 100%;}
.color-white .textbox a:not(.btn){background-image: linear-gradient(90deg, var(--color-cream) 0%, var(--color-cream) 100%);}
.color-white .textbox a:not(.btn):hover, .color-white .textbox a:not(.btn):focus{color:var(--color-base); background-image: linear-gradient(90deg, var(--color-blue-light) 0%, var(--color-blue-light) 100%);}

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; position: absolute; top:-3rem; width:100%; height:0;}

.sp-link{padding:3px 4px; background: linear-gradient(90deg, var(--color-base) 0%, var(--color-base) 100%) no-repeat left bottom / 100% 1px; font-family: 'Condensed'; font-size: 1rem; display: inline-flex; align-items: center; gap:0.25rem; white-space: nowrap; text-transform: uppercase; text-decoration: none; font-weight: 700; line-height: 1.2;}
.sp-link:hover, .sp-link:focus{color:var(--color-cream); background-image: linear-gradient(90deg, var(--color-hover) 0%, var(--color-hover) 100%); background-size: 100% 100%;}
.sp-link:not(.has-icon):after{content: '\f0da'; font:var(--font-icon);}
.color-white .sp-link{background-image: linear-gradient(90deg, var(--color-cream) 0%, var(--color-cream) 100%);}
.color-white .sp-link:hover, .color-white .sp-link:focus{color:var(--color-base); background-image: linear-gradient(90deg, var(--color-blue-light) 0%, var(--color-blue-light) 100%);}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{padding:3px 4px; color:inherit; text-decoration: none; background: linear-gradient(90deg, var(--color-base) 0%, var(--color-base) 100%) no-repeat left bottom / 100% 2px;}
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{
	background-image: linear-gradient(90deg, var(--color-hover) 0%, var(--color-hover) 100%); color:var(--color-cream); background-size: 100% 100%;}

@media (max-width: 991.98px) {
	.anchor-link{top:0;}
}



/* ************************* */
/* 8. ALERTS				 */
/* ************************* */
.alert{font-weight: 300; display: flex; padding:1.25rem 1.5rem; flex-direction: column; gap:1rem; border-radius: var(--radius-normal); word-wrap: break-word;}




