/* service slider */
.service__slider {
  --swiper-navigation-color: #2D2D2D;
  width: 100%;

  & .swiper-slide {
    width: 100%;
  }

  & .service__item {
    text-align: center;
    padding: 0 2rem;
  }

  & .service__icon {
    margin-bottom: 2rem;
  }

  & .service__subtitle {
    color: rgb(var(--c-neutral-dark));
  }

  & .service__icon .iconfontsolid {
    font-size: 75px;
    line-height: 85px;
  }

  & .service__icon.-image {
    max-height: 85px;
  }
}

/* Text image tile */
.tilebox {
  grid-column: span 5;
}

.tilebox-wrapright {
  padding: 2.5em 4%;
}

.tilebox-textwrap h2,
.tilebox-textwrap h3 {
  font-size: 150%;
}

.tilebox-textwrap b,
.tilebox-textwrap strong {
  color: rgb(var(--c-neutral-darker));
  text-transform: uppercase;
}

.tilebox-table {
  padding: 2.5rem 4%;
  text-align: center;
  background: rgb(var(--c-neutral-lighter));
}

.tilebox-wrapupper {
  border-bottom: 2px solid rgb(var(--c-neutral-lightest));
}

/* Scrollimage */
.imagefullwidth {
  position: relative;
}

.imagefullwidth-text {
  position: absolute;
  bottom: 3em;
  left: 4%;
  width: 100%;
  line-height: 2;
}

.imagefullwidth-image {
  height: 500px;
  width: 100%;
}

.imagefullwidth-image.scrollimage {
  background-attachment: scroll !important;
}

/* Icons */
.icons {
  display: flex;
  grid-gap: 2px;
  align-self: end;
  justify-content: flex-end;
  grid-column: 2;
}

.icons__item {
  background: rgb(var(--c-neutral-darker));
  color: rgb(var(--c-neutral-lightest));
  display: flex;
  width: 56px;
  padding: 10px;
  height: 50px;
  font-size: 30px;
  justify-content: center;
  align-items: center;
  position: relative;
  line-height: 1;
}

.icons__link {
  color: rgb(var(--c-neutral-lightest));

  & img {
    height: 30px;
  }

  &::after {
    position: absolute;
    top: 4px;
    right: 4px;
  }
}

@media (hover: hover) {
  .icons__item:hover {
    background: rgb(var(--c-primary));
  }
}

/* Buttons */
.buttons__list {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: var(--g-gap);
}

.buttons__item {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
  text-align: center;
  text-transform: uppercase;
  font-family: var(--f-family-2);
  padding: 0.5rem;
}

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

/* Uploads */
.frame-type-dce_dceuid3 a[rel="noreferrer"]:not(:has(span.font__button))::after {
  display: none;
}

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

@media (min-width: 640px) {
  .service__slider {
    & .swiper-slide {
      width: 50%;
    }
  }

  /* Buttons */
  .buttons__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .buttons__list[data-count="3"] {
    grid-template-columns: repeat(3, 1fr);
  }

  /* text image tile */
  .tilebox-wrapleft {
    display: grid;
    grid-gap: 2px;
    grid-template-columns: repeat(2, 1fr);
  }

  .tilebox-wrapupper {
    border: none;
  }
}

@media (min-width: 1280px) {
  .service__slider {
    & .swiper-slide {
      width: 25%;
    }
  }

  /* Buttons */
  .buttons__list[data-count="4"] {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Icons */
  .icons {
    grid-column: 3;
  }

  /* text image tile */
  .tilebox-wrapleft {
    display: block;
  }

  .tilebox-container {
    position: relative;
    margin: 0 auto;
    max-width: 1640px;
  }

  .imagefullwidth + .tilebox-container {
    margin-top: -4vw;
  }

  .tilebox-textwrap {
    padding: 2.5rem 2rem;
  }

  .tilebox-wrapleft {
    float: left;
    width: 67%;
  }

  .tilebox-wrapright {
    float: right;
    width: 25%;
    margin-right: 5%;
    margin-top: 4vw;
    padding: 4em 0 0 0;
  }

  .tilebox-wrapright .tilebox-image {
    max-width: 250px;
    margin-top: 1.5rem;
  }

  .tilebox-table {
    display: table;
    min-height: 300px;
    width: 100%;
    padding: 0;
  }

  .tilebox-td {
    display: table-cell;
    height: 100%;
  }

  .tilebox-wraplower .tilebox-image {
    border-bottom: 50px solid rgb(var(--c-neutral-lightest));
  }

  .tilebox-textwrap {
    width: 40%;
  }
}