/* Col2 imageleft and imageright */
.frame-type-col2-imageright,
.frame-type-col2-imageleft {
  grid-template-columns: 4% 1fr 4%;
}

.textimage__text {
  grid-column: 2;
}

.textimage__image {
  grid-column: span 3;
  min-height: 32vw;
  position: relative;
  overflow: hidden;
}

.frame-type-col2-imageright .textimage__text {
  padding-bottom: var(--g-gap);
}

.frame-type-col2-imageleft .textimage__text {
  padding-top: var(--g-gap);
}

/* Tabs */
.tabs__button {
  border: 2px solid rgb(var(--c-primary));
  color: rgb(var(--c-primary));
  background: transparent;
  font-weight: var(--f-weight-sb);
}

.tabs__button.-active {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  .tabs__button:hover {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
  }
}

/* Accordion vertical */
.accordion.-vertical .accordion__item:not(:first-child) .accordion__header {
  margin-top: var(--g-gap-s);
}

.accordion.-vertical .accordion__content {
  padding: 1.2rem;
}

.accordion.-vertical .accordion__button {
  background: transparent;
  color: rgb(var(--c-neutral-darker));
  text-transform: uppercase;
  border: 1px solid rgb(var(--c-neutral));
}

.accordion.-vertical .accordion__header::after {
  color: rgb(var(--c-neutral-darker));
}

.accordion.-vertical .accordion__header:hover,
.accordion.-vertical .accordion__header.-active {
  &::after {
    color: rgb(var(--c-primary));
  }
  & .accordion__button {
    color: rgb(var(--c-primary));
    border: 1px solid rgb(var(--c-primary));
  }
}

/* Accordion horizontal */
.accordion.-horizontal .accordion__content {
  padding: 2rem;
}

.accordion.-horizontal .accordion__headertext {
  font-size: var(--f-size-l-3);
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__button {
  background-color: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-horizontal .accordion__button {
  background: transparent;
  color: rgb(var(--c-primary));
  border: 2px solid rgb(var(--c-primary));
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__buttontext {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 100%;
  hyphens: none;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
  border-radius: var(--b-radius-s);
  overflow: hidden;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content h2,
.accordion.-horizontal .accordion__header.-active + .accordion__content h3,
.accordion.-horizontal .accordion__header.-active + .accordion__content h4,
.accordion.-horizontal .accordion__header.-active + .accordion__content a {
  color: rgb(var(--c-neutral-lightest));
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 640px) {
  div.tabs.-vertical {
    grid-gap: 0;

    & .tabs__nav {
      border-top: 1px solid rgb(var(--c-neutral));
      gap: 0;
    }
    & .tabs__button {
      border: none;
      border-left: 2px solid rgb(var(--c-neutral));
      border-bottom: 1px solid rgb(var(--c-neutral));
      text-align: left;
      background-color: rgb(var(--c-neutral-lightest));
      font-weight: var(--f-weight-n);
      color: rgb(var(--c-neutral-dark));

      &.-active {
        background-color: rgb(var(--c-primary));
        color: rgb(var(--c-neutral-lightest));
      }
    }

    & .tabs__content {
      background-color: rgb(var(--c-neutral-lightest));
      padding: var(--g-gap);
      border: 1px solid rgb(var(--c-neutral));
    }
  }
}

@media (min-width: 800px) {
  /* Accordion horizontal */
  .accordion.-horizontal .accordion__buttontext {
    padding: 2rem 0.5rem;
  }

  /* col2 imageleft and imageright */
  .content div.frame-type-col2-imageright {
    grid-template-columns: 4% 2fr 1fr 4%;
    padding: 0;
  }

  .content > .frame-bg-grey + .frame.frame-type-col2-imageright,
  .content > .frame-bg-grey + .frame.frame-type-col2-imageleft {
    padding-top: 0;
  }

  .frame-type-col2-imageright .textimage__image {
    grid-column: 3 / 5;
  }

  .textimage__image {
    min-height: initial;
  }

  .textimage__text {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
  }

  .frame-type-col2-imageright .textimage__text {
    padding: var(--p) var(--g-gap) var(--p) 0;
  }

  .content div.frame-type-col2-imageleft {
    grid-template-columns: 4% 1fr 2fr 4%;
    padding: 0;
  }

  .frame-type-col2-imageleft .textimage__text {
    grid-column: 3;
    padding: var(--p) 0 var(--p) var(--g-gap);
  }

  .frame-type-col2-imageleft .textimage__image {
    grid-column: 1 / 3;
  }

  .textimage__image img,
  .textimage__image a {
    display: block;
    height: 100%;
    width: 100%;
  }

  .textimage__image img {
    object-fit: cover;
  }

}

@media (min-width: 1580px) {
  /* col2 imageleft and imageright */
  .frame-type-col2-imageright .textimage__text {
    padding: var(--p) var(--g-gap) var(--p) calc((92vw - 1440px) / 2);
  }

  .frame-type-col2-imageleft .textimage__text {
    padding: var(--p) calc((92vw - 1440px) / 2) var(--p) var(--g-gap);
  }
}
