*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}

/* Fonts */



/* Custom Properties */

:root {

	/* Defaults */
	
	--background-default: #10071d;
	--background-transparent: rgba(0,0,0,0);

	--default-border-radius: 0.5rem;
	--default-btn-border-radius: 10%;

	--default-font: "Outfit", sans-serif;
	--default-font-heading: "Outfit",  sans-serif;
	--default-font-btns: "Outfit",  sans-serif;
	
	--default-font-colour: #6d6d6d;
	--default-font-size: 19px;
	--default-font-weight: 400;

	--default-heading-size: 1.6rem;
	--default-heading-small: 1.2rem;
	--default-heading-large: 1.8rem;
	--default-heading-largest: 2rem;	

	--colour-white: #FFF;
	--colour-black: #000;
	--colour-grey: #202020;

	--svg-filter-white: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(157deg) brightness(113%) contrast(101%);
	--svg-filter-black: brightness(0) saturate(100%);
	--svg-filter-grey: brightness(0) saturate(100%) invert(41%) sepia(0%) saturate(1112%) hue-rotate(145deg) brightness(92%) contrast(85%);
	
	/* Theme Specific */

	/*
	blue-dark: #1f456c;
	blue-mid: #267fb9;
	blue-light: #9dc2e2;
	*/

	--colour-theme-grey: #f4f4f4;

	--colour-theme-blue-dark: #1f456c;
	--colour-theme-blue-dark-transparent: #1f456cAA;
	--colour-theme-blue-dark-hsl: 218, 63%, 44%;
	--colour-theme-blue-dark-rgb: 66, 106, 176;
	--svg-filter-theme-blue-dark: brightness(0) saturate(100%) invert(34%) sepia(72%) saturate(486%) hue-rotate(180deg) brightness(99%) contrast(88%);

	--colour-theme-blue: #267fb9;

	--colour-theme-blue-light: #9dc2e2;

	--header-gradient: linear-gradient(to top, rgba(var(--colour-theme-blue-rgb),0), rgba(var(--colour-theme-blue-rgb),1));

	--colour-main: var(--colour-theme-blue);
	--colour-accent: var(--colour-theme-red);
	--colour-secondary: var(--colour-theme-green-light);	

	--theme-border-default: 1px solid var(--colour-theme-grey);
	--theme-border-radius: 1rem;
	--header-height:140px;

	scroll-behavior: smooth;
	
}

html {scroll-padding-top: 3rem;}

/* Global */

.button{
	display: inline-block;
	background: var(--colour-theme-blue);
	color: white;
	padding: .75rem 2rem;
	font-size: 20px; line-height:1;
}

#clients .container, #testimonials .container,
.background-brand .container{
	max-width: 1140px;
}

@media (min-width: 576px){
	#clients .container, #testimonials .container,
	.background-brand .container, 
	.container, .container-sm {
		max-width: 540px;
	  }	  
}

@media (min-width: 768px){
	#clients .container, #testimonials .container,
	.background-brand .container,
	.container, .container-md, .container-sm {
		max-width: 700px;
	  }
}

@media (min-width: 992px){
	#clients .container, #testimonials .container,
	.background-brand .container,
	.container, .container-lg, .container-md, .container-sm {
		max-width: 960px;
	  }
}

@media (min-width: 1200px){
	#clients .container, #testimonials .container,
	.background-brand .container,
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1140px;
	  }	  
}


@media (min-width: 1400px){	
	#clients .container, #testimonials .container,
	.background-brand .container{
		max-width: 1140px;
	}
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1320px;		
	  }
}

@media (max-width:50em){

	:root{
		--default-font-size:16px
	}
	
	p > br{display:none;}

	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		--bs-gutter-x: 2.5rem;
	  }	

	#header-site .container,
	#header-scroll .container {
		--bs-gutter-x: .5rem;
	}
}

html, body {
	height:auto;
	padding: 0px;
	background-color: white;
}

body{
	font-family: var(--default-font);
	font-weight: var(--default-font-weight);
	font-size: var(--default-font-size);
	color: var(--default-font-colour);
	line-height: 1.4;
	text-transform: none;    
}

body.disable-scroll {
	overflow: hidden;
}


p{
	margin-bottom: 0.5rem;
}

a, a:visited {
    color: inherit;
    text-decoration: none;
}

a:hover{
    color: var(--colour-accent);
	outline:none;
}

nav a{
	text-decoration: none;
}

a.colour-blue, a.colour-blue:visited {
	color: var(--colour-theme-blue);
}

*:focus {
	outline: none;
}

article a{
	color: inherit;
}

strong, b{
 font-weight: 600;
}

img{max-width:100%;}

/* Icons */

.icon {
	display: inline-block;		
	width: 32px; height: 32px; line-height: 1;
	background-size: contain;
	background-position:center center;
	background-repeat: no-repeat;
	transform-origin: center;
}

.icon-rotate-90{
	transform: rotate(-90deg);
}

.icon-rotate-180{
	transform: rotate(-180deg);
}

.icon-rotate-240{
	transform: rotate(-240deg);
}

.icon-rotate90{
	transform: rotate(90deg);
}

.icon-rotate180{
	transform: rotate(180deg);
}

.icon-rotate240{
	transform: rotate(240deg);
}

.icon-angle-right.expand-icon{
	transform: rotate(-90deg);
	cursor: pointer;
}

.icon-angle-right.expand-icon.collapsed{
	transform: rotate(90deg);
}

.icon-sml{
	width:16px; height:16px;
}

.icon.navigation-arrow{
	background-image:url('../icons/arrow-up-circle.svg'), url('../icons/arrow-up-circle-fill.svg');
	background-size: auto, 1px;
	transform-origin: center;
}

.icon.navigation-arrow.arrow-up{
	transform: rotate(0deg);
}

.icon.navigation-arrow.arrow-down{
	transform: rotate(180deg);
}

.icon.navigation-arrow.arrow-left{
	transform: rotate(-90deg);
}

.icon.navigation-arrow.arrow-right{
	transform: rotate(90deg);
}

.icon.navigation-arrow:hover{
	background-image:url('../icons/arrow-up-circle-fill.svg'), url('../icons/arrow-up-circle.svg');
}

.icon.icon-newsletter-arrow{
	background-image: url('../icons/newsletter-arrow.svg');
}

.icon.icon-close{
    background-image: url('../icons/close.svg');
}

.icon.icon-plus{
    background-image: url('../icons/plus.svg');
}

.icon.icon-arrow{
    background-image: url('../icons/carousel-arrow.svg');
}

.icon.icon-menu{
    background-image: url('../icons/menu.svg');
}

/* Social Icons */

.social-icon {
	display: inline-block;		
	width: 16px; height: 16px;	
	background-size: auto;
	background-position:center center;
	background-repeat: no-repeat;
}

.social-icon-x, .social-icon-twitter{
	background-image:url('../icons/twitter-x.svg');
}

.social-icon-instagram{
	background-image:url('../icons/instagram.svg');
}

.social-icon-youtube{
	background-image:url('../icons/youtube.svg');
}

.social-icon-facebook{
	background-image:url('../icons/facebook.svg');
}

.social-icon-tiktok{
	background-image:url('../icons/tiktok.svg');
}

.social-icon-linkedin{
	background-image:url('../icons/linkedin.svg');
}

/* Colours */

.colour-blue-dark, .colour-main{
	color: var(--colour-theme-blue-dark);
}

.colour-blue{
	color: var(--colour-theme-blue);
}

.colour-blue-light{
	color: var(--colour-theme-blue-light);
}

.colour-red, .colour-accent{
	color: var(--colour-theme-red);
}

.colour-green, .colour-secondary{
	color: var(--colour-theme-green);
}

.colour-grey{
	color: var(--colour-theme-grey);
}

.colour-grey-dark{
	color: var(--colour-theme-grey-dark);
}

.colour-white{
	color: var(--colour-white);
}

.background-transparent{
	background: transparent;
	color: black;
}

section.background-white + section.background-white{padding-top:0;}

.section-heading{display:flex;flex-direction:column;gap:0;}
/*.section-heading :is(h1,h2,h3){margin-bottom:3rem;}*/

.background-brand{padding-block:0;}
.background-brand .container{
	padding:3rem 0;
	background-image: url('../img/backgrounds/half-diamond.svg');
	background-position: top right;
	background-size: 350px;
	background-repeat: no-repeat;
}

.background-brand .content-container,
.background-brand .section-heading{
	width:70%; text-align: start;
  }

.background-blue, .background-main{
	background: var(--colour-theme-blue-dark);
	color: white;
}

.background-blue-gradient-lightdark{
	background: linear-gradient(to right, var(--colour-theme-blue) 10%, var(--colour-theme-blue-dark));
	color: white;
}

.background-blue-gradient-darklight{
	background: linear-gradient(to left, var(--colour-theme-blue) 10%, var(--colour-theme-blue-dark));
	color: white;
}

.background-blue-gradient-lightdark :is(h1, h2, h3, h4, h5, h6),
.background-blue-gradient-darklight :is(h1, h2, h3, h4, h5, h6){color:white;}

.background-green, .background-accent{
	background: var(--colour-theme-green);
}

.background-grey{
	background-color: var(--colour-theme-grey);
}

.background-grey strong{
	color: var(--colour-theme-blue);
}

.background-grey-dark{
	background: var(--colour-theme-grey-dark);
}

.background-white{
	background: var(--colour-theme-white);
}

.icon-blue{
	fill: var(--colour-theme-blue);
	filter: var(--svg-filter-theme-blue);
}

.icon-blue-yellow{
	fill: var(--colour-theme-yellow);
	filter: var(--svg-filter-theme-yellow);
}

.icon-blue-pink{
	fill: var(--colour-theme-pink);
	filter: var(--svg-filter-theme-pink);
}

.icon-grey{
	fill: var(--colour-theme-grey);
	filter: var(--svg-filter-theme-grey);
}

.icon-grey-dark{
	fill: var(--colour-theme-grey-dark);
	filter: var(--svg-filter-theme-grey-dark);
}

.icon-black{
	fill: var(--colour-black);
	filter: var(--svg-filter-black);
}

.icon-white{
	fill: var(--colour-white);
	filter: var(--svg-filter-white);
}

/* Utilities */

.text-center{
	text-align: center;
}

.text-start{
	text-align: start;
}

.text-end{
	text-align: end;
}

.image-left, .alignleft{
	float: inline-start;
}

.image-right, .alignright{
	float: inline-end;
}

.image-center, .aligncenter{
	float: center;
}

/* Headings */

h1, h2, h3, h4, h5, h6{
	font-family: var(--default-font-heading);
	font-style: normal;
	line-height: 1.2;
	font-weight: 900;
	margin-bottom: 1rem;
	color: var(--colour-theme-blue);
}

h1, h2{
	font-size: 24px;
}

h3{
	font-size: 1rem;
}

@media (min-width: 50em) {

	h1, h2{
		font-size: 2.6rem;
	}
	
	h3{
		font-size: 1.2rem;
	}

}

/* Links */
a{
	color: inherit;
}

#page-content p a,
.article-content-main p a{
	text-decoration: underline;
}

a:hover, a:focus, a:visited{
	color: var(--colour-accent);
}

a:focus-visible{
	display: inline-block;
	outline: 1px solid var(--colour-accent);
	outline-offset: 3px;
}

.background-blue a{
	color: var(--colour-theme-white);
}

footer a,
footer .background-blue a{
	color: inherit;
}

.skip-to-main-content-link {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 1em;
	background-color: var(--colour-theme-blue-dark);
	color: white!important;
	opacity: 0;
}

.skip-to-main-content-link:focus {
	left: 0%;
	opacity: 1;
}





/* Outline text */  

@supports (-webkit-text-stroke: 1px var(--colour-theme-blue-dark)){

	.outline-text {
		-webkit-text-stroke: 1px var(--colour-accent);
		-webkit-text-fill-color: transparent;
	}

	.outline-text.text-blue {
		-webkit-text-stroke: 1px var(--colour-theme-blue);
		-webkit-text-fill-color: transparent;
	}	
}

/* Scroll to Top */

#scroll-top{
	position: fixed;
	bottom: -64px; right: 1rem;
	cursor: pointer;
	background-color: white;
	width: 64px; height: 64px;
	display:flex;
	align-items: center;
	justify-content: center;
	animation: fadeOut 1s;
	transition: all 1s;
	transform-origin: center;
	z-index: 99;
}

#scroll-top .icon{
	width: 64px; height: 64px;
	background-size: 32px, 1px;
}

#scroll-top .icon.navigation-arrow{
	background-image:url('../icons/arrow-up-circle.svg');


}

#scroll-top:hover .icon.navigation-arrow{
	background-image:url('../icons/arrow-up-circle-fill.svg');
}

.scrolled #scroll-top{
	bottom: 1rem;
	animation: fadeIn 1s;
	transition: all 1s;	
}

/* loadmore */

.loadmore-button-container {
	padding:2rem;
}

#load-more{
	cursor: pointer;
}

/* Forms */

.form-group{
	display: flex;
}

.form-group-inline{
	flex-direction: row;
	justify-content: center;
	padding: 2rem 0 0;
}

.form-group-single-submit{
	padding: .75rem;
	background-color: #fff;
	display: flex; align-items: center; justify-content: space-between;
	border-radius: 30px;
	width: 100%;
}

.form-group-single-submit input[type=text]{
	flex: 1 0;
	border:0;
}

.form-group-single-submit .button{
	flex: 0 0 auto;
	border:0; line-height: 1; padding: 0;
	background-color: transparent;
	height: 32px;
}



/* Mailing List */

.mailing-list .content-elements{
	max-width: 80%;
	margin: 0 auto;
}

.mc4wp-form-basic input[type="text"], .mc4wp-form-basic input[type="email"], .mc4wp-form-basic input[type="tel"], .mc4wp-form-basic input[type="url"], .mc4wp-form-basic input[type="date"], .mc4wp-form-basic textarea, .mc4wp-form-basic select{
	max-width:100%;
}

@media (min-width: 50em) {

	.mailing-list .content-elements{
		max-width: 60%;
	}

}

/* Blocks */


@media (max-width:768px){

	
}

/* Mobile Menu */

#mobile-menu-toggle{
	cursor: pointer;
	fill: var(--colour-theme-pink);
	filter: var(--svg-filter-theme-pink);
}

#mobile-menu{
	position: fixed;
	top: 0;
	left: -200vw;
	height: 100vh;
	z-index:3;
	width: 100%;
	transform: translate(0, 0);
	animation: fadeIn .3s;
	transition: all .3s;		
	background: var(--colour-theme-blue-dark);
	color: var(--colour-theme-white);
}

#mobile-menu.active{
	left: 0;
}

#mobile-menu nav ul {
	flex-direction: column;
	height: 70vh;
	justify-content: space-evenly;
	width: 100%;
}

#mobile-menu nav ul a{
	text-transform: uppercase;
	text-align: center;
	color: var(--colour-theme-white);
}

#mobile-menu > .element-container{
	padding:2rem;
	display: flex;
	flex-direction: column;
}

#mobile-menu .controls{
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
}

#mobile-menu .controls .icon.icon-close{
	cursor: pointer;
	width: 32px; height: 32px;
	fill: var(--colour-theme-white);
	filter: var(--svg-filter-white);
	background-size: cover;
}


/* Header */

header .container{
	height: 100%;
}

header .header-inner{
	padding: .5rem 0;
	display: flex; gap: 0; align-items: center; justify-content: space-between;
}

#site-header {    
	border-bottom: 0;
}

#site-header {
	--header-brand-img-height: 120px;
	width: 100%; height: var(--header-height); overflow:hidden;
	padding: 0; margin: 0;
	background-color: var(--colour-theme-blue-dark);
	color: white;
	background-size: auto 100%;
	background-repeat: no-repeat no-repeat;
	position: sticky; top:-1px; z-index:99;
	transition: all .3s ease;
}

body:has(#campaign) #site-header{
	background-color: transparent;
	color: white;
}

body:has(#campaign).scrolled #site-header{
	background-color: var(--colour-theme-blue-dark);
	color: white;
}

#site-header > *{transition: all .3s ease;}

#site-header .header-brand{display:flex;flex:1;align-items: center; justify-content: space-between;}
#site-header nav{display:flex;flex:2;align-items: center; justify-content: end;}
.header-nav ul{margin:0;padding:0;list-style-type:none;height:100%;display:flex;align-items:center;gap:3rem;font-size:1rem;font-weight:400;line-height:1;}
#site-header .brand{height:100%;}
#site-header .brand img{height:var(--header-brand-img-height); width:auto;margin:0 auto;transition: all .3s ease;}

.scrolled #site-header{
	height: calc(var(--header-height)*.55);
	background-color: var(--colour-theme-blue-dark);
	color: white;
}
.scrolled #site-header .brand img{height:calc(var(--header-brand-img-height)*.5);}

/* Navigation */

.main-navigation{
    display: flex; align-items: center;
	flex: 0 1 fit-content;
    text-align: center;
    width: 100%; height: 100%;
	font-size: 1rem;
}

.main-navigation a,
.main-navigation a:visited{
	width: fit-content;
  	padding: .5rem 1.5rem;
	font-size: .8rem; font-weight: 400; line-height: 1rem;
	color: var(--colour-theme-blue-dark);

	border:2px solid var(--colour-theme-blue-dark);
	border-radius:10px;
	background-color: transparent;
}

.main-navigation ul li.active a,
.main-navigation a:hover,
.main-navigation a:focus{
	
	border-color: var(--colour-theme-red);
	background-color: var(--colour-theme-red);	
    color: var(--colour-theme-white);
}


.main-navigation ul{
	display: flex; justify-content: space-between; align-items: center;
	list-style-type: none;
	margin:0; padding:0 2rem;
}

.main-navigation ul li{
	padding: .5rem 1rem;
}

.mobile-toggle{
	display: none;
}

.brand{
	flex: 0 0 auto;
}

.brand img{
	height:120px; width:auto;
}

@media (max-width:80em){

/*
	#header-site .brand{
		width:140px;
	} 

	#header-site .brand img{
		padding: 5px 10px;
	} 	

	#header-scroll .brand{
		width:auto;
	}	
*/
	header.header-centered .main-navigation ul {
		flex-wrap: nowrap; gap: .25rem;
	}	

	.main-navigation ul li{
		padding: .25rem;
	}

	.main-navigation a,
	.main-navigation a:visited{
		padding: .25rem .5rem;
	}	


	#site-header nav{
		display:none;
	}

	.mobile-toggle{
		height: 100%;
		display: flex;
		justify-content: center;
		flex-direction: column;
		color: #fff;
		fill: var(--colour-white);	
		filter: var(--svg-filter-white);
		cursor: pointer;
	}

	#site-header .header-brand{
		width:100%;
		justify-content: space-between;
	}

	body:has(#campaign) #site-header.active,
	.scrolled #site-header.active,
	#site-header.active{
		--header-height: 100vw;
		height: var(--header-height);
		background-color: var(--colour-theme-blue-dark);
	}

	#site-header.active .header-inner{
		display: flex;
		flex-direction: column;
		height: auto;
	}

	 #site-header.active nav,
	 #site-header.active .header-nav ul {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding:1rem;
	}
	
}

/* Footer */

footer {	
	color: var(--colour-theme-blue-dark);
	padding: 3rem 0;
	font-size: 1rem; font-weight: 400;
	line-height: 1.4;
	justify-content: flex-start;
	min-height: 300px;
	border-top: 0; 
}

footer .footer-brand .brand{
	margin-bottom:12px;
}

footer .footer-brand .brand img{
	max-width:100%;
}

footer .footer-navigation{
	display: flex;
	justify-content: space-around;
}

footer .footer-navigation > *{
	flex-basis: auto;
}

footer nav ul{
	flex-direction: column;
	align-items: flex-start;
	height: auto; width: auto;
	list-style-type: none;
	padding:0; margin:0;
}

footer nav ul li {
	margin: 0 0 0.5rem 0;
}

.footer-contact .content-element{
	padding: 0 0 0.5rem 0;	
}

.copyright{
	padding: 1rem;
	text-align: center;
	color: inherit;
}

@media (max-width: 768px) {

	footer .footer-brand {
		text-align: center;
	}
	
	footer .footer-brand .brand img{
		max-width:200px;
	}
	
	footer nav ul li {
		width: 100%;
	}

}

footer a, footer a:visited,
#footer-foot a, #footer-foot a:visited {
	color: var(--colour-footer-content);
}

footer a:hover, footer a:focus,
#footer-foot a:hover {
	color: var(--colour-accent);
}

footer .social-icon{
	width: 28px; height: 28px;
	background-size: cover;
}

footer .social-menu {
	justify-content: center;
	align-items: center;
	padding-top:1rem;
	text-align: end;
}

footer .social-menu a {
	fill: var(--colour-white);
	filter: var(--svg-filter-white);
	display:inline-block;
	padding:0 0.5rem;
}

footer .social-menu a:hover,
footer .social-menu a:focus{
	fill: var(--colour-white);
	filter: var(--svg-filter-white);
}

footer .footer-contact{
	border:0;
}

.contact-data span{
	display: block;
}

.contact-data span.content-row{
	padding-right: .5rem;
}

.contact-data span.contact-name{
	font-weight: 600; display: none;
}

.contact-data span .content-row-icon{
	display: inline-block; padding-right: .5rem;
}

.contact-data span.contact-email{
	display: block;
}

footer .credit{
	padding-top:1rem;
}

@media (max-width:50rem){
	footer .brand {display:flex;justify-content:center;}
	footer .contact-data {text-align:center;}
	footer .social-menu {text-align:center;}
	footer .footer-navigation {padding:1rem;text-align:center;}
}

/** Elements **/

/* Section */

section {
	height: auto; width: 100%;
	padding: 30px 0; margin: 0;
    border:0;
}

.section-inner{
	flex-direction: column;
	padding: 0; margin: 0 auto;
	max-width: 1600px;
}

@media (min-width:50em){

	section {
		padding: 3rem 0;
	}
	
}

.content-block + .content-block{
	padding-top: 30px;
}

/* Campaign */


#campaign{
	overflow: hidden;
	height: calc(100vh - var(--header-height));

	height: 100vh;
	padding:0;
	margin-top:calc(var(--header-height)*-1);
	
	background: linear-gradient(
		to right,
		var(--colour-theme-blue-dark) 33%,
		var(--colour-theme-blue) 33% 67%,
		var(--colour-theme-blue-light) 67%
	);
	background: var(--colour-theme-blue-dark);
	color: white;
}

#campaign .container{
	height:100%;
}

.campaign-inner{
	height: 100%;	
	overflow: hidden;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4rem;
	display: grid; place-items: center;
}

.campaign-inner > *{
	grid-row: 1/1;
	grid-column: 1/1;
}

.campaign-image{
	width: 100vw; height: 100%;
	isolation: isolate;
	overflow: hidden;
	z-index: 1;	
	mix-blend-mode: overlay;
	filter: grayscale(1);
}

.campaign-image img {
	width: 100%; height: 100%;
	background: rgba(255,255,255,0);
	object-fit: cover;	object-position: center center;
	opacity: .5;
	transition: all 1s ease-in-out;	
}

.campaign-image img.hide{
	opacity: 0;
}

#campaign .caption{
	width: 60vw;
	padding: 3rem;
	display: flex; flex-direction: column; align-items: start;
	z-index:2;
	background-image: url('../img/backgrounds/campaign-right-angle.svg');
	background-position: top left;
	background-size: 150px;
	background-repeat: no-repeat;
	font-size: 24px;
	font-weight: 400;
}

#campaign .caption .caption-content{
	display: flex; flex-direction: column; align-items: start; gap:1.5rem;
}

#campaign .caption .title{
	font-size: 46px;
	font-weight: 900;
  	display: block;
}

@media (max-width:50rem){
	.caption-content p br{
		display: none;
	}

	#campaign .caption{width: 90vw; padding: 1.5rem;font-size: 18px;}
	#campaign .caption .title{font-size: 24px;}

	h1 {font-size: 1.4rem;}
	
	section{padding:3rem 0;}
	.background-brand{padding:0 1.5rem 3rem;}
	.container {padding:0 1.5rem;}

	.background-brand .container{background-size:150px;padding-bottom:0;}
	.background-brand .content-container,
	.background-brand .section-heading {width:100%;}
	.background-brand .content-container :is(h1),
	.background-brand .section-heading :is(h1) {width:70%;}
}

/** Pages **/


/* Home */

#featured-news{
	--_gap: 4rem;
	--_gap-small: calc(var(--_gap)*.5);
}

#featured-news .featured-news-inner{
	display: flex; flex-direction: column; gap: var(--_gap-small);
}

#featured-news .news-feature .news-card{
	flex-direction: column; gap: var(--_gap-small);
}

#featured-news .news-card{
	flex-direction: row;
}

#featured-news .news-more{
	display: flex; flex-direction: column; gap: var(--_gap-small);
}

#featured-news .news-more > *{
	flex: 1 0 50%;
}

#featured-news .news-more .news-card{
	gap: var(--_gap-small);
}

@media (min-width:50rem){

	#featured-news .featured-news-inner{
		gap: var(--_gap);
	}

	#featured-news .news-feature .news-card-image{
		order: 1;
	}

	#featured-news .news-feature .news-card{
		flex-direction: row-reverse; gap: var(--_gap);
	}

	#featured-news .news-feature .news-card > *{
		flex: 1;
	}	

	#featured-news .news-more{
		flex-direction: row; gap: var(--_gap);
	}

}

/* Content */



/* News */

#news-latest a{
	color: inherit;
}

.news-card{
	display: flex; flex-direction: column; gap: 1rem;
	justify-content: center;
	align-items: center;
}

.featured-news a, a.news-card, .news-card a{color: inherit;}
.featured-news a:hover, a.news-card:hover, .news-card a:hover{color: var(--colour-theme-red);}

.news-card-image,
.news-image{
	position: relative;
	width: 100%; height: fit-content;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--default-border-radius);
}

.news-card-image, .news-card-caption{flex:1;}

#news-all .news-card-image{
	width: 100%; max-height:300px; aspect-ratio: 16/9;
}

.news-card-image img,
.news-image img {
	width: 100%; height: 100%; aspect-ratio: 16/9;
	background: rgba(255,255,255,0);
	object-fit: cover;	object-position: center center;
	opacity: 1;
	transition: all 1s ease-in-out;	
}

.news-image{
	width: 100%; max-height:600px; aspect-ratio: 16/9;
}
.news-image img {
	object-fit: cover; height: auto;
	border-radius: var(--default-border-radius);
}

/* News Archive */

@media (min-width: 50em){
	.featured-news .news-card{
		flex-direction: row;  gap: 4rem;
	}

	.featured-news .news-card h1{
		font-size: 2rem;
	}

	.featured-news .news-card-image{
		flex:4; order: 2;
	}

	.featured-news .news-card-caption{
		flex:5;
	}

	.news-card h3{
		font-size: 1rem;
	}
	
}

/* News Single */

.news-image{
	position: relative;
	width: 100%; height: fit-content;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--default-border-radius);
	margin-block: 2rem;
}

.news-image img {
	width: 100%; max-height:600px; aspect-ratio: 16/9;
	background: rgba(255,255,255,0);
	object-fit: cover;	object-position: top center;
	opacity: 1;
	transition: all 1s ease-in-out;	
}

.news-image img {
	object-fit: cover; height: auto;
	border-radius: var(--default-border-radius);
}

#news-article .article-content-main {padding-right: 4rem;}
#news-article h1{font-size: 1.6rem;}
#news-article p, #news-article ul{font-size: 1rem; margin-bottom: 1.5rem;}
#news-article .article-content-main p:first-of-type {font-size: 1.1rem; font-weight: 500; margin-bottom: 2rem;}
#news-article .article-content-sidebar p:first-of-type{font-size: 1rem; padding:0; margin-bottom: 0; border:0; color: var(--colour-black);}

@media (min-width: 50em){
	#news-article h1{font-size: 2.5rem;}
	#news-article .article-content-main p:first-of-type {font-size: 1.3rem;}
}

/* Pages */

#page-content .article-content{
	text-align: left;
}

#page-content .article-content p{
	margin: 0 auto 1.5rem auto;
	max-width: 100%; 
}
/*
#page-content .article-content p:first-of-type {
	
	font-size: 1.4rem;
	padding: 2rem 0; margin-bottom: 2rem;
	border-bottom: 1px solid rgba(0,0,0, 0.5);
}
*/
#page-content .article-content li{
	margin-bottom: 1rem;
}

.format-last-para{
	font-size: 1rem; font-weight: 600;
	max-width: 80%; margin: 0 auto;
}

.format-last-para p:last-of-type{
	font-size: 1.2rem; font-weight: 700;
	margin: 2rem 0 0;
}

.format-last-para p:last-of-type strong,
.format-last-para p:last-of-type b{
	color: var(--colour-theme-yellow);
	font-weight: 700;
}

@media (min-width:50em){
	
	.format-last-para{
		font-size: 1.2rem; 
	}
	
	.format-last-para p:last-of-type{
		font-size: 2rem;
	}	
	
}

.g-4, .gy-4 {
	--bs-gutter-y: 2.5rem;
}
.g-4, .gx-4 {
	--bs-gutter-x: 2.5rem;
}

.client-list{
	margin:0; padding-inline: 0;
	list-style: none;
	--_item-gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--_item-gap);
	align-items: center; justify-content: center;
	padding-block: 1rem;
}

.client-list li{
	padding: 1rem; text-wrap: nowrap;
	border-radius: .5rem;
	max-width: 150px;
}

/*.client-list li img{max-width:100px;max-height:100px;}*/

.content-scroller{
	max-width: 100%;
}

.content-scroller-inner{
	--_item-gap: 1rem;
	display: flex; flex-wrap: wrap; gap: var(--_item-gap); align-items: center;
	padding-block: 1rem;
}

.content-scroller[data-animated="true"]{
	--_animation-duration: 90s;
	--_gradient: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
	overflow: hidden;
	-webkit-mask: var(--_gradient);
	mask: var(--_gradient);
}

.content-scroller[data-animated="true"] .content-scroller-inner{
	width: max-content; flex-wrap: nowrap;
	animation: scroll-horizontal var(--_animation-duration, 60s) var(--_animation-direction, forwards) linear infinite;
}

.content-scroller[data-animated="true"] .content-scroller-inner:hover{
	animation-play-state: paused;
}

@keyframes scroll-horizontal{
	to{
		transform: translate(calc(-50% - calc(var(--_item-gap)*.5)));
	}
}

.featured-values-inner{
	display: flex; gap: 2rem;
}

.featured-values-inner > *{
	flex: 1;
}

#featured-values .value{
	text-align: center;
	flex: 1;
}

#featured-values .value .label,
#featured-values .value .count{
	font-family: var(--default-font-heading);
	font-style: normal;
	line-height: 1.2;
	font-weight: 700;
	display: flex; gap: 1rem;
}

#featured-values .value .count{
	font-size: 3rem;
}

@media (max-width:50rem){
	.featured-values-inner{
		flex-direction: column;
	}

	#featured-values .value .label,
	#featured-values .value .count{
		justify-content:center;
	}	
}


/* Homepage */

.display-card{
	display: block; height:250px;
	background: var(--colour-theme-blue-dark);
	color: black;
	border-radius: 0;
	overflow: clip;
}

.display-card-inner{
	width: 100%; height: 100%;
	display:grid;
}

.display-card-inner > *{
	grid-column: 1/1;
	grid-row: 1/1;
}

.display-card-inner .caption{
	place-self: end start;
	background: var(--colour-theme-blue-dark-transparent);
	padding: 1rem;
	font-size: 1.2rem; line-height: 1; font-weight:900; color: white;
	display:flex; gap:.5rem; flex-direction: column;
	border-radius: 0;
	z-index:2;	
	width: 90%;
}

@media (max-width:50rem){
	.display-card-inner .caption{font-size: .9rem;width:100%;}
}

.display-card-inner .caption h3{margin:0;color: white;}
.display-card-inner .caption small{font-weight: 400;font-size:.9rem;}

.display-card-inner img{
	z-index:1;
	width:100%; height: 100%; aspect-ratio: 16/9;
	object-fit: cover;
	object-position: center center;
}

.slider-container{
	display:flex; gap:2rem; align-items:center; justify-content:space-between;
	padding:1rem 2rem;
}

.slide-control{
	cursor: pointer;
}

.slide-control.icon{
	width: 48px; height: 48px;
}

@media (max-width:50rem){

	.slider-container{
		gap:1rem; padding:1rem 0;
	}

}

.portfolio-display{
	--_portfolio-gap: 2rem;
	--_portfolio-card-adjustment: calc(var(--_portfolio-gap) * .5);
	display:flex; gap:var(--_portfolio-gap); align-items:center; justify-content:start;
	padding:1rem;
	overflow:hidden;
}

#portfolio .display-card{
	--_card-width: calc(33% - var(--_portfolio-card-adjustment));
	--_card-height: 500px;
	display: block; width: var(--_card-width); height:var(--_card-height);
	background: white;
	border: 0px solid var(--colour-theme-blue-dark);
	border-radius: 0;
	overflow: clip;
	flex: 1 0 auto;
}

#portfolio .display-card-inner .caption{
	place-self: end start;
	gap:0;
	width:100%;	
	font-weight:400;
}

@media (max-width:50rem){
	#portfolio .display-card{
		width:100%;
	}
}


.content-blocks {
	display:flex;
	gap:2rem;
	padding:3rem 0;
	width:100%
  }
  .block {
	display:flex;
	gap:.5rem;
	flex:1
  }
  .block-col {
	flex-direction:column;
	gap:2rem
  }
  .block-col.block-feature .block-image {
	order:1
  }
  .block-col.block-feature .block-content {
	order:2
  }
  .block-wide {
	flex:4
  }
  .block-auto {
	flex:0 1 fit-content
  }
  #features .content-blocks{flex-wrap:wrap;justify-content:center;}
  .block-feature {
	--shadow:1px 2px 4px rgba(0,0,0,.2);
	gap:1rem;
	flex-wrap:wrap;
	padding:1rem;
	text-align:center;
	background:#fff;
	flex: 0 0 30%;
  }
  .block-feature.block-image {
	padding:2.5rem 1rem;
	box-shadow:unset
  }
  .block-shadowed {
	--shadow:1px 2px 4px rgba(0,0,0,.2);
	gap:1rem;
	flex-wrap:wrap;
	box-shadow:var(--shadow);
	padding:1rem;
	background:#fff
  }
  .block-icon {
	height:100px;
	padding-block:1rem
  }
  .block-icon span {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:auto;
	padding:2rem;
	border:1px solid currentColor;
	border-radius:.5rem;
  }
  .block-content {
	flex-direction:column;
	font-size: 14px;
  }

@media (max-width:50rem){

	.content-blocks {flex-direction: column;}
	.block-feature {flex-direction: row;text-align:start;align-items:center;}
	.block-feature h3{margin:0;}
	.block-feature .block-icon{height:50px;padding:0;}
}

.testimonial-display{display:grid;place-items:center;}
.testimonial-display > *{grid-row: 1;grid-column: 1;}
.testimonial{
	font-size:20px;font-weight:400;
	display:flex;flex-direction:column;gap:0;justify-content:center;
	opacity:1;
	transition: all 1.5s linear;
}
.testimonial .quote{font-size:28px;font-weight:900;}

@media (max-width:50rem){

	.testimonial{font-size:18px;}
	.testimonial .quote{font-size:24px;}
	.testimonial br{display:block;}

}

.hide{opacity:0;}

/* FAQs */

.faqs{display:flex;flex-direction:column;gap:1rem;}

details {	
	transition: all 1s ease-in-out;
}

details > summary {
  list-style: none;
  display: flex;
  align-items: start;
  justify-content: space-between;
  background: var(--colour-theme-grey);
  padding:1rem;
}

details > summary .icon{
    width: 20px;
    height: 20px;
    transition: all 1s ease-in-out;
	transform: rotate(-90deg);
	filter: var(--svg-filter-grey);
}

details[open] summary .icon {
    transform: rotate(90deg);
}

details .answer{padding:1rem;}

.accreditations{
	display:flex; flex-wrap: wrap; gap:1rem; align-items: center; justify-content: center;
}

.accreditation{height:90px;}