@charset "UTF-8";
/* CSS for Escxel */
/***********************************************/
/* FONTS
/***********************************************/
/***********************************************/
/* GENERAL
/***********************************************/
a:focus-visible {
    outline: 1px solid;
}
#accessibility-section {
	background: #161f3a;
    color: #FFF;
    padding: 12px 0 14px;
    font-size: 15px;
	border-bottom: 1px solid #FFF;
	position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}
#accessibility-section:focus-within, #accessibility-section.is-focused-within {
	position: relative;
	left: 0;
  top: auto;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 1;
}
#accessibility-section a {
	color: #FFF;
}

.footer-logos-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 40px;
	margin-bottom: 122px;
}
.footer-logos-col {
	margin: 0;
}
.footer-logos-col:last-child {
	margin-top: 10px;
}
@media (max-width: 991px) {
	.footer-logos-row {
		justify-content: center;
		gap: 30px 50px;
		margin-bottom: 80px;
	}
	.footer-logos-col:last-child {
		margin-top: 0;
	}
}
@media (max-width: 767px) {
	.footer-logos-row {
		gap: 25px 40px;
		margin-bottom: 60px;
	}
}

.home-objectives-col .feature-grid {
	column-gap: 60px;
}
.home-objectives-col .feature-item {
	padding: 0;
	padding-right: 20px;
}

.content-section-b {
	padding-top: 60px;
}

.content-section p+h3, .content-section ul+h3 {
    margin-top: 30px;
}

.content-section h4 {
    color: var(--brand-navy);
    margin-bottom: 20px;
    display: inline-block;
}
.content-section p+h4, .content-section ul+h4 {
    margin-top: 20px;
}

/* ---- spacers/alignments ---- */
.spacer-top-xxl {
	margin-top: 62px;
}
.spacer-top-xl {
	margin-top: 40px;
}
.spacer-top-l {
	margin-top: 24px;
}
.spacer-top {
	margin-top: 14px;
}
.spacer-top-s {
	margin-top: 7px;
}
.spacer-top-xs {
	margin-top: 4px;
}
.spacer-bottom-xxl {
	margin-bottom: 62px;
}
.spacer-bottom-xl {
	margin-bottom: 40px;
}
.spacer-bottom-l {
	margin-bottom: 24px;
}
.divider-top.spacer-bottom-l {
	margin-bottom: 20px;
}
.spacer-bottom {
	margin-bottom: 14px;
}
.spacer-bottom-s {
	margin-bottom: 7px;
}
.spacer-bottom-xs {
	margin-bottom: 4px;
}
.spacer-left-xxl {
	margin-left: 62px;
}
.spacer-left-xl {
	margin-left: 40px;
}
.spacer-left-l {
	margin-left: 24px;
}
.spacer-left {
	margin-left: 14px;
}
.spacer-left-s {
	margin-left: 7px;
}
.spacer-left-xs {
	margin-left: 4px;
}
.spacer-right-xxl {
	margin-right: 62px;
}
.spacer-right-xl {
	margin-right: 40px;
}
.spacer-right-l {
	margin-right: 24px;
}
.spacer-right {
	margin-right: 14px;
}
.width-onethird.spacer-right-l {
	margin-right: 2%;
}
.spacer-right-s {
	margin-right: 7px;
}
.spacer-right-xs {
	margin-right: 4px;
}
.padding-top-xxl {
	padding-top: 62px;
}
.padding-top-xl {
	padding-top: 40px;
}
.padding-top-l {
	padding-top: 24px;
}
.padding-top {
	padding-top: 14px;
}
.padding-top-s {
	padding-top: 7px;
}
.padding-top-xs {
	padding-top: 4px;
}
.padding-bottom-xxl {
	padding-bottom: 62px;
}
.padding-bottom-xl {
	padding-bottom: 40px;
}
.padding-bottom-l {
	padding-bottom: 24px;
}
.padding-bottom {
	padding-bottom: 14px;
}
.padding-bottom-s {
	padding-bottom: 7px;
}
.padding-bottom-xs {
	padding-bottom: 4px;
}
.padding-left {
	padding-left: 14px;
}
.padding-left-s {
	padding-left: 7px;
}
.padding-right {
	padding-right: 14px;
}
.padding-right-s {
	padding-right: 7px;
}
.valign-top {
	vertical-align: top;
}
.valign-middle {
	vertical-align: middle;
}
.valign-baseline {
	vertical-align: baseline;
}
.valign-bottom {
	vertical-align: bottom;
}
.align-center {
	text-align: center;
}
.align-left {
	text-align: left;
}
.align-right {
	text-align: right;
}
.align-justify {
	text-align: justify;
}
/* ---- dividers ---- */
.divider-no-height {
	height: 0px;
	line-height: 0;
	font-size: 0;
	overflow: hidden;
}
.divider-top {
	border-top: 1px #B1B0B0 solid;
}
.divider-left {
	border-left: 1px #B1B0B0 solid;
}
.divider-right {
	border-right: 1px #B1B0B0 solid;
}
.divider-bottom {
	border-bottom: 1px #B1B0B0 solid;
}
.contrast.divider-top,
.contrast.divider-left,
.contrast.divider-right,
.contrast.divider-bottom {
	border-color: #FFF;
}

/* ---- */
.logo-image {
    height: 37px;
}
.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #FFF;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active>a {
    color: #23ad7c;
}
.responsive-language-menu {
	font-size: 90%; display: flex !important; align-items: center;
}
.offcanvas-menu .language-menu {
	padding-top: 10px !important;
}
.language-menu {
	font-size: 90%;
	color: #FFF;
}
.language-menu a {
	color: #FFF;
}
.language-menu a:hover, .language-menu a.active,
.responsive-language-menu a:hover, .responsive-language-menu a.active {
	color: #23ad7c !important;
	opacity: 1 !important;
}
.language-menu-divider {
	color: #FFF; margin: 0 7px;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li a {
	display: block;
	padding: 6px 0px;
}


body .btn-pill, body .btn {
	text-transform: none;
}
.highlight-colour {
	color: #23ad7c !important;
}
.highlight-colour-2 {
	color: #0D4882 !important;
}
.categories-module li.active a {
    background-color: #0D4882;
}
.sp-module ul>li.active>a {
    color: #FFF;
}
.team-member-card {
	margin-top: 0 !important;
	margin-bottom: 32px !important;
}
.description-block {
	margin-top: 46px;
}

.accordion-custom-block a {
	color: #FFF;
	text-decoration: underline;
}
.partners-image-block {
	margin-top: 40px;
}
.partners-buttons-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 50px;
}
.partners-buttons-block a {
	text-transform: uppercase;
	display: inline-block;
	padding: 15px 24px;
	background: #00B381;
	color: #FFF;
	text-decoration: none;
	font-size: 18px;
	border-radius: 10px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
}
.partners-buttons-block a:hover {
	background: #0D4882;
}
@media(max-width: 979px) {
    .partners-buttons-block {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media(max-width: 740px) {
    .partners-buttons-block {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media(max-width: 414px) {
    .partners-buttons-block {
        display: block;
    }
	.partners-buttons-block a {
		display: block;
		margin-bottom: 20px;
	}
}
.colour-highlight {
	color: #00B381 !important;
}
.colour-highlight-2 {
	color: #0D4882 !important;
}
/* ---- objectives ---- */
.objectives-section {
	width: 100%;
}
.objectives-block {
	margin: 0 0 30px;
	color: #FFF;
}
.objectives-section .objectives-block:nth-child(2) {
	margin-top: 70px;
	margin-bottom: 0;
}
.objectives-title {
	 color: #FFF;
	 margin-bottom: 30px;
}
.objectives-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.objectives-item {
	color: #ffffff;
    border-radius: 4px;
	/*background: rgba(80, 80, 80, 0.251);*/
	background: #00B381;
}
.objectives-inside {
	padding: 30px;
}
.objectives-item-title {
	margin-bottom: 24px;
}
.objectives-item-title h5 {
	font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
.objectives-item-desc {
	color: #FFF;
}
@media (max-width: 991px) {
	.objectives-columns {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.objectives-columns {
		grid-template-columns: 1fr;
	}
}
.objectives-numbers-block {

}
.objectives-numbers-cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.objectives-numbers-item {
	color: #FFF;
}
.objectives-numbers-inside {
	display: flex;
	align-items: flex-start;
}
.objectives-numbers-icon {
	margin-right: 10px;
	padding-top: 8px;
}
.objectives-numbers-icon, .icon-objectives {
	width: 74px;
	height: 74px;
}
.objectives-numbers-number {
	font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 10px;
}
.objectives-numbers-title {
	font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

@media (max-width: 575px) {
	.objectives-numbers-cols {
		grid-template-columns: 1fr;
	}
}

/* ---- publications ---- */
.publications-block {
	width: 100%;
	margin-top: 70px;
}
.publications-nav {
	margin-top: 40px;
	margin-bottom: 30px;
}
.publications-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
}
.publications-nav li {
	display: inline-block;
	margin: 10px 10px;
}
.publications-nav a {
	display: block;
	background-color: #00B381;
	color: #FFF;
	padding: 13px 30px;
	font-size: 18px;
	font-weight: 700;
	border-radius: 6px;
}
.publications-nav li a:hover, .publications-nav li.active a {
	background-color: #0D4882;
}

/* Agenda cards: event images vary in aspect ratio (landscape photos and
   portrait posters), so cap the image area and crop to a uniform height —
   otherwise a tall poster overflows the fixed-height card and the title,
   date and intro spill out of the box. */
/* Equal-height cards: let each column stretch and the card fill it, so every
   card in a row matches the tallest one instead of sizing to its own content. */
.page-agenda .article-list .row > [class*="col-"] {
	display: flex;
}
.page-agenda .article-list .article {
	width: 100%;
	height: auto;
	min-height: 540px;
}
.page-agenda .article-list .article .article-intro-image {
	height: 200px;
}
.page-agenda .article-list .article .article-intro-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.publications-items-block {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 20px;
	row-gap: 40px;
}
/* Agenda article body (import-agenda) */
.agenda-meta {
	margin-bottom: 26px;
	padding-bottom: 18px;
	border-bottom: 1px solid #ededed;
}
.agenda-meta p {
	margin: 0 0 6px;
}
.agenda-meta ul {
	margin: 4px 0 10px 1.2em;
}
.agenda-full p {
	margin: 0 0 16px;
}
.agenda-full ul {
	margin: 0 0 16px 1.2em;
}
.agenda-full ul li {
	margin-bottom: 8px;
}
.agenda-poster {
	margin-top: 28px;
}
.publications-item {

}
.publications-item-inside {

}
.publications-item-image {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 420px;
}
/* Linked items wrap the image in an <a>; unwrap it from the flex layout so
   the <img> fills the container the same way the un-linked (locked) item's
   bare <img> does. */
.publications-item-image a {
	display: contents;
}
.publications-item-lock {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	pointer-events: none;
}
.publications-item--locked .publications-item-image img {
	filter: grayscale(45%);
	opacity: .65;
}
.publications-item-image:hover img {
	transform: scale(1.1);
}
.publications-item-image img {
	border-radius: 4px;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}
.publications-item-title {
    margin-bottom: 0;
}
.publications-item-title h3 {
	font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #0D4882;
	margin-bottom: 10px;
	margin-top: 0;
}
.publications-item-title a {
	color: #0D4882;
	text-decoration: none;
}
.publications-item-title a:hover {
	color: #00B381;
}
.publications-item-date {
	font-size: 13px;
	color: rgba(0, 0, 0, .7);
	margin-bottom: 17px;
}
.publications-item-description {
	font-size: 15px;
	line-height: 1.5;
	color: rgba(0, 0, 0, .75);
	margin-bottom: 17px;
}
.publications-item-description p {
	margin: 0 0 10px;
}
.publications-item-description p:last-child {
	margin-bottom: 0;
}
.publications-item-description .pub-subtitle {
	font-style: italic;
	color: rgba(0, 0, 0, .6);
}
.publications-item-description .pub-authors {
	font-weight: 600;
	color: rgba(0, 0, 0, .8);
}
.publications-item-badges {
	
}
.publications-item-badge {
	margin: 0px 7px 0 0;
    list-style: none;
    display: inline-block;
    padding: 10px;
    border-radius: 4px;
    background-color: #f1f1f1;
}

@media (max-width: 991px) {
	.publications-items-block {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.publications-items-block {
		grid-template-columns: 1fr;
	}
	.publications-item-image {
		height: 280px;
	}
	.publications-item-image img {
		width: 100%;
	}
	.publications-nav ul {
		flex-wrap: wrap;
	}
	.publications-nav li {
		margin: 5px;
	}
	.publications-nav a {
		padding: 10px 18px;
		font-size: 15px;
	}
}

/* ---- projects ---- */
.projects-wrapper {
	
}
.projects-block {
	margin-top: 60px;
}
.projects-individual {
	margin-bottom: 60px;
	border-bottom: 1px #0D4882 solid;
	padding-bottom: 60px;
}
.projects-individual-row {
	display: flex;
}
.projects-individual-image {
	flex: 0 0 50%;
	max-width: 50%;
}
.projects-individual-content {
	flex: 0 0 50%;
	max-width: 50%;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.projects-individual-content-inside {
	padding: 0 30px 0 50px;
}
.projects-individual-title h3 {
	font-weight: 500;
    font-size: 32px;
    margin-bottom: 32px;
	color: #0D4882;
}
.projects-individual-sub-title h4 {
	font-weight: 700;
	margin-bottom: 1em;
	font-size: 14px;
}
.projects-individual-desc {
	padding-bottom: 38px;
	font-size: 14px;
}
.projects-individual-actions {
	
}

@media (max-width: 767px) {
	.projects-individual-row {
		display: block;
	}
	.projects-individual-image,
	.projects-individual-content {
		max-width: 100%;
		flex-basis: auto;
	}
	.projects-individual-content-inside {
		padding: 20px 0 0;
	}
	.projects-individual {
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	.projects-individual-title h3 {
		font-size: 26px;
		margin-bottom: 20px;
	}
}

/* ---- team ----- */
.team-list-wrapper {
	
}
.team-list-block {
	
}
.team-list-inside {
	display: flex;
    flex-wrap: wrap;
}
.team-individual {
	max-width: 50%;
    flex-basis: 50%;
    margin-top: 0;
    margin-right: 0px;
    margin-bottom: 32px;
    margin-left: 0px;
	padding-left: 8px;
    padding-right: 8px;
}
.team-individual-inside {
	background-color: #f1f1f1;
	border-radius: 4px;
	width: 100%;
    height: 100%;
	display: flex;
	flex-direction: column;
}
.team-individual-image {
	position: relative;
    overflow: hidden;
	/* uniform image box: all photos share the same height and fill the
	   width, cropped to the centre regardless of their native ratio */
	aspect-ratio: 4 / 5;
	border-radius: 4px 4px 0 0;
}
.team-individual-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 4px 4px 0 0;
}
.team-individual-details {
	flex: 1 1 auto;
	display: flex;
}
.team-individual-details-inside {
	display: flex;
    flex-direction: column;
    padding: 24px;
	width: 100%;
}
.team-individual-details-title {
	font-weight: 600;
    font-size: 20px;
    line-height: 28px;
}
.team-individual-details-title a {
	color:#0d4882;
}
.team-individual-details-job {
	/* pinned to the bottom of the card so every card ends the same way */
	margin-top: auto;
	padding-top: 12px;
	font-weight: 400;
    font-size: 14px;
    line-height: 20px;
	color: rgba(0, 0, 0, .4);
}

@media (max-width: 767px) {
	.team-individual {
		max-width: 100%;
		flex-basis: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.col-team-image {
		margin-bottom: 19px;
	}
}
@media (max-width: 767px) {
    .article-right-sidebar .sp-module .sp-module-content {
        margin-left: 0px;
    }
}

/* ---- pagination ----- */
.pagination-block {
	margin-top: 50px;
}

/* ---- other ---- */
.sp-module ul:not(.mod-menu):not(.mod-menu__sub)>li:not(.active):not(:hover)>a {
	color: #0D4882;
}
.who-we-are-row {
	display: flex;
	margin-bottom: 60px;
	align-items: center;
}
.who-we-are-column {
	margin-right: 20px;
	white-space:nowrap;
}
.reserved-area-username {
	padding: 5px 18px 8px !important;
}
#member-profile .input-password-toggle, .reserved-auth--reset-complete .input-password-toggle {
	display: none !important;
}
/* -tail- */

/***********************************************/
/* LISTS/TABLES
/***********************************************/
/* ---- lists ---- */

/* ---- definition lists ---- */

/* ---- tables ---- */

/***********************************************/
/* FORMS/BUTTONS
/***********************************************/
form.contact-form {
	padding-top: 40px;
}
/* ---- labels ---- */

/* ---- inputs ----- */

/* ---- buttons ---- */

/* ---- selects ---- */

/* ---- dropdown ---- */
/* -tail- */

/***********************************************/
/* ICONS
/***********************************************/
/***********************************************/
/* SIZES
/***********************************************/
/***********************************************/
/* BOXES/ALIGNMENTS/UTILS
/***********************************************/

/* ---- spacers/alignments ---- */

/* ---- dividers ---- */

/* ---- alerts/notifications ---- */

/* ---- other ---- */

/***********************************************/
/* MAIN MENU
/***********************************************/
/***********************************************/
/* SECONDARY MENU
/***********************************************/

/***********************************************/
/* STRUCTURE
/***********************************************/
.site #view-online {
    display: none !important;
}
/*--- content container ---*/

/* ---- E&D ------ */

/* ---- modals ---- */

/***********************************************/
/* CMS
/***********************************************/
.mceContentBody, .mceContentBody * {
	opacity: 1 !important;
	transform: none !important;
}

.mceContentBody .module-block {
  border: 1px solid blue;
}

.mceContentBody .accordion-body {
	max-height: inherit !important;
}


/***********************************************/
/* PRINT
/***********************************************/
@media print {
}
/***********************************************/
/* RESPONSIVE
/***********************************************/
@media (max-width: 991px) {
	.hide-on-991 {
		display: none;
	}
	.home-objectives-col {
		margin-top: 30px;
	}
}
/*
@media (max-width: 1399px) and (min-width: 1200px){
	nav#navbar nav > ul > li a {
		font-size: 11px;
		letter-spacing: 2px;
		padding-right: 8px;
		padding-left: 8px;
	}
}
*/