/**handles:tea-css-website**/
/******************************************************************************************************** */
/*                                                                                               General  */
/******************************************************************************************************** */
.hide-date .pub-date,
.hide-sub-date .post-date {
    display: none;
}

.dark-button .elementor-button {
    border: 1px solid #005056 !important;
}
.dark-button .elementor-button:hover {
    border: 1px solid #FF7551 !important;
}

.dark-button .elementor-button:hover span {
    color: #000 !important;
}

.dark-button .elementor-button span {
    color: #005056 !important;
}

.bio-hover figcaption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	opacity: 0;
	transition: 200ms;	
	pointer-events: none;
}

.bio-hover:hover figcaption {
    opacity: 1;
    transition: 200ms;
}

.hide-linkedin .elementor-widget-social-icons {
    display: none;
}

.sf-results-count {
    color: #fff;
    padding-bottom: 15px;
    text-align: center;
}

.hide-empty-publication_relate:has(.elementor-shortcode:empty) {
    display: none;
}

.stats-hover a:hover .elementor-heading-title {
	color: var( --e-global-color-secondary ) !important;
	transition: 500ms;
}

.stats-hover a:hover .elementor-divider-separator{
	--divider-color: var( --e-global-color-secondary );
	transition: 500ms;
}

.footer-logos a {
    display: flex;
}


.hide-empty-social .elementor-grid-item:not(:has(a[href])),
.hide-empty-socials:has(a.elementor-social-icon-linkedin:not([href])) {
  display: none !important;
}

.new-search .search-filter-component-combobox,
.new-search .search-filter-input-text{
    border: 1px solid #ced4da;
		border-radius: 0 !important;
}

.new-search .search-filter-input-text .search-filter-input-text__input {
    line-height: normal !important;
}

.the-citation p {
    word-wrap: break-word;
}

.parent-hover:hover .elementor-heading-title:not(.parent-hover-ignore .elementor-heading-title){
	color: var( --e-global-color-text ) !important;
	text-decoration: underline;
}
.home-mobile-carousel .home-mobile-carousel-title { display: none; }

@media( max-width: 800px ){
	input.search-filter-input-text__input--hidden.flatpickr-input.flatpickr-mobile {
		border: 0 !important;
		background: transparent !important;
	}	
	.search-filter-input-text.search-filter-input-date-picker.search-filter-field__input {
		padding-left: 25px !important;
	}	
	.lt-sign-post .elementor-heading-title:before{
		left: 0 !important;
	}
}

.lt-sign-post .elementor-heading-title:before{
    content: '';
    position: absolute;
    top: -20px;
    right: 100%;
    width: 60px;
    height: 60px;
    background-image: url(/wp-content/uploads/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    pointer-events: none;
    transform: translateY(-50%) translateX(0%) rotate(250deg);	
}

.skew-image {
    position: relative;
    transform: scale(1.2);
	/*transform: rotate(10deg) scale(1.4);*/
}

.skew-image .elementor-widget-container {
  position: relative;
}

.skew-image .elementor-widget-container img {
  -webkit-mask-image: url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg');
  mask-image: url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
	z-index: 10 !important;
    position: relative !important;
}

.skew-image .elementor-widget-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #F26522; /* border colour — update to your actual brand colour */
  pointer-events: none;

  -webkit-mask-image: url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg'),
                       url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg');
  mask-image: url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg'),
              url('https://ictd.ac/wp-content/uploads/ICTD-shape.svg');
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-position: center, center;
  mask-position: center, center;
  -webkit-mask-size: 100% 100%, calc(100% - 8px) calc(100% - 8px);
  mask-size: 100% 100%, calc(100% - 8px) calc(100% - 8px);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transform: rotateZ(-3deg);
    z-index: 1;
}

.e-con:has(> .e-con-inner > .skew-image),
.e-con:has(> .skew-image) {
    overflow-x: clip;
    overflow-y: visible;
}


@media (min-width: 1025px) {

    .e-con:has(> .e-con-inner > .skew-image),
    .e-con:has(> .skew-image) {
        position: relative;
    }

    .e-con:has(> .e-con-inner > .skew-image) > .e-con-inner {
        position: static;
    }

    /* Static so the widget-container below anchors to the SECTION, not to the widget. */
    .skew-image {
        position: static;
        transform: none;
    }

    .skew-image .elementor-widget-container {
        position: absolute;
        top: 10px;
        bottom: 0;
        right: 60px;
        aspect-ratio: 1200 / 1361.72;
        width: auto;
        transform: scale(1.2);
        transform-origin: right top;
        z-index: 10;
        pointer-events: none;
		max-width: 30%;
		max-height: 60vh;
    }

    .skew-image .elementor-widget-container img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

}

.auto-width {
    width: auto;
}

.key-insight-carousel:not(:has(.elementor-widget-image-carousel)) {
    display: none;
}

.eh-carousel .swiper-pagination {
    padding-bottom: 15px !important;
}

.single-post-details a:hover {
    color: #ff7551 !important;
}

.theme-events .e-loop-item .elementor-element {
    background: var( --e-global-color-accent ) !important;
}

.theme-events .e-loop-item .theme-events-title .elementor-heading-title,
.theme-events .e-loop-item .theme-events-add,
.theme-events .e-loop-item .theme-events-btn,
.theme-events .e-loop-item .theme-events-date{
    color: #005056 !important;
}



/*.theme-events .theme-events-cat .elementor-widget-container*/
.theme-events .theme-events-cat .elementor-widget-container .elementor-heading-title{
    color: #005056 !important;
}

.theme-events  .theme-events-btn .elementor-button-text{
		color: var( --e-global-color-text ) !important;
}

.theme-events .white-button.underline-button-with-arrow.theme-events-btn:hover a svg path{
	fill: var( --e-global-color-text ) !important;
}
.theme-events .theme-events-btn:hover .elementor-button-text {
    border-color: inherit !important;
}

.theme-events .theme-events-btn svg path {
    fill: var( --e-global-color-text ) !important;
}

.sub-menu li.current-menu-item {
    border-left: 3px solid var( --e-global-color-text ) !important;
}

.e-loop-item:hover .publication-hover .elementor-element:last-child .elementor-heading-title{
	color:#FF7551 !important;
	text-decoration: underline;
}



.profile-title h1:before{
    content: '';
    position: absolute;
    top: -20px;
    right: 0;
    width: 60px;
    height: 60px;
    background-image: url(/wp-content/uploads/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 10;
    pointer-events: none;
    transform: translateY(-50%) translateX(100%);
}	

.profile-image-wrapper {
  position: relative;
}

.profile-image-wrapper-after::after {
  content: '';
  position: absolute;
  top: 0;
  right: -20px;
  width: 80px;
  height: 80px;
  background-image: url('https://ictd.ac/wp-content/themes/hello-theme-child/assets/wp-content/uploads/triangle.svg');
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
  pointer-events: none;
	transform: translateY(-50%);
}



.profile-image-wrapper-after::after {
  content: '';
  position: absolute;
  top: 0;
  right: -20px;
  width: 80px;
  height: 80px;
  background-image: url('/wp-content/uploads/shapes.png');
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
  pointer-events: none;
	transform: translateY(-50%);
}

.profile-image-wrapper,
.profile-image-wrapper a,
.profile-image-wrapper img{
    width: 100% !important;
}

.profile-image-wrapper img{
    object-fit: cover;
}

.squared-img-wrapper .profile-image-wrapper img {
    aspect-ratio: 16 / 9;
}

.orange-title{
	color:#FF7551 !important;
}
	.fp-divider{
		divider-color:#ff7551 !important;
	}
	.publication-feature-img img{
		box-shadow:0 8px 22px rgba(20,24,28,0.085), 0 2px 6px rgba(20,24,28,0.043);
	}

.single-post-tags .elementor-post-info__terms-list span {
    font-size: 14px;
    border-radius: 50px;
    border: 1px solid #005056;
    padding: 4px 10px;
    font-weight: 400;
    line-height: normal;	
}

.single-post-tags .elementor-post-info__terms-list {
    font-size: 0;
    display: flex !important;
    flex-wrap: wrap !important;
    row-gap: 8px;
    margin-bottom: 0;
    column-gap: 2px;
}

.elementor-post-info__terms-list a:hover {
    text-decoration: underline;
}

.hover-underline a:hover {
    text-decoration: underline;
}

.profile-image-wrapper {
  position: relative;
  display: inline-block;
}

.profile-image-wrapper img {
  display: block;
  position: relative;
  z-index: 2;
}

.profile-image-wrapper::before {
    content: '';
    position: absolute;
    top: 6px;
    left: -10px;
    width: 100%;
    height: 96%;
    border: 1px solid #e8623d;
    transform: rotate(-3deg);
    z-index: 0;
}




.skew-btn a.elementor-button:hover {
  transform: skew(-15deg);
}
.skew-btn a:hover .elementor-button-text {
  transform: skew(15deg);
}

.skew-btn .elementor-button {
  position: relative;
  overflow: visible;
}

.skew-btn .elementor-button::after {
  content: '';
  position: absolute;
  bottom: -0px;
  right: 0px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14px 14px;
  border-color: transparent transparent #FF7551 transparent;
  z-index: 2;
}

/* */
.skew-img .elementor-widget-container {
  position: relative;
}

.skew-img .elementor-widget-container::before {
    content: '';
    position: absolute;
    inset: -4px;
    background-color: #d97b1f;
    -webkit-mask-image: url(https://ictd.ac/wp-content/uploads/ICTD-shape.svg), url(https://ictd.ac/wp-content/uploads/ICTD-shape.svg);
    -webkit-mask-size: 100%, calc(100% - 4px);
    -webkit-mask-position: center right, center right;
    -webkit-mask-repeat: no-repeat, no-repeat;
    -webkit-mask-composite: source-out;
    mask-composite: exclude;
    z-index: -1;
    transform: rotate(-4deg);
    left: -10px;
}
/* */

.new-site-banner {
    max-height: 200px;
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

.elementor-sticky--effects .new-site-banner {
    max-height: 0;
    opacity: 0;
}

body:not(.elementor-editor-active):not(.elementor-edit-mode) .hide-cats .content-types {
	display: none;
}


.past_events .register-btn{
	display: none;
}

.limit-to-5-lines .elementor-heading-title {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;	
}

.pub-authors-limit {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pub-authors-limit::before {
  content: "By ";
}

.pub-authors {
    min-height: 35px;
}

.hero-carousel-img img {
    box-shadow: rgba(0, 0, 0, 0.35) 0px 18px 44px;
	width: auto;
	background: #fff;
}

.copy-citation-btn,
a.publication-connected-btn {
  background-color: var( --e-global-color-text );
  color: #FFFFFF;
  border: none;
  border-radius: 0px;
  padding: 12px 24px;
  font-family: "Inter", Sans-serif;
  font-size: 12px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  display: inline-block;
  margin-top: 12px;
  transition: all 0.3s;
}

.copy-citation-btn:hover,
a.publication-connected-btn:hover {
  transform: skew(-15deg);
}

.copy-citation-btn .button-text,
a.publication-connected-btn .button-text {
  display: inline-block;
  transition: transform 0.3s;
}

.copy-citation-btn:hover .button-text,
a.publication-connected-btn:hover .button-text {
  transform: skew(15deg);
}

.elementor-widget-theme-post-content :has(> img) {
    position: relative;
    overflow: visible;
}

.elementor-widget-theme-post-content :has(> img)::before {
    content: "";
    position: absolute;
    top: -20px;
    left: -60px;
    z-index: 1;
    width: 60px;
    height: 70px;
    background-image: url('/wp-content/uploads/triangle.svg');
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(260deg);
    pointer-events: none;
}

.square-img-container .elementor-widget-image a {
    width: 140px;
    height: 140px;
}

.leftalign-lists .elementor-widget-container ul, .leftalign-lists .elementor-widget-container ol {
    text-align: left !important;
}


.btn-bottom .elementor-button-wrapper {
    height: 100%;
    display: flex;
    align-items: end;
}

.yellow-hover.std-link a:hover {
    color: #EAC33E !important;
}

a.funder-container[href]:hover span.elementor-icon-list-text,
a.funder-container[href]:hover span.elementor-icon-list-icon i {
    color: var( --e-global-color-secondary );
}

.research-area .elementor-button-wrapper a[href=""],
.research-area .elementor-button-wrapper a:not([href]) {
    display: none;
}

.sharer-container {
    justify-content: center;
    /*background: #fff;*/
    width: auto;
}
.sharer-container .elementor-grid .elementor-grid-item {
    margin: 0 !important;
}

span.page-numbers.dots {
    color: inherit;
}

.subscribe-form .gform_confirmation_message {
    /*color: #fff;*/
		text-align: center;
}
/* Layout: inline row */
.subscribe-form #gform_wrapper_4 form {
  display: flex;
  align-items: center;
  gap: 0;
}

.subscribe-form #gform_wrapper_4 .gform-body {
  flex: 1;
}

.subscribe-form #gform_wrapper_4 .gform_footer {
  display: inline-flex;
  margin: 0;
  padding: 0;
}

.subscribe-form #gform_wrapper_4 .gfield {
  margin: 0;
  padding: 0;
}

.subscribe-form #gform_wrapper_4 .gfield_label {
  display: none;
}

/* Input */
.subscribe-form #gform_wrapper_4 #input_4_1 {
  background-color: #e8e8e8;
  border: 1px solid #d9d4d4;
  border-radius: 0;
  height: 42px;
  width: 100%;
  box-shadow: none;
  font-size: 14px;
  padding: 0 12px;
  color: #333;
}

.subscribe-form #gform_wrapper_4 #input_4_1::placeholder {
  color: transparent;
}

/* Button */
.subscribe-form #gform_wrapper_4 #gform_submit_button_4 {
  background-color: var( --e-global-color-text );
  color: #000;
  border: none;
  border-radius: 0;
  height: 42px;
  padding: 0 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
}

.subscribe-form #gform_wrapper_4 #gform_submit_button_4:hover {
  background-color: #222;
}
/* Newsletter */



.white-icon path {
    fill: #fff;
}

.hover-underline-orange a:hover {
    text-decoration: underline;
}

.orange-button a:hover {
    background-color: var( --e-global-color-primary ) !important;
}

b.bold {
    font-weight: 700;
}

.publisher-before .elementor-post-info__item--type-custom:before {
    content: 'Publisher: ';
    font-weight: 300;
}

.tea-partner-publications {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tea-partner-publications__item {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.75em;
	font-size: 14px;
	line-height: 1.6;
}

.tea-partner-publications__type {
    display: block;
    color: #fff;
    font-size: 12px;
    opacity: 0.8;
    line-height: 1.7;
}

.tea-partner-publications__item::before {
	content: '\203A'; /* › */
	position: absolute;
	left: 0;
	top: -0.1em;
	color: #E87722; /* swap for your brand orange */
	font-weight: 700;
	font-size: 1.2em;
}

.tea-partner-publications__item a {
	color: #fff;
	text-decoration: none;
}

.tea-partner-publications__item a:hover {
	text-decoration: underline;
	color: var( --e-global-color-text ) !important;
}

.home-carousel-wrapper .swiper {
    padding: 0 !important;
}

.home-post-slider .swiper-slide .elementor-element::before {
    background-color: transparent !important;
    background-image: linear-gradient(180deg, transparent 60%, #005056 100%);
    mix-blend-mode: multiply;
    inset: 0;
    position: absolute;
}

.funders-carousel.is-grid-ready .swiper-wrapper {
	flex-direction: column;
	flex-wrap: wrap;
}
.funders-carousel .swiper-slide:nth-child(even) .funder-container {
	flex-direction: row-reverse;
}

/* Funders carousel below desktop (09/09/2026).
   The three-row grid in tea-js.js is desktop-only, so from 1024px down this is a plain
   Elementor carousel and needs two corrections.

   1. Arrows. The widget's arrow offset resolves to -60px on each side, which works on
      desktop where the section is inset, but narrower the card fills the screen:
      measured on /about/, the prev arrow sat at x -30 (off-canvas) at both 375px and
      900px, and the next arrow ran past the right edge. Neither could be tapped.
   2. Card height. Swiper slides are flex children and stretch to the tallest card, so
      the short ones padded out to the long UK government card: 942px of teal around
      588px of content at 375px. flex-start lets each card end where its content does.
      The track still reserves the tallest card's height, so nothing below it jumps as
      you swipe.

   !important is needed on the arrows to beat Elementor's own
   .elementor-widget-loop-carousel.elementor-element :is(.swiper) ~ .elementor-swiper-button-*
   rule, which is more specific than anything scoped to .funders-carousel alone. */
@media (max-width: 1024px) {
	.funders-carousel .swiper-wrapper {
		align-items: flex-start;
	}

	/* Swiper's own .swiper-slide { height: 100% } is what actually pins every card to
	   the tallest one - align-items alone cannot beat a declared height. */
	.funders-carousel .swiper-slide {
		height: auto;
	}

	.funders-carousel .elementor-swiper-button-prev {
		left: 8px !important;
		right: auto !important;
	}

	.funders-carousel .elementor-swiper-button-next {
		right: 8px !important;
		left: auto !important;
	}
}

.single .elementor-widget-theme-post-content h5,
.single-post-styles h5,
.single .elementor-widget-theme-post-content h4,
.single-post-styles h4,
.single .elementor-widget-theme-post-content h3,
.single-post-styles h3,
.single .elementor-widget-theme-post-content h2,
.single-post-styles h2{
    color: var(--e-global-color-primary);
}

.no-heading-margins h2 {
    margin-top: 0;
}

.elementor-widget-theme-post-content .single h2 {
    font-size: 24px;
}

.elementor-widget-theme-post-content .single h3 {
    font-size: 21px;
}

.elementor-widget-theme-post-content .single h3 {
    font-size: 19px;
}

.e-flex:has(.grow-heading),
.grow-heading {
  flex-grow: 1 !important;
}


/**********************************/
/*********         Home carousel  */
/**********************************/
.has-left-shape .elementor-widget-image {
    height: 100%;
}

.hero-carousel .elementor-swiper-button svg:hover {
    fill: #eac33e !important;
}

.home-carousel-wrapper:before {
    z-index: 2;
}

.home-carousel-wrapper .elementor-background-overlay {
    background-color: transparent !important;
    background-image: linear-gradient(180deg, transparent 60%, #005056 100%);
	  mix-blend-mode: multiply;
}


.home-carousel-wrapper .swiper-pagination {
    bottom: 60px !important;
}


.home-carousel-wrapper .elementor-swiper-button svg {
    align-self: self-end;
    margin-bottom: 60px;
}


/**********************************/
/*********           Publication  */
/**********************************/
/* Per-type colours (card strip + label border) are generated from the "Colour" ACF field
   on each Publication Type term. See tea_publication_type_colour_css() in
   includes/custom-functions.php. Do not hardcode category colours here. */
.e-loop-item:has(.publication-hover):hover .elementor-widget-image .elementor-widget-container {
    background: #e85d26 !important;
}

/**********************************/
/*********               Buttons  */
/**********************************/
.underline-button-with-arrow .elementor-button-text {
    border-bottom: 1px solid #e85d26;
    line-height: 20px;
}
.underline-button-with-arrow svg path{
		fill: var( --e-global-color-text );
}

.white-button.underline-button-with-arrow .elementor-button-text {
    border-bottom: 1px solid #fff;
}
.white-button.underline-button-with-arrow:hover .elementor-button-text {
    border-color: #EAC33E !important;
}
.white-button.underline-button-with-arrow:hover a svg path{
	fill: #EAC33E !important;
}

.white-button.underline-button-with-arrow svg path{
		fill: #fff;
}




/**********************************/
/*********     Loop grids scrool  */
/**********************************/
.loop-grid-scroll {
  position: relative;
  overflow: hidden;
  align-self: stretch;
}

.loop-grid-scroll > .elementor-widget-loop-grid {
  position: absolute;
  inset: 0;
}

.loop-grid-scroll > .elementor-widget-loop-grid > .elementor-widget-container {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

.loop-grid-scroll .elementor-loop-container {
  height: auto;
  min-height: 0;
	margin-right: 10px;
}

.overflow-scroll::-webkit-scrollbar,
.loop-grid-scroll > .elementor-widget-loop-grid > .elementor-widget-container::-webkit-scrollbar {
  width: 6px;
}
.overflow-scroll::-webkit-scrollbar-thumb,
.loop-grid-scroll > .elementor-widget-loop-grid > .elementor-widget-container::-webkit-scrollbar-thumb {
  background: #f4c430;
  border-radius: 3px;
}
.overflow-scroll::-webkit-scrollbar-track,
.loop-grid-scroll > .elementor-widget-loop-grid > .elementor-widget-container::-webkit-scrollbar-track {
  background: #002D30;
	border-radius: 3px;
}

.loop-grid-featured {
    padding-top: 0 !important;
    padding-bottom: 0;
}


/**********************************/
/*********         Quick classes  */
/**********************************/
.no-block-p p {
    margin-block: 0;
}
.no-block-p-first p:first-child {
    margin-block: 0;
}

.white {
    color: #fff;
}

.block {
    display: block;
}

.bg-multiply {
    background-blend-mode: multiply;
}

.h-100{
	height: 100%;
}


/**********************************/
/***********         Card button  */
/**********************************/
.has-absolute-link {
    position: relative;
}

.absolute-link, .absolute-link a {
    position: absolute !important;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    z-index: 1;
    background: transparent !important;
    font-size: 0;
}

.absolute-link .elementor-button-content-wrapper {
	font-size: 0;
}

.has-absolute-link-hover-icon-move:hover .elementor-button-text {
	color: #e85d26;
}

.has-absolute-link-hover-btn:hover .not-absolute-link .elementor-button-link{
	background-color: var( --e-global-color-primary ) !important;
}

/**********************************/
/*********               General  */
/**********************************/
.small-hero{
	min-height: 40vh;
	padding-top: 110px;
background-position: 50% 10% !important;
}

.small-hero h1{
	  font-size: 45px !important;
    line-height: 1.44em !important;
}

a[custom-icon=blue] path {
    fill: #005056 !important;
}

.quiz-form .gform_confirmation_message {
    padding-top: 40px;
    color: #e85d26;
    text-align: center;
	  font-weight: 600;
}

.wpgmza-panel-view .wpgmza-title,
.wpgmza-panel-view .wpgmza-gallery-container {
    display: none;
}

.wpgmza-panel-view .wpgmza-description,
.wpgmza-panel-view .wpgmza-address {
    padding-left: 10px !important;
}

.wpgmza-panel-view .wpgmza-address span {
    font-size: 20px;
    color: #002d30;
}

.wpgmza-inner-stack.right .grouping.visible {
    border-color: #cbcbcb;
    border-width: 1px 1px 1px 0;
    border-style: solid;
}
.wpgmza_map .panel-list-col .wpgmza-address {
    display: none;
}
.panel-list-row {
    display: block !important;
    width: 100%;
    text-align: center;
}
.wpgmza-panel-list-item {
    background: #002d30;
}
.wpgmza-panel-list-item:hover .wpgmza-title {
    color: #002d30;
}
.wpgmza-title {
    color: #fff;
}

.svg-gallery .gallery-icon img {
    margin: 0;
}

.hover-taxonomy:hover .elementor-widget-container {
    background: var(--e-global-color-secondary);
}


.elementor-add-resources-repeater .elementor-widget-button:has(a:not([href])) {
    display: none;
}

.elementor-key-resources-repeater .elementor-widget-button:has(a:not([href])) {
    display: none;
}

.elementor-key-resources-repeater .elementor-loop-container.elementor-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, max-content));
    justify-content: center;
}

/* Search and filter pro */
.search-filter-field__input {
    border-radius: 20px;
    border: none;
}

.search-filter-field__input svg.search-filter-icon__svg {
    fill: var( --e-global-color-primary ) !important;
}

.search-filter-component-combobox__listbox-toggle::before {
    display: none;
}

.search-filter-field input::placeholder {
    color: var( --e-global-color-primary ) !important;
	font-size: 14px !important;
}

.search-filter-component-combobox {
    padding-left: 15px;
}

.search-filter-field .search-filter-component-combobox-base:hover, .search-filter-field input:hover {
    cursor: pointer;
}

/* ICTD Search & Filter - all inputs 61px */
.search-filter-field input,
.search-filter-field input[type="text"],
.search-filter-field input[type="hidden"],
.search-filter-component-combobox__actions-input,
.search-filter-input-text__input,
.search-filter-input-text__input--hidden {
    font-size: 16px !important;
}

/**********************************/
/*********  Elementor pagination  */
/**********************************/


.elementor-pagination .page-numbers {
    padding: 5px 12px;
    font-size: 16px;
	/*border: 1px solid  #fff;*/
}
.elementor-pagination .page-numbers.dots {
    color: #fff;
}

.elementor-pagination .page-numbers.current,
.elementor-pagination .page-numbers:hover {
    /*background-color: #fff;*/
    /*color: #005056 !important;*/
	font-weight: 900;
}

.dark-pagination .elementor-pagination .page-numbers.current,
.dark-pagination .elementor-pagination .page-numbers:hover {
    /*background-color: var( --e-global-color-primary ) !important;*/
    /*color: #fff !important;*/
	font-weight: 900;
}

.dark-pagination .elementor-pagination .page-numbers,
.dark-pagination .elementor-pagination .page-numbers {
   /* background-color: transparent !important;*/
    color: var( --e-global-color-primary ) !important;
	/*border: 1px solid var( --e-global-color-primary );*/
}

a.page-numbers:hover i {
    transform: scale(1.4);
	transition: 200ms;
}
a.page-numbers i {
	transition: 200ms;
	font-size: 20px;
}

.elementor-pagination a.page-numbers i {
	pointer-events: none;
}


/**********************************/
/*********       TEA Breadcrumbs  */
/**********************************/
nav.tea-breadcrumbs {
    font-size: 14px;
}
nav.tea-breadcrumbs a:hover {
    color: var( --e-global-color-secondary );
}
nav.tea-breadcrumbs a {
    text-decoration: underline;
    color: unset;
}



/**********************************/
/*************       Quiz form    */
/**********************************/
.quiz-form .gchoice:hover {
    cursor: pointer;
}

.quiz-form {
    height: 420px;
    overflow-y: auto;
    overflow-x: hidden;
		padding: 5px;
}

.quiz-form .gfield_label {
    font-size: 17px;
		color: var( --e-global-color-primary );
}


.skew-submit .gform-footer .gform_button[type=submit] {
    background: var( --e-global-color-text ) !important;
	border-radius: 0 !important;
	text-transform: uppercase !important;
	color: #000 !important;
	/*transform: skew(-15deg);*/
}

.gform-footer .gform_button[type=submit]{
	text-transform: uppercase !important;
}

.gform-footer .gform_button[type=submit]:hover {
    background: var( --e-global-color-secondary ) !important;
    color: #000 !important;
}

.gform_wrapper:not(.no-skew-hover_wrapper) .gform-footer .gform_button[type=submit]:hover {
	transform: skew(-15deg);
}
.gform_wrapper:not(.no-skew-hover_wrapper) .gform-footer .gform_button[type=submit]:hover .button-text {
     transform: skew(15deg) !important;
}

@media( min-width: 768px ){
	.quiz-container .elementor-widget-shortcode {
		height: 100%;
	}	
	.two-col-text p {
			column-count: 2;
	}	
}


/* Gravity FORM */
.contact-form .gform-field-label--type-sub {
    font-size: 14px !important;
		font-weight: 500;
}

.white-asterisk .gfield_required_asterisk {
    color: #fff;
}

.white-desc .gform-field-label--type-sub,
.white-labels .gfield_label{
		color: #fff;
}

.square-fields input,
.square-fields textarea,
.square-fields select,
.square-fields button,
.gform_wrapper.square-fields input,
.gform_wrapper.square-fields textarea,
.gform_wrapper.square-fields select,
.gform_wrapper.square-fields button,
body .square-fields .gform_wrapper input,
body .square-fields .gform_wrapper textarea,
body .square-fields .gform_wrapper select,
body .square-fields .gform_wrapper button {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
}

.dark-input-bg input,
.dark-input-bg textarea,
.dark-input-bg select,
.dark-input-bg button,
.gform_wrapper.dark-input-bg input,
.gform_wrapper.dark-input-bg textarea,
.gform_wrapper.dark-input-bg select,
.gform_wrapper.dark-input-bg button,
body .dark-input-bg .gform_wrapper input,
body .dark-input-bg .gform_wrapper textarea,
body .dark-input-bg .gform_wrapper select,
body .dark-input-bg .gform_wrapper button {
    background-color: #0a3a3e !important;
    color: #ffffff !important;
		border: none !important;
}


.gform_heading {
    display: none;
}

.elementor-post-info li i {
    font-weight: 300;
}

body:not(.elementor-editor-active):not(.elementor-edit-mode) .hide-empty-resources:has(.e-loop-nothing-found-message) {
	display: none;
}

.center-grid-3 .elementor-grid {
    grid-template-columns: repeat(3, auto);
}

body .white-link a{ color: #fff !important; }

.single-post figure{
	max-width: 100%;
}

.featured-pub-Hide {
    display: none;
}



/******************************************************************************************************** */
/*                                                                                               Header   */
/******************************************************************************************************** */




/******************************************************************************************************** */
/*                                                                                               Footer   */
/******************************************************************************************************** */

/* Connected publication buttons - share .copy-citation-btn styling above.
   These are anchors, not buttons, so the theme's link styles need neutralising. */
a.publication-connected-btn,
a.publication-connected-btn:hover,
a.publication-connected-btn:focus {
	text-decoration: none;
	color: #FFFFFF;
}
.post-translation-available + .post-translation-available {
	margin-top: 8px;
}

/********************************************************************************************************
                                                                             Carousel arrows - hide when locked
********************************************************************************************************/


.elementor-widget-loop-carousel .elementor-swiper-button.swiper-button-lock,
.elementor-widget-loop-grid .elementor-swiper-button.swiper-button-lock,
.e-widget-swiper .elementor-swiper-button.swiper-button-lock {
	display: none;
}

/********************************************************************************************************
                                                                            ARI Stream Quiz - Learn with us
********************************************************************************************************/
.asq-theme .ari-stream-quiz .quiz-intro .quiz-title {
	display: none;
}
.asq-theme .ari-stream-quiz .quiz-question {
	margin: 0 0 30px;
}
.asq-theme .ari-stream-quiz .quiz-question:last-child {
	margin-bottom: 0;
}
.asq-theme .ari-stream-quiz .quiz-question-title {
	color: #005056;
	font-size: 17px;
	line-height: 1.4;
	font-weight: 700;
	margin: 0 0 14px;
	text-align: left;
}
.asq-theme .ari-stream-quiz .quiz-question-answers {
	row-gap: 7px;
}
.asq-theme .ari-stream-quiz .quiz-question-answer-controls {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.asq-theme .ari-stream-quiz .ari-checkbox-label {
	font-size: 15px;
	line-height: 1.45;
	color: #3E3E3D;
	font-weight: 400;
	margin: 0;
}

.elementor-widget.quiz-form {
	height: 60vh;
	min-height: 0;
}

.elementor-widget.quiz-form > .elementor-widget-container {
	height: auto;
	min-height: 100%;
}

/********************************************************************************************************
                                                            Nested Tabs - tabs whose loop grid is empty
********************************************************************************************************/

.e-n-tabs-heading .tea-tab-empty {
	opacity: 0.35;
	pointer-events: none;
	cursor: default;
}

/* Never show the empty-state message itself. */
body:not(.elementor-editor-active) .e-n-tabs-content .e-loop-nothing-found-message {
	display: none;
}

body:not(.elementor-editor-active) .e-n-tabs.tea-tabs-all-empty {
	display: none;
}

body:not(.elementor-editor-active).tea-no-tabs .left-sidebar-bio {
	width: 100%;
	max-width: 100%;
	flex-basis: 100%;
}

body:not(.elementor-editor-active) .e-con.tea-tabs-empty-col {
	display: none;
}


.asq-theme .quiz-question-answer {
    border: none !important;
    margin-left: 0;
}

.asq-theme .ari-checkbox + .ari-checkbox-label:before {
    border: 2px solid #3e3e3d;
    border-radius: 50%;
}

.asq-theme .ari-stream-quiz .ari-checkbox-label {
    margin-bottom: 5px;
}

.asq-theme .quiz-question-answer-selected,
.asq-theme .quiz-question-answer:hover {
    background-color: transparent !important;
}

.quiz-question-answer-wrong label.ari-checkbox-label {
    color: #fff !important;
}



.has-absolute-link-hover-btn:hover .elementor-widget-button a{
	transform: skew(-15deg);
}
.has-absolute-link-hover-btn:hover .elementor-widget-button a .elementor-button-text{
	transform: skew(15deg);
}

.elementor .primary-color {
    color: var(--e-global-color-primary);
}

.profile-image-wrapper img {
    aspect-ratio: 1 / 1;
}

blockquote,
blockquote.blockquote {
    position: relative;
    font-size: 21px;
    background: none;
    margin: 2.5rem 0;
    padding: 2.75rem 2.25rem 2rem;
    color: #005056;
    font-weight: 600;
    border: 0;
}

.tea-quote-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    color: #ff7551;
    overflow: visible;
    pointer-events: none;
}

blockquote::after {
    content: "";
    position: absolute;
    /*top: 6px;*/
	top: 0;
    left: 2rem;
    /*transform: translateY(-50%);*/
    width: 76px;
    height: 34px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28'%3E%3Cdefs%3E%3Cpath id='m' d='M0 15C0 6.7 6.7 0 15 0v6.5C10.3 6.5 6.5 10.3 6.5 15H15v13H0V15z'/%3E%3C/defs%3E%3Cg fill='%23ff7551'%3E%3Cuse href='%23m'/%3E%3Cuse href='%23m' transform='translate(21 0)'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 34px auto;
    pointer-events: none;
}
/* ICTD backlog 869ekebkz / 869eke3ja / 869eke43q — by-line grey, not green */
.pub-authors-limit,
.pub-authors {
  color: #3E3E3D;
}


.search-filter-field .search-filter-field__input {
	min-height: 39px;
}

.search-filter-field .search-filter-component-combobox__header {
	min-height: 39px;
}


.search-filter-field--type-search .search-filter-field__input,
.search-filter-field--type-search input {
	cursor: text;
}


body.tea-absolute-header .site-header-bar {
	position: absolute;
	top: 0;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	z-index: 500;
}

body.tea-absolute-header .site-header-bar.site-header-bar.e-con:not(.elementor-sticky--effects) {

	background-color: transparent;
}

body.tea-absolute-header header.elementor-location-header {
	position: relative;
}

body.tea-absolute-header .small-hero,
body.tea-absolute-header .tea-overlay-hero {
	padding-top: 160px;
}

/* Mobile, 09/09/2026: 160px is the clearance the absolute header needs at desktop, but the bar is
   shorter on mobile and 160px left a visible gap above the hero text. Elementor's mobile
   breakpoint on this site is 767px, so the query matches what the builder itself switches on. */
@media (max-width: 767px) {
	body.tea-absolute-header .small-hero,
	body.tea-absolute-header .tea-overlay-hero {
		padding-top: 120px;
	}
}


body.tea-absolute-header .elementor-location-header .elementor-sticky__spacer {

	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}


html[lang^="fr"] .pub-authors-limit::before {
	content: "Par ";
}

.search-filter-component-combobox-base__listbox-option.search-filter-component-combobox-base__listbox-option {
	--search-filter-listbox-option-depth: 0px;
}


.e-loop-item:has(.theme-events-title) .elementor-widget-theme-post-featured-image {
	position: relative;
}


.e-loop-item:has(.theme-events-title) .elementor-widget-theme-post-featured-image .elementor-widget-container {
	position: absolute;
	inset: 0;
}


.e-loop-item:has(.theme-events-title) .elementor-widget-theme-post-featured-image .elementor-widget-container > a {
	display: block;
	height: 100%;
}

.e-loop-item:has(.theme-events-title) .elementor-widget-theme-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}



.dark-button .underline-button-with-arrow .elementor-button,
.dark-button .register-btn .elementor-button,
.dark-button .underline-button-with-arrow .elementor-button:hover,
.dark-button .register-btn .elementor-button:hover {
	border: 0 !important;
}

.dark-button .underline-button-with-arrow.white-button .elementor-button .elementor-button-text {
	border-bottom-color: #FF7551 !important;
	color: #FF7551 !important;
}
.dark-button .underline-button-with-arrow.white-button .elementor-button svg path {
	fill: #FF7551 !important;
}
.dark-button .underline-button-with-arrow.white-button .elementor-button:hover span,
.dark-button .underline-button-with-arrow.white-button .elementor-button span {
	color: #FF7551 !important;
}

.dark-button .underline-button-with-arrow.white-button .elementor-button:hover .elementor-button-text {
	color: #005056 !important;
	border-bottom-color: #005056 !important;
}
.dark-button .underline-button-with-arrow.white-button .elementor-button:hover span {
	color: #005056 !important;
}
.dark-button.theme-events .white-button.underline-button-with-arrow.theme-events-btn:hover a svg path,
.dark-button .white-button.underline-button-with-arrow.theme-events-btn:hover a svg path,
.dark-button .underline-button-with-arrow.white-button .elementor-button:hover svg path {
	fill: #005056 !important;
}

html[lang^="fr"] .elementor-widget-nav-menu.elementor-hidden-tablet.elementor-hidden-mobile nav.elementor-nav-menu--main.elementor-nav-menu--layout-horizontal > ul.elementor-nav-menu > li > a.elementor-item {
	font-size: 16px;
}


/* SF combobox listbox height 20260909 */
/* Plugin caps the dropdown at 250px. Long option labels wrap to two lines, so only
   two or three of the seven Programmes and Networks were visible and the list read
   as truncated. Raise the cap so the whole list is reachable without hunting. */
.search-filter-component-combobox-base__listbox {
	max-height: 480px;
}

/* Machine-translation notice. Added 10/09/2026.
   Rendered by tea_translation_badge_content() ahead of the post content, on French records
   carrying the auto-translated term. Teal rather than coral: coral is the call-to-action colour
   on this site and this is informational. Semantic classes only, never Elementor generated ones. */
.tea-translation-notice {
	margin: 0 0 1.75rem;
}

.tea-translation-notice .tea-translation-badge {
	display: block;
	padding: 0.75rem 1rem;
	border-left: 4px solid #005056;
	background: #f2f4f4;
	color: #3e3e3d;
	font-size: 0.875rem;
	line-height: 1.45;
}

@media (max-width: 767px) {
	.tea-translation-notice {
		margin-bottom: 1.25rem;
	}

	.tea-translation-notice .tea-translation-badge {
		padding: 0.625rem 0.875rem;
		font-size: 0.8125rem;
	}
}