/* Main */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Chivo:ital,wght@0,100..900;1,100..900&display=swap");

html,
body {
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: "Chivo", serif;
  font-optical-sizing: auto;
  font-weight: 300;
}

body * {
  white-space: normal !important; /* Collapses multiple spaces into one and allows text to wrap */
}

img {
  max-width: 100%;
  height: auto;
}

/* Colours */

.has-bg-EBEAE6 {
  background-color: #ffffff;
}

.has-bg-000000 {
  background-color: #000000;
}

.has-bg-51B4DB {
  background-color: #51b4db;
}

.has-bg-FFC800 {
  background-color: #ffc800;
}

.has-bg-ED2EA5 {
  background-color: #ed2ea5;
}

.has-white-background-color {
  background-color: #ffffff;
}

.has-black-background-color {
  background-color: #000000;
}

.has-theme-1-background-color {
  background-color: #51b4db;
}

.has-theme-2-background-color {
  background-color: #ffc800;
}

.has-theme-3-background-color {
  background-color: #ed2ea5;
}

.has-white-color {
  color: #ffffff;
}

.has-black-color {
  color: #000000;
}

.has-theme-1-color {
  color: #51b4db;
}

.has-theme-2-color {
  color: #ffc800;
}

.has-theme-3-color {
  color: #ed2ea5;
}

/* Barba */

#barba-wrapper {
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  overflow: auto;
  overflow-x: hidden;
}

.barba-container {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Cursor */

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: difference; /* Apply blend mode */
  z-index: 1000;
  transform: translate(-50%, -50%); /* Center the cursor over the pointer */
}

/* Nav */

.custom-logo-link img,
.navbar-brand img {
  width: auto;
  height: 50px;
}

header {
  position: absolute;
  z-index: 999;
  left: 0;
  right: 0;
}

.navbar-dark {
  padding-top: 50px !important;
}

.navbar-nav .nav-link {
  color: #fff !important;
  font-weight: 500;
  font-size: 1rem;
}

.navbar-nav li {
  position: relative;
}

footer .navbar-nav .nav-link {
  color: #000 !important;
}

.linkedin-menu-item a {
  padding-top: 3px;
  padding-bottom: 3px;
}

.navbar-toggler {
  border: none;
  outline: none !important;
  box-shadow: none !important;
}

.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

footer .navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 1' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.btn.btn-nav {
  border-radius: 0;
  padding: 4px !important;
}

footer .btn-nav path {
  fill: #000;
}

.navbar-nav li.current-menu-item {
  position: relative;
}

.navbar-nav li.current-menu-item::after {
  background-image: linear-gradient(90deg, #ed2ea5 0%, #51b4db 100%);
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  content: "";
}

/* Widgets */

#block-19 {
  margin-top: 16px;
}

#block-19 p {
  margin-bottom: 4px;
}

/* Hero */

.wp-block-custom-hero-block-hero {
  background: #000;
  position: relative;
  text-align: left;
  overflow: hidden;
  height: 700px;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}

.page-hero {
  margin-bottom: -400px;
  height: 600px;
  position: relative;
  background: linear-gradient(180deg, #5755b0 0%, #000000 100%);
  background-size: cover;
  z-index: 2;
}

.page-hero .container {
  position: relative;
}

.page-hero .container:before {
  content: "";
  display: block;
  position: absolute;
  left: 16px;
  bottom: -50px;
  background: rgba(255, 255, 255, 0.4);
  z-index: 3;
  width: 50%;
  height: 1px;
}

.page-hero .container:after {
  content: url(../img/star.svg);
  display: block;
  position: absolute;
  left: calc(50% + 24px);
  bottom: -43px;
  z-index: 4;
  height: 16px;
  width: 16px;
}

.page-id-27 .page-hero .container:before,
.page-id-27 .page-hero .container:after {
  display: none;
}

.hero-overlay {
  position: absolute;
  left: 0px;
  right: 0;
  bottom: 0px;
  top: 0px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, #000000 100%);
  z-index: -1;
}

.hero-circle {
  width: 700px;
  height: 700px;
  border-radius: 50%;
  position: absolute;
  top: -100px;
  right: -100px;
  z-index: -1;

  /* Initial state to ensure correct starting position */
  opacity: 0.7;
  transform: translateY(-100px) rotate(15deg);
}

/* Add this class with JavaScript to trigger the animation once */
.hero-circle.animate {
  animation: circle-entrance 1.5s ease-out forwards;
  transform-origin: center center;
}

@keyframes circle-entrance {
  0% {
    opacity: 0.7;
    transform: translateY(-100px) rotate(15deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
  }
}

.hero-circle-overlay {
  width: 700px;
  height: 700px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background: linear-gradient(
    45deg,
    rgb(237 46 165 / 70%) 0%,
    rgb(81 180 219 / 100%) 70%
  );
}

.hero svg {
  position: absolute;
  width: 15vw;
  display: none !important;
}

.hero-1 {
  left: calc(50% - 240px);
  bottom: 500px;
}

.hero-2 {
  right: 32px;
  bottom: 400px;
}

.hero-3 {
  left: 50%;
  bottom: 50px;
}

.hero .hero-text {
  position: absolute;
  bottom: 200px;
}

.page-hero .hero-text {
  position: static;
  bottom: auto;
}

/* Style for the scroll down span */
.scroll-down {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.9rem;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  animation: scrollDownAnimation 3s ease-in-out infinite;
  transition: opacity 0.3s ease-in-out;
}

/* Animation for moving and fading the text */
@keyframes scrollDownAnimation {
  0% {
    opacity: 0;
    transform: translate(-50%, 0);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, 40px);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 40px);
  }
}

/* Type */

h1 {
  font-size: min(3vw, 5em, 5rem);
  font-family: "Chivo", serif;
  font-weight: 600;
  font-style: normal;
}
h2 {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Chivo", serif;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.hero h2 {
  font-size: 2.4rem;
}

h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 8px;
  margin-top: 1rem;
}

h4 {
  font-size: 1.4rem;
  margin-top: 0.7rem;
}

h5 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 16px;
}

p,
ul,
ol {
  font-weight: 200;
  font-size: 1rem;
}

ul {
  padding-left: 16px;
  list-style: none;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
  padding: 24px 16px;
}

/* Keep your existing heading offsets/position */
body.home h2 {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: -40px;
  padding-top: 30px;
  margin-top: -30px;
  padding-left: 30px;
  margin-left: -30px;
}

/* -------------------------------------------------
   1) Default (non-animated) state for the circles
   ------------------------------------------------- */

body.home h2::after,
body.home h2::before {
  position: absolute;
  left: -50px; /* Offscreen to start */
  top: -50px; /* Offscreen to start */
  background: #51b4db;
  content: "";
  display: block;
  z-index: -1;
  opacity: 0;
  transform: scale(0.2);
  border-radius: 50%;
}

/* Sizes for each circle */
body.home h2::after {
  width: 30px;
  height: 30px;
  border-radius: 20px;
}

body.home h2::before {
  width: 100px;
  height: 100px;
  border-radius: 50px;
}

/* -------------------------------------------------
   2) Animate circles only when .circle-animate is added
   ------------------------------------------------- */

body.home h2.animated::after {
  animation: moveInSmallCircle 0.8s ease-out 0.2s forwards;
}

body.home h2.animated::before {
  animation: moveInLargeCircle 1s ease-out 0.2s forwards;
}

/* -------------------------------------------------
   3) Keyframes for the small & large circle
   ------------------------------------------------- */

@keyframes moveInSmallCircle {
  0% {
    opacity: 0;
    left: -50px;
    top: -50px;
    transform: scale(0.2);
  }
  60% {
    opacity: 1;
    transform: scale(0.6);
  }
  100% {
    opacity: 1;
    left: 0;
    top: 0;
    transform: scale(1);
  }
}

@keyframes moveInLargeCircle {
  0% {
    opacity: 0;
    left: -50px;
    top: -50px;
    transform: scale(0.2);
  }
  60% {
    opacity: 0.6;
    transform: scale(0.6);
  }
  100% {
    opacity: 0.5;
    left: 0;
    top: 0;
    transform: scale(1);
  }
}

.wp-block-custom-section-block-section-inner ul.wp-block-list,
.wp-block-custom-section-block-section ul.wp-block-list {
  list-style: none;
  padding: 0;
}

.wp-block-custom-section-block-section-inner ul.wp-block-list li,
.wp-block-custom-section-block-section ul.wp-block-list li,
ul.wp-block-list li {
  font-size: inherit;
  font-family: "Chivo", serif;
  padding: 16px 0;
  border-bottom: 1px solid #ed2ea5;
}
.wp-block-custom-section-block-section ul.wp-block-list li a,
ul.wp-block-list li a {
  font-family: "Chivo", serif;
}

.single-project main ul li a {
  font-size: 24px;
  text-decoration: none;
}

.single section:not(.wp-block-custom-hero-block-hero) {
  color: #000;
}

h2.title {
  background: linear-gradient(to right, #1fb19d, #ffffff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

section a {
  color: inherit !important;
  text-decoration: underline !important;
  color: #fff;
}

/* Section */

section {
  padding: 100px 0 !important;
  position: sticky;
  z-index: 3;
}

.wp-theme-unfutureslab .hidden {
  display: none !important;
}

body.page-id-27 .wp-block-custom-section-block-section {
  padding: 50px 0 !important;
}

body.page-id-27 .wp-block-custom-section-block-section.hero {
  padding: 160px 0 !important;
}

section.wp-block-custom-logo-grid {
  padding: 0 !important;
}

body.page-id-27 .wp-block-column {
  display: flex;
  justify-content: stretch;
}

/* columns */

:where(.wp-block-columns.is-layout-flex) {
  gap: 32px;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}

/* Swiper */

.swiper {
  width: 100%;
  height: 100%;
  margin: 32px 0;
}

.swiper-slide {
  font-size: 16px;
  border-radius: 8px;
  position: relative;
  height: 400px;
}

.swiper-slide .slide-inner {
  background: #271233;
  position: absolute;
  top: 32px;
  bottom: 0;
  display: flex;
  padding: 15px;
  border-radius: 8px;
  justify-content: end;
  flex-direction: column;
  z-index: 2;
}

.swiper-slide svg {
  width: 200px;
  left: 15px;
  z-index: 9999;
  position: absolute;
}

/* buttons */

.wp-block-button__link,
.wp-block-post-excerpt__more-link {
  padding: 8px 24px;
  border-radius: 12px;
  font-size: 1rem;
  text-decoration: none !important;
  margin-top: 0.6rem;
}

.wp-block-post-excerpt__more-link {
  color: #fff !important;
  background-color: #ed2ea5;
}

.btn-primary {
  background-color: #5755b0;
  border-color: #5755b0;
}

.btn-primary:hover {
  background-color: #000;
  border-color: #000;
}

.btn-secondary {
  background-color: #c94a7b;
  border-color: #c94a7b;
}

.btn-secondary:hover {
  background-color: #000;
  border-color: #000;
}

/* Gradients and backgrounds */

.bg-dark {
  background: #000 !important;
}
.grad-1 {
  background: linear-gradient(180deg, #000000 0%, #5755b0 100%);
}

.grad-2 {
  background: linear-gradient(
    185.65deg,
    #000000 15.96%,
    #5755b0 35.17%,
    #000000 92.89%
  );
}

svg {
  filter: contrast(150%) brightness(90%) url(#halftoneNoise);
}

.nav-link svg {
  filter: none;
}

section.wp-block-custom-section-block-section-inner {
  padding: 16px !important;
}
.icon-background {
  position: relative;
  background-color: #fff;
  color: #000;
  border-radius: 8px;
  padding: 100px 32px;
}

.icon-background svg {
  position: absolute;
  width: 32px;
  height: 32px;
}

.icon-background svg:nth-child(1) {
  top: 8px;
  left: 8px;
}

.icon-background svg:nth-child(2) {
  top: 8px;
  right: 8px;
}

.icon-background svg:nth-child(3) {
  bottom: 8px;
  left: 8px;
}

.icon-background svg:nth-child(4) {
  bottom: 8px;
  right: 8px;
}

.wp-block-custom-section-block-section-inner {
  position: relative;
}

.wp-block-custom-section-block-section-inner::before {
  content: "";
  width: 1px;
  height: 80px;
  position: absolute;
  top: -140px;
  left: 50%;
  display: block;
  background: #666;
}

/* Accordion */

#newsAccordion {
  margin-bottom: 24px;
}

.card,
.card-header {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  outline: none;
}

.card {
  padding: 80px 16px 16px 16px;
  border-radius: 0;
  margin-bottom: 16px;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  position: relative;
  text-decoration: none !important;
}

.card svg {
  position: absolute;
  top: 0;
  right: 0;
}

.card-header h5 button {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex: 1;
  width: 100%;
  padding: 0;
  align-items: center;
  box-shadow: none !important;
  padding-bottom: 8px;
}

.blog-title {
  font-size: 1.4rem;
  font-weight: 300;
  color: #fff;
  text-align: left;
}

.card-header h5 button a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Shippori Mincho", serif;
  font-style: italic;
  color: #fff;
  text-decoration: none;
}

.card-header h5 button a svg {
  width: 16px;
}

.card-body,
.list-categories {
  padding: 0;
  display: flex;
  gap: 8px;
}

.card-body a,
.card-body span {
  border: 1px solid #fff;
  padding: 2px 16px 4px;
  display: flex;
  border-radius: 24px;
  align-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 22px;
  color: #fff;
  font-size: 12px;
}

.card-body span {
  background: #fff;
  color: #000;
}

/* Footer */

footer {
  background: #ebeae6;
  padding: 120px 0 50px;
}

footer {
  color: #000;
}

footer .navbar-brand,
footer .nav-item a {
  color: #000;
}

.site-footer p,
.site-footer a {
  font-size: 16px !important;
  font-weight: 400;
}

.site-footer a {
  color: inherit;
}

.site-footer p {
  color: #000;
}

.site-footer .menu {
  padding: 0;
  margin: 0;
  color: #000;
  list-style: none;
}

.site-footer .wp-block-image img {
  max-height: 100px;
  width: auto;
}

footer .footer-logo {
  height: 50px;
  width: auto;
}

footer .footer-bottom {
  padding-top: 150px;
  padding-bottom: 120px;
}

/* Filters */

.select-container {
  position: relative;
  display: inline-block;
  width: auto;
  /* margin-bottom: 8px; */
}

#allItems {
  background: linear-gradient(111.45deg, #8f8833 19.42%, #f7bdf8 73.08%);
  border: none;
}

select {
  font-size: 16px;
  padding: 8px 30px 8px 16px; /* Adjusted to make room for the arrow */
  border-radius: 20px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  color: #000;
  width: auto;
  border: none;
  outline: none !important;
}

.filter-container {
  gap: 12px;
  display: flex;
  align-items: end;
  margin-bottom: 24px;
}

.filter-container .select-container {
  margin-right: 8px;
}

section.has-bg-FFFFFF .project-item {
  color: #000;
}

.project-item,
.blog-item {
  background: linear-gradient(180deg, rgba(237, 46, 165, 0) 0%, #51b4db 100%);
  position: relative;
  padding: 64px 16px 40px 16px;
  height: 100%;
}

.project-item h3.title,
.blog-item h3.title {
  margin-bottom: 12px;
}

.project-item svg,
.blog-item svg {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  height: 40px;
}

section.has-bg-000000 svg path {
  fill: #ffffff;
}

.project-item a {
  text-decoration: none !important;
}

.project-meta {
  display: flex;
  flex: 1;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.project-meta a {
  background: transparent;
}

.project-meta a span {
  background: #fff;
  color: #000;
  display: flex;
  padding: 6px 12px;
}

section.has-bg-000000 .project-meta span {
  background: #000;
  color: #fff;
}

.project-item,
.article-list-item,
.document-item {
  margin-bottom: 32px;
}

.document-item .image {
  position: relative;
  margin-bottom: 16px;
}

.document-item .image .document-types {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  background: #fff;
  padding: 2px 8px;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  z-index: 4;
}

.article-list-item a,
.project-item a,
.document-item a {
  text-decoration: none;
}

.project-item img,
.article-list-item img,
.document-item img {
  position: relative;
  z-index: 2;
}

.project-item .title,
.blog-item .title,
.article-list-item .title,
.document-item .title,
.wp-block-latest-posts li .wp-block-latest-posts__post-title,
h2.wp-block-post-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 0;
  margin-top: 12px;
  text-decoration: none;
  font-family: "Overpass", sans-serif;
}

.wp-block-post-template .wp-block-post .wp-block-post-title a {
  text-decoration: none;
}

#project-list.list-viewer .project-item {
  flex-direction: row;
  width: 100%;
  gap: 16px;
  border-bottom: 1px solid;
  padding-bottom: 16px;
  margin-bottom: 16px;
}

#project-list.list-viewer .project-item img {
  width: 250px !important;
  max-width: max-content;
}

#project-list.list-viewer .project-item .categories {
  background: none;
  padding: 0;
  margin: 0;
}

#project-list.list-viewer .project-item .tags {
  display: block;
  margin-top: 4px;
}

#project-list.list-viewer .project-item .title,
#project-list.list-viewer .project-item .title,
.wp-block-latest-posts li .wp-block-latest-posts__post-title,
h2.wp-block-post-title {
  margin-top: 0;
  margin-bottom: 8px;
}

.wp-block-post-template li.project.type-project .wp-block-post-date {
  display: none !important;
}

.tags a {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 32px;
  border: 1px solid;
  font-size: 12px;
  margin-right: 4px;
  text-decoration: none;
  margin-bottom: 4px;
}

.project-filters {
  margin-bottom: 32px;
}

.project-filters button,
.document-filters button {
  display: flex;
  padding: 8px 24px;
  border-radius: 32px;
  margin-right: 4px;
  border: 1px solid #fff;
  color: #000;
  flex: none;
  gap: 8px;
  align-items: center;
  outline: none;
}

.project-filters button.active,
.document-filters button.active {
  background: #000;
  border-color: #fff;
  color: #fff;
}

.project-filters button svg,
.document-filters button svg {
  margin-top: -3px;
}

.filter-item.active-select {
  background-color: #fff;
  color: #000;
}

.align-right {
  text-align: right;
}

.viewBtn {
  background: #f1e0b2;
  margin-right: 0;
  margin-left: 8px;
}

.viewBtn.active-view {
  background: #fff;
}

.button-container {
  display: flex;
}

/* Breadcrumbs */

.breadcrumb {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 1rem;
  list-style: none;
  background-color: transparent !important;
  border-radius: 0;
  gap: 8px;
  align-items: center;
}

/* Pagination */

.pagination-controls {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-direction: row;
  align-items: center;
  margin-top: 40px;
}

.page-navigation,
#prevButton,
#nextButton {
  background: #ed2ea5;
  padding: 8px 24px;
  border-radius: 12px;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  color: #fff;
}

.page-indicator,
#pageIndicator {
  padding: 8px;
  display: inline-block;
  font-weight: 400;
  border-radius: 24px;
  color: #fff;
  background: none;
  text-decoration: none;
  height: 40px;
  width: 40px;
  border: none;
  text-align: center;
  font-weight: 300;
}

.has-bg-FFFFFF .page-indicator {
  color: #000;
}

.page-indicator.active {
  font-weight: 600;
}

.image {
  position: relative;
}

.image .categories {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
}

.categories {
  margin-bottom: 4px;
}

.categories a {
  display: inline-block;
  background: #fff;
  color: #000 !important;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  margin-right: 4px;
}

/* Documents */

.hero.page-hero {
  margin-bottom: -250px;
  padding-top: 200px !important;
}

.meta-title {
  display: inline-block;
}

.meta-value {
  display: inline-block;
  flex: 1;
  padding: 4px 16px;
  border-radius: 16px;
  margin-left: 8px;
  border: 1px solid #fff;
}

.meta-value .meta-data a {
  color: #fff;
}

.download-btn {
  background: #fff;
  color: #000 !important;
  padding: 8px 16px;
  border-radius: 24px;
  margin-top: 16px;
  display: inline-block;
  text-decoration: none !important;
}

.project-meta a {
  text-decoration: none !important;
}

/* Activities */

.wp-block-custom-activity {
  border-radius: 16px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.wp-block-custom-activity > span {
  display: inline-block;
  border: 1px solid;
  border-radius: 24px;
  margin-right: 8px;
  margin-bottom: 8px;
  padding: 4px 14px;
  background: linear-gradient(to right, #000, #000),
    linear-gradient(to right, #c94a7b, #8f8833);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  border: 1px solid transparent;
  font-size: 14px;
}

section[style*="background-color:#C94A7B;"] .wp-block-custom-activity > span {
  background: linear-gradient(to right, #c94a7b, #c94a7b),
    linear-gradient(to right, #ffe9fe, #8f8833);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

section[style*="background-color:#5755B0;"] .wp-block-custom-activity > span {
  background: linear-gradient(to right, #5755b0, #5755b0),
    linear-gradient(to right, #c94a7b, #ffe9fe);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

section[style*="background-color:#1FB19D;"] .wp-block-custom-activity > span {
  background: linear-gradient(to right, #1fb19d, #1fb19d),
    linear-gradient(to right, #8f8833, #c94a7b);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

section[style*="background-color:#271233;"] .wp-block-custom-activity > span {
  background: linear-gradient(to right, #271233, #271233),
    linear-gradient(to right, #8f8833, #c94a7b);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
}

.curved-bottom-section {
  margin: auto -150px;
  position: relative;
  border-bottom-left-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
  margin-bottom: 150px !important;
  z-index: 7;
}

.curved-bottom-section + * {
  padding-top: 300px !important;
  margin-top: -350px;
  z-index: 4;
}

.wp-block-custom-activity p {
  font-size: 1.2rem;
}

.logo-grid {
  padding: 16px;
  margin-top: 32px;
}

.logo-grid .logo-grid-images {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(100px, 1fr)
  ); /* Adjust minmax values as needed */
  justify-content: center; /* Centers the grid horizontally */
  align-items: center; /* Centers the grid vertically */
  gap: 20px; /* Adjust the space between logos */
}

.left-align .logo-grid .logo-grid-images {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.logo-grid img {
  height: 50px; /* Fixed height */
  width: auto; /* Maintains aspect ratio */
  object-fit: contain; /* Ensures the image fits within the height */
}

/* SVG Editor block */

.svg-selector-block {
  margin-bottom: 32px;
}

.svg-selector-block svg {
  width: 200px;
  height: 200px;
}

/* Events */

.tribe-events-event-image img {
  border-radius: 8px;
}

.tribe-events-content a {
  border-bottom: none !important;
}

.tribe-events-widget-events-list__header {
  position: static !important;
}

.tribe-events-widget-events-list__header-title {
  font-size: 2rem !important;
  font-weight: 400 !important;
  font-family: "Chap-Medium" !important;
  color: inherit !important;
}

.tribe-events-c-messages__message.tribe-events-c-messages__message--notice {
  background: #fff !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-weight: 300 !important;
}

.tribe-events-c-messages__message-list-item {
  font-family: "DM Sans", system-ui !important;
  font-weight: 300 !important;
}

#tribe-events-content {
  background: #000;
  margin: 16px;
  padding: 16px;
  border-radius: 16px;
}

#tribe-events-content * {
  color: #fff !important;
}

#tribe-events-content p {
  font-family: "DM Sans", system-ui !important;
}

.tribe-events-back {
  color: #141827;
  margin: 0;
  font-weight: 200;
}

.tribe-events-widget-events-list__events {
  background: linear-gradient(317.42deg, #ffe9fe 10.42%, #ff96f9 83.03%);
  border-radius: 8px;
  color: #000;
  padding: 16px !important;
}

.tribe-events-widget-events-list__events header,
.tribe-events-calendar-list__event-header {
  position: static;
}

.tribe-events-l-container {
  background: #fff;
  margin-top: 200px;
}

.tribe-events-calendar-list__month-separator {
  color: #000;
}

.tribe-common-l-container.tribe-events-l-container {
  margin-top: 200px !important;
}

.tribe-events-widget-events-list__view-more-link {
  color: #000 !important;
  background: #fff !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 24px !important;
}

.main-meta {
  padding: 0 16px;
  border: 1px solid #ccc;
  margin-bottom: 16px;
  border-radius: 8px;
}

.main-meta .event-meta-container {
  display: flex;
  flex: 1;
  justify-content: space-between;
}

.main-meta .event-meta-container > div {
  flex: 1 !important;
}

.tribe-events-schedule {
  margin-bottom: 0 !important;
}

.tribe-events-event-meta:before {
  display: none;
}

.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border {
  border: none;
  background: linear-gradient(111.45deg, #8f8833 19.42%, #f7bdf8 73.08%);
  color: #000 !important;
  transition: all ease-in-out 0.2s;
}

.tribe-common .tribe-common-c-btn-border:hover,
.tribe-common a.tribe-common-c-btn-border:hover {
  background: linear-gradient(111.45deg, #f7bdf8 19.42%, #8f8833 73.08%);
}

#tribe-events-content .tribe-events-c-subscribe-dropdown * {
  color: #000 !important;
}

#tribe-events-subscribe-dropdown-content {
  position: relative;
  top: 0px;
}

#tribe-events-pg-template {
  padding: 0 !important;
  max-width: 100% !important;
}

#tribe-events-pg-template #tribe-events-content {
  max-width: 1140px;
  margin: 16px auto !important;
}

#tribe-events-content table {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 8px;
  padding: 0 12px;
}

/* Accordion */

.wp-block-details {
  margin-bottom: 16px;
  border-bottom: 1px solid;
  padding-bottom: 16px;
  padding-top: 16px;
  background: linear-gradient(90deg, #51b4db 0%, #ffffff 50%, #51b4db 100%);
  border-radius: 16px;
  padding-left: 16px;
  padding-right: 16px;
}

.wp-block-details summary {
  font-size: 24px;
  font-family: "Chivo", serif;
  font-weight: 300;
}

.wp-block-details {
  border: none;
}

.wp-block-details > summary {
  position: relative;
  list-style: none;
  padding-right: 32px;
  font-weight: 600;
  font-size: 20px;
}

/* Remove default arrow */
.wp-block-details > summary::-webkit-details-marker {
  display: none;
}

/* Add the custom icon */
.wp-block-details > summary::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='18' viewBox='0 0 20 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0V20.0625L2.21875 13.2812L0.78125 14.7188L9.28125 23.2188L10 23.9062L10.7188 23.2188L19.2188 14.7188L17.7812 13.2812L11 20.0625V0H9Z' fill='black'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.2s ease;
}

/* Rotate icon when details is open */
.wp-block-details[open] > summary::after {
  transform: translateY(-50%) rotate(180deg);
}

/* Border styles for columns */
.wp-block-column.is-style-border-right-primary {
  border-right: 1px solid #51b4db;
  padding-right: 16px;
}

.wp-block-column.is-style-border-right-black {
  border-right: 1px solid #000000;
  padding-right: 16px;
}

.wp-block-column.is-style-border-right-yellow {
  border-right: 1px solid #ffc800;
  padding-right: 16px;
}

.wp-block-column.is-style-border-right-pink {
  border-right: 1px solid #ed2ea5;
  padding-right: 16px;
}

.wp-block-column.is-style-border-right-grey {
  border-right: 1px solid #ebeae6;
  padding-right: 16px;
}

.partner-logos-block {
  margin-bottom: 32px;
}

.partner-logos-block .partner-logos-grid {
  display: flex;
  /* This allows dynamic columns if you do: style="--partner-logos-columns: X" */
  grid-template-columns: repeat(var(--partner-logos-columns, 4), 1fr);
  gap: 2rem;
  flex-wrap: wrap;
}

.partner-logos-item {
  text-align: center;
}

.partner-logos-item img {
  width: auto;
  height: 60px;
  display: block;
  margin: 0 auto 0.5em;
}

.partner-logos-item .partner-description {
  font-size: 12px;
}

/* Four-column layout support */
@media (min-width: 782px) {
  .wp-block-columns.has-4-columns {
    flex-wrap: nowrap;
  }

  .wp-block-columns.has-4-columns > .wp-block-column {
    flex-basis: 25%;
    flex-grow: 0;
  }
}

/* Blog */

.blog-filters {
  margin-bottom: 2rem;
}

.filter-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.button-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.filter-container button {
  padding: 0.5rem 1rem;
  background: white;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
}

.filter-container button.active {
  border-bottom: 1px solid #000;
}

.category-btn:hover {
  background: #f5f5f5;
}

.allbtn:hover {
  background: #f5f5f5;
}

.blog-grid .post-meta {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  gap: 8px;
}

.blog-grid .post-meta > * {
  background-color: #fff;
  color: #000 !important;
  padding: 8px 12px;
  text-decoration: none !important;
}

.blog-grid .post_info svg {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
}

.post_info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  height: calc(100% - 16px);
  margin-bottom: 16px;
}

.blog-item .title {
  margin-top: 16px;
}

.blog-item .title,
.blog-item .title *,
.blog-item .excerpt a {
  color: #000 !important;
  text-decoration: none !important;
  margin-bottom: 8px;
}

.pagination-inner .page-number {
  border: none;
  background: none;
  padding: 16px;
}

/* search */

.search-toggle-btn {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-form-container {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  padding: 1rem;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.search-form-container.active {
  display: block;
}

.search-form {
  display: flex;
  gap: 0.5rem;
}

.search-field {
  padding: 0.5rem;
  border: none;
  border-radius: 4px;
  min-width: 250px;
  font-size: 1rem;
}

.search-field:focus {
  outline: none;
  border-color: #000;
}

.search-submit {
  padding: 0.5rem;
  background: black;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Minimise */

/* Add position relative to the container */
.wp-block-custom-section-block-section.minimise,
.has-bg-EBEAE6.minimise {
  position: relative;
}

/* Container that holds everything after the more span */
.wp-block-custom-section-block-section.minified {
  /* height: 700px; commented out to allow dynamic inline height */
  overflow: hidden;
  z-index: 1;
}

.wp-block-custom-section-block-section.minified .more {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    #ffffff 36%
  );
  bottom: 0;
  left: 0;
  padding: 60px 0 100px;
  position: absolute;
  right: 0;
  text-align: left;
  z-index: 9;
}

.has-bg-EBEAE6.minified .more {
  background-image: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    #ebeae6 36%
  );
  bottom: 0;
  left: 0;
  padding: 60px 0 100px;
  position: absolute;
  right: 0;
  text-align: left;
  z-index: 9;
}

/* Example styling for your buttons, adjust as desired */
.showme.btn,
.hideme.btn {
  cursor: pointer;
  margin: 0.5rem 0;
}

.hideme.btn {
  margin-bottom: 32px;
}

.more .btn {
  padding: 4px 0px;
  border-radius: 12px;
  font-size: 1rem;
  text-decoration: none !important;
  margin-top: 0px;
  flex-direction: row;
  display: flex;
  gap: 8px;
  align-items: center;
}

.more .btn span {
  background-color: #ed2ea5;
  color: #fff;
  padding: 3px 10px;
  border-radius: 16px;
}

/* Read more built in */

.wp-readmore-container {
  position: relative;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.wp-readmore-container.wp-readmore-hidden {
  max-height: 0;
}

.wp-readmore-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.wp-readmore-toggle .btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.wp-readmore-toggle .btn span {
  background-color: #ed2ea5;
  color: #fff;
  padding: 9px 10px;
  border-radius: 16px;
}

.wp-readmore-toggle .btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.wp-readmore-toggle svg {
  display: block;
}

/* Responsive */

@media (max-width: 1230px) {
}
@media (max-width: 992px) {
  .swiper-slide {
    height: 500px;
  }
}

@media (max-width: 792px) {
}

@media (max-width: 562px) {
  .wp-block-custom-hero-block-hero {
    height: 400px;
  }

  .hero-circle {
    width: 400px;
    height: 400px;
  }

  .curved-bottom-section {
    margin: 0;
    border-radius: 0 !important;
  }
  section {
    padding: 60px 0 !important;
  }

  .navbar-nav {
    background: #51b4db;
    padding: 8px;
    margin-top: 16px;
  }

  .wp-block-column.is-style-border-right-pink {
    border-right: none;
    padding-right: 0;
  }

  h2 {
    font-size: 1.6rem;
  }
}

@media (min-width: 992px) {
}
