.block-text-image {
  --image-spacing: 4rem;
}

@media (max-width: 768px) {
  .block-text-image .text-image-row {
    display: grid;
  }
}

.block-text-image .text-image-row:not(:last-child):has(.description) {
  margin-bottom: 2rem;
}

.block-text-image .text-image-row.image-right .image {
  float: right;
}

@media (min-width: 769px) {
  .block-text-image .text-image-row.image-right .image {
    margin-left: var(--image-spacing)
  }
}

.block-text-image .text-image-row.image-right .text .btn {
  float: left;
}

.block-text-image .text-image-row.image-left .image {
  float: left;
}

@media (min-width: 769px) {
  .block-text-image .text-image-row.image-left .image {
    margin-right: var(--image-spacing)
  }
}

.block-text-image .text-image-row.image-left .text .btn {
  float: right;
}

.block-text-image .iufro--caret-down-read-more {
  display: inline-flex;
  transform: rotate(0deg);
  transform-origin: center;
  transition: all 0.3s ease;
}

.block-text-image .iufro--caret-down-read-more.rotate-icon {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .block-text-image .text {
    margin-bottom: 2rem;
  }
}

.block-text-image .image {
  margin-bottom: 1rem;
}

@media (min-width: 769px) {
  .block-text-image .image {
    width: var(--image-size);
  }
}

@media (max-width: 768px) {
  .block-text-image .image {
    order: 2;
    margin-bottom: 0px;
  }
}

.block-text-image .image picture {
  display: flex;
}

.block-text-image.block-text-image-four {
  --image-size: 25%;
  --image-spacing: 3rem;
}

.block-text-image.block-text-image-four .text .description {
  margin-bottom: 1rem;
}

.block-text-image.block-text-image-one {
  --image-size: 30%;
}

.block-text-image.block-text-image-one .text-image-row-inner:not(.full-text) {
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  max-height: 240px;
}

@media only screen and (min-width: 769px) {
  .block-text-image.block-text-image-one .text-image-row-inner:not(.full-text) .image {
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    max-width: 0;
    transition: all 0.3s ease-in-out;
  }

  .block-text-image.block-text-image-one .text-image-row-inner:not(.full-text).expanded .image {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    max-width: 342px;
  }
}

.block-text-image.block-text-image-two {
  --image-size: 45%;
}

.block-text-image .read-more-link {
  color: #000;
  font-weight: 500;
  cursor: pointer;
  margin-top: 1.75rem;
}

@media only screen and (max-width: 768px) {
  .block-text-image .read-more-link {
    margin-top: 1rem
  }
}

.block-text-image .read-more-link i {
  margin-left: 0.5rem;
  font-size: .625rem;
  color: var(--iufro-green-1);
}
