/* BA components. Based on Bootstrap 5.3. Jan 2023. */
/*	
	1.	main navigation
	2.	aside nav
	3.	main search
	4.	page-content-nav
	5.	section-header
	6.	modals
	7.	offcanvas
	9.	tabs
	10.	accordion
	11.	vacancies-listing
	12.	tables
	14.	side-col-banner
	15. post card
	16. resources-card
	18. service-card
	19. project-card
	20. study-card
	21. tags-listing
	22. history nav
	23. stat-block
	24. content-numbered-listing
	25. content-linked-listing
	26. content-graphic-listing
	27. tech-listing
	28. responsive-table-block
	29. filter-block
	30. content-cta-block
	31. gallery-block

	
*/



/* ************************* */
/* 1. MAIN NAVIGATION		 */
/* ************************* */

/* navbar */
#header{height:var(--header-height);}

#header .navbar{border-bottom:1px solid var(--color-middle-grey); position: fixed; top:0px; left:0; width:100vw; padding:0; background:#fff; z-index: 1030; transition:box-shadow 0.8s ease;}
.navbar-brand{width:14.7rem; padding:0; flex:none; margin:0.25rem 0; transition:width 0.8s ease; }
.navbar-brand:focus{outline:0;}
.navbar-brand img{width:100%;}

#header .navbar.affix{box-shadow:var(--shadow);}
.affix .navbar-brand{width:10.7rem;}

/*navigation */
#navigation{justify-content: flex-end;}
#navigation > .inner-wrap{height:var(--header-height); top:0; flex:none; display: flex; flex-direction: column-reverse; justify-content: center; align-items: flex-end; transition:height 0.8s ease;}
.affix #navigation > .inner-wrap{height:var(--header-height-sticky);}

.navbar-nav .placeholder-item {cursor: default;}
.navbar-nav li{display: flex; align-items: center;}
.navbar-nav > li > a{line-height:1.2; display: block; text-decoration: none;}
.navbar-nav .dropdown-toggle{z-index: 2; text-align: right;}
.navbar-nav .dropdown-toggle:after{content: '\f107'; font: var(--font-icon); transition:transform 0.4s ease; border:0;}
.navbar-nav .dropdown-toggle.show:after{ transform:rotate(-180deg);}

.navbar-nav .dropdown-menu{top:100%; background: #fff; min-width:21.5rem; max-width: 23rem; padding:0; margin:0; border:0; border-radius:0; box-shadow:var(--shadow);}
.navbar-nav .dropdown-menu > li{align-items: flex-start;}
.navbar-nav .dropdown-menu > li > a{line-height: 1.2; display: block; text-decoration: none; flex-grow:1;}
.navbar-nav .dropdown-menu.open-left {left:auto; right:-1px;}
.navbar-nav .dropdown-menu .dropdown-menu{left:100%;}
.navbar-nav .dropdown-menu .dropdown-menu.open-left{left:auto; right:100%;}
.navbar-nav .dropdown-menu .dropdown-toggle:after{transform:rotate(-90deg);}
.navbar-nav .dropdown-menu .dropdown-toggle.show:after{ transform:rotate(90deg);}

/* main-nav */
#main-nav{font-size: 1rem; font-family: 'Heading'; gap:2rem; text-transform: lowercase;}
#main-nav > li{padding:0.25rem 0;}
#main-nav > li > a{padding:0.25rem 0; }
#main-nav > li > a:before{content: ''; position: absolute; left:0; width:0; bottom:0; height:1px; background: var(--color-black); transition:width 0.2s ease;}
#main-nav > .dropdown > a:not(.dropdown-toggle){padding-right:0.94rem;}
#main-nav > .dropdown > .dropdown-toggle{position: absolute; right:0;}
#main-nav > .dropdown > .dropdown-toggle:before{display: none;}
#main-nav > .dropdown > .dropdown-toggle:after{font-size: 0.75rem; vertical-align: 10%;}

#main-nav > li > a{color:var(--color-black);}
#main-nav > .active > a{color:var(--color-black);}
#main-nav > li > a:hover, #main-nav > li > a:focus, #main-nav > .show > a{color:var(--color-black);}
#main-nav > li > a:hover:before, #main-nav > li > a:focus:before, #main-nav > .show > a:before, #main-nav > .active > a:before{width:100%;}

#main-nav .dropdown-menu{font-size:1rem; border-radius:0; padding: 0.5rem 0; font-family: 'Heading'; font-weight: 400; }
#main-nav .dropdown-menu > li{padding:0 1.5rem;}
#main-nav .dropdown-menu > li > a{padding:1.28rem 0; background: linear-gradient(90deg, var(--color-black) 0%, var(--color-black) 50%, var(--color-grey) 50%, var(--color-grey) 100%) no-repeat 100% bottom / 200% 1px;}
#main-nav .dropdown-menu > li:last-child > a{background: none;}
#main-nav .dropdown-menu > li > a:not(.dropdown-toggle){padding-right:1.5rem;}
#main-nav .dropdown-menu .dropdown-menu{top:-0.5rem;}
#main-nav .dropdown-menu .dropdown-menu > li > a{padding-right:1.5rem;}
#main-nav .dropdown-menu > .dropdown > a{padding-right:0.5rem;}
#main-nav .dropdown-menu > .dropdown > .dropdown-toggle{background: none; position: absolute; right:0; padding-left:0.5rem; padding-right:1.5rem; flex:none;} 
#main-nav .dropdown-menu > .dropdown > .dropdown-toggle:after{font-size: 0.75rem; vertical-align: 10%;}

#main-nav .dropdown-menu > li > a{color:var(--color-dark-grey);}
#main-nav .dropdown-menu > li > a:hover, #main-nav .dropdown-menu > li > a:focus, #main-nav .dropdown-menu > li > .active, #main-nav .dropdown-menu > .show > a{color:var(--color-black); background-position: 0 bottom;}

@media (max-width: 1199.98px) {
	#main-nav{gap:1.5rem;}	
	.navbar-brand{width:12rem;}
}
@media (max-width: 991.98px) {
	#header{height:var(--header-height-mobile);}
	#navigation > .inner-wrap{height:auto;}
	
	.navbar-toggler {background-position: center; padding:0; color:inherit; margin:0.25rem 0; height:3.5rem; width:3.5rem; display: flex; align-items: center; justify-content: center; line-height:1; border:0; border-radius:50%; box-shadow:none!important; transition:color 0.2s ease, background-color 0.2s ease; }
	.navbar-toggler .icon{display: block; width:30px; height:30px;}
	.navbar-toggler .icon span{width:30px; height:2px; border-radius:2px; position: absolute; left:0; transform-origin: 50% 50%; background: var(--color-dark-grey); transition:all 0.2s ease;}
	.navbar-toggler:hover .icon span, .navbar-toggler:focus .icon span{background: var(--color-red);}
	.navbar-toggler .icon .t-top{top:8px;}
	.navbar-toggler .icon .t-middle{top:14px; width:25px;}
	.navbar-toggler .icon .t-bottom{top:20px;}
	[aria-expanded='true'].navbar-toggler .icon .t-top{width:25px; transform:rotate(45deg) translate(6px, 2px);}
	[aria-expanded='true'].navbar-toggler .icon .t-middle{width:0; left:50%;}
	[aria-expanded='true'].navbar-toggler .icon .t-bottom{width:25px; transform:rotate(-45deg) translate(6px, -2px);}

	#header .navbar{ position:relative; width:auto; padding:0;}
	#header .navbar > .container{display: flex; align-items: center; flex-wrap: nowrap; padding-left:calc(var(--bs-gutter-x)*0.5); padding-right:calc(var(--bs-gutter-x)*0.5);}
	
	#header .navbar.affix{transition: none; top:0; box-shadow:none;}
	.affix .navbar-brand, .navbar-brand{width:11rem; margin-top:0.25rem; transition: none;}

	#navigation{position:absolute; top:100%; width:100%; left:0; padding-left:0; padding-right:0; box-shadow:0 1rem 1rem rgba(0,0,0,0.3); background-color: #fff;}
	#navigation > .inner-wrap{display: block;}
	.affix #navigation > .inner-wrap{height:auto;}
	.navbar-nav{margin:0;}
	.navbar-nav li{display: block;}
	.navbar-nav li a:not(.dropdown-toggle){margin-right:3.5rem; display: inline-block;}
	.navbar-nav .dropdown-toggle{margin-left:auto; position: absolute; top:0;}
	.navbar-nav .dropdown-toggle:after{content: '\2b';}
	.navbar-nav .dropdown-toggle.show:after{ transform:rotate(135deg);}
	.navbar-nav .dropdown-menu{width:100%; position:relative; padding:0; float:none; box-shadow:none; min-width:auto; max-width: none; background-color:transparent; margin-top:1px;}
	.navbar-nav .dropdown-menu .dropdown-toggle:after{transform:rotate(0);}
	.navbar-nav .dropdown-menu .dropdown-toggle.show:after{ transform:rotate(135deg);}
	.navbar-nav .dropdown-menu .dropdown-menu{left:0;}
	.navbar-nav .dropdown-menu.open-left {left:0; right:0;}
	.navbar-nav .dropdown-menu .dropdown-menu.open-left{left:0; right:0;}

	/* main-nav */
	#main-nav{padding:1rem 0.75rem; gap:0; font-size: 1.2rem;}
	#main-nav > li > a{padding:1rem; }	
	#main-nav > li > a:before{display: none;}
	#main-nav > .dropdown > a:not(.dropdown-toggle){padding-right:1rem;}
	#main-nav > .dropdown > .dropdown-toggle{ width:3.5rem; padding-left:1rem; right:0; text-align: center;}
	#main-nav > .dropdown > .dropdown-toggle::after{font-size: 1rem;}
	
	#main-nav .dropdown-menu{ font-size: 1rem; background-color: transparent; padding:0 0 0 2rem;}
	#main-nav .dropdown-menu > li:hover{background: transparent;}
	#main-nav .dropdown-menu > li > a{padding:1rem; flex:none; background: transparent;}
	#main-nav .dropdown-menu > .dropdown > a{padding-right:1rem;}
	#main-nav .dropdown-menu > .dropdown > .dropdown-toggle{ width:3.5rem; right:0; padding-left:1rem; padding-right:1rem; text-align: center;}
	#main-nav .dropdown-menu > .dropdown > .dropdown-toggle:after{font-size: 1rem;}
	#main-nav .dropdown-menu .dropdown-menu{top:0;}
	
	#main-nav > li > a,
	#main-nav .dropdown-menu > li > a{color:var(--color-black);}
	
	#main-nav > .show > a, #main-nav .dropdown-menu > .show > a{color:inherit;}

	#main-nav > li > a:hover, 
	#main-nav > li > a:focus,
	#main-nav > .active > a,
	#main-nav .dropdown-menu > li > a:focus,
	#main-nav .dropdown-menu > li > a:hover,
	#main-nav .dropdown-menu > .active > a{color:var(--color-active);}
	
	
}



/* ************************* */
/* 2. ASIDE NAV   			 */
/* ************************* */
.side-nav-title{font-size: var(--h4);}
.side-nav-wrap{font-size: 1rem; font-family: 'Heading';}
.side-nav-wrap .sublevel{padding-left:1.5rem;}
.side-nav-wrap a{display:block; padding:1rem 3.25rem 1rem 0; text-decoration: none; flex-grow:1;}
.side-nav-wrap .item.has_sublevel a:not(.sublevel-toggle){padding-right:1.5rem;}
.side-nav-wrap .sublevel-toggle{margin-top:0.85rem; color:var(--color-black); display: flex; align-items: center; justify-content: center; width:1.75rem; height:1.75rem; padding:0; border-radius:50%; flex:none; transition:background 0.2s ease;
	background: url("../../img/bg-btn.svg") no-repeat center var(--color-middle-grey); background-size: 0 0;}
.side-nav-wrap .sublevel-toggle:focus{outline: 0;}
.side-nav-wrap .sublevel-toggle:focus, .side-nav-wrap .sublevel-toggle:hover{color:#fff; background-size: 100% 100%;}
.side-nav-wrap .sublevel-toggle:after{ content: '\2b';  display: block; font:var(--font-icon); font-size: 0.81rem; transition: transform 0.4s ease; }
.side-nav-wrap .sublevel-toggle[aria-expanded='true']:after{transform:rotate(135deg);}

.side-nav-wrap .item{display: flex; align-items: flex-start; background: linear-gradient(90deg, var(--color-black) 0%, var(--color-black) 50%, var(--color-middle-grey) 50%, var(--color-middle-grey) 100%) no-repeat right bottom / 200% 1px; transition:background 0.4s ease;}
.side-nav-wrap .item:hover, .side-nav-wrap .item.active{background-position: left bottom;}
.side-nav-wrap a{color:var(--color-dark-grey);}
.side-nav-wrap .active a{color:var(--color-black);}
.side-nav-wrap a:hover, .side-nav-wrap a:focus{color:var(--color-black);}



/* ************************* */
/* 3. MAIN SEARCH			 */
/* ************************* */
#main-nav > li > .main-search-toggle{background: var(--color-middle-grey); width:2.5rem; height:2.5rem; border-radius:50%; display: flex; align-items: center; justify-content: center;}
#main-nav > li > .main-search-toggle:after{content: '\f00d'; z-index: 2; font:var(--font-icon);}
#main-nav > li > .main-search-toggle:before{content: ''; flex:none; top:auto; left:auto; bottom:auto; position: absolute; width:2.5rem; height:2.5rem; border-radius:100%; background:var(--color-black); transform:scale(0.01); opacity:0; transition:transform 0.2s ease, opacity 0.2s ease;}
#main-nav > li > .main-search-toggle:hover:before, #main-nav > li > .main-search-toggle:focus:before{opacity:1; transform: scale(1); width:2.5rem;}
#main-nav > li > .main-search-toggle:hover, #main-nav > li > .main-search-toggle:focus{color:#fff;}
#main-nav > li > .main-search-toggle.collapsed:after{content: '\f002'; }

#main-search{box-shadow:var(--shadow); background:#fff; position: fixed; top:var(--header-height); left:0; width:100%; transition:top 0.8s ease, height 0.4s ease;}
#main-search .container{height:calc(var(--input-height) + 2rem); border:1px solid transparent;}
.affix #main-search{top:var(--header-height-sticky);}
#main-search .control-wrap{margin:1rem 0;  display: flex; align-items: center; gap:0.5rem;}
#main-search .control-wrap .buttons-wrap{position: absolute; right:0; display: flex; align-items: center; gap:var(--margin-normal);}
#main-search .control-wrap .search-input{padding-right:12rem;}
#main-search input:focus{outline:0; box-shadow:none;}
#main-search input::-ms-clear {display: none;}

.results-listing .item + .item{margin-top:var(--margin-normal);}
.results-listing .item .item-title{margin-bottom:var(--margin-small);}
.results-listing .item .page-title{margin-bottom:0; font-size: var(--h5);}
.results-listing .item .page-url{color:var(--color-dark-grey); font-size: var(--text-small);}
.results-listing .item a{ display:inline-block; word-break:break-all; text-decoration: none;}

@media (max-width: 991.98px) {
	#main-nav > li > a[href='#main-search']{display: none;}
	#main-search{box-shadow: none; display:block; position: relative; padding:0; background: var(--color-light-grey);}
	#main-search .container{height:auto;}
	#main-search, .affix #main-search{top:0;}
	#main-search .control-wrap{margin:1rem 1rem 2rem 1rem;}
}



/* ************************* */
/* 4. PAGE-CONTENT-NAV 		 */
/* ************************* */
.sticky-side-column{position: sticky; top:calc(var(--header-height-sticky) + var(--margin-big));}
#page-content-nav .content-nav-wrap{font-size:1rem;}
#page-content-nav .content-nav-wrap ol{padding:0; list-style-type: none; display: flex; flex-direction: column; gap:1rem;}
#page-content-nav .content-nav-wrap .item a{color:var(--color-dark-grey); font-family:'Heading'; text-decoration: none; display:inline-block; padding:0.4rem 0; line-height: 1.2;}
#page-content-nav .content-nav-wrap .active a{color:var(--color-black);}
#page-content-nav .content-nav-wrap .item a:hover, #page-content-nav .content-nav-wrap .item a:focus{color:var(--color-hover);}
#page-content-nav .content-nav-wrap ol ol{padding-left:1.5rem;}
@media (max-width: 991.98px) {
	.sticky-side-column{top:var(--margin-normal);}
}
@media (max-width: 767.98px) {
	#page-content-nav .content-nav-wrap ol{flex-direction: row; flex-wrap:wrap; gap:0.5rem 1.5rem;}
}



/* ************************* */
/* 5. SECTION-HEADER 		 */
/* ************************* */
.section-header{margin-bottom:var(--margin-x-big); display: flex; gap:3rem; justify-content: space-between;}
.section-header .section-title{margin:0; max-width: calc(var(--container)*0.4166);}
.section-header .options{display: flex; gap:0.5rem; align-items: center;}
.section-header .options .slick-next{order:10;}
.section-header .options .slick-prev{order:9;}
@media (max-width: 991.98px) {
	.section-header{margin-bottom:var(--margin-x-big); flex-direction: column; align-items: flex-start; gap:var(--margin-small);}
	.section-header .options{margin-left:calc(var(--container)*0.0833);}
	.section-header .options:empty{display: none;}
	.section-header .section-title{max-width: none;}
}
@media (max-width: 767.98px) {
	.section-header .options{margin-left:4rem;}
	.section-header{margin-bottom:var(--margin-big);}
}



/* ************************* */
/* 6. MODALS	   			 */
/* ************************* */
.modal-content{padding:3rem; border-radius:var(--radius-normal); border:0; gap:var(--margin-normal); box-shadow: 0 1rem 5rem rgba(0,0,0,0.5);}
.modal-content > form{display: flex; width:100%; flex-direction: column; gap:var(--margin-normal);}
.modal-header{ border:0; padding:0; }
.modal .close{border:0; width:1.5rem; height:1.5rem; font-weight:300; color:inherit; font-size: 1rem; line-height: 0.5; right:0.5rem; top:0.5rem; float:none; position:absolute; z-index:2; opacity:1; filter:alpha(opacity=100); text-shadow:none; transition:color 0.2s ease; background:transparent;}
.modal .close:hover, .modal .close:focus{color:var(--color-hover);}
.modal-body{padding:0;}
.modal-footer{border:0; padding:0.35rem 0; gap:2rem;}
.modal-footer .btn{margin:0;}

@media (max-width: 767.98px) {
	.modal-content{padding:2rem;}
	.modal-footer{gap:1.5rem;}
	.modal .close{right:0.25rem; top:0.25rem;}
}
@media (max-width: 575.98px) {
	.modal-content{padding:1.5rem;}
	.modal-footer{flex-direction: column; gap:var(--margin-normal);}
	.modal-footer .btn:not(.btn-link){width:100%;}
}



/* ************************* */
/* 7. OFFCANVAS	   			 */
/* ************************* */
.offcanvas.offcanvas-bottom{height:auto;}
.btn-offcanvas-close{opacity:1; border:0; background: url("../../img/bg-btn.svg") no-repeat center transparent; background-size: 0 0; position: absolute; top:1rem; right:1rem; width:2rem; height:2rem; border-radius:50%; display: flex; align-items: center; justify-content: center; transition:background 0.2s ease, color 0.2s ease;}
.btn-offcanvas-close:before{content: '\f00d'; font:var(--font-icon); font-size: 0.87rem; }
.btn-offcanvas-close:hover, .btn-offcanvas-close:focus{opacity:1; color:#fff; background-size: 100% 100%;}
.offcanvas-body{padding:var(--padding-normal) 0;}



/* ************************* */
/* 9. TABS		   			 */
/* ************************* */
.tabs-wrap .tab-content{padding:2rem; border:1px solid var(--color-grey); border-top:0; border-bottom-left-radius: var(--radius-normal); border-bottom-right-radius: var(--radius-normal);}
.tabs-wrap .nav-tabs{display: flex; border-bottom:1px solid var(--color-grey); align-items: stretch; flex-wrap:nowrap;}
.tabs-wrap .nav-tabs > li{margin-bottom:-1px; display: flex; align-items: stretch;}
.tabs-wrap .nav-tabs > li+li{margin-left:1px;}
.tabs-wrap .nav-tabs > li > a{padding:1rem 1.5rem; width:100%; background-color: #fff; border:1px solid var(--color-grey); border-top-left-radius: var(--radius-normal); border-top-right-radius: var(--radius-normal); transition:background 0.2s ease, border 0.2s ease, color 0.2s ease; display:flex; align-items:center; justify-content:center; text-align:center; margin-right:0; line-height: 1.2; text-decoration: none;}
.tabs-wrap .nav-tabs > li > a:hover, .tabs-wrap .nav-tabs > li > a:focus{ background-color: var(--color-hover); color:#fff; border-color:var(--color-hover);}
.tabs-wrap .nav-tabs > li > .active, .tabs-wrap .nav-tabs > li > .active:hover, .tabs-wrap .nav-tabs > li > .active:focus{ background-color: #fff; border-color:var(--color-grey); border-bottom-color:transparent; color:inherit; cursor: default;}

@media (max-width: 767.98px) {
	.tabs-wrap .tab-content{padding:1.5rem;}
	.tabs-wrap .nav-tabs{flex-wrap:wrap; gap:0.25rem; padding:0.25rem; border:1px solid var(--color-grey); border-bottom:0; border-top-left-radius: var(--radius-normal); border-top-right-radius: var(--radius-normal);}
	.tabs-wrap .nav-tabs > li{float:none; display: block;}
	.tabs-wrap .nav-tabs > li+li{margin-left:0;}
	.tabs-wrap .nav-tabs > li > a{display: block; text-align: center; padding:0.5rem 1rem; border-radius:var(--radius-normal);}
	.tabs-wrap .nav-tabs > li > .active, .tabs-wrap .nav-tabs > li > .active:hover, .tabs-wrap .nav-tabs > li > .active:focus{border-bottom-color:var(--color-grey); background: var(--color-light-grey);}
}



/* ************************* */
/* 10. ACCORDION	 		 */
/* ************************* */
.accordion .accordion-item{border:0; background: transparent;}
.accordion .accordion-item + .accordion-item{margin-top:0;}
.accordion .accordion-header {margin:0;}
.accordion .accordion-button{gap:0.5rem; color:var(--color-dark-grey); border-radius:0!important; box-shadow: none; font-size:inherit; padding:1.5rem 0; transition:background 0.4s ease;
	background: linear-gradient(90deg, var(--color-black) 0%, var(--color-black) 50%, var(--color-middle-grey) 50%, var(--color-middle-grey) 100%) no-repeat right bottom / 200% 1px;}
.accordion .accordion-button::after {content: '\2b'; transform: rotate(0); font:var(--font-icon); font-size: 0.875rem; display: flex; align-items: center; justify-content: center; width:2rem; height:2rem; border-radius:50%; transition:background 0.2s ease, color 0.2s ease, transform 0.4s ease;
	background: url("../../img/bg-btn.svg") no-repeat center var(--color-middle-grey); background-size: 0 0;}
.accordion .accordion-button[aria-expanded='true']{background-position: left bottom; color:var(--color-black);}
.accordion .accordion-button[aria-expanded='true']::after{transform: rotate(135deg);}
.accordion .accordion-button:focus, .accordion .accordion-button:hover{color:var(--color-black); background-position: left bottom;  box-shadow: none;}
.accordion .accordion-button:focus:after, .accordion .accordion-button:hover:after{color:#fff; background-size: 100% 100%;}
.accordion .accordion-body {padding:var(--margin-normal) 0 var(--margin-normal) 0; position:static;}


/* ************************* */
/* 11. VACANCIES-LISTING	 */
/* ************************* */
.vacancies-listing{display: flex; flex-direction: column; align-items: stretch;}
.vacancies-listing a{line-height: 1.2; background: linear-gradient(90deg, var(--color-black) 0%, var(--color-black) 50%, var(--color-middle-grey) 50%, var(--color-middle-grey) 100%) no-repeat right bottom / 200% 1px; display: flex; align-items: center; padding:1.5rem 4rem 1.5rem 0; font-family: 'Heading'; font-size: var(--h5); color:var(--color-dark-grey); text-decoration: none;}
.vacancies-listing a:hover, .vacancies-listing a:focus{color:var(--color-black); background-position: left bottom;}
.vacancies-listing a:after{content: '\f061'; position: absolute; right:0; background: url("../../img/bg-btn.svg") no-repeat center var(--color-middle-grey); background-size: 0 0; display: flex; align-items: center; justify-content: center; width:2rem; height:2rem; border-radius:50%; font:var(--font-icon); font-size: 0.87rem; transition:background 0.2s ease, color 0.2s ease;}
.vacancies-listing a:hover:after, .vacancies-listing a:focus:after{color:#fff; background-size: 100% 100%;}


/* ************************* */
/* 12. TABLES				 */
/* ************************* */
.textbox table{font-size: inherit; max-width: 100%; width: 100%; border-bottom:1px solid var(--color-middle-grey); border-top:1px solid var(--color-middle-grey);}
.textbox table td, .textbox table th{padding:1rem 1rem;}
.textbox table thead th{ background-color: #fff; border-bottom:1px solid var(--color-middle-grey); vertical-align:bottom; font-family: 'Heading'; font-weight: 400;}
.textbox table td{ vertical-align:top;}
.textbox table tr:nth-child(even){background-color:var(--color-smoke-white);}
.textbox table tr{transition:background 0.2s ease;}
.textbox table tr:hover{background-color:var(--color-light-grey);} 
.textbox table th{position: sticky; top:calc(var(--header-height-sticky)); z-index: 2;}
.textbox.table-responsive table th{position: relative; top:0;}

.textbox table.content-table{border:0;}
.textbox table.content-table:not(:last-child){margin-bottom:var(--margin-normal);}
.textbox table.content-table tr{background: transparent;}
.textbox table.content-table td{padding:0; vertical-align: middle;}
.textbox table.content-table td img{max-width: 100%;}
@media (max-width: 991.98px) {
	.textbox table th{top:0;}
}
@media (max-width: 767.98px) {
	.textbox table{border-top:1px solid var(--color-grey);}
	.textbox table, .textbox table tbody, .textbox table tfoot, .textbox table tr, .textbox table caption{ display: block;}
	.textbox table thead {display: none;}
	.textbox table tr{ padding-top:0.5rem; padding-bottom:0.5rem; margin:0;}
	.textbox table td {display: flex; padding:0.5rem; text-align: left; border:0; margin:0;}
	.textbox table td:before{ content: attr(data-th); display: block; font-weight: bold; padding-right:1rem; width:40%; flex:none;}
	
	.textbox table.content-table tr{padding:0;}
	.textbox table.content-table tr:not(:last-child), .textbox table.content-table td:not(:last-child){margin-bottom:var(--margin-normal);}
	.textbox table.content-table td{display: block;}
}



/* ************************* */
/* 15. POST CARD 			 */
/* ************************* */
.post-card{display: flex; flex-direction: column; align-items: stretch; gap:var(--margin-normal);}
.post-card .image{width:100%; aspect-ratio:1.22/1; flex:none; overflow: hidden; border-radius:var(--radius-normal); transform: scaleZ(1);}
.post-card .image img{object-fit: cover; width:100%; height:100%; transition:transform 2s ease; }
.post-card:hover .image img, .post-card .area-link:focus ~ .image img{transform: scale(1.2);}
.post-card .category{line-height: 1.2; font-family: 'Heading'; color:var(--color-dark-grey); margin-bottom:var(--margin-small);}
.post-card .title{margin-bottom:var(--margin-small); font-size: var(--h5); transition:color 0.2s ease;}
.post-card .date{font-size: var(--text-small); line-height: 1.2; color:var(--color-dark-grey); margin-bottom:var(--margin-small);}
.post-card a:not(.area-link){z-index: 5;}
.post-card .overlay{background:transparent; display: flex; align-items: center; justify-content: center; position: absolute; top:0; right:0; bottom:0; left:0; transition:background 0.4s ease;}
.post-card .overlay:after{content: '\f061'; margin-right:150%; font: var(--font-icon); font-size: 3rem; color:#fff; transition:margin 0.4s ease;}
.post-card:hover .overlay, .post-card .area-link:focus ~ .image .overlay{background: var(--color-black50);}
.post-card:hover .overlay:after, .post-card .area-link:focus ~ .image .overlay:after{margin-right:0;}




/* ************************* */
/* 16. RESOURCE CARD		 */
/* ************************* */
.resource-card{display: flex; flex-direction: column; align-items: stretch; gap:var(--margin-normal);}
.resource-card .image{width:100%; aspect-ratio:1.22/1; flex:none; overflow: hidden; border-radius:var(--radius-normal); transform: scaleZ(1);}
.resource-card .image img{object-fit: cover; width:100%; height:100%; transition:transform 2s ease; }
.resource-card:hover .image img, .resource-card .area-link:focus ~ .image img{transform: scale(1.2);}
.resource-card .category{line-height: 1.2; font-family: 'Heading'; color:var(--color-dark-grey); margin-bottom:var(--margin-small);}
.resource-card .title{margin-bottom:var(--margin-small); font-size: var(--h5); transition:color 0.2s ease;}
.resource-card .date{font-size: var(--text-small); line-height: 1.2; color:var(--color-dark-grey); margin-bottom:var(--margin-small);}
.resource-card a:not(.area-link){z-index: 5;}
.resource-card .overlay{background:transparent; display: flex; align-items: center; justify-content: center; position: absolute; top:0; right:0; bottom:0; left:0; transition:background 0.4s ease;}
.resource-card .overlay:after{content: '\f061'; margin-right:150%; font: var(--font-icon); font-size: 3rem; color:#fff; transition:margin 0.4s ease;}
.resource-card:hover .overlay, .resource-card .area-link:focus ~ .image .overlay{background: var(--color-black50);}
.resource-card:hover .overlay:after, .resource-card .area-link:focus ~ .image .overlay:after{margin-right:0;}




/* ************************* */
/* 18. SERVICE CARD		 */
/* ************************* */
.service-card{display: flex; flex-direction: column; align-items: stretch; gap:var(--margin-normal);}
.service-card .image{width:100%; aspect-ratio:1.22/1; flex:none; overflow: hidden; border-radius:var(--radius-normal); transform: scaleZ(1);}
.service-card .image img{object-fit: cover; width:100%; height:100%; transition:transform 2s ease; }
.service-card:hover .image img, .service-card .area-link:focus ~ .image img{transform: scale(1.2);}
.service-card .title{margin-bottom:var(--margin-small); font-size: var(--h5); transition:color 0.2s ease;}
.service-card a:not(.area-link){z-index: 5;}
.service-card .overlay{background:transparent; display: flex; align-items: center; justify-content: center; position: absolute; top:0; right:0; bottom:0; left:0; transition:background 0.4s ease;}
.service-card .overlay:after{content: '\f061'; margin-right:150%; font: var(--font-icon); font-size: 3rem; color:#fff; transition:margin 0.4s ease;}
.service-card:hover .overlay, .service-card .area-link:focus ~ .image .overlay{background: var(--color-black50);}
.service-card:hover .overlay:after, .service-card .area-link:focus ~ .image .overlay:after{margin-right:0;}



/* ************************* */
/* 19. PROJECT CARD		 */
/* ************************* */
.project-card{display: flex; flex-direction: column; align-items: stretch; gap:var(--margin-normal);}
.project-card .image{width:100%; aspect-ratio:1.22/1; flex:none; overflow: hidden; border-radius:var(--radius-normal); transform: scaleZ(1);}
.project-card .image img{object-fit: cover; width:100%; height:100%; transition:transform 2s ease; }
.project-card:hover .image img, .project-card .area-link:focus ~ .image img{transform: scale(1.2);}
.project-card .title{margin-bottom:var(--margin-small); font-size: var(--h5);}
.project-card .category{color:var(--color-dark-grey); font-family: 'Heading'; margin-bottom:var(--margin-small);}
.project-card a:not(.area-link){z-index: 5;}
.project-card .overlay{background:transparent; display: flex; align-items: center; justify-content: center; position: absolute; top:0; right:0; bottom:0; left:0; transition:background 0.4s ease;}
.project-card .overlay:after{content: '\f061'; margin-right:150%; font: var(--font-icon); font-size: 3rem; color:#fff; transition:margin 0.4s ease;}
.project-card:hover .overlay, .project-card .area-link:focus ~ .image .overlay{background: var(--color-black50);}
.project-card:hover .overlay:after, .project-card .area-link:focus ~ .image .overlay:after{margin-right:0;}



/* ************************* */
/* 20. STUDY CARD		 */
/* ************************* */
.study-card{width:100%;}
.study-card .image{border-radius:var(--radius-normal); overflow: hidden; transform: scaleZ(1); width:100%; aspect-ratio:1.22/1; margin-bottom:var(--margin-normal);}
.study-card .image img{object-fit: cover; width:100%; height:100%; transition:transform 0.8s ease;}
.study-card .title{font-size: var(--h5);}
.study-card .overlay{background:transparent; display: flex; align-items: center; justify-content: center; position: absolute; top:0; right:0; bottom:0; left:0; transition:background 0.4s ease;}
.study-card .overlay:after{content: '\f061'; margin-right:150%; font: var(--font-icon); font-size: 3rem; color:#fff; transition:margin 0.4s ease;}
.study-card:hover .image img, .study-card .area-link:focus ~ .image img{transform: scale(1.2);}
.study-card:hover .overlay, .study-card .area-link:focus ~ .image .overlay{background: var(--color-black50);}
.study-card:hover .overlay:after, .study-card .area-link:focus ~ .image .overlay:after{margin-right:0;}



/* ************************* */
/* 21. TAGS LISTING 		 */
/* ************************* */
.tags-listing{display: flex; flex-wrap:wrap; gap:1rem; line-height: 1.2;}
.tags-listing a{color:var(--color-dark-grey);font-size:1rem; font-family: 'Heading'; display: flex; align-items: center; padding:0; text-decoration: none;}
.tags-listing a:hover, .tags-listing a:focus{color:var(--color-hover);}
.text-center .tags-listing, .tags-listing.text-center{justify-content:center;}
.color-white .tags-listing a:not(.btn):not(:hover):not(:focus){color:var(--color-link);}
.tags-listing.category{gap:0.75rem;}

/* ************************* */
/* 22. LISTING NAV 			 */
/* ************************* */
.history-nav-section{color:var(--color-dark-grey); padding:var(--margin-x-big) 0; border-top:1px solid var(--color-middle-grey); border-bottom:1px solid var(--color-middle-grey);}
.history-nav-section .container{display:flex; flex-direction: row-reverse; align-items: flex-start; gap:3.5rem; justify-content: space-between;}
.history-nav-section .prev, .history-nav-section .next{max-width:50%;}
.history-nav-section .title{margin-top:0.25rem;}
.history-nav-section .next{text-align: right;}
.history-nav-section a{color:var(--color-black);}
.history-nav-section a:hover, .history-nav-section a:focus{color:var(--color-red)!important;}
@media (max-width: 767.98px) {
	.history-nav-section .container{gap:var(--margin-normal); text-align: center; flex-direction: column; align-items: center;}
	.history-nav-section .next{text-align: center;}
}
@media (max-width: 575.98px){
	.history-nav-section .prev, .history-nav-section .next{max-width:80%;}
}



/* ************************* */
/* 23. STAT-BLOCK 			 */
/* ************************* */
.stat-block{display: flex; align-items: flex-start; gap:3.5rem;}
.stat-block .item{display: flex; flex-direction: column; align-items: flex-start; gap:1rem; flex-basis:0; flex-grow:1;}
.stat-block .value{font-size: 5rem; line-height: 1.2; transition: clip-path 0.8s ease, top 0.8s ease; transition-delay: inherit; }
.stat-block .highlighted .value{font-size:7.5rem; color: var(--color-red);}
.stat-block .sep{height:1px; width:100%; background: var(--color-middle-grey); transition: clip-path 0.8s ease; transition-delay: inherit; }
.stat-block .label{font-size: var(--h5); line-height: 1.2; font-family: 'Heading'; transition: clip-path 0.8s ease, bottom 0.8s ease; transition-delay: inherit; }

.stat-block .aos-init .sep{clip-path: inset(0 100% 0 0);}
.stat-block .aos-init.aos-animate .sep{clip-path: inset(0 0 0 0);}
.stat-block .aos-init .value{clip-path: inset(100% 0 0 0); top:3rem;}
.stat-block .aos-init.aos-animate .value{clip-path: inset(0 0 0 0); top:0;}
.stat-block .aos-init .label{clip-path: inset(0 0 100% 0); bottom:3rem;}
.stat-block .aos-init.aos-animate .label{clip-path: inset(0 0 0 0); bottom:0;}

@media (max-width: 1399.98px) {
	.stat-block{gap:2.5rem;}
}
@media (max-width: 1199.98px) {
	.stat-block{gap:1.5rem;}
	.stat-block .value{font-size:4rem;}
	.stat-block .highlighted .value{font-size: 5.5rem;}
	.stat-block .label{font-size: var(--h6);}
}
@media (max-width: 767.98px) {
	.stat-block{flex-direction: column; align-items: center; gap:var(--margin-big);}
	.stat-block .item{flex-basis:auto; align-items: center;}
	.stat-block .value{font-size:16vw;}
	.stat-block .highlighted .value{font-size: 25vw;}
	.stat-block .label{font-size: var(--h5);}
}
@media (max-width: 575.98px) {
	
}

	

/* ************************* */
/* 24. CONTENT-NUMBERED-LISTING	 */
/* ************************* */
.content-numbered-listing{display: flex; flex-direction: column; align-items: flex-start; gap:var(--margin-big);}	
.content-numbered-listing .item .num{width:2.1875rem; position: absolute; top:0; left:-3.1875rem; display: block; text-align: right; color:var(--color-grey); font-size: 1.25rem; line-height: 1.5; }
@media (max-width: 991.98px) {
	.content-numbered-listing .item .num{left:-2.75rem;}
}
@media (max-width: 767.98px) {
	.content-numbered-listing .item{margin-left:4rem;}
	.content-numbered-listing .item .num{left:-2.5rem;}
}



/* ************************* */
/* 25. CONTENT-LINKED-LISTING	 */
/* ************************* */
.content-linked-listing .item{--link-width:calc(var(--container)*0.08333/2.5); min-height: 90vh; padding-left:calc(var(--container)*0.0833);}
.content-linked-listing .title-wrap{margin-bottom:var(--margin-normal);}
.content-linked-listing .title{transition:color 0.8s ease;}
.content-linked-listing .num{width:2.1875rem; position: absolute; top:0; left:-3.1875rem; display: block; text-align: right; color:var(--color-grey); font-size: 1.25rem; line-height: 1.5; counter-increment: LinkedItem; content:'0'counter(LinkedItem);}
.content-linked-listing .link{ position: absolute; top:1rem; bottom:-1.5625rem; left:1rem; width:var(--link-width); transition:clip-path 0.8s ease;}
.content-linked-listing .link > div{border:1px solid var(--color-red); border-right:0; position: absolute; top:0.25rem; bottom:0.25rem; left:0; right:0.625rem; border-top-left-radius: var(--link-width); border-bottom-left-radius:var(--link-width);}
.content-linked-listing .link > div:before{content: ''; position: absolute; top:-0.3125rem; right:-0.5625rem; width:0.5625rem; height:0.5625rem; border-radius:50%; border:1px solid var(--color-red);}
.content-linked-listing .item + .item .link > div:before{display: none;}
.content-linked-listing .link > div:after{content: ''; position: absolute; bottom:-0.3125rem; right:-0.5625rem; width:0.5625rem; height:0.5625rem; border-radius:50%; border:1px solid var(--color-red);}
.content-linked-listing .item:last-child{min-height: 33vh;}
.content-linked-listing .item:last-child .link{display: none;}
.content-linked-listing .item > .textbox{display: none;}

.content-linked-listing .floating-text-wrap{position: sticky; top:33vh; height:33vh;}
.content-linked-listing .floating-text-wrap .textbox{max-height:33vh; overflow: auto; opacity:0; font-size: var(--text-lead); position: absolute; top:0; left:0; width:100%; transition-property:opacity;}
.content-linked-listing .floating-text-wrap .textbox:last-child{opacity:1;}
.content-linked-listing .floating-text-wrap .textbox.aos-animate{opacity:1;}
.content-linked-listing .floating-text-wrap .textbox.aos-animate + .textbox.aos-animate{opacity:0;}

.content-linked-listing .aos-init .title{color:var(--color-dark-grey);}
.content-linked-listing .aos-init.aos-animate .title{color:var(--color-black);}

.content-linked-listing .aos-init .link{clip-path: inset(0 0 100% 0);}
.content-linked-listing .aos-init.aos-animate .link{clip-path: inset(0 0 0 0);}
@media (max-width: 1399.98px) {
	.content-linked-listing .item{--link-width:2.5rem;}
	.content-linked-listing .link{left:0.5rem;}
}
@media (max-width: 1199.98px) {
	.content-linked-listing .item{--link-width:1.75rem;}
	.content-linked-listing .link{left:0.25rem;}
}
@media (max-width: 991.98px) {
	.content-linked-listing .floating-text-wrap{display: none;}
	.content-linked-listing .item .textbox{display:block;}
	.content-linked-listing .item, .content-linked-listing .item:last-child{min-height: inherit;}
	.content-linked-listing .row [class*='col-']{display: flex; flex-direction: column; align-items: flex-start; gap:var(--margin-big);}
	.content-linked-listing .link{bottom:calc(-1.5625rem - var(--margin-big));}
	.content-linked-listing{margin-left:calc(var(--container)*0.3333);}
	.content-linked-listing .item{--link-width:calc(var(--container)*0.08333/2.3);}
	.content-linked-listing .num{left:-2.75rem;}
}
@media (max-width: 767.98px) {
	.content-linked-listing .item{padding-left:4rem;}
	.content-linked-listing{margin-left:0;}
	.content-linked-listing .item{--link-width:1.5rem;}
	.content-linked-listing .num{left:-2.5rem;}
}



/* ************************* */
/* 26. CONTENT-GRAPHIC-LISTING	 */
/* ************************* */
.content-graphic-listing{display: flex; flex-direction: column; align-items: stretch; gap:var(--padding-large);}
.content-graphic-listing .item{display: flex; align-items: center; gap:4.31rem;}
.content-graphic-listing .image{flex:none; width:calc(var(--container)*0.3333);}
.content-graphic-listing .image img{width: 100%; max-width: 100%;}
.content-graphic-listing .num{width:2.1875rem; position: absolute; top:0; left:-3.1875rem; display: block; text-align: right; color:var(--color-grey); font-size: 1.25rem; line-height: 1.5; counter-increment: LinkedItem; content:'0'counter(LinkedItem);}
.content-graphic-listing .title{margin-bottom:var(--margin-big);}
.content-graphic-listing .content{flex-grow:1;}
.content-graphic-listing .item:nth-child(odd){flex-direction: row-reverse;}
@media (max-width: 1199.98px) {
	.content-graphic-listing .title{margin-bottom:var(--margin-normal);}
	.content-graphic-listing{gap:var(--padding-normal);}
}
@media (max-width: 991.98px) {
	.content-graphic-listing .num{left:-2.75rem;}
	.content-graphic-listing{gap:var(--margin-x-big);}
	.content-graphic-listing .item{gap:1.5rem;}
}
@media (max-width: 767.98px) {
	.content-graphic-listing{margin-left:4rem; gap:var(--margin-big);}
	.content-graphic-listing .num{left:-2.5rem;}
	.content-graphic-listing .item, .content-graphic-listing .item:nth-child(odd){gap:var(--margin-normal); flex-direction: column;}
	.content-graphic-listing .image{width:20rem;}
}



/* ************************* */
/* 27. TECH-LISTING	 */
/* ************************* */
.tech-listing{display: flex; flex-wrap: wrap; justify-content: center;}
.tech-listing .item{display: flex; align-items: center; justify-content: center; width:9.375rem; height:9.375rem; padding:1rem;}
.tech-listing .item img{filter: grayscale(100%); max-width: 7.62rem; max-height: 4.87rem;}
@media (max-width: 1199.98px) {
	.tech-listing .item img{max-width: 6.62rem; max-height: 3.87rem;}
	.tech-listing .item{ width:8rem; height:8rem; padding:1rem;}
}



/* ************************* */
/* 28. RESPONSIVE-TABLE-BLOCK	 */
/* ************************* */
.responsive-table-block .full-screen-link{text-align: right; margin-bottom:var(--margin-small);}
.responsive-table-block .table-notes{margin-top: var(--margin-small); display: flex; flex-direction: column; align-items: flex-start; color:var(--color-dark-grey); font-size: var(--text-small);}
.responsive-table-block .table-responsive{margin:0; margin-left:calc(-1*var(--container)*0.3333);}
.responsive-table-block .full-report-link{margin-top: var(--margin-small);}
@media (max-width: 767.98px) {
	.responsive-table-block .table-responsive{margin-left:0;}
}



/* ************************* */
/* 29. FILTER-BLOCK 		 */
/* ************************* */
.filters-block{margin-bottom:var(--margin-x-big);}
.filters-block .nav-tabs{gap:4rem; border-bottom:1px solid var(--color-middle-grey); align-items: stretch;}
.filters-block .nav-tabs a{border-bottom:1px solid transparent; color:var(--color-dark-grey); display: inline-flex; gap:0.5rem; align-items: center; padding:0 0 1rem 0; font-size: 1.125rem; font-family: 'Heading'; text-decoration: none;}
.filters-block .nav-tabs a:hover, .filters-block .nav-tabs a:focus{color:var(--color-hover);}
.filters-block .nav-tabs a.active{cursor: default; border-color:var(--color-black); color:var(--color-black);}
.filters-block .tab-content{padding-top:var(--margin-big);}
.filters-block .filter-listing{display: flex; flex-wrap:wrap; gap:var(--margin-normal) 3.5rem;}
.filters-block .filter-listing a{color:var(--color-dark-grey); text-decoration: none; font-family: 'Heading';}
.filters-block .filter-listing a:hover, .filters-block .filter-listing a:focus{color:var(--color-hover);}
.filters-block .filter-listing a.active{color:var(--color-black);}
@media (max-width: 767.98px) {
	.filters-block .nav-tabs{gap:2rem; }
	.filters-block .filter-listing{gap:var(--margin-small) 2rem;}
}
@media (max-width: 575.98px) {
	.filters-block .nav-tabs{gap:1.5rem; }
}



/* ************************* */
/* 30. CONTENT-CTA-BLOCK 		 */
/* ************************* */
.content-cta-block{padding:var(--margin-big) 2rem; background: var(--color-smoke-white); border-radius:var(--radius);}
.content-cta-block .title{font-size: var(--h4); margin-bottom:var(--margin-small);}
.content-cta-block .textbox{margin-bottom:var(--margin-normal);}



/* ************************* */
/* 31. GALLERY-BLOCK 		 */
/* ************************* */
.gallery-listing{display: flex; flex-wrap:wrap; gap:1.5rem;}
.gallery-listing .item{width:calc((100% - 1.5rem*3)/4); aspect-ratio:1/1; border-radius:var(--radius-normal);}
.gallery-listing .item img{border-radius:inherit; object-fit: cover; width:100%; height:100%;}
.gallery-listing .area-link{color:var(--color-black); border-radius:inherit; display: flex; align-items: center; justify-content: center; text-decoration: none;}
.gallery-listing .area-link:before{content: '\2b'; opacity: 0; width:2.5rem; height:2.5rem; border-radius:50%; font:var(--font-icon); display: flex; align-items: center; justify-content: center; background:#fff; transition:opacity 0.2s ease;}
.gallery-listing .area-link:hover, .gallery-listing .area-link:focus{background: var(--color-black50);}
.gallery-listing .area-link:hover:before, .gallery-listing .area-link:focus:before{opacity:1;}
@media (max-width: 991.98px) {
	.gallery-listing{gap:0.75rem;}
	.gallery-listing .item{width:calc((100% - 0.75rem*3)/4);}
}
@media (max-width: 767.98px) {
	.gallery-listing .item{width:calc((100% - 0.75rem*2)/3);}
}
@media (max-width: 575.98px) {
	.gallery-listing .item{width:calc((100% - 0.75rem)/2);}
}






