.act-image-content {
  --act-image-content-background: #c2bfff;
  --act-image-content-text: #302653;
  --act-image-content-link: #302653;
  --act-image-content-inner-width: 1840px;
  --act-button-background: #302653;
  --act-button-background-hover: #fff867;
  --act-button-text: #ffffff;
  --act-button-icon-color: #ffffff;
  --act-button-icon-hover-color: #302653;

  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-top: clamp(35px, 5vw, 70px);
  margin-bottom: clamp(35px, 5vw, 70px);
  color: var(--act-image-content-text);
  background-color: var(--act-image-content-background);
  border-radius: var(--act-card-radius, 15px);
  overflow: hidden;
}

.act-image-content--dark-blue {
  --act-image-content-background: #302653;
  --act-image-content-text: #ffffff;
  --act-image-content-link: #fff867;
  --act-button-background: #fff867;
  --act-button-background-hover: #c2bfff;
  --act-button-text: #302653;
  --act-button-icon-color: #302653;
  --act-button-icon-hover-color: #302653;
}

.act-image-content--light-purple {
  --act-image-content-background: #c2bfff;
  --act-image-content-text: #302653;
  --act-image-content-link: #302653;
  --act-button-background: #302653;
  --act-button-background-hover: #fff867;
  --act-button-text: #ffffff;
  --act-button-icon-color: #ffffff;
  --act-button-icon-hover-color: #302653;
}

.act-image-content--yellow {
  --act-image-content-background: #fff867;
  --act-image-content-text: #302653;
  --act-image-content-link: #302653;
  --act-button-background: #302653;
  --act-button-background-hover: #c2bfff;
  --act-button-text: #ffffff;
  --act-button-icon-color: #ffffff;
  --act-button-icon-hover-color: #302653;
}

.act-image-content--cream {
  --act-image-content-background: #f5eee3;
  --act-image-content-text: #302653;
  --act-image-content-link: #302653;
  --act-button-background: #302653;
  --act-button-background-hover: #fff867;
  --act-button-text: #ffffff;
  --act-button-icon-color: #ffffff;
  --act-button-icon-hover-color: #302653;
}

.act-content .act-image-content.alignwide {
  position: relative;
  left: 50%;
  width: min(1400px, calc(100vw - 60px));
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  transform: translateX(-50%);
}

.act-content .act-image-content.alignfull {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  border-radius: 0;
  transform: translateX(-50%);
}

.act-content .act-image-content.alignfull .act-image-content__inner {
  width: 100%;
  max-width: none;
}

.act-image-content__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
  max-width: var(--act-image-content-inner-width);
  margin-inline: auto;
}

.act-image-content.has-no-image .act-image-content__inner {
  display: block;
  min-height: 0;
}

.act-image-content__media {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.act-image-content__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.act-image-content__content {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 30px;
  color: var(--act-image-content-text);
}

.act-image-content--image-left .act-image-content__media {
  grid-column: 1;
  grid-row: 1;
}

.act-image-content--image-left .act-image-content__content {
  grid-column: 2;
  grid-row: 1;
}

.act-image-content--image-right .act-image-content__content {
  grid-column: 1;
  grid-row: 1;
}

.act-image-content--image-right .act-image-content__media {
  grid-column: 2;
  grid-row: 1;
}

.act-image-content.has-no-image .act-image-content__content {
  width: 100%;
}

.act-image-content__content,
.act-image-content__content h1,
.act-image-content__content h2,
.act-image-content__content h3,
.act-image-content__content h4,
.act-image-content__content h5,
.act-image-content__content h6,
.act-image-content__content p,
.act-image-content__content li {
  color: var(--act-image-content-text);
}

.act-image-content__content > :first-child {
  margin-top: 0;
}

.act-image-content__content > :last-child {
  margin-bottom: 0;
}

.act-image-content__content a:not(.btn):not(.wp-block-button__link) {
  color: var(--act-image-content-link);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.act-image-content__content a:not(.btn):not(.wp-block-button__link):hover,
.act-image-content__content a:not(.btn):not(.wp-block-button__link):focus-visible {
  text-decoration-thickness: 0.14em;
}

.act-image-content__content a.btn,
.act-image-content__content a.btn:hover,
.act-image-content__content a.btn:focus,
.act-image-content__content a.btn:focus-visible,
.act-image-content__content .wp-block-button__link,
.act-image-content__content .wp-block-button__link:hover,
.act-image-content__content .wp-block-button__link:focus,
.act-image-content__content .wp-block-button__link:focus-visible {
  border-bottom: 0 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.act-image-content__content .wp-block-act-button a,
.act-image-content__content .wp-block-act-button a:hover,
.act-image-content__content .wp-block-act-button a:focus,
.act-image-content__content .wp-block-act-button a:focus-visible,
.act-image-content__content .act-button a,
.act-image-content__content .act-button a:hover,
.act-image-content__content .act-button a:focus,
.act-image-content__content .act-button a:focus-visible {
  border-bottom: 0 !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.act-image-content__content a.btn *,
.act-image-content__content .wp-block-act-button a *,
.act-image-content__content .act-button a *,
.act-image-content__content .wp-block-button__link * {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.act-image-content__content .wp-block-button__link {
  color: var(--act-button-text);
  background-color: var(--act-button-background);
}

.act-image-content__content .wp-block-button__link:hover,
.act-image-content__content .wp-block-button__link:focus-visible {
  color: var(--act-button-icon-hover-color);
  background-color: var(--act-button-background-hover);
}

.act-image-content--dark-blue .act-image-content__content a.btn:hover,
.act-image-content--dark-blue .act-image-content__content a.btn:focus-visible,
.act-image-content--dark-blue .act-image-content__content .wp-block-button__link:hover,
.act-image-content--dark-blue .act-image-content__content .wp-block-button__link:focus-visible {
  --button-background: #c2bfff;
  color: #302653;
  background-color: #c2bfff;
}

@media (min-width: 1601px) {
  .act-image-content__content {
    padding: 35px 40px;
  }
}

@media (min-width: 2001px) {
  .act-image-content__content {
    padding: 40px 50px;
  }
}

@media (max-width: 999px) {
  .act-image-content__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .act-image-content--image-left .act-image-content__media,
  .act-image-content--image-right .act-image-content__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .act-image-content--image-left .act-image-content__content,
  .act-image-content--image-right .act-image-content__content {
    grid-column: 1;
    grid-row: 2;
    padding: 30px;
  }
}

@media (max-width: 767px) {
  .act-image-content {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .act-content .act-image-content.alignwide {
    width: calc(100vw - 60px);
  }

  .act-image-content__content,
  .act-image-content--image-left .act-image-content__content,
  .act-image-content--image-right .act-image-content__content {
    padding: 30px 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .act-image-content *,
  .act-image-content *::before,
  .act-image-content *::after {
    scroll-behavior: auto !important;
  }
}
