:root {
    --main-bg-color: #ffffff;
    --impact-dark-blue: #002c77;
    --impact-darker-blue: #001f52; /* used for text and headings */
    --impact-mid-blue: #2c6ef2; /* used for links in body text and also hover (with underline) */
    --impact-light-blue: #0f9cd8;
    --impact-grey-1: #949494;
    --impact-grey-2: #dadada;
    --header-height: 100px;
    --header-height-scrolled: 80px;
    --header-height-tablet: 90px;
    --header-height-mobile: 60px;
    --off-white: #e3edec;
    --white: #ffffff;
    --midnightBlue: #000F47;
    --skyBlue: #CEECFF;
    --neutral: #F7F3EE;
    
    --impact-green: #00ab4b;
   
    --margin-desktop: 64px;
    --margin-tablet: 40px;
    --margin-mobile: 20px;

	--grayscale-percentage: 100%;
	--contrast-amount: 1.25;

    --animation-time: 2s; 
}

@font-face {
    font-family: "MMCdisplay_Rg";
	src: url("../fonts/MMCDisplay_Rg.ttf") format("truetype");
	src: url("../fonts/MMCDisplay_W_Rg.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: "MMCdisplay_Bd";
	src: url("../fonts/MMCDisplay_Bd.ttf") format("truetype");
	src: url("../fonts/MMCDisplay_W_Bd.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: "MarshSerif-Regular";
	src: url("../fonts/MarshSerif-Regular.woff2") format("woff");
	font-weight: normal;
	font-style: normal;
}

@font-face {
    font-family: "MarshSerif-Italic";
	src: url("../fonts/MarshSerif-Italic.woff2") format("woff");
	font-weight: normal;
	font-style: normal;
}

@font-face {
    font-family: "NotoSans-Regular";
	src: url("../fonts/NotoSans-Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: "NotoSans-Bold";
	src: url("../fonts/NotoSans-Bold.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: "NotoSans-Italic";
	src: url("../fonts/NotoSans-Italic.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

strong, bold {
	font-family: "NotoSans-Bold";
}

html {
    scroll-behavior: smooth;
    
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: var(--midnightBlue);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--skyBlue);
}
	
h1, h2, h3 {
    font-family: "MarshSerif-Regular", georgia, serif;
    font-weight: normal;
    font-style: normal;
    line-height: 1.15;
    padding-bottom: 30px;
}
h4, h5, h6, p, li {
	font-family: "NotoSans-Regular", helvetica, sans-serif;
	line-height: 1.3;
    padding-bottom: 20px;
}
ul { margin-top: 0; }
	li { margin-left: -15px; padding-bottom: 10px; }
	nav li { margin-left: 0; padding-bottom: 0; }

body {
	margin: 0;
	padding: 0;
	/*padding-top: 100px;*/
	font-family: "NotoSans-Regular", helvetica, sans-serif;
	font-size: clamp(1rem, 1vw, 1.1rem);
    line-height: 1.5;
    overflow-x: hidden;
	overflow-y: auto;
	background: var(--white);
	color: var(--midnightBlue);
	
	width: 100vw;
}
	body.overlay-active {
		overflow-y: hidden;
		padding-right: 10px; /* Avoid width reflow */
	}


body.light-mode {
	background: var(--white);
	color: var(--midnightBlue);
	/*transition: background-color 0.3s ease-in-out;*/
}
	body.light-mode .siteHeader {
		background: var(--white);
		border-bottom: 1px solid #27232D;
		/*transition: background-color 0.3s ease-in-out;*/
	}
	
body.dark-mode,
body.dark-mode #modalContent {
	background: #27232D;
	color: var(--white);
	/*transition: background-color 0.3s ease-in-out;*/
}
	body.dark-mode #dynamicContent h2,
	body.dark-mode #dynamicContent p,
	body.dark-mode #modalContent .close-button {
		color: var(--white) !important;
	}
	
	body.dark-mode .siteHeader {
		background: rgba(39,35,45,0.97);
		border-bottom: 0px solid rgba(255,255,255,0.25);
		/*border-bottom: 1px solid var(--white);*/
		/*transition: background-color 0.3s ease-in-out;*/
	}

	
header {
	height: 100px;
	position: fixed;
	top: 0;
	transition: top 0.2s ease-in-out;
	width: 100%;
	z-index: 10;
}
	.siteHeader {
		margin: 0;
		padding: 0;
		width: 100%;
		
		/*background: var(--white);*/
		
		background: rgba(255,255,255,0.95);
		
		transition: all 0.3s ease-in-out;
	}
	
	.siteHeader.scrolled {
		background: rgba(255,255,255,0.95);
	}
	
	.nav-down .siteHeader {
		
	}

		.siteHeader .container,
		#overlay-nav .container {
			margin: 0 auto;
			padding: 15px 64px;
			display: flex;
			flex-flow: row nowrap;
			width: 100%;
			max-width: 1440px;
			justify-content: space-between;
			
			align-items: center;
		}

		body.overlay-active .siteHeader .container,
		body.overlay-active #overlay-nav .container {
			max-width: 1450px;
		}
		body.overlay-active #overlay-nav .container {
			padding-top: 15px;
			justify-content: flex-end;
			
		}
		
			.logos {
				margin: 0;
				padding: 5px 0 0 0;
				display: flex;
				flex-flow: row nowrap;
			}
				.logos img {
					margin: 0;					
					padding: 0;
					height: 24px;
					display: inline-flex;
				}
				.logos img.mercer-logo {
					margin-right: 30px;
				}
			
			@media screen and (max-width: 950px) {
				.logos {
					flex-flow: row wrap;
					margin-top: 5px;
				}
					.logos img {
						height: 20px;
					}
					#impactLogo {
						
					}
			}
			
			.navigation {
				margin: 0 -10px 0 0;
				padding: 0;
			}
		body.overlay-active .navigation,
		body.overlay-active .navigationClose {
			padding-right: 10px;
		}
			
			.navigation li a { 
				margin: 0 10px;
				padding: 0;
				font-size: 1.15rem; 
				text-decoration: none; 
				color: inherit; /* javascript switches color - darkMode */
			}
			
				.navigation li:hover a,
				.navigation li.active a {
					color: var(--impact-mid-blue);
				}
				/*
				body.dark-mode .navigation li:hover a,
				body.dark-mode .navigation li.active a {
					color: var(--impact-light-blue);
				}
				*/
			.navigation ul, .navigation ul li { list-style-type: none; }
			
			.navigation ul {
				display: flex;
				flex-flow: row nowrap;
				justify-content: space-between;
				align-items: center;
				
				margin-bottom: 0;
			}
			
			#nav {
				display: none;
			}

			@media screen and (max-width: 950px) {
				.siteHeader .container,
				body.overlay-active #overlay-nav .container {
					padding: 10px 30px;
					max-width: 950px;
				}
					.logos {
						padding: 0;
					}
						.logos img {
							height: 24px;
						}
						.logos img.mercer-logo {
							margin-right: 30px;
						}

					.navigationClose ul li:not(#nav) {
						/*display: none;*/
						top: -2px;
					}
					
			}
			
			@media screen and (max-width: 950px) {
			
					.navigation ul li:not(#nav) {
						display: none;
					}
			
					#nav {
						display: inline-block;
					}
			}
	
			img#hamburgerIcon {
				display: block;
				width: 36px;
    			height: auto;
			}
			img#hamburgerIconClose {
				display: none;
			}
			
			body.overlay-active img#hamburgerIcon {
				display: none;
			}
			body.overlay-active img#hamburgerIconClose {
				display: block;
				width: 36px;
			}
			
			
			.menu, .menu.active {
				margin: 0 0 0 20px;
				padding: 0;
				width: 50px;
				height: 36px;
				z-index: 100001 !important;
				position: relative;
				top: 6px;
				right: 0px;
				display: inline-block;
				overflow: hidden;
				cursor: pointer;
			}
			@media screen and (max-width: 950px) {
				.menu {
					top: 5px;
				}
				.menu.active {
					top: 2px !important;
					right: -10px !important;
				}
			}

			/* Navigation - overlay version */

			#overlay-nav {
			  margin: 0;
			  padding: 0;
			  width: 100%;
			  height: 100%;
			  position: fixed;
			  top: 0;
			  left: 0%;
			  z-index: 2 !important;
			  background: rgba(39, 35, 45, 1.0);
			  opacity: 0;
			  visibility: hidden;
			  -webkit-transition: all 0.2s ease-in;
			  transition: all 0.2s ease-in-out;
			}

			/* Open navigiation */

			#overlay-nav.active {
			  margin: 0;
			  padding: 0;
			  width: 100%;
			  height: 100%;
			  position: fixed;
			  opacity: 100;
			  visibility: visible;
			  z-index: 100 !important;
			  -webkit-transition: all 0.4s ease;
			  transition: all 0.4s ease-in-out;
			}

			#nav-content {
			  position: relative;
			  top: calc((50%) - 100px);
			  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
			}

			#nav-content ul {
			  margin: 0 auto;
			  padding: 0;
			  list-style: none;
			  text-align: center;
			}
			
			body.overlay-active #nav-content ul {
				 padding-right: 10px;
			}

			#nav-content ul li a {
			  width: 100%;
			  padding: 1em 0;
			  display: block;
			  font-family: 'NotoSans-Regular', sans-serif;
			  font-weight: 300;
			  font-size: 1.125em;
			  letter-spacing: 0.03em;
			  text-decoration: none;
			  color: var(--white);
			}

			#nav-content ul li a:hover {
			  color: var(--impact-mid-blue);
			}

			#nav-content ul li.active a {
			  color: var(--impact-mid-blue);
			}

			#nav-content ul.secondary-links {
				margin-top: 30px;
				padding: 0;
				display: flex;
				flex-flow: row wrap;
				justify-content: center;
				gap: 30px;
			}
				#nav-content ul.secondary-links li a {
					font-size: 1.15em;
				}
			
		.nav-up {
			top: -101px;
		}






section {
	margin: 0;
	padding: 2rem 0;
	width: 100%;
	display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: flex-start;
	/*min-height: 50vh;*/
}
	section .container {
		margin: 0 auto;
		padding: 0 64px;
		display: flex;
		flex-flow: column wrap;
		justify-content: flex-end;
		width: 100%; 
		max-width: 1920px !important;
		height: 100%;
	}

@media screen and (max-width: 950px) {

	section .container {
		padding: 0 30px;
		width: 100% !important;
		max-width: 950px !important;
	}

}




h1 {

}

h2 {
	font-size: clamp(3rem, 6vw, 4rem);
	line-height: 1;
    max-width: 60rem;
}
h2.intro,
h2 span.intro {
    margin: 2rem 0;
    padding: 0;
    font-family: "MarshSerif-Regular", georgia, serif;
    font-size: clamp(1.75rem, 4.5vw, 3rem);
    line-height: 1.2195;
    width: 100%;
    max-width: 1400px;
}
	h2 span.intro {
		margin: 1rem 0 0;
		display: block;
	}


	
.alert {
	color: orangered;
    padding-bottom: 6px !important;
    font-weight: 300;
    font-family: "NotoSans-Regular", helvetica, sans-serif;
}
	.alert.noPadding {
		padding-bottom: 0 !important;
	}



html, #background {
	background-size: cover;
	background-attachment: fixed;
}
#background {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.9), transparent) no-repeat !important;
	z-index: 1;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

body {
	background: inherit !important;
	/*background: linear-gradient(0deg, rgba(0, 0, 0, 0.9), transparent) no-repeat !important;*/
}

section {
	margin: 0 auto;
	max-width: 1440px;
	/*min-height: 100vh;*/
	padding-top: 90px;
	
	position: relative;
	z-index: 2 !important;
}

h2 { max-width: 66rem !important; }

h3 {
	font-size: clamp(2rem, 2vw, 2rem);
}

h4 { max-width: 60rem !important; }

h5 { font-family: "NotoSans-Bold"; }
h5, p, li > p, li {
	font-size: clamp(1rem, 1vw, 1.1rem);
}


section#intro {
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
}
	section#intro .container {
		margin: 0 64px;
		padding: 40px;
		background: rgba(255,255,255,0.9);
	}
	.container.transparent {
		padding: 250px 0 0 0 !important;
		background: none !important;
		color: var(--white);
		/*min-height: 50vh;*/
	}

section#list {
	flex-flow: row wrap;
	align-items: flex-end;
	justify-content: flex-start;
	
	padding-top: 40px;
}
	section#list .container {
		margin: 0 64px 40px;
		padding: 0;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px;
	}
		section#list .container .card {
			padding: 30px;
			background: rgba(255, 255, 255, 0.9);
			display: flex;
			flex-flow: column wrap;
			align-items: flex-start;
			justify-content: space-between;
		}

.list-info {
	margin: 0;
	padding: 0;
	display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.list-items {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 5px 20px;
	align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
}

@media screen and (max-width: 1200px) {

	section#list .container {
		grid-template-columns: 1fr 1fr;
	}

}
@media screen and (max-width: 900px) {

	section#list .container {
		grid-template-columns: 1fr;
	}

}

.list-items div {
	margin: 0;
	padding: 0;
	display: grid;
	align-self: stretch;
}
	.list-items div:not(:first-of-type) {
		margin-top: 20px;
	}

.list-items div h5,
.list-items div h6,
.list-items div p {
	margin: 0;
	padding: 0;
}

.list-items div button {
	margin: 20px 0 0;
    padding: 10px 20px;
    display: inline-flex;
    width: fit-content;
    background: var(--impact-mid-blue);
    color: var(--white);
    border: none;
    border-radius: 4px;
    align-self: end;
}
	.list-items div button a {
    	color: var(--white);
    	text-decoration: none;
    	font-size: clamp(1rem, 1vw, 1.1rem);
	}

.list-items div button:hover {
	cursor: pointer;
}

section#additional {
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	padding-top: 0;
}
	section#additional .columns {
		margin: 0 auto;
		padding: 40px 64px;
		position: relative;
		z-index: 2 !important;
		width: 100%;
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 40px;
	}
	section#additional .columns .column {
		margin: 0;
		padding: 0;
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
		
		color: var(--white) !important;
	}
		section#additional .columns .column p {
			width: 100%;
			max-width: 60rem;
			padding-bottom: 20px;
		}
			section#additional p a {
				color: #fff !important;
				text-decoration: none;
				font-family: "NotoSans-Bold", helvetica, sans-serif;
			}
			section#additional p a:hover {
				color: #fff !important;
				text-decoration: none;
				text-underline-offset: 0.15em;
				border-bottom: 1px solid #fff;
			}


footer {
	margin: 0;
	padding: 0;
	width: 100%;
	/*background: #333;*/
}
	footer .columns {
		margin: 0 auto;
		padding: 40px 64px;
		max-width: 1440px;
		/*min-height: 100vh;*/
		position: relative;
		z-index: 2 !important;
		
		display: flex;
		flex-flow: column wrap;
		justify-content: flex-start;
		align-items: flex-start;
	}
	footer .columns .column {
		display: flex;
		flex-flow: column nowrap;
		width: 50%;
	}
		footer div p {
			color: #fff !important;
			max-width: 95%;
			padding-bottom: 1rem;
			display: flex;
			gap: 0 20px;
		}
			footer div p a {
				color: #fff !important;
				text-decoration: none;
			}
			footer div p a:hover {
				color: #fff !important;
				text-decoration: none;
				text-underline-offset: 0.15em;
				border-bottom: 1px solid #fff;
			}

@media screen and (max-width: 1200px) {

	footer .columns {
		flex-flow: column wrap;
	}
		footer .columns .column {
			flex-flow: column wrap;
			width: auto;
		}
			footer div p {
				flex-flow: row;
				width: auto;
				display: inline-flex;
				gap: 0 10px;
			}
				footer div p a {
					border-bottom: 1px solid rgba(0,0,0,0);
				}

}



.accordion {
  width: 100%;
  margin: 0;
  padding: 0;
}

.accordion__item {
	margin: 10px 0 0;
	padding: 0;
}

.accordion-header {
  margin: 0;
  padding: 30px 70px 30px 30px;
  cursor: pointer;
  transition: all .3s;
  text-align: left;

  box-sizing: border-box;
  
  position: relative;
}
	.accordion-header h3 {
		margin-top: 0 !important;
		padding-bottom: 0;
	}
	.accordion-header:after {
		/*content: "⌄";*/
		content: "";		
		background: url("../img/sp-icons_plus.svg");
		display: flex;
		font-size: 24px;
		width: 30px;
		height: 30px;
		margin-right: 0px;
		position: absolute;
		right: 20px;
		top: 30px;
	}
	.accordion__item.active .accordion-header:after {
		content: "";		
		background: url("../img/sp-icons_minus.svg");
		display: flex;
		font-size: 24px;
		width: 30px;
		height: 30px;
		margin-right: 0px;
		position: absolute;
		right: 20px;
		top: 30px;
	}

.accordion-header:hover {
  position: relative;
  z-index: 5;
}

.accordion-body {
  display: none;
  padding: 0 70px 20px 30px;
  background: rgba(255,255,255,1);
}

.accordion-body__contents {
  padding: 0px;
}

.accordion-body p {
	width: 100%;
	max-width: 1100px;
}

.accordion__item .accordion-header {
	/*background: linear-gradient(to left, #fff 50%, #fff 50% );*/
	background: rgba(255,255,255,.9);
}

.accordion > .accordion__item.active > .accordion-header,
.accordion > .accordion__item.active > .accordion-body {
	background: rgba(255,255,255,1);
}
	.accordion > .accordion__item.active > .accordion-header h3 {
		color: var(--impact-mid-blue);
	}


.accordion table {
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
	
	margin-bottom: 30px;
}

.accordion table, .accordion th, .accordion td {
  border: 1px solid;
  text-align: left;
  vertical-align: top;
  padding: 15px;
}
	.accordion th p {
		padding-bottom: 0px;
	}
	.accordion td p {
		padding-bottom: 10px;
	}
	.accordion td li p, .accordion li p {
		padding-bottom: 5px;
	}
	
.accordion table ul, .accordion ul {
	margin-top: 5px;
	margin-bottom: 0;
}

.accordion table ul li, .accordion ul li {
	padding-top: 0px;
	padding-bottom: 5px;
}
.accordion table ul li:first-of-type, .accordion ul li:first-of-type {
	margin-top: 0px;
}
.accordion table ul li:last-of-type, .accordion ul li:last-of-type {
	padding-bottom: 15px;
}

.accordion p a {
	color: var(--impact-mid-blue);
	text-decoration: none;
	font-family: "NotoSans-Bold";
}
	.accordion p a:hover {
		text-underline-offset: 0.15em;
		border-bottom: 1px solid var(--impact-mid-blue);
	}


#consent-banner {
    width: 100%;
    background: rgba(2, 33, 82, 0.9);
    color: #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3147483647;
}
#teconsent {
	margin: 0;
    padding: 0;
    max-width: 1440px;
    z-index: 100 !important;
    position: relative;
    font-size: clamp(1rem, 1vw, 1.1rem);
}
#teconsent a {
	margin-right: 0.5rem;
	color: #ffffff !important;
	text-decoration: none;
}