@import url('//fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Outfit:wght@300;400;500;600;700;800;900&display=swap');
@import url('//fonts.cdnfonts.com/css/druk-text-trial');

:root {
  --font-family: "Lato";
  --color-base: #000000;
  --color-primary: #0D67A2;
  --color-secondary: #81DE49;
  --font-size-base: 16px;
  --nav-height: 108px;
  /* Desktop: 48px logo + 40px top padding + 40px bottom padding */
}

body,
html {
  overflow-x: clip;
}

body {
  font-weight: 300;
  font-size: var(--font-size-base);
  color: var(--color-base);
  font-family: var(--font-family), sans-serif
}

b,
h1,
h2,
h3,
h4,
h5,
strong {
  font-weight: 700
}

a,
a:hover {
  text-decoration: none;
  color: var(--primary-green);
}

h1 {
  font-size: 200%
}

h2 {
  font-size: 180%
}

h3 {
  font-size: 145%
}

h4 {
  font-size: 130%
}

.pb-8 {
  padding-bottom: 8px !important
}

.bg-black {
  background: #000 !important
}

.bg-blue {
  background: #026eaf !important
}

.bg-white {
  background: #fff !important
}

.bg-gray {
  background: #f8f8f8 !important
}

.bg-map {
  background-color: #e5e3df !important
}

.bg-map .fa-3x {
  position: absolute;
  top: 40%;
  left: 48%;
  color: #026eaf
}

.fs-110 {
  font-size: 110% !important
}

.fs-120 {
  font-size: 120% !important
}

.fs-130 {
  font-size: 130% !important
}

.fs-140 {
  font-size: 140% !important
}

.fs-150 {
  font-size: 150% !important
}

.fs-160 {
  font-size: 160% !important
}

.lh-100 {
  line-height: 100% !important
}

.text-gray {
  color: #bbb !important
}

.img-fluid {
  min-width: 100%
}

.m-top-75 {
  margin-top: 75px !important
}

.m-top-25 {
  margin-top: 25px !important
}

.blue {
  color: #01719f !important
}

.max-w-568 {
  max-width: 568px !important;
  width: 100%
}

.max-w-768 {
  max-width: 768px !important
}

.m-0 {
  margin: 0 !important
}

.p-0 {
  padding: 0 !important
}

#navigation {
  padding-left: 0;
  padding-right: 0;
  z-index: 3;
  position: relative
}

.navbar,
.navbar a {
  padding: 0;
  outline: 0
}

.navbar a.nav-link,
a.navbar-brand span {
  line-height: 60px;
  background: 0 0
}

.navbar {
  background: #fff;
  width: 100%;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px
}

.navbar-toggler {
  color: #0d67a2
}

a.navbar-brand img,
a.navbar-brand span {
  float: left
}

a.navbar-brand img {
  max-height: 40px;
  margin-top: auto;
  margin-bottom: auto
}

a.navbar-brand span {
  color: #0d67a2;
  font-size: 100%;
  float: left;
  margin-left: 10px;
  text-transform: uppercase;
  font-weight: 700
}

.navbar a {
  color: #aaa;
  font-weight: 400
}

.navbar-expand-xl .navbar-nav .dropdown-menu {
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0
}

.navbar a.dropdown-item,
.navbar a.dropdown-item:hover {
  background: -4px 8px/40px no-repeat;
  font-size: 90%;
  min-width: 200px;
  white-space: pre-line
}

.navbar a.dropdown-item {
  border-bottom: 1px solid #f3f3f3;
  padding: 15px 0 15px 40px
}

.navbar a.dropdown-item:hover {
  color: #0d67a2;
  border-color: #0d67a2
}

.navbar-expand-xl .navbar-nav .nav-item.parent.active .nav-link,
.navbar-nav li.current.active a.nav-link {
  color: #0d67a2
}

.navbar .dropdown-toggle::after {
  display: none !important;
}

.navbar a.dropdown-item.icon-about {
  background-image: url(/images/icons/gray/about_300x300.png)
}

.navbar a.dropdown-item.icon-about:hover {
  background-image: url(/images/icons/blue/about_300x300.png)
}

.navbar a.dropdown-item.icon-about-history {
  background-image: url(/images/icons/gray/history_300x300.png)
}

.navbar a.dropdown-item.icon-about-history:hover {
  background-image: url(/images/icons/blue/history_300x300.png)
}

.navbar a.dropdown-item.icon-about-partners {
  background-image: url(/images/icons/gray/partners_300x300.png)
}

.navbar a.dropdown-item.icon-about-partners:hover {
  background-image: url(/images/icons/blue/partners_300x300.png)
}

.navbar a.dropdown-item.icon-about-financial {
  background-image: url(/images/icons/gray/financial_300x300.png)
}

.navbar a.dropdown-item.icon-about-financial:hover {
  background-image: url(/images/icons/blue/financial_300x300.png)
}

.navbar a.dropdown-item.icon-about-frequently-asked-questions {
  background-image: url(/images/icons/gray/faqs_300x300.png)
}

.navbar a.dropdown-item.icon-about-frequently-asked-questions:hover {
  background-image: url(/images/icons/blue/faqs_300x300.png)
}

.navbar a.dropdown-item.icon-area-agriculture {
  background-image: url(/images/icons/gray/agriculture_300x300.png)
}

.navbar a.dropdown-item.icon-area-agriculture:hover {
  background-image: url(/images/icons/blue/agriculture_300x300.png)
}

.navbar a.dropdown-item.icon-area-community-development {
  background-image: url(/images/icons/gray/community_300x300.png)
}

.navbar a.dropdown-item.icon-area-community-development:hover {
  background-image: url(/images/icons/blue/community_300x300.png)
}

.navbar a.dropdown-item.icon-area-health {
  background-image: url(/images/icons/gray/health_300x300.png)
}

.navbar a.dropdown-item.icon-area-health:hover {
  background-image: url(/images/icons/blue/health_300x300.png)
}

.navbar a.dropdown-item.icon-area-education {
  background-image: url(/images/icons/gray/education_300x300.png)
}

.navbar a.dropdown-item.icon-area-education:hover {
  background-image: url(/images/icons/blue/education_300x300.png)
}

.navbar a.dropdown-item.icon-area-clothes {
  background-image: url(/images/icons/gray/clothes_300x300.png)
}

.navbar a.dropdown-item.icon-area-clothes:hover {
  background-image: url(/images/icons/blue/clothes_300x300.png)
}

.navbar a.dropdown-item.icon-area-stories {
  background-image: url(/images/icons/gray/stories_300x300.png)
}

.navbar a.dropdown-item.icon-area-stories:hover {
  background-image: url(/images/icons/blue/stories_300x300.png)
}

.navbar .location a.dropdown-item,
.navbar .location a.dropdown-item:hover,
.navbar .where-we-work+.dropdown-menu a.dropdown-item,
.navbar .where-we-work+.dropdown-menu a.dropdown-item:hover {
  min-width: 145px
}

.navbar a.dropdown-item.icon-location-africa {
  background-image: url(/images/icons/gray/africa_300x300.png)
}

.navbar a.dropdown-item.icon-location-africa:hover {
  background-image: url(/images/icons/blue/africa_300x300.png)
}

.navbar a.dropdown-item.icon-location-asia {
  background-image: url(/images/icons/gray/asia_300x300.png)
}

.navbar a.dropdown-item.icon-location-asia:hover {
  background-image: url(/images/icons/blue/asia_300x300.png)
}

.navbar a.dropdown-item.icon-location-europe {
  background-image: url(/images/icons/gray/europe_300x300.png)
}

.navbar a.dropdown-item.icon-location-europe:hover {
  background-image: url(/images/icons/blue/europe_300x300.png)
}

.navbar a.dropdown-item.icon-location-americas {
  background-image: url(/images/icons/gray/americas_300x300.png)
}

.navbar a.dropdown-item.icon-location-americas:hover {
  background-image: url(/images/icons/blue/americas_300x300.png)
}

.navbar .item-131.nav-item .dropdown-menu a.dropdown-item,
.navbar .item-131.nav-item .dropdown-menu a.dropdown-item:hover,
.navbar .more+.dropdown-menu a.dropdown-item,
.navbar .more+.dropdown-menu a.dropdown-item:hover,
.separator.dropdown-item,
.separator.dropdown-item:hover {
  background: 0 0;
  font-size: 90%;
  min-width: 145px
}

.navbar .item-131.nav-item .dropdown-menu a.dropdown-item,
.navbar .more+.dropdown-menu a.dropdown-item {
  padding: 15px 0
}

.navbar .more+.dropdown-menu {
  -webkit-column-count: 1 !important;
  -moz-column-count: 1 !important;
  column-count: 1 !important
}

.navbar .item-253.nav-item .separator.dropdown-item,
.navbar .item-926.nav-item .separator.dropdown-item {
  cursor: pointer;
  border-bottom: 1px solid #f3f3f3;
  color: #aaa;
  font-weight: 400;
  padding: 15px 0 7px;
  margin-bottom: 1px
}

.navbar .item-253.nav-item .separator.dropdown-item+.dropdown-menu::after,
.navbar .item-926.nav-item .separator.dropdown-item+.dropdown-menu::after {
  display: none
}

.navbar .item-253.nav-item,
.navbar .item-926.nav-item {
  position: relative
}

.navbar .item-253.nav-item .separator.dropdown-item+.dropdown-menu,
.navbar .item-926.nav-item .separator.dropdown-item+.dropdown-menu {
  display: block;
  position: relative;
  left: 0;
  -webkit-column-count: 1 !important;
  -moz-column-count: 1 !important;
  column-count: 1 !important;
  padding: 0;
  font-size: 85%;
  float: left
}

.navbar .item-253.nav-item .separator.dropdown-item+.dropdown-menu li,
.navbar .item-926.nav-item .separator.dropdown-item+.dropdown-menu li {
  max-width: 150px
}

.navbar .item-253.nav-item .separator.dropdown-item+.dropdown-menu a,
.navbar .item-926.nav-item .separator.dropdown-item+.dropdown-menu a {
  padding: 7px;
  margin-left: 10px;
  min-width: 130px;
  border-left: 1px solid #f3f3f3;
  border-right: 1px solid #f3f3f3
}

.navbar .item-926.nav-item {
  z-index: 2
}

.nav-item.search a {
  display: none
}

.search-input input {
  outline: 0 !important;
  border-radius: 0;
  display: block
}

.search-input button,
.search-input button:hover {
  border-radius: 0;
  border: 0;
  background-color: #0d67a2;
  color: #fff
}

.content-row {
  padding-top: 75px
}

.content-row.article ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem
}

.content-row.article ul li {
  margin-left: 20px;
  list-style: circle
}

.content-row.infographics h3 {
  font-weight: 400;
  color: #ccc;
  margin: 25px auto;
  font-size: 110%
}

.content-row.infographics .row+.row {
  border-top: 1px solid #f3f3f3;
  padding: 35px 25px
}

.content-row.thematic {
  padding: 0;
  position: relative;
  z-index: 0
}

.content-row.thematic .tab-content {
  width: 100%;
  height: 100%;
  text-align: center
}

.content-row.thematic .tab-content .tab-pane img {
  position: relative;
  z-index: 0;
  height: 100%;
  width: 100%;
  max-height: 920px;
  max-width: 1920px;
  margin: 0 auto;
  min-height: 488px;
  min-width: 1018px
}

.content-row.thematic .tab-content .tab-pane .overlay {
  position: absolute;
  bottom: 5%;
  color: #fff;
  width: 100%;
  text-align: left
}

.content-row.thematic .tab-content .tab-pane .overlay .container {
  position: relative
}

.content-row.thematic .tab-content .tab-pane h2 {
  font-weight: 700;
  font-size: 180%;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

.content-row.thematic .tab-content .tab-pane p.lead {
  font-weight: 400;
  font-size: 130%;
  line-height: 130%;
  text-shadow: 1px 1px 2px #000
}

.content-row.thematic-tabs {
  padding: 25px 0;
  background: #fff;
  position: relative;
  z-index: 1
}

.content-row.thematic-tabs .nav-link,
.content-row.thematic-tabs .nav-tabs {
  border: 0 !important
}

.content-row.thematic-tabs .nav-item {
  width: 20%;
  text-align: center
}

.content-row.thematic-tabs .nav-link {
  text-align: center;
  background: 50% 0/60px no-repeat;
  padding-top: 70px;
  font-size: 0;
  color: #000;
  font-weight: 400
}

.content-row.thematic-tabs .nav-link.active,
.content-row.thematic-tabs .nav-link:hover {
  color: #0a5283
}

.content-row.thematic-tabs .nav-link.active {
  position: relative
}

.content-row.thematic-tabs .nav-link span {
  display: none;
  vertical-align: .255em;
  content: "";
  border-top: 0;
  border-right: .4em solid transparent;
  border-bottom: .4em solid;
  border-left: .4em solid transparent;
  color: #81de49;
  font-size: 400%;
  position: absolute;
  top: -50px;
  left: 38.5%;
  line-height: 0
}

.content-row.thematic-tabs .nav-link.active span {
  display: block
}

#thematic-1-tab,
#thematic-6-tab {
  background-image: url(/images/icons/gray/agriculture_300x300.png)
}

#thematic-1-tab.active,
#thematic-1-tab:hover,
#thematic-6-tab.active,
#thematic-6-tab:hover {
  background-image: url(/images/icons/green/agriculture_300x300.png)
}

#thematic-2-tab,
#thematic-7-tab {
  background-image: url(/images/icons/gray/community_300x300.png)
}

#thematic-2-tab.active,
#thematic-2-tab:hover,
#thematic-7-tab.active,
#thematic-7-tab:hover {
  background-image: url(/images/icons/green/community_300x300.png)
}

#thematic-3-tab,
#thematic-8-tab {
  background-image: url(/images/icons/gray/health_300x300.png)
}

#thematic-3-tab.active,
#thematic-3-tab:hover,
#thematic-8-tab.active,
#thematic-8-tab:hover {
  background-image: url(/images/icons/green/health_300x300.png)
}

#thematic-4-tab,
#thematic-9-tab {
  background-image: url(/images/icons/gray/education_300x300.png)
}

#thematic-4-tab.active,
#thematic-4-tab:hover,
#thematic-9-tab.active,
#thematic-9-tab:hover {
  background-image: url(/images/icons/green/education_300x300.png)
}

#thematic-10-tab,
#thematic-5-tab {
  background-image: url(/images/icons/gray/clothes_300x300.png)
}

#thematic-10-tab.active,
#thematic-10-tab:hover,
#thematic-5-tab.active,
#thematic-5-tab:hover {
  background-image: url(/images/icons/green/clothes_300x300.png)
}

.thematic-tabs .nav-tabs+.row {
  border-top: 1px solid #f3f3f3;
  padding: 35px 25px;
  margin-top: 25px
}

.content-row.video {
  padding: 0;
  position: relative;
  z-index: 0
}

.content-row.video .video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: none
}

.content-row.video .video-container embed,
.content-row.video .video-container iframe,
.content-row.video .video-container object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0
}

.content-row.video img {
  position: relative;
  z-index: 0;
  height: 100%;
  width: 100%;
  max-height: 1080px;
  max-width: 1920px;
  margin: 0 auto;
  min-height: 488px;
  min-width: 868px
}

.content-row.video .overlay {
  position: absolute;
  bottom: 50%;
  color: #fff;
  width: 100%;
  z-index: 2
}

.content-row.video .overlay .container {
  position: relative;
  padding-left: 35px
}

.content-row.video .video-button {
  float: left;
  width: 94px
}

.content-row.video button {
  background: #81de49;
  border: 0;
  text-align: center;
  color: #fff;
  padding: 15px 35px;
  line-height: 100%;
  font-size: 400%
}

.content-row.video .video-info {
  float: left;
  width: auto;
  max-width: 990px
}

.content-row.video h2 {
  font-weight: 800;
  font-size: 180%;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

.content-row.video p.lead {
  font-weight: 400;
  font-size: 130%;
  line-height: 130%;
  text-shadow: 1px 1px 2px #000
}

.news h2 {
  color: #0d67a2;
  font-weight: 600;
  margin-bottom: 25px
}

.news img {
  border-bottom: 5px solid #0d67a2;
  margin-bottom: 15px
}

.news-date {
  font-size: 90%;
  color: #aaa;
  margin-bottom: 15px
}

.news .news-title {
  font-size: 140%;
  font-weight: 600;
  margin-bottom: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #0d67a2
}

.news .news-intro {
  font-weight: 300;
  margin-bottom: 15px;
  font-size: 120%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical
}

.articles-more .news-item {
  margin-bottom: 45px
}

.content-row.map {
  position: relative;
  padding: 0;
  margin-top: 75px
}

.content-row.map #map {
  min-height: 488px;
  width: 100%;
  position: relative;
  z-index: 0
}

.content-row.map .overlay {
  position: absolute;
  bottom: 5%;
  color: #fff;
  z-index: 2;
  width: 82%;
  left: 9%
}

.content-row.map .overlay .container {
  position: relative;
  padding-left: 35px
}

.content-row.map.home .overlay h2 {
  font-weight: 800;
  font-size: 140%;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

.content-row.map.home .overlay p.lead {
  font-weight: 400;
  font-size: 100%;
  line-height: 130%;
  text-shadow: 1px 1px 2px #000
}

.content-row.nav-content {
  padding: 10px 15px;
  position: relative;
  z-index: 1;
  background: #0d67a2;
  color: #fff;
  display: none
}

.content-row.nav-content ul.nav-items {
  list-style: none;
  padding: 0;
  margin: 0
}

.content-row.nav-content ul.nav-items li {
  padding: 0;
  margin: 0;
  float: left;
  text-align: left
}

.content-row.nav-content ul.nav-items li a {
  display: block;
  color: #fff;
  font-weight: 500;
  background-repeat: no-repeat;
  background-position: 0 0;
  padding-top: 12px;
  width: 100%;
  line-height: 100%;
  height: 40px;
  padding-left: 45px
}

.content-row.nav-content ul.nav-items li a.active {
  position: relative
}

.content-row.nav-content ul.nav-items li a.active span {
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .3em solid transparent;
  color: #0d67a2;
  position: absolute;
  bottom: -28px;
  font-size: 400%;
  left: 2px
}

.content-row.nav-content ul.nav-items li a.frequently-asked-questions {
  padding-top: 5px
}

body.who-we-are ul.nav-items li {
  width: 16.6%
}

ul.nav-items li a.about-us {
  background-image: url(/images/icons/blue/about_wo_275x275.png)
}

ul.nav-items li a.about-us.active,
ul.nav-items li a.about-us:hover {
  background-image: url(/images/icons/white/about_bo_275x275.png)
}

ul.nav-items li a.history {
  background-image: url(/images/icons/blue/history_wo_275x275.png)
}

ul.nav-items li a.history.active,
ul.nav-items li a.history:hover {
  background-image: url(/images/icons/white/history_bo_275x275.png)
}

ul.nav-items li a.our-partners {
  background-image: url(/images/icons/blue/partners_wo_275x275.png)
}

ul.nav-items li a.our-partners.active,
ul.nav-items li a.our-partners:hover {
  background-image: url(/images/icons/white/partners_bo_275x275.png)
}

ul.nav-items li a.financial-information {
  background-image: url(/images/icons/blue/financial_wo_275x275.png)
}

ul.nav-items li a.financial-information.active,
ul.nav-items li a.financial-information:hover {
  background-image: url(/images/icons/white/financial_bo_275x275.png)
}

ul.nav-items li a.frequently-asked-questions {
  background-image: url(/images/icons/blue/faqs_wo_275x275.png)
}

ul.nav-items li a.frequently-asked-questions.active,
ul.nav-items li a.frequently-asked-questions:hover {
  background-image: url(/images/icons/white/faqs_bo_275x275.png)
}

ul.nav-items li a.contact-us {
  background-image: url(/images/icons/blue/contact_271x272.png)
}

ul.nav-items li a.contact-us.active,
ul.nav-items li a.contact-us:hover {
  background-image: url(/images/icons/white/contact_271x272.png)
}

ul.nav-items li a.agriculture {
  background-image: url(/images/icons/blue/agriculture_wo_275x275.png)
}

ul.nav-items li a.agriculture.active,
ul.nav-items li a.agriculture:hover {
  background-image: url(/images/icons/white/agriculture_bo_275x275.png)
}

ul.nav-items li a.community-development {
  background-image: url(/images/icons/blue/community_wo_275x275.png)
}

ul.nav-items li a.community-development.active,
ul.nav-items li a.community-development:hover {
  background-image: url(/images/icons/white/community_bo_275x275.png)
}

ul.nav-items li a.health {
  background-image: url(/images/icons/blue/health_wo_275x275.png)
}

ul.nav-items li a.health.active,
ul.nav-items li a.health:hover {
  background-image: url(/images/icons/white/health_bo_275x275.png)
}

ul.nav-items li a.education {
  background-image: url(/images/icons/blue/education_wo_275x275.png)
}

ul.nav-items li a.education.active,
ul.nav-items li a.education:hover {
  background-image: url(/images/icons/white/education_bo_275x275.png)
}

ul.nav-items li a.clothes {
  background-image: url(/images/icons/blue/clothes_wo_275x275.png)
}

ul.nav-items li a.clothes.active,
ul.nav-items li a.clothes:hover {
  background-image: url(/images/icons/white/clothes_bo_275x275.png)
}

body.where-we-work ul.nav-items li {
  width: 25%
}

ul.nav-items li a.africa {
  background-image: url(/images/icons/blue/africa_wo_275x275.png)
}

ul.nav-items li a.africa.active,
ul.nav-items li a.africa:hover {
  background-image: url(/images/icons/white/africa_bo_275x275.png)
}

ul.nav-items li a.americas {
  background-image: url(/images/icons/blue/americas_wo_275x275.png)
}

ul.nav-items li a.americas.active,
ul.nav-items li a.americas:hover {
  background-image: url(/images/icons/white/americas_bo_275x275.png)
}

ul.nav-items li a.asia {
  background-image: url(/images/icons/blue/asia_wo_275x275.png)
}

ul.nav-items li a.asia.active,
ul.nav-items li a.asia:hover {
  background-image: url(/images/icons/white/asia_bo_275x275.png)
}

ul.nav-items li a.europe {
  background-image: url(/images/icons/blue/europe_wo_275x275.png)
}

ul.nav-items li a.europe.active,
ul.nav-items li a.europe:hover {
  background-image: url(/images/icons/white/europe_bo_275x275.png)
}

.content-row .btn.read-more {
  background: #81de49;
  color: #fff;
  border-radius: 0;
  border: 0;
  text-transform: uppercase;
  padding: 10px 25px
}

.more-hidden {
  display: none;
  margin-top: 45px
}

p+p.lead {
  margin-top: 45px
}

.brands {
  padding: 5px 15px 10px;
  position: relative;
  z-index: 0;
  background: #0d67a2;
  color: #fff;
  display: block;
  margin-top: 0;
  margin-bottom: 0
}

.brands .container div {
  float: left;
  width: 25%;
  text-align: left;
  font-weight: 600;
  font-size: 120%;
  line-height: 32px;
  display: flex;
  align-items: center
}

.brands .container div:first-child {
  text-align: left;
  float: left;
  width: 100%
}

.brands .container div img {
  min-width: auto;
  max-height: 32px;
  height: 100%
}

.content-row.footer {
  padding-top: 75px;
  padding-bottom: 75px;
  font-size: 90%;
  background: #fff;
  border-top: 1px solid #e8e8e8
}

.content-row.footer a,
.content-row.footer h3,
.content-row.footer ul,
.content-row.footer ul li {
  padding: 0;
  margin: 0;
  line-height: 100%
}

.content-row.footer ul,
.content-row.footer ul li {
  list-style: none;
  padding: 0;
  margin: 0
}

.content-row.footer h3+ul,
.content-row.footer ul li+li {
  margin-top: 10px
}

.content-row.footer ul li a,
.content-row.footer ul li a:hover {
  color: #0d67a2
}

.content-row.footer h3,
.content-row.footer ul.bold li a {
  font-size: 100%;
  font-weight: 600;
  color: #0d67a2
}

.content-row.footer .newsletter,
.content-row.footer .social-media-icons {
  float: left;
  width: 100%
}

.content-row.footer .social-media-icons div {
  width: 20%;
  float: left;
  text-align: center
}

.content-row.footer .social-media-icons a {
  font-size: 150%;
  background: #0d67a2;
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  float: left;
  text-align: center;
  border-radius: 50%
}

.content-row.footer .social-media-icons a:hover {
  background: #81de49
}

.content-row.footer .newsletter {
  margin-top: 35px
}

.content-row.footer h2 {
  padding: 0;
  margin: 0 0 15px;
  line-height: 100%;
  color: #0d67a2;
  font-size: 140%;
  font-weight: 800
}

.content-row.footer .newsletter button {
  background: #81de49;
  color: #fff;
  border-radius: 0;
  border: 0;
  text-transform: uppercase
}

.content-row.footer .newsletter input {
  border-radius: 0;
  background: #f3f3f3;
  margin-right: 10px
}

.content-row.footer .container+.container {
  margin-top: 45px;
  color: #aaa
}

.content-row.footer .container+.container a,
.content-row.footer .container+.container a:hover {
  color: #aaa
}

.btn-primary,
.btn-primary:hover {
  background: #81de49;
  padding: 10px 25px;
  border-radius: 0;
  border: 0;
  text-transform: uppercase
}

.content-block {
  padding: 50px 15px;
  position: relative;
  z-index: 0;
  background: #fff;
  color: #000;
  display: block;
  margin-top: 75px
}

.content-block h2 {
  color: #01719f;
  font-size: 200%;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 10px;
  margin-bottom: 15px
}

.content-block .lead {
  color: #01719f;
  font-size: 130%
}

.content-block .lead b,
.content-block .lead strong {
  font-weight: 600
}

.content-block .lead.image-title {
  color: #01719f;
  font-size: 130%;
  padding-bottom: 10px;
  margin-bottom: 15px;
  border-bottom: 1px solid #e8e8e8
}

.content-block h3 {
  color: #01719f;
  font-size: 140%
}

.content-block+.footer {
  margin-top: 75px
}

#our-partners .logos .col {
  min-width: 33.33%;
  max-width: 33.33%;
  float: left;
  min-height: 150px;
  display: flex;
  align-items: center
}

#our-partners .logos .col img {
  max-width: 100px;
  max-height: 100px;
  margin-left: auto;
  margin-right: auto
}

.articles-more {
  margin-top: 90px
}

.articles-more+.articles-more {
  margin-top: 45px
}

.articles-lead p.lead {
  font-size: 140%
}

.articles-lead p {
  font-size: 120%
}

.articles-more img {
  border-bottom: 5px solid #0d67a2;
  margin-bottom: 15px
}

.articles-more .article-date {
  font-size: 100%;
  color: #aaa;
  margin-bottom: 15px
}

.articles-more .article-title {
  font-size: 140%;
  font-weight: 600;
  margin-bottom: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #0d67a2
}

.articles-more .article-intro {
  font-weight: 300;
  margin-bottom: 15px;
  font-size: 120%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical
}

.articles-lead {
  margin-top: 25px
}

.sidebar.blog-nav ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.sidebar.blog-nav ul .article-date {
  font-size: 90%;
  color: #aaa;
  margin-bottom: 0
}

.sidebar.blog-nav ul .article-title {
  font-size: 110%;
  font-weight: 600;
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #0d67a2
}

.sidebar.blog-nav ul .article-intro {
  font-weight: 300;
  margin-bottom: 15px;
  font-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical
}

.sidebar.blog-nav ul li+li {
  padding-top: 15px;
  border-top: 1px solid #e8e8e8
}

.sidebar.blog-nav ul li:first-child {
  margin-top: 25px
}

.breadcrumbs a {
  color: #fff
}

.breadcrumbs i {
  margin-left: 7px;
  margin-right: 7px
}

table.publication {
  width: 200px;
  margin: 0 auto 45px
}

table.publication img.img-fluid {
  min-width: auto;
  max-width: 200px
}

.mod-languages.language {
  position: absolute;
  z-index: 2;
  right: 18%;
  top: 30px;
  margin: 0;
  padding: 0;
  line-height: 100%;
  width: 18px
}

.mod-languages.language ul,
.mod-languages.language ul li,
.mod-languages.language ul li a,
.mod-languages.language ul li a img,
div.mod-languages ul.lang-block li {
  line-height: 100%;
  margin: 0;
  padding: 0
}

.mod-languages.language ul li.lang-active {
  display: none
}

@media (max-width:320px) {
  a.navbar-brand span {
    font-size: 12px
  }
}

@media (min-width:321px) and (max-width:374px) {
  a.navbar-brand span {
    font-size: 14px
  }
}

@media (max-width:374px) {
  body.what-we-do .content-row.nav-content ul.nav-items li {
    margin-right: 4%
  }
}

@media (min-width:375px) and (max-width:413px) {
  a.navbar-brand span {
    font-size: 15px
  }
}

@media (min-width:414px) and (max-width:567px) {
  a.navbar-brand span {
    font-size: 90%
  }
}

@media (min-width:480px) {
  table.publication {
    width: 200px;
    float: left;
    margin: 15px 15px 45px;
    min-height: 360px
  }
}

@media (min-width:568px) {
  .content-row.infographics .col.graphic {
    max-width: 33.33%
  }

  .content-row.infographics .col.graphic h3 {
    font-size: 110%
  }

  .content-row.infographics .col.graphic img {
    max-width: 90%
  }

  a.navbar-brand span {
    font-size: 100%;
    font-weight: 800
  }
}

@media (max-width:567px) {
  .content-row.infographics .col.graphic {
    max-width: 33.33%
  }

  .content-row.infographics .col.graphic h3 {
    font-size: 90%
  }

  .content-row.infographics .col.graphic img {
    max-width: 90%
  }
}

@media (min-width:568px) and (max-width:767px) {
  .content-row.thematic .tab-content .tab-pane img {
    margin-left: -15%
  }
}

@media (min-width:768px) {
  .content-row.thematic .tab-content .tab-pane h2 {
    font-size: 240%
  }

  .content-row.video h2 {
    font-size: 180%
  }

  .content-row.map .overlay {
    width: 90%;
    left: 5%
  }
}

@media (min-width:992px) {
  .brands {
    padding: 15px
  }

  .brands .container div {
    width: 17%;
    text-align: left;
    font-size: 140%;
    line-height: 48px
  }

  .brands .container div:first-child {
    width: 30%
  }

  .brands .container div:last-child {
    text-align: right
  }

  .brands .container div img {
    max-height: 48px
  }
}

@media (max-width:1023px) {

  .footer .col,
  .news .col {
    min-width: 100%
  }

  .news .col+.col {
    margin-top: 35px
  }

  .news .news-intro,
  .news .news-title,
  .news img,
  .news-date {
    margin-bottom: 5px
  }

  .footer .col+.col {
    margin-top: 25px
  }

  a.navbar-brand span {
    color: #0d67a2;
    float: left;
    margin-left: 10px;
    text-transform: uppercase
  }

  #navigation {
    background: #fff
  }

  body.what-we-do ul.nav-items li {
    width: 20%;
    margin-right: 0
  }
}

@media (min-width:1024px) {
  #slideshow.container-fluid {
    z-index: 0;
    top: 0
  }

  .content-row.infographics .col.graphic h3 {
    font-size: 160%
  }

  .content-row.infographics .col.graphic img {
    max-width: 200px
  }

  .content-row.thematic .tab-content .tab-pane .overlay .overlay-inner {
    width: 70%
  }

  .content-row.thematic .tab-content .tab-pane h2 {
    font-size: 270%;
    font-weight: 800
  }

  .content-row.thematic .tab-content .tab-pane p.lead {
    font-size: 130%
  }

  .content-row.thematic-tabs .nav-link {
    font-size: 100%
  }

  .content-row.video img {
    height: 100%;
    width: 100%;
    min-width: auto;
    margin-left: auto
  }

  .content-row.video h2 {
    font-size: 190%;
    font-weight: 800
  }

  .content-row.video .video-info {
    padding-left: 15px
  }

  .content-row.map #map {
    min-height: 700px
  }

  .content-row.map .overlay .overlay-inner {
    width: 40%
  }

  .content-row.map.home .overlay h2 {
    font-size: 250%;
    font-weight: 800
  }

  .content-row.map.home .overlay p.lead {
    font-size: 130%
  }

  .content-row.footer .container .col:last-child {
    min-width: 35%
  }

  .content-row.footer h2 {
    font-size: 200%
  }

  .content-row.footer .container+.container .col:last-child {
    max-width: 35%
  }

  .content-block {
    padding: 50px 90px
  }

  #our-partners .logos .col {
    min-height: 200px
  }

  #our-partners .logos .col img {
    max-width: 150px;
    max-height: 150px
  }
}

@media (min-width:1200px) {
  #navigation {
    position: absolute
  }

  #navigation .container {
    position: relative;
    z-index: 1;
    top: 60px;
    padding-left: 0;
    padding-right: 0
  }

  .navbar,
  .navbar a {
    padding: 0
  }

  .navbar a.nav-link,
  a.navbar-brand span {
    line-height: 90px
  }

  a.navbar-brand span {
    font-size: 100%
  }

  .navbar {
    padding-left: 25px;
    padding-right: 25px;
    max-width: 1140px;
    box-shadow: 0 2px 4px #00000014
  }

  a.navbar-brand img {
    max-height: 50px
  }

  .navbar a .fa-search {
    font-size: 150%;
    color: #0d67a2
  }

  .navbar-expand-xl .navbar-nav .nav-link {
    padding-left: 15px;
    padding-right: 15px
  }

  .navbar-expand-xl .navbar-nav .nav-item:hover .nav-link,
  .navbar-expand-xl .navbar-nav .nav-item:hover .nav-link .fa-search,
  .navbar-expand-xl .navbar-nav li:not(.parent) a.nav-link:hover {
    background-color: #0d67a2;
    color: #fff
  }

  .navbar-expand-xl .navbar-nav .nav-item.parent.active:hover .nav-link {
    color: #fff
  }

  .dropdown-toggle {
    position: relative;
    z-index: 1
  }

  /* .dropdown-menu::after {
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
    color: #0d67a2;
    position: absolute;
    top: 0;
    font-size: 400%;
    left: 10%
  }*/

  ul.navbar-nav ul.dropdown-menu li {
    max-width: 200px
  }

  .navbar .location .dropdown-menu::after {
    left: 18%
  }

  .navbar .item-106 .dropdown-menu::after {
    left: 7%
  }

  .navbar .item-131 .dropdown-menu::after {
    left: 20%
  }

  .navbar .item-103 .dropdown-menu::after,
  .navbar .item-104 .dropdown-menu::after {
    left: 9%
  }

  .navbar-expand-xl .navbar-nav .dropdown-menu {
    left: auto;
    z-index: 0;
    margin-top: -1px;
    padding: 25px
  }

  .navbar-expand-xl .navbar-nav .nav-item .dropdown-menu {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2
  }

  .navbar-expand-xl .navbar-nav .nav-item .dropdown-menu a {
    break-inside: avoid-column
  }

  #navarea.navfix {
    position: fixed;
    top: 90px
  }

  .nav-item.search a {
    display: block
  }

  .search-input {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 70%;
    background: #fff;
    z-index: 9;
    line-height: 90px;
    padding: 26px 25px
  }

  body.plain .content-block.article {
    margin-top: 220px !important
  }

  .content-row.nav-content {
    display: block
  }

  .mod-languages.language {
    left: 40%;
    top: 35px
  }

  .navfix {
    top: 0;
    position: fixed !important
  }

  .navfix .container {
    top: 0 !important
  }

  .navbar-expand-xl .navbar-nav .item-131.nav-item .dropdown-menu {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1
  }

  body.icasa #navigation+.content-row.content-block {
    margin-top: 220px !important
  }
}

@media (max-width:1199px) {
  #navigation.container-fluid {
    background: #fff
  }

  #navigation .navbar-nav {
    height: 100vh
  }

  #navigation .navbar-nav li.parent.nav-item a.nav-link.dropdown-toggle {
    line-height: 50px
  }

  #navigation .navbar-nav .nav-item.search {
    margin-top: 35px;
    margin-bottom: 25px
  }

  #navigation .navbar-nav li.parent.nav-item a span {
    float: right;
    margin-right: 17px
  }

  #navigation .navbar-nav li.parent.nav-item a span:after {
    content: "\f078";
    font-family: "Font Awesome 6 Free"
  }

  #navigation .navbar-nav li.parent.nav-item a span.active:after {
    content: "\f077"
  }

  #navigation .navbar-nav li.parent.nav-item ul.dropdown-menu {
    display: none;
    margin-bottom: 45px
  }

  #navigation .navbar-nav li.parent.nav-item ul.dropdown-menu.active {
    display: block
  }

  .content-row.nav-content ul.nav-items li a {
    font-size: 0;
    background-position: 50% 0
  }

  .thematic-tabs .nav-tabs {
    display: none
  }

  .thematic-tabs .nav-tabs+.row {
    border-top: 0;
    padding: 35px 25px;
    margin-top: 0
  }

  #navigation .navbar-nav li.parent.item-253.nav-item ul.dropdown-menu,
  #navigation .navbar-nav li.parent.item-926.nav-item ul.dropdown-menu {
    display: block;
    margin-bottom: 0
  }
}

.bold * {
  font-weight: 600
}

.gm-style-iw {
  overflow-y: auto !important;
  overflow-x: hidden !important
}

.gm-style-iw>div {
  overflow: visible !important
}

.infoWindow {
  overflow: hidden !important;
  padding: 0 20px 0 0;
  margin: 0;
  line-height: 34px;
  font-weight: 400
}

.gm-style .gm-style-iw-c {
  transform: none;
  background-color: transparent;
  box-shadow: none;
  padding: 0 0 0 25px;
  border-radius: 0;
  background-image: url("/images/icons/green/map-pin-22x34_bg.png");
  background-position: 0;
  background-repeat: no-repeat;
  height: 34px;
  top: 11px;
  left: -11px
}

.gm-style .gm-style-iw-t::after {
  content: none
}

#map img {
  cursor: pointer !important
}

.scroll-up {
  position: fixed;
  z-index: 3;
  bottom: 25px;
  right: 25px;
  display: none
}

.scroll-up a {
  font-size: 150%;
  background: #0d67a2;
  padding: 0 10px;
  color: #fff;
  border-radius: 50%;
  line-height: 40px;
  float: left
}

#africa.content-block p.lead b:after,
#americas.content-block p.lead b:after,
#asia.content-block p.lead b:after,
#europe.content-block p.lead b:after {
  content: "\f0d7";
  font-family: "Font Awesome 6 Free";
  margin-left: 10px
}

#africa.content-block p.lead.active b:after,
#americas.content-block p.lead.active b:after,
#asia.content-block p.lead.active b:after,
#europe.content-block p.lead.active b:after {
  content: "\f0d8"
}

#africa.content-block p.lead b span,
#americas.content-block p.lead b span,
#asia.content-block p.lead b span,
#europe.content-block p.lead b span {
  color: #999
}

#africa.content-block p.lead.active b span,
#americas.content-block p.lead.active b span,
#asia.content-block p.lead.active b span,
#europe.content-block p.lead.active b span {
  color: #0d67a2
}

a.navbar-brand img {
  flex-shrink: 0;
  align-self: flex-start
}

#open-on-load.modal.fade {
  z-index: 99999
}

#open-on-load.modal.fade button.close {
  position: absolute;
  right: -5px;
  top: -5px;
  padding: 5px 10px;
  z-index: 999999;
  font-weight: 800;
  color: #fff;
  opacity: 1;
  text-shadow: none
}

#open-on-load.modal.fade .modal-content {
  background: 0 0;
  border-radius: 0;
  border: 0
}

#open-on-load.modal.fade .modal-body {
  padding: 0
}

#open-on-load.modal img {
  opacity: .75;
  opacity: .85
}

#africa.content-block p.lead,
#americas.content-block p.lead,
#asia.content-block p.lead,
#europe.content-block p.lead {
  cursor: pointer
}

table.collapse-container {
  width: 100%
}

table.collapse-container+table.collapse-container {
  border-top: 1px solid #f3f3f3
}

table.collapse-container .collapse-button {
  color: #01719f !important;
  font-size: 130%;
  font-weight: 600;
  cursor: pointer;
  padding-left: 0;
  width: 100%;
  text-align: left
}

table.collapse-container .collapse-button:after {
  content: "\2b";
  font-family: "Font Awesome 6 Free";
  margin-left: 10px;
  float: right;
  font-size: 13px;
  font-weight: 300;
  line-height: 28px
}

table.collapse-container span.collapse-button-description {
  color: #999
}

table.collapse-container .collapse-content {
  display: none;
  margin-bottom: 45px
}

table.collapse-container.active {
  display: block
}

table.collapse-container.active .collapse-button:after {
  content: "\f068"
}

table.collapse-container.active .collapse-button span.collapse-button-description {
  color: #01719f
}

table.collapse-container.active .collapse-content {
  display: block
}

table.read-more-container {
  margin-top: 45px;
  margin-bottom: 45px
}

table.read-more-container .read-more-content {
  display: none
}

table.read-more-container .collapse-more-button,
table.read-more-container .read-more-button {
  background: #81de49;
  color: #000;
  border-radius: 0;
  border: 0;
  padding: 10px 25px;
  cursor: pointer;
  width: auto;
  float: left
}

table.read-more-container .collapse-more-button,
table.read-more-container.active .read-more-button {
  display: none
}

table.read-more-container.active .collapse-more-button,
table.read-more-container.active .read-more-content {
  display: block
}

.pagination {
  width: 100%;
  float: left
}

.pagination ul {
  list-style: none;
  margin: 0;
  padding: 0
}

.pagination ul li {
  float: left;
  width: auto;
  margin: 0;
  padding: 0
}

.pagination ul li+li {
  margin-left: 0
}

.pagination ul li.pagination-end,
.pagination ul li.pagination-next span.pagenav,
.pagination ul li.pagination-prev span.pagenav,
.pagination ul li.pagination-start {
  display: none
}

.pagination ul li.pagination-start+li {
  margin-left: 0
}

.page-item.active .page-link {
  background-color: #0d67a2;
  border-color: #0d67a2
}

.page-item .page-link {
  color: #0d67a2
}

body.podcast iframe {
  min-width: 100%;
  height: 30px;
  min-height: 400px
}

.content-block.article img {
  max-width: 100%;
  height: auto;
  min-width: 100%
}

body.home .content-row.bg-white.news {
  padding-bottom: 75px
}

#open-on-load .modal-dialog {
  width: 90%;
  max-width: 90%;
  border: 0;
  background: 0 0
}

body.second-hand .content-block h2:first-child {
  display: none
}

body.second-hand.publications table.publication,
body.specials.publications table.publication {
  width: 100%;
  margin: 0 0 45px
}

body.second-hand.publications table.publication img,
body.specials.publications table.publication img {
  max-width: 100%
}

@media (min-width:480px) {
  #open-on-load .modal-dialog {
    width: 100%;
    max-width: 960px
  }

  body.second-hand.publications table.publication,
  body.specials.publications table.publication {
    width: 48%;
    min-height: 250px;
    margin: 0 1% 45px 0
  }
}

body.home .blog-featured {
  padding: 1px 0 75px;
  display: none;
}

body.home.fr-fr .content-row.map {
  margin-top: 0
}

body.icasa #navigation+.content-row.content-block {
  background: 0 0;
  padding: 0
}

body.icasa #navigation+.content-row.content-block>.container {
  padding: 0
}

body.icasa #navigation+.content-row.content-block .content-block:first-child {
  margin-top: 0
}

body.icasa #navigation+.content-row.content-block .content-block {
  padding: 50px
}

.rhs-module {
  padding: 25px;
  background-color: #fff
}

.rhs-module h3 {
  font-size: 150%;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 10px;
  margin-bottom: 15px;
  width: 100%
}

.rhs-module+.rhs-module {
  margin-top: 75px
}

@media (min-width:992px) {
  body.icasa #navigation+.content-row.content-block>.container .col-lg-7 {
    flex: 0 0 62.333333%;
    max-width: 62.333333%
  }

  body.icasa #navigation+.content-row.content-block>.container .col-md-1 {
    flex: 0 0 4.333333%;
    max-width: 4.333333%
  }
}

#open-on-load.icasa .modal-dialog {
  width: 100%;
  max-width: 568px;
  margin: 0 auto
}

#open-on-load.modal.fade.icasa button.close {
  background-color: #000;
  top: 0;
  right: 0;
  border-top-right-radius: 0
}

#open-on-load.modal.icasa img {
  opacity: 1
}

#open-on-load.modal.fade.icasa .modal-body {
  width: 100%;
  height: 100%;
  max-width: 960px;
  background-image: url(/images/icasa-2023/icasa-pattern-960x540.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  padding: 0
}

#open-on-load.modal.fade.icasa {
  top: 10%
}

.title-text-1 {
  font-size: 140%;
  color: #006937;
  font-weight: 800;
  font-family: Montserrat, sans-serif;
  line-height: 100%
}

.title-text-2 {
  font-size: 200%;
  color: #006937;
  font-weight: 800;
  font-family: Montserrat, sans-serif;
  line-height: 100%
}

@media (min-width:568px) {
  .title-text-1 {
    font-size: 180%
  }

  .title-text-2 {
    font-size: 320%
  }

  #cop28-2023 .title-text-2 {
    font-size: 270%
  }
}

@media (max-width:991px) {
  .rhs-module:first-child {
    margin-top: 75px
  }

  .hpp-logo {
    display: none
  }

  #open-on-load.modal.fade.icasa {
    top: 15px;
    width: calc(100% - 30px);
    margin: 0 15px;
    height: calc(100% - 30px)
  }
}

.countdown {
  width: auto;
  max-width: 300px;
  padding: 15px;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, .75);
  margin: 20px auto
}

.tick {
  font-size: 37px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif
}

.tick-group {
  text-align: center;
  padding: 0;
  margin: 0
}

.tick-group+.tick-group {
  margin-left: 10px
}

.tick-flip {
  padding: 0;
  margin: 0;
  min-width: .8em;
  letter-spacing: normal;
  text-indent: 0
}

@media (max-width:420px) {
  .tick-flip {
    min-width: 20%
  }

  .tick-group+.tick-group {
    margin-left: 5%
  }
}

.tick-group .tick-flip:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0
}

.tick-group .tick-flip+.tick-flip {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0
}

.tick-group .tick-flip:first-child .tick-flip-card {
  text-align: right
}

.tick-group .tick-flip+.tick-flip .tick-flip-card {
  text-align: left
}

.tick-group .tick-flip:first-child .tick-flip-spacer {
  padding-right: 3px
}

.tick-group .tick-flip+.tick-flip .tick-flip-spacer {
  padding-left: 3px
}

.tick-label {
  text-align: center;
  margin-top: 5px;
  float: left;
  width: 100%;
  font-size: 10px;
  text-transform: uppercase
}

.tick [data-layout~=horizontal][data-layout~=fit] {
  justify-content: center !important
}

.video-container {
  position: relative;
  padding-bottom: 56.25%
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.wf-mediabox-body.wf-mediabox-transition {
  max-width: 1140px !important;
  margin-left: auto;
  margin-right: auto
}

body.aids .content-row .content-block p,
body.aids .content-row .content-block ul {
  font-size: 110%
}

#open-on-load.aids .modal-dialog {
  width: 100%;
  max-width: 768px;
  margin: 0 auto
}

#open-on-load.modal.fade.aids button.close {
  background-color: #000;
  top: 0;
  right: 0;
  border-top-right-radius: 0
}

#open-on-load.modal.aids img {
  opacity: 1
}

#open-on-load.modal.fade.aids .modal-body {
  width: auto;
  height: auto;
  max-width: 768px;
  max-height: 768px;
  background-image: url(/images/modal/aids-2024-bg-960x960.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  padding: 2.5rem;
  cursor: pointer
}

#open-on-load.modal.fade.aids {
  top: 10%
}

#open-on-load.modal.fade.aids .modal-body #aids-2024 {
  height: 100%;
  max-height: 768px
}

#open-on-load.modal.fade.aids .aids-brand.top {
  margin-bottom: 25vh
}

#open-on-load.modal.fade.aids .aids-brand img {
  width: auto;
  max-height: 70px;
  height: 100%
}

#open-on-load.modal.fade.aids .aids-brand.top img {
  max-height: 80px
}

#open-on-load.modal.fade.aids .countdown {
  max-width: 340px;
  margin: 0 auto;
  padding: 7px 10px
}

#open-on-load.modal.fade.aids .countdown .tick {
  font-size: 160%
}

#open-on-load.modal.fade.aids .text-title {
  background-color: #132f1d;
  width: 100%;
  max-width: 80%;
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
  padding: 25px;
  border-radius: 10px;
  font-size: 150%
}

#open-on-load.modal.fade.aids .text-title a {
  color: #fff
}

@media (max-width:567px) {

  #open-on-load.modal.fade.aids .countdown .tick,
  #open-on-load.modal.fade.aids .text-title {
    font-size: 130%
  }

  #open-on-load.modal.fade.aids .aids-brand.top {
    margin-bottom: 15vh
  }

  #open-on-load.modal.fade.aids .aids-brand img {
    width: auto;
    max-height: 50px;
    height: 100%
  }

  #open-on-load.modal.fade.aids .aids-brand.top img {
    max-height: 80px
  }
}

.modal.fade.speaker {
  width: 100%;
  margin: 0 auto
}

.modal.fade.speaker .modal-dialog {
  max-width: 960px
}

.modal.fade.speaker button.close {
  position: absolute;
  padding: 5px 10px;
  opacity: 1;
  z-index: 999999;
  color: #fff;
  font-weight: 800;
  background-color: #000;
  top: 0;
  right: 0;
  border-top-right-radius: 0
}

.modal.fade.speaker .modal-body {
  width: auto;
  height: auto;
  max-width: 960px;
  max-height: 960px;
  border-radius: 0;
  padding: 2.5rem;
  cursor: pointer
}

#open-on-load.cop .modal-dialog {
  max-width: 768px;
  padding: 0;
  margin: 0 auto;
  height: 100vh
}

.bg-image {
  /*background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: .75rem;*/
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 1/1;
  border-radius: 14px;
}

.bg-image.ratio-1x1 {
  aspect-ratio: 1/1;
}

.lh-110 {
  line-height: 110%
}

.ratio {
  position: relative;
  width: 100%
}

.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: ""
}

.ratio-4x3 {
  --bs-aspect-ratio: calc(3 / 4 * 100%)
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%
}

.ratio-1140x654 {
  --bs-aspect-ratio: calc(654 / 1140 * 100%)
}

.ratio-1920x1102 {
  --bs-aspect-ratio: calc(1102 / 1920 * 100%)
}

.ratio-1920x990 {
  --bs-aspect-ratio: calc(990 / 1920 * 100%)
}

.fw-400 {
  font-weight: 400
}

.lh-120 {
  line-height: 120%
}

.lazy-bg {
  content-visibility: auto
}

iframe[src*="youtube.com"] {
  border: 0;
  width: 100%;
  height: 100%
}

[id^=simple-] ul.mod-articles-items {
  margin: 0;
  padding: 0;
  list-style: none
}

.single-text {
  padding: 35px
}

.single-text h2 {
  margin-bottom: .25rem;
  text-align: left
}

.single-text p {
  font-weight: 400;
  font-size: 100%
}

#single-190,
#single-191 {
  padding: 50px 90px
}

[id^=single-bg-] .single-bg-image {
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center center
}

#slideshow.container-fluid {
  overflow-x: hidden
}

#slideshow .carousel-item::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: '';
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, .5))
}

#slideshow {
  position: relative
}

#slideshow .overlay {
  bottom: 0;
  padding-bottom: 50px;
  position: absolute;
  color: #fff;
  width: 100%;
  left: 0;
  z-index: 2;
  text-align: left
}

#slideshow .overlay .container {
  position: relative
}

#slideshow .carousel {
  margin: 0 auto
}

#slideshow [id*=slideshow_] {
  width: 100%;
  margin: 0 auto
}

#slideshow.container-fluid .carousel-item {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 440px
}

#slideshow .overlay .overlay-inner h1 {
  font-size: 270%;
  font-weight: 900;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

#slideshow .overlay .overlay-inner h2 {
  font-size: 280%;
  font-weight: 900;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

#slideshow .overlay .overlay-inner h3 {
  font-size: 130%;
  font-weight: 900;
  line-height: 100%;
  text-shadow: 1px 1px 2px #000
}

#slideshow .overlay .overlay-inner p {
  margin-bottom: .75rem;
  line-height: 110%;
  font-size: 110%;
  text-shadow: 1px 1px 2px #000;
  font-weight: 400
}

#slideshow .overlay .overlay-inner p.lead {
  font-weight: 400;
  font-size: 130%;
  line-height: 120%;
  text-shadow: 1px 1px 2px #000
}

#slideshow .overlay .overlay-inner .btn-primary,
#slideshow .overlay .overlay-inner .btn-primary:hover {
  background-color: var(--color-secondary);
  font-size: 120%;
  padding: 15px 45px;
  text-shadow: none
}

#slideshow .carousel-control-next .carousel-control-next-icon,
#slideshow .carousel-control-prev .carousel-control-prev-icon {
  background-color: #0d67a2;
  color: #fff;
  border-radius: 50%;
  padding: 25px;
  background-size: 50%
}

#slideshow #carousel-item-14 .overlay .overlay-inner h1,
#slideshow #carousel-item-15 .overlay .overlay-inner h1 {
  display: none
}

#slideshow #carousel-item-14 .overlay .overlay-inner h3,
#slideshow #carousel-item-15 .overlay .overlay-inner h3 {
  font-size: 130%;
  display: none
}

#slideshow #carousel-item-14 .overlay .overlay-inner img,
#slideshow #carousel-item-15 .overlay .overlay-inner img {
  max-width: 80px;
  margin-right: 10px
}

#slideshow #carousel-item-14 .overlay .overlay-inner p.lead,
#slideshow #carousel-item-15 .overlay .overlay-inner p.lead {
  font-size: 120%;
  line-height: 120%
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
  background: #0d67a2;
  border-radius: 50%;
  color: #fff;
  line-height: 40px;
  width: 40px;
  height: 40px;
  font-size: 130%
}

.content-item-intro-image {
  margin-bottom: 20px;
  max-width: 100%;
  height: auto
}

.mb-1 {
  margin-bottom: 1rem !important
}

.mb-2 {
  margin-bottom: 2rem !important
}

#our-partners .partner-logos,
#nos-partenaires .partner-logos {
  text-align: center !important;
}

#our-partners .partner-logos img,
#nos-partenaires .partner-logos img {
  max-height: 90px !important;
  max-width: 124px !important;
  margin-left: 17px
}

#slideshow .slide-gradient::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: '';
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, .5))
}

#work-tabs {
  padding-bottom: 90px
}

#work-tabs button {
  width: 25%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border: 0;
  cursor: pointer;
  min-height: 180px
}

#work-tabs button div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: '';
  background-color: rgba(0, 0, 0, .4);
  padding: 15px
}

#work-tabs button.active div,
#work-tabs button:hover div {
  background-color: rgba(0, 0, 0, 0);
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, .5))
}

#work-tabs button div img {
  width: 45px;
  margin: 0 auto;
  opacity: .75;
  display: none;
  filter: grayscale(1)
}

#work-tabs button span {
  width: 100%
}

#work-tabs button span.tab-title {
  color: #fff;
  font-size: 110%;
  line-height: 100%;
  font-weight: 600;
  float: left;
  width: 100%;
  margin-top: 4px;
  text-shadow: 1px 1px 1px #000
}

#work-tabs .tab-content {
  padding: 50px
}

@media (min-width:568px) {
  #work-tabs button span.tab-title {
    font-size: 120%;
    line-height: 110%
  }
}

@media (min-width:768px) {

  body.second-hand.publications table.publication,
  body.specials.publications table.publication {
    width: 30%;
    min-height: 275px;
    margin-right: 3%
  }

  #single-190 [class^=col-]:first-child,
  #single-191 [class^=col-]:first-child {
    -ms-flex-order: 13;
    order: 13
  }

  #single-190 .single-text h2,
  #single-191 .single-text h2 {
    margin-bottom: .25rem;
    text-align: left;
    font-size: 180%
  }

  #single-190 .single-text p,
  #single-191 .single-text p {
    font-weight: 400;
    font-size: 110%
  }

  #slideshow .overlay .overlay-inner h1 {
    font-size: 320%
  }

  #slideshow .overlay .overlay-inner h2 {
    font-size: 200%
  }

  #slideshow .overlay .overlay-inner p {
    font-size: 120%;
    line-height: 130%
  }

  #slideshow .overlay .overlay-inner p.lead {
    font-size: 150%;
    line-height: 130%
  }

  #slideshow #carousel-item-14 .overlay .overlay-inner h3,
  #slideshow #carousel-item-15 .overlay .overlay-inner h3 {
    display: block
  }

  #slideshow #carousel-item-14 .overlay .overlay-inner p.lead,
  #slideshow #carousel-item-15 .overlay .overlay-inner p.lead,
  #work-tabs button span.tab-title {
    font-size: 130%
  }
}

@media (min-width:992px) {

  #single-190 .single-text h2,
  #single-191 .single-text h2 {
    margin-bottom: .25rem;
    text-align: left;
    font-size: 200%
  }

  #single-190 .single-text p,
  #single-191 .single-text p {
    font-weight: 400;
    font-size: 120%
  }

  #slideshow #carousel-item-14 .overlay .overlay-inner img,
  #slideshow #carousel-item-15 .overlay .overlay-inner img {
    max-width: 100px
  }

  #slideshow #carousel-item-14 .overlay .overlay-inner h3,
  #slideshow #carousel-item-15 .overlay .overlay-inner h3 {
    font-size: 140%
  }

  #slideshow #carousel-item-14 .overlay .overlay-inner p.lead,
  #slideshow #carousel-item-15 .overlay .overlay-inner p.lead {
    font-size: 150%;
    line-height: 130%
  }

  .content-item-intro-image {
    max-width: 50%;
    float: right;
    margin-left: 20px
  }

  #work-tabs button span.tab-title {
    font-size: 140%;
    line-height: 120%
  }

  #work-tabs button.active div img,
  #work-tabs button:hover div img {
    display: block
  }
}

@media (min-width:1200px) {

  #slideshow #carousel-item-14 .overlay .overlay-inner h3,
  #slideshow #carousel-item-15 .overlay .overlay-inner h3 {
    font-size: 150%
  }

  #work-tabs {
    max-width: 1140px;
    margin: 0 auto
  }
}

.resource-documents img {
  border: 1px solid #e8e8e8
}

.resource-documents a {
  font-weight: 400
}

body.what-we-do .content-row.nav-content ul.nav-items li {
  width: auto;
  margin-right: 3%
}

.content-row.nav-content ul.nav-items li a {
  font-size: 90%;
  background-size: 38px
}

/* --- PORTED TOP NAV PROTOTYPE STYLES --- */
:root {
  /* Brand Colors */
  --primary-green: #2a9d8f;
  --primary-dark-green: #132e1d;
  --light-olive: #83974d;
  --primary-blue: #0D67A2;
  --secondary-teal: #41766e;
  --accent-red: #e00032;
  --bg-cream: #f8f2e6;
  --text-gray: #6d6e71;
  --text-gray-dark: #333333;
  --white: #ffffff;
  --blue: #4361ee;

  /* Fonts */
  --main-font: 'Lato', sans-serif;
}

/* ==========================================================================
   1. NAVIGATION LAYER STYLES
   ========================================================================== */
body .hero-header.has-slideshow .top-nav {
  position: absolute;
}

body .hero-header.no-slideshow .top-nav {
  position: relative;
  padding: 30px 40px;
}

body .hero-header .top-nav {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  /* High stack visibility sitting atop full bleed image layers */
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px;
  background: transparent;
}

body .hero-header .logo {
  color: #000000;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 1px;
}

/* Nested Logo Block Alignment Rules */

.sidebar-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 200px;
  width: 100%;
}

.sidebar-logo {
  width: 100%;
  text-decoration: none;
  text-transform: none;
}

.sidebar-logo img {
  float: left;
  margin-right: 7px;
  width: 48px;
  height: 48px;
}

.sidebar-logo h2 {
  font-family: "Outfit", sans-serif;
  color: #ffffff;
  font-size: 1.75rem;
  letter-spacing: 2.3px;
  padding-top: 3px;
  text-transform: uppercase;
  margin: 0;
  font-weight: 700;
  line-height: 1;
}

.sidebar-logo p {
  font-size: 0.82rem;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.0495rem;
  margin: 0;
  line-height: 1;
  font-family: "Outfit", sans-serif;
  margin-left: 1px;
  float: left;
}

body .hero-header .nav-links {
  display: flex;
  list-style: none;
  background-color: rgb(255, 255, 255);
  margin-bottom: 0;
}

body .hero-header .nav-links li {
  position: relative;
  /* CRITICAL: Anchors the absolute dropdown container */
  /*padding-top: 25px;
  padding-bottom: 25px;*/
  display: flex;
  align-items: center;
}

body .hero-header .nav-links li+li {
  margin-left: 20px;
}

@media (min-width: 1024px) {
  body .hero-header .nav-links li+li {
    margin-left: 30px;
  }
}

body .hero-header .nav-links a {
  color: #000000;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

body .hero-header .nav-links a:hover {
  color: var(--primary-green);
}

/* Flexbox utility container for perfectly aligning the text and icon link together */
body .hero-header .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  /* Clean, modern spacing between link text and chevron icon */
}

body .hero-header .dropdown-toggle::after {
  display: none !important;
  content: none !important;
}

/* ==========================================================================
   DESKTOP DROPDOWN SUBMENU STYLES
   ========================================================================== */
body .hero-header .dropdown-arrow {
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  /* Mouse actions pass straight to link click boundaries */
}

body .hero-header .dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  /* Anchors dropdown container to the right-hand edge */
  background-color: #ffffff;
  min-width: 180px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  list-style: none;
  padding: 15px 0;
  border-radius: 4px;
  display: block;
  float: none !important;
  border: none !important;
  /* Force override Bootstrap's display: none */
  max-width: none !important;

  /* Smooth Hidden-to-Visible States */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
  z-index: 1000;
  /*border-top-left-radius: 0;
  border-top-right-radius: 0;*/
}

@media (min-width: 992px) {
  body .hero-header .dropdown-menu {
    right: auto;
    left: -23px;
  }

  body .hero-header .item-106 .dropdown-menu {
    right: -23px;
    left: auto;
  }
}

body .hero-header .dropdown-menu li {
  margin-left: 0 !important;
  /* Removes main menu list gaps */
  padding-top: 0;
  padding-bottom: 0;
  max-width: none !important;
  /* Prevents overflow from inherited max-width rules */
  display: block;
}

body .hero-header .dropdown-menu a {
  display: block;
  padding: 10px 24px;
  font-size: 0.95rem;
  color: #333333;
  white-space: nowrap;
  text-align: left;
  /* Ensures sub-links align left inside their card drawer */
}

/* Nested Second-Level Dropdowns (Expand below parent) */
body .hero-header .dropdown-menu .dropdown-menu {
  position: static;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: none;
  box-shadow: none;
  padding: 0 0 0 15px;
  background-color: transparent;
  transition: max-height 0.3s ease 0.8s, opacity 0.3s ease 0.8s, padding 0.3s ease 0.8s, visibility 0s linear 1.1s;
}

body .hero-header .dropdown-menu .dropdown:hover>.dropdown-menu,
body .hero-header .dropdown-menu .dropdown:focus-within>.dropdown-menu,
body .hero-header .dropdown-menu .dropdown-menu.force-show {
  max-height: 500px;
  /* Large enough to hold children */
  opacity: 1;
  visibility: visible;
  padding: 5px 0 5px 15px;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease, visibility 0s linear 0s;
}

body .hero-header .dropdown-menu .dropdown-menu a {
  padding: 6px 24px;
  font-size: 0.88rem;
  color: #dddddd;
}


body .hero-header .hamburger-menu {
  display: none;
  background: none;
  border: none;
  color: #000000;
  cursor: pointer;
  padding: 5px;
  z-index: 110;
}

@media (max-width: 991px) {
  :root {
    --nav-height: 88px;
    /* Mobile: 48px logo + 20px top padding + 20px bottom padding */
  }

  body .hero-header .top-nav {
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }

  body .hero-header .hamburger-menu {
    display: block;
  }

  /* Reconstruct Link Bar into Full Vertical Dropdown Drawer */
  body .hero-header .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: auto;
    background-color: #ffffff;
    flex-direction: column;
    align-items: flex-end;
    padding: 30px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05);
    border-top: 1px solid #eeeeee;

    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  body .hero-header .nav-links li {
    margin: 15px 0;
    width: 100%;
    text-align: right;
    padding-top: 0;
    padding-bottom: 0;
    border: none !important;
    display: block;
  }

  body .hero-header .nav-links li+li {
    margin-left: 0;
  }

  body .hero-header .nav-links a {
    font-size: 1.1rem;
    font-weight: 600;
  }

  body .hero-header .dropdown-toggle {
    flex-direction: row-reverse;
    /* Flips arrow to the left side of text on phone flyouts */
    justify-content: flex-start;
    width: 100%;
  }

  /* ==========================================================================
     MOBILE SPECIFIC SUBMENU RESPONSIVENESS
     ========================================================================== */
  body .hero-header .dropdown-menu {
    position: static;
    /* Reverts flow back to structural layout block */
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    padding: 0;
    margin-top: 0;
    display: none;
    /* Collapsed by default on mobile touch */
    background-color: transparent;
  }

  /* Displays submenus cleanly inside mobile stacks on hover / focus-within states */
  body .hero-header .dropdown:hover>.dropdown-menu,
  body .hero-header .dropdown:focus-within>.dropdown-menu {
    display: block;
  }

  body .hero-header .dropdown-menu li {
    margin: 3px 0 !important;
    border: none !important;
  }

  body .hero-header .dropdown-menu a {
    font-size: 0.95rem;
    font-weight: 600;
    color: #666666;
    padding: 5px 0;
    border: none !important;
    text-align: right;
    /* Keeps content alignment unified on mobile tracking */
  }

  body .hero-header .dropdown-menu .dropdown-menu a {
    color: #555555;
    padding-right: 0;
  }

  body .hero-header .nav-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
  }

  /* Animated hamburger lines code rules */
  body .hero-header .hamburger-menu[aria-expanded="true"] .line-top {
    transform: translateY(6px) rotate(45deg);
    transform-origin: center;
  }

  body .hero-header .hamburger-menu[aria-expanded="true"] .line-mid {
    opacity: 0;
  }

  body .hero-header .hamburger-menu[aria-expanded="true"] .line-bot {
    transform: translateY(-6px) rotate(-45deg);
    transform-origin: center;
  }

  body .hero-header .hamburger-menu svg line {
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  body .hero-header .sidebar-logo h2,
  body .hero-header .sidebar-logo p {
    color: #000000;
  }
}

@media (min-width: 992px) {
  body .hero-header .dropdown:hover>.dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0s;
  }

  body .hero-header .dropdown:hover>a>.dropdown-arrow {
    transform: rotate(180deg);
    /* Modern upside-down flip rotation on hover */
  }

  body .hero-header .dropdown-menu a:hover {
    background-color: transparent;
    opacity: 1;
    color: var(--primary-green);
  }

  body .hero-header .nav-links {
    background-color: transparent;
  }

  body .hero-header .nav-links a {
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1rem;
    line-height: 1;
  }

  body .hero-header .dropdown-menu {
    background-color: #111111
      /*rgba(0, 0, 0, 0.35)*/
    ;
  }

  body .hero-header .navfix .dropdown-menu {
    background-color: #111111
      /* rgba(0, 0, 0, 0.85)*/
    ;
  }

  body .hero-header .dropdown-menu a {
    font-size: .9rem;
    text-shadow: none;
  }

  body .hero-header .sidebar-logo h2,
  body .hero-header .sidebar-logo p {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  }

  /* Fixed Desktop Navigation on Scroll */
  body .hero-header nav.top-nav.navfix,
  body .hero-header #navigation.navfix {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    padding: 9px 40px;
    background: #111111
      /*linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%)*/
    ;
    transition: all 0.3s ease;
    zoom: 90%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
  }
}

/* ==========================================================================
   DYNAMIC SCROLL TO TOP BUTTON
   ========================================================================== */
.scroll-to-top {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #111111;
  /* Sleek, dark default background */
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  /* Ensures it sits over text grids and article rows */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);

  /* Hidden by default with smooth transitions */
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background-color 0.2s ease, color 0.2s ease;
}

/* Toggled visibility class managed by JavaScript */
.scroll-to-top.show-btn {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Hover Interactive Mechanics */
.scroll-to-top:hover {
  background-color: #2a9d8f;
  /* Swaps cleanly to your signature brand green */
  color: #ffffff;
}

/* Quick Adjustment for Mobile Displays to stay clear of right-aligned link stacks */
@media (max-width: 900px) {
  .scroll-to-top {
    bottom: 24px;
    right: 24px;
    width: 42px;
    height: 42px;
  }
}

/* ==========================================================================
   SPLIT SLIDESHOW OVERRIDE STYLES (From Prototype)
   ========================================================================== */

/* 0. HERO HEADER BASE */
body .hero-header {
  position: relative;
  width: 100%;
  background-color: #111111;
}

/* 1. MAIN HEADLINE OVERLAY STYLES */
body .hero-header .headline-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
  width: 85%;
  max-width: 950px;
  pointer-events: none;
}

body .hero-header .headline-container h1 {
  color: #ffffff;
  font-size: 2.35rem;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: -0.5px;
  text-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  margin: 0;
}

/* 2. 50/50 SPLIT SLIDESHOW RECONSTRUCTION */
body .hero-header .split-slideshow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  height: 100vh;
}

body .hero-header .split-side {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body .hero-header .split-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

body .hero-header .split-side::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  transition: background 0.4s ease;
}

/* Hover Paragraph Overlay Drawer */
body .hero-header .split-side .hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 40px 40px 100px 40px;
  opacity: 0;
  transition: opacity 0.4s ease;
  text-align: center;
}

body .hero-header .split-side .hover-overlay p {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
  max-width: 480px;
  transform: translateY(20px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  margin: 0;
  display: block;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

body .hero-header .split-side .hover-overlay p span {
  display: inline;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 5px 12px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  /*border-radius: 4px;*/
  /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);*/
}

/* Image Interaction Triggers */
body .hero-header .split-side:hover img {
  transform: scale(1.04);
}

body .hero-header .split-side:hover::before {
  background: rgba(0, 0, 0, 0.08);
}

body .hero-header .split-side:hover .hover-overlay {
  opacity: 1;
}

body .hero-header .split-side:hover .hover-overlay p {
  transform: translateY(0);
}

/* 3. CREATIVE SCROLL INDICATOR STYLES */
body .hero-header .scroll-link-wrapper {
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
}

body .hero-header .creative-scroll-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: #ffffff;
  transition: color 0.3s ease;
}

body .hero-header .creative-scroll-link .link-text {
  font-weight: 600;
  font-size: 1.05rem;
  letter-spacing: 0.5px;
  position: relative;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

body .hero-header .creative-scroll-link .link-text::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: #ffffff;
  transform: scaleX(0.3);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

body .hero-header .creative-scroll-link .arrow-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

body .hero-header .creative-scroll-link .arrow-circle svg {
  animation: scroll-pulse 2s infinite ease-in-out;
}

/* Creative Scroll Hover States */
body .hero-header .creative-scroll-link:hover .link-text {
  color: var(--primary-green, #2a9d8f);
}

body .hero-header .creative-scroll-link:hover .link-text::after {
  transform: scaleX(1);
  background-color: var(--primary-green, #2a9d8f);
}

body .hero-header .creative-scroll-link:hover .arrow-circle {
  background-color: var(--primary-green, #2a9d8f);
  border-color: var(--primary-green, #2a9d8f);
  color: #ffffff;
  transform: translateY(4px);
}

@keyframes scroll-pulse {

  0%,
  100% {
    transform: translateY(-2px);
  }

  50% {
    transform: translateY(3px);
  }
}

/* 4. RESPONSIVE DESIGN BREAKPOINTS */
@media (max-width: 991px) {
  body .hero-header {
    height: auto;
    overflow: visible;
  }

  body .hero-header .split-slideshow {
    grid-template-columns: 1fr;
    height: auto;
  }

  body .hero-header .headline-container {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    padding: 130px 24px 40px 24px;
    background-color: #ffffff;
  }

  body .hero-header .headline-container h1 {
    color: #111111;
    font-size: 1.65rem;
    line-height: 1.4;
    text-shadow: none;
    text-align: left;
  }

  body .hero-header .split-side {
    height: 48vh;
  }

  body .hero-header .split-side .hover-overlay {
    opacity: 1;
    padding: 24px;
    background: transparent;
  }

  body .hero-header .split-side .hover-overlay p {
    font-size: 1.05rem;
    line-height: 2;
    transform: none;
    text-align: center;
    margin-bottom: 30px;
  }

  body .hero-header .scroll-link-wrapper {
    display: none;
  }
}

.switcher {
  font-size: 0 !important;
  width: 24px;
  height: 24px;
  display: block;
  border-radius: 50%;
  line-height: 1;
  padding: 0;
  margin: 0;
  margin-left: auto;
  border: 1px solid #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.switcher.en {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='s'%3E%3Cpath d='M0,0 v30 h60 v-30 z'/%3E%3C/clipPath%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23FFFFFF' stroke-width='6'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23C8102E' stroke-width='4' clip-path='url(%23s)'/%3E%3Cpath d='M30,15 L0,0 M30,15 L60,30 M30,15 L60,0 M30,15 L0,30' stroke='%23FFFFFF' stroke-width='2'/%3E%3Cpath d='M30,0 v30 M0,15 h60' stroke='%23FFFFFF' stroke-width='10'/%3E%3Cpath d='M30,0 v30 M0,15 h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E");
}

.switcher.fr {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'%3E%3Crect width='3' height='6' fill='%23002654'/%3E%3Crect x='3' width='3' height='6' fill='%23FFFFFF'/%3E%3Crect x='6' width='3' height='6' fill='%23ED2939'/%3E%3C/svg%3E");
}

footer .switcher {
  display: none !important;
}


/* ==========================================================================
   GLOBAL UTILITIES
   ========================================================================== */
.section-container a.text-lnk {
  font-weight: 600;
  color: var(--primary-green);
  display: inline-flex;
  position: relative;
  width: fit-content;
  text-decoration: none;
}

.section-container p a.text-lnk::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--primary-green);
  transform: scaleX(0.3);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.section-container p:hover a.text-lnk::after,
.section-container a.text-lnk:hover::after {
  transform: scaleX(1);
}

/* ==========================================================================
   WHAT WE DO SECTION STYLES (COLOR INVERSION UPGRADE)
   ========================================================================== */
.content-section {
  background-color: #ffffff;
  padding: 60px 40px;
  display: flex;
  justify-content: center;
  width: 100%;
}

body#home header.has-slideshow+.content-section {
  padding-top: 100px;
}


.content-section h2 {
  font-size: 2.5rem;
  color: #111111;
  margin-bottom: 24px;
  font-weight: 800;
}

.section-container {
  width: 100%;
  max-width: 1100px;
}

/* Intro Paragraph Styling */
.section-intro {
  margin-bottom: 70px;
}

.section-intro p {
  font-size: 1.5rem;
  line-height: 1.6;
  color: #111111;
  font-weight: 500;
}

/* Master 2-Column Grid Setup */
.focal-areas-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 80px;
}

.grid-column {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

/* Individual Item Flex Row Configuration */
a.focal-link:hover {
  text-decoration: none !important;
  color: inherit !important;
}

.focal-item {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  cursor: pointer;
}

/* Premium Vector Icon Circle Container (Standard State) */
.icon-circle-wrapper {
  flex-shrink: 0;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  /* Keeps standard background completely clean */
  color: var(--primary-green);
  /* Standard brand green icon lines */
  border: 2px solid var(--primary-green);
  /* Standard brand green border framework */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);

  /* Animates all properties concurrently on user interaction transitions */
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

/* Focal Text Alignments */
.focal-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.focal-text h3 {
  font-family: 'Outfit', sans-serif;
  color: #111111;
  font-size: 1.35rem;
  font-weight: 700;
  transition: color 0.2s ease;
  margin-bottom: 0;
}

.focal-text p {
  color: var(--text-gray-dark);
  font-size: 1.1rem;
  line-height: 1.5;
}

/* ==========================================================================
   DYNAMIC MOUSEOVER COLOR INVERSION EFFECTS
   ========================================================================== */
.focal-link:hover .icon-circle-wrapper,
.focal-item:hover .icon-circle-wrapper {
  background-color: var(--primary-green);
  /* Swaps backdrop to solid brand green */
  color: #ffffff;
  /* Inverts internal SVG paths seamlessly to clean white */
  transform: translateY(-3px);
  /* Subtle crisp lift movement tracking look */
  box-shadow: 0 8px 24px rgba(42, 157, 143, 0.25);
  /* Elegant matching brand shadow glow */
}

.focal-link:hover .focal-text h3,
.focal-item:hover .focal-text h3 {
  color: var(--primary-green);
}

/* ==========================================================================
   WHERE WE WORK SECTION
   ========================================================================== */
.metrics-editorial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 80px;
  margin-bottom: 45px;
}

.metric-column {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.metric-editorial-item {
  display: flex;
  align-items: center;
  gap: 25px;
}

.metric-circle-wrapper {
  flex-shrink: 0;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--white);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
  background-color: var(--white);
}

.metric-circle-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(10%);
  transition: transform 0.3s ease;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 12px;
}

.metric-editorial-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.metric-editorial-text h3 {
  font-family: 'Druk Text Trial', sans-serif;
  color: #111111;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}

.metric-editorial-text p {
  color: var(--text-gray);
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0;
  margin-top: -.7rem;
  font-weight: 500;
}

.metric-editorial-item:hover .metric-circle-wrapper img {
  transform: scale(1.06);
}

.members-footer-note {
  margin-top: 40px;
}

.members-footer-note p {
  font-size: 1.5rem;
  color: #333333;
  line-height: 1.5;
  font-weight: 500;
}

.reports-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  margin-left: 4px;
  color: var(--primary-green);
  position: relative;
}

.reports-link svg {
  transition: transform 0.2s ease;
}

.reports-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--primary-green);
  transform: scaleX(1);
  transform-origin: left;
}

.reports-link:hover svg {
  transform: translateX(4px);
}

/* ==========================================================================
   VIDEO FEATURE SECTION
   ========================================================================== */
.video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.03);
}

.video-wrapper iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.video-wrapper+.video-wrapper {
  margin-top: 30px;
}

/* ==========================================================================
   NEWS PAGE SLIDESHOW HEADER
   ========================================================================== */
.news-slideshow-container {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 1fr;
  width: 100%;
  height: calc(100vh - var(--nav-height));
  min-height: 500px;
}

.news-category-title {
  position: absolute;
  top: 50px;
  left: 60px;
  z-index: 10;
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.5px;
  color: #ffffff;
  margin: 0;
  line-height: 1.05;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

.news-latest-article {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 60px;
  text-decoration: none;
  overflow: hidden;
}

.news-latest-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
  z-index: 0;
}

.news-latest-article:hover .news-latest-bg {
  transform: scale(1.04);
}

.news-latest-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.65) 100%);
  z-index: 1;
}

.news-latest-content {
  position: relative;
  z-index: 2;
}

.news-latest-date {
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.news-latest-title {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
  max-width: 800px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.news-next-list {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}

.news-next-item {
  display: flex;
  padding: clamp(15px, 2.5vh, 30px) 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  flex: 1;
  align-items: center;
  min-height: 0;
}

.news-next-item:hover,
.news-next-item.active {
  background-color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.news-next-item:hover .news-next-title,
.news-next-item.active .news-next-title {
  color: var(--primary-green);
}

.news-next-thumb-wrapper {
  width: clamp(70px, 12vh, 120px);
  height: clamp(70px, 12vh, 120px);
  border-radius: 8px;
  margin-right: 25px;
  flex-shrink: 0;
  overflow: hidden;
  background-color: #f0f0f0;
}

.news-next-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

body#events .news-next-thumb-wrapper {
  background-color: #fff;
}

body#events .news-next-thumb {
  object-fit: contain;
}

.news-next-item:hover .news-next-thumb,
.news-next-item.active .news-next-thumb {
  transform: scale(1.04);
}

.news-next-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.news-next-date {
  font-size: 0.85rem;
  color: #888888;
  font-weight: 600;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.news-next-title {
  font-size: clamp(1rem, 2vh, 1.25rem);
  font-weight: 700;
  color: #111111;
  line-height: 1.2;
  margin: 0;
  transition: color 0.3s ease;
  font-family: 'Outfit', sans-serif;
}

/* ==========================================================================
   THREE-COLUMN NEWS & UPDATES GRID SECTION
   ========================================================================== */
.articles-section.content-section {
  padding-top: 0;
  padding-bottom: 100px;
}

.articles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  width: 100%;
}

.article-column {
  display: flex;
  flex-direction: column;
}

/* Distinct Column Title Formatting */
.column-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  color: #111111;
  font-weight: 700 !important;
  margin-bottom: 25px;
  text-align: left;
}

/* Modern Article Card Frame Layout */
.news-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
}

/* Structured Image Card Display wrapper */
.card-image-wrapper {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background-color: #f0f0f0;
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.news-card:hover .card-image-wrapper img {
  transform: scale(1.04);
}

/* Inner Text Padding Frame Container */
.card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.card-date {
  font-size: 0.85rem;
  color: var(--text-gray);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.card-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  color: #111111;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 12px;
}

p.card-snippet {
  font-size: 0.95rem;
  color: var(--text-gray);
  line-height: 1.5;
  margin-bottom: 24px;
}

/* Stylized Editorial Read More Action Links */
.read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--primary-green);
  font-weight: 700;
  margin-top: auto;
  position: relative;
  width: fit-content;
  text-decoration: none !important;
}

.read-more-btn:hover {
  text-decoration: none !important;
}

.read-more-btn svg {
  transition: transform 0.2s ease;
}

.read-more-btn::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--primary-green);
  transform: scaleX(0.3);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hover Action Feedback Shifts */
.read-more-btn:hover::after {
  transform: scaleX(1);
}

.read-more-btn:hover svg {
  transform: translateX(4px);
}

#news-insights {
    font-size: 0.95rem;
}

#our-story-video.content-section {
  padding-bottom: 70px;
}

@media (min-width: 992px) {
  .article-column h2 {
    font-size: 2rem;
    line-height: 1;
    min-height: 64px;
    /*display: flex;
    align-items: flex-end;*/
  }
}

/* ==========================================================================
   SITE FOOTER SECTION STYLING ARCHITECTURE
   ========================================================================== */
.site-footer {
  background-color: #111111;
  color: #ffffff;
  padding: 80px 40px 0 40px;
  width: 100%;
}

.footer-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 60px;
  padding-bottom: 60px;
}

/* Brand Identity Layout System Column */
.footer-brand-column {
  display: flex;
  flex-direction: column;
}

/*.footer-brand-column .sidebar-logo {
  zoom: 85%;
}*/

.footer-brand-column .sidebar-logo h2,
.footer-brand-column .sidebar-logo p {
  color: #ffffff;
}

.brand-description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #aaaaaa;
  margin-top: 20px;
  margin-bottom: 25px;
  max-width: 360px;
}

/* Social Icon Alignment and Circle Hover Animation Frames */
.footer-socials {
  display: flex;
  gap: 12px;
  margin-top: 30px;
}

.footer-socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #222222;
  color: #cccccc;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.footer-socials a:hover {
  background-color: var(--primary-green);
  color: #ffffff;
  transform: translateY(-2px);
}

.footer-contacts {
  margin-top: 30px;
  color: #cccccc;
  line-height: 1.3rem;
}

.footer-contacts span {
  font-size: 90%;
}

.footer-contacts a {
  color: #aaaaaa;
}

/* Link tree blocks alignment tracks */
.footer-menu-container {
  /* Inherits implicit grid column placement */
}

.footer-menu-container .footer-links-list {
  column-count: 2;
  column-gap: 60px;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1rem;
}

.footer-menu-container .footer-links-list>li.level-1 {
  break-inside: avoid;
  margin-bottom: 1rem;
}

.footer-menu-container .footer-links-list>li.level-1>a,
.footer-menu-container .footer-links-list>li.level-1>span {
  display: block;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  color: #aaaaaa;
  font-weight: 500;
  margin-bottom: 12px;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.footer-menu-container .footer-links-list>li.level-1>a:hover {
  color: var(--primary-green);
  padding-left: 4px;
}

.footer-menu-container .footer-links-list .submenu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.footer-menu-container .footer-links-list .submenu a {
  color: #aaaaaa;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 400;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}

.footer-menu-container .footer-links-list .submenu a:hover {
  color: var(--primary-green);
  padding-left: 4px;
}

.footer-menu-container .footer-links-list .submenu .deeper.parent {
  margin-top: 15px;
}

.footer-menu-container .footer-links-list .submenu .deeper.parent .separator+.submenu {
  margin-top: 7px;
}

.footer-menu-container .footer-links-list .submenu .deeper.parent .separator {
  font-weight: 600;
  color: #aaaaaa;
}

.footer-menu-container .footer-links-list .submenu .deeper.parent .separator+.submenu a {
  font-size: 90%;
}

/* ==========================================================================
   BOTTOM LEGAL & COPYRIGHT PRIVACY BAR STRIP
   ========================================================================== */
.footer-bottom-bar {
  border-top: 1px solid #222222;
  padding: 30px 0;
  width: 100%;
}

.footer-bottom-container {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.copyright-info {
  font-size: 0.85rem;
  color: #777777;
  width: 100%;
}

.legal-links {
  display: flex;
  gap: 24px;
}

.legal-links a {
  color: #777777;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.legal-links a:hover {
  color: #ffffff;
}

/* ==========================================================================
   DYNAMIC SCROLL TO TOP BUTTON
   ========================================================================== */
.scroll-to-top {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #111111;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background-color 0.2s ease, color 0.2s ease;
}

.scroll-to-top.show-btn {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scroll-to-top:hover {
  background-color: var(--primary-green);
  color: #ffffff;
}

@media (max-width: 900px) {
  .scroll-to-top {
    bottom: 24px;
    right: 24px;
    width: 42px;
    height: 42px;
  }
}

/* ==========================================================================
   NEWS PAGE GRID & PAGINATION
   ========================================================================== */
.news-blog-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}

.news-blog-item {
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-blog-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
}

.news-blog-img-wrapper {
  display: block;
  width: 35%;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.news-blog-img-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.news-blog-item:hover .news-blog-img-wrapper img {
  transform: scale(1.05);
}

.news-blog-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.news-blog-date {
  font-size: 0.85rem;
  color: #888888;
  font-weight: 600;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
}

.news-blog-title {
  margin: 0;
  min-height: calc(1.25rem * 1.2 * 4);
}

.news-blog-title a {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #111111;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.3s ease;
}

.news-blog-item:hover .news-blog-title a {
  color: var(--primary-green);
}

/* Pagination Styles */
.news-pagination {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.news-pagination ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 6px;
}

.news-pagination li a,
.news-pagination li span,
.news-pagination .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  background-color: #f8f9fa;
  color: #333333;
  text-decoration: none;
  font-weight: 600;
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  transition: all 0.2s ease-in-out;
}

/* Hide extra background from Bootstrap pagination if it's there */
.news-pagination .pagination {
  background: none;
}

.news-pagination li a:hover,
.news-pagination .page-link:hover {
  background-color: #ffffff;
  border-color: #e0e0e0;
  color: var(--primary-green);
  /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);*/
  transform: translateY(-1px);
}

.news-pagination li.active span,
.news-pagination li.active a,
.news-pagination li.active .page-link,
.news-pagination .page-item.active .page-link {
  background-color: var(--primary-green);
  border-color: var(--primary-green);
  color: #ffffff;
  /*box-shadow: 0 4px 8px rgba(96, 179, 90, 0.25);*/
}

.news-pagination li.disabled span,
.news-pagination li.disabled .page-link,
.news-pagination .page-item.disabled .page-link {
  background-color: #f5f5f5;
  color: #c0c0c0;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
  border-color: transparent;
  display: none;
}

/* Pagination Icons */
.news-pagination .icon-angle-double-left,
.news-pagination .icon-angle-left,
.news-pagination .icon-angle-right,
.news-pagination .icon-angle-double-right {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.news-pagination .icon-angle-left {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="15 18 9 12 15 6"></polyline></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="15 18 9 12 15 6"></polyline></svg>');
}

.news-pagination .icon-angle-right {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="9 18 15 12 9 6"></polyline></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="9 18 15 12 9 6"></polyline></svg>');
}

.news-pagination .icon-angle-double-left {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="11 17 6 12 11 7"></polyline><polyline points="18 17 13 12 18 7"></polyline></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="11 17 6 12 11 7"></polyline><polyline points="18 17 13 12 18 7"></polyline></svg>');
}

.news-pagination .icon-angle-double-right {
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="13 17 18 12 13 7"></polyline><polyline points="6 17 11 12 6 7"></polyline></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><polyline points="13 17 18 12 13 7"></polyline><polyline points="6 17 11 12 6 7"></polyline></svg>');
}

/* ==========================================================================
   RESPONSIVE OVERRIDES FOR SMALL TABLETS AND SMARTPHONES
   ========================================================================== */
@media (max-width: 991px) {
  .content-section {
    padding: 60px 24px;
  }

  .section-intro p {
    font-size: 1.25rem;
  }

  .content-section h2 {
    font-size: 2rem;
  }

  .focal-areas-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .grid-column {
    gap: 40px;
  }

  .focal-item {
    gap: 20px;
  }

  .icon-circle-wrapper {
    width: 80px;
    height: 80px;
  }

  .icon-circle-wrapper svg {
    width: 30px;
    height: 30px;
  }

  .focal-text h3 {
    font-size: 1.2rem;
  }

  .map-row {
    margin-bottom: 45px;
  }

  .metrics-editorial-grid {
    gap: 40px;
  }

  .metric-column {
    gap: 40px;
  }

  .metric-editorial-item {
    gap: 20px;
  }

  .metric-circle-wrapper {
    width: 100px;
    height: 100px;
  }

  .metric-editorial-text h3 {
    font-size: 3rem;
  }

  .members-footer-note {
    margin-top: 45px;
    padding-top: 25px;
  }

  .members-footer-note p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .reports-link {
    display: flex;
    margin-left: 0;
    margin-top: 8px;
  }

  .articles-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .news-slideshow-container {
    grid-template-columns: 1fr;
    height: auto;
  }

  .news-category-title {
    top: 24px;
    left: 24px;
    font-size: 2.2rem;
  }

  .news-latest-article {
    height: 60vh;
    padding: 30px 24px;
  }

  .news-latest-title {
    font-size: 2.2rem;
  }

  .news-next-item {
    padding: 20px 24px;
  }

  .news-next-thumb-wrapper {
    width: 80px;
    height: 80px;
    margin-right: 15px;
  }

  .news-next-title {
    font-size: 1.1rem;
  }

  .column-title {
    margin-bottom: 15px;
    font-size: 1.3rem;
  }

  .card-content {
    padding: 20px;
  }

  .card-title {
    font-size: 1.2rem;
  }

  .site-footer {
    padding: 60px 24px 0 24px;
  }

  .footer-container {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-bottom: 40px;
  }

  .footer-menu-container {
    grid-column: span 1;
  }

  .footer-menu-container .footer-links-list {
    column-count: 1;
    column-gap: 0;
  }

  .footer-menu-container .footer-links-list>li.level-1>a,
  .footer-menu-container .footer-links-list>li.level-1>span {
    margin-bottom: 15px;
  }

  .footer-bottom-container {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 15px;
  }

  .legal-links {
    width: 100%;
    justify-content: flex-start;
  }

  .news-blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .news-blog-item {
    flex-direction: column;
  }

  .news-blog-img-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .news-blog-content {
    padding: 20px;
  }
}

/* ==========================================================================
   NEWS ARTICLE DETAILS PAGE
   ========================================================================== */
.article-detail-page {
  background-color: #ffffff;
  /*padding-bottom: 80px;*/
  display: block;
}

.article-header {
  /*margin-bottom: 50px;*/
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.article-back-btn {
  display: inline-block;
  font-weight: 900;
  color: var(--primary-green, #2a9d8f);
  text-decoration: none;
  font-size: 1.1rem;
  margin-bottom: 20px;
  /*text-transform: uppercase;*/
  letter-spacing: 1px;
  transition: transform 0.3s ease, color 0.3s ease;
}

.article-back-btn:hover {
  color: #111111;
  transform: translateX(-5px);
  text-decoration: none;
}

.article-back-btn i {
  margin-right: 8px;
}

.article-main-title {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  color: #111111;
  line-height: 1.1;
  margin: 0 0 15px 0;
}

.article-publish-date {
  font-size: 1rem;
  color: #888888;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.article-layout-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  align-items: start;
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.article-main-column {
  font-size: 1.1rem;
  /*line-height: 1.8;*/
  color: #333333;
}

.article-main-column p {
  margin-bottom: 25px;
}

.com-content-article__body {
  padding-top: 1rem;
}

.com-content-article__body a {
  color: var(--primary-green, #2a9d8f);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s ease;
}

.com-content-article__body a:hover {
  text-decoration: underline;
}

.article-main-column img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 30px 0;
}

.article-intro-image img {
  min-width: 100%;
}

#nos-partenaires .article-intro-image {
  display: none;
}

body#page-daccueil header+section {
  padding-top: 75px;
}

.article-sidebar-column {
  background: #fdfdfd;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  overflow: hidden;
  position: sticky;
  top: calc(var(--nav-height) + 40px);
  align-self: start;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.sidebar-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #111111;
  padding: 20px 30px 15px 30px;
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.article-sidebar-list .news-next-item {
  padding: 20px 30px;
}

.article-sidebar-list .news-next-thumb-wrapper {
  width: 80px;
  height: 80px;
}

#where-we-work .article-sidebar-list .news-next-thumb-wrapper {
  background-color: #fff;
  padding: 2px;
}

.article-sidebar-list .news-next-title {
  font-size: 1.1rem;
}

@media (max-width: 991px) {
  .article-layout-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Footer Menu Grid Layout */
ul.footer-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

ul.footer-menu-grid>li.footer-nav-item>a,
ul.footer-menu-grid>li.footer-nav-item>span.nav-header {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 15px;
  display: block;
  text-decoration: none;
}

ul.footer-menu-grid ul.footer-menu-sub {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.footer-menu-grid ul.footer-menu-sub li {
  margin-bottom: 12px;
}

ul.footer-menu-grid ul.footer-menu-sub li a {
  font-size: 0.95rem;
  color: #aaaaaa;
  text-decoration: none;
  transition: color 0.3s ease;
}

ul.footer-menu-grid ul.footer-menu-sub li a:hover {
  color: var(--primary-green, #2a9d8f);
}

@media (max-width: 991px) {
  ul.footer-menu-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Blog Item Styles */
article.category-blog-item {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.blog-item-date {
  margin-bottom: 1.5rem;
  color: #666;
}

.blog-item-fulltext {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.blog-item-readmore {
  margin-top: 1.5rem;
}

/* Banner Slideshow Override */
.mod-banners.banner-slideshow-module {
  height: 75vh;
  position: relative;
  overflow: hidden;
}

.banner-slideshow-item {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.banner-slideshow-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 1.5s ease;
}

.banner-slideshow-item:hover .banner-slideshow-bg {
  transform: scale(1.05);
}

.banner-slideshow-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Gradient accounting for transparent nav at top: slightly dark at top, clear middle, darker bottom */
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.4) 0%,
      rgba(0, 0, 0, 0.1) 20%,
      rgba(0, 0, 0, 0) 50%,
      rgba(0, 0, 0, 0.1) 70%,
      rgba(0, 0, 0, 0.5) 100%);
  z-index: 1;
}

.banner-slideshow-content {
  position: absolute;
  bottom: 40px;
  left: 40px;
  right: 40px;
  z-index: 2;
  text-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
}

.banner-slideshow-title {
  font-family: 'Outfit', sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
  color: #fff;
}

.banner-slideshow-desc {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 1);
  margin-top: 15px;
  line-height: 1.4;
  max-width: 800px;
}

@media (max-width: 768px) {
  .mod-banners.banner-slideshow-module {
    height: 50vh;
  }

  .banner-slideshow-title {
    font-size: 1.8rem;
  }

  .banner-slideshow-desc {
    font-size: 1.1rem;
    margin-top: 10px;
  }

  .banner-slideshow-content {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }
}

/* Banner Split Override */
.mod-banners.banner-split-module {
  background-color: #f8f8f8;
  position: relative;
  width: 100%;
}

section.content-section.mod-banners.banner-split-module {
  padding-top: 0;
}

.banner-split-item {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

a.banner-split-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 14px;
}

a.banner-split-item:hover {
  transform: translateY(-5px);
  /*box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);*/
}

.banner-split-image-col {
  overflow: hidden;
  border-radius: 14px;
}

a.banner-split-item .banner-split-image {
  transition: transform 0.5s ease;
}

a.banner-split-item:hover .banner-split-image {
  transform: scale(1.04);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
}

.banner-split-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  /* min-height: 70vh; /* Takes up most of the viewport */
  align-items: stretch;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

body#publications .banner-split-grid {
  grid-template-columns: 2fr 1fr;
  padding-top: 60px;
}

body#publications .banner-split-grid .banner-split-image {
  border-radius: 14px;
  width: auto;
  background-size: cover;
  aspect-ratio: 575 / 737 !important;
}

body#publications .banner-split-grid .banner-split-text {
  padding-right: 40px;
}

.banner-split-text-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  /*padding: 40px 0;*/
  /* Assuming a transparent nav height around 100px, add top padding to push content down */
  /*padding-top: 140px;*/
}

.banner-split-title {
  font-family: 'Outfit', sans-serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.1;
  color: #111111;
  margin: 0 0 15px 0;
}

.banner-split-desc {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #444444;
}

.banner-split-image-col {
  width: 100%;
  height: 100%;
  /*min-height: 400px;*/

}

.banner-split-image {
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 991px) {

  .banner-split-grid,
  body#publications .banner-split-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  body#publications .banner-split-grid .banner-split-text {
    padding-right: 0;
  }

  .banner-split-text-col {
    padding: 100px 5% 40px 5%;
  }

  .banner-split-image-col {
    min-height: 350px;
  }
}

/* Article and Accordion Text Links */
.item-page a:not(.btn):not(.nav-link):not(.news-next-item),
.category-blog-item a:not(.btn):not(.nav-link):not(.accordion-button):not(.news-next-item),
.accordion-body a:not(.btn):not(.news-next-item) {
  font-weight: 700;
  color: var(--primary-green);
  text-decoration: none;
}

.item-page a:not(.btn):not(.nav-link):not(.news-next-item):hover,
.category-blog-item a:not(.btn):not(.nav-link):not(.accordion-button):not(.news-next-item):hover,
.accordion-body a:not(.btn):not(.news-next-item):hover {
  color: var(--primary-green-dark, #005a32);
  /* Fallback dark green just in case */
  text-decoration: underline;
}

.accordion-button:not(.collapsed) {
  color: #000000;
  background-color: #f8f8f8;
  font-weight: 700;
}

.accordion-button {
    font-size:1.1rem;
}

/* Specific styling for 'Where We Work' Categories Sidebar */
body#where-we-work .article-sidebar-list .news-next-item:hover .news-next-title,
body#where-we-work .article-sidebar-list .news-next-item.active .news-next-title {
  color: var(--primary-blue);
}

/* Grayscale Sidebar Images for Where We Work */
body#where-we-work .news-next-item .news-next-thumb {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

body#where-we-work .news-next-item:hover .news-next-thumb,
body#where-we-work .news-next-item.active .news-next-thumb {
  filter: grayscale(0%);
}

/* Specific styling for mod_pdfviewer */
.pdf-viewer-container .card-image-wrapper {
  aspect-ratio: 595 / 737;
}

.article-main-column .pdf-viewer-container img {
  margin: 0;
  border-radius: 0;
}

body#where-we-work section a {
  color: var(--primary-blue);
}


.key-figures .icon-circle-wrapper {
    color:#ffffff;
    border:0;
    margin-right:10px;
}
.key-figures .icon-circle-wrapper + div strong {
    font-weight: 900;
    font-size: 170%;
}
.key-figures .icon-circle-wrapper + div small {
    font-weight: 400;
    font-size: 80%;
}
#community-development .key-figures .icon-circle-wrapper {
    background-color: #708ec8 !important;
}
#health .key-figures .icon-circle-wrapper {
    background-color: #d19514 !important;
}
#sustainable-agriculture-and-environment .key-figures .icon-circle-wrapper {
    background-color: #009639 !important;
}
#education .key-figures .icon-circle-wrapper {
    background-color: #d19514 !important;
}
#humanitarian-action .key-figures .icon-circle-wrapper {
    background-color: #c7402d !important;
}

/* Reuse */
/* Container Styles */
.report-content-constrained {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
    max-width: 640px;
    gap: 0.35rem;
    position: relative;
}

/* Color Classes */
.text-dark-green {
    color: #132e1d !important;
}

.bg-light-purple {
    background-color: #dfc6f0;
}

.bg-light-teal {
    background-color: #94d7da;
}

.bg-light-peach {
    background-color: #feebcb;
}

.bg-light-blue {
    background-color: #c1dcf0;
}

.bg-light-mint {
    background-color: #c6f0e0;
}

.bg-light-pink {
    background-color: #f6cbcd;
}

.story-box-rounded {
    border-radius: 1.3rem;
    padding: .5rem;
}

.report-body-text {
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.35;
    margin-bottom: 0 !important;
}

.text-dynamic {
    font-size: clamp(0.78rem, 1vw + 0.3rem, .85rem);
}

/* Circularity Flow Layout & Serpentine Pipes */
.circularity-step-row {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    margin-bottom: 0.25rem;
}

.circularity-step-row.row-odd {
    justify-content: flex-start;
    padding-left: 30px;
}

.circularity-step-row.row-even {
    justify-content: flex-end;
    padding-right: 30px;
}

.circularity-card-block {
    width: 76%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
}

.circularity-card-block .step-title {
    font-family: var(--main-font);
    font-size: clamp(0.85rem, 1vw + 0.3rem, 1.05rem);
    font-weight: 800;
    margin-bottom: 0.2rem;
    line-height: 1.2;
}

.circularity-card {
    width: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0.5rem 0.85rem;
    border-radius: 14px;
    position: relative;
    z-index: 2;
}

.circularity-icon-box {
    width: 75px;
    height: 75px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
}

.circularity-step-row.row-odd .circularity-icon-box {
    margin-left: 0.6rem;
}

.circularity-step-row.row-even .circularity-icon-box {
    margin-right: 0.6rem;
}

.circularity-icon-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Serpentine Connecting Lines */
.connector-pipe {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.connector-pipe-right {
    right: 0;
    top: 50%;
    width: 65px;
    height: calc(100% + 0.35rem);
    border-right: 6px solid;
    border-top: 6px solid;
    border-bottom: 6px solid;
}

.connector-pipe-left {
    left: 0;
    top: 50%;
    width: 65px;
    height: calc(100% + 0.35rem);
    border-left: 6px solid;
    border-top: 6px solid;
    border-bottom: 6px solid;
}

.pipe-purple {
    border-color: #bb86df;
}

.pipe-teal {
    border-color: #1cabb0;
}

.pipe-blue {
    border-color: #7bb5df;
}

.pipe-mint {
    border-color: #86dfbc;
}

@media (max-width: 768px) {
    .circularity-step-row.row-odd {
        padding-left: 10px;
    }

    .circularity-step-row.row-even {
        padding-right: 10px;
    }

    .circularity-card-block {
        width: calc(100% - 55px);
    }

    .circularity-card {
        width: 100%;
        padding: 0.4rem 0.6rem;
    }

    .circularity-icon-box {
        width: 50px;
        height: 50px;
    }

    .connector-pipe-right,
    .connector-pipe-left {
        width: 45px;
        border-width: 4px;
    }

    .connector-pipe-right {
        right: -15px;
    }

    .connector-pipe-left {
        left: -15px;
    }
}
