/* =============================================================================
   Link box
   ========================================================================== */

.linkbox {
  position: relative;
  display: block;
  padding: 20px;
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  transition: background 0.3s ease;

  & p {
    margin: 0;
  }
}

a.linkbox {
  color: rgb(var(--c-neutral-lightest));
}

.linkbox.-withLink {
  padding-right: 60px;
}

.linkbox.-withLink::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 22px;
  height: 48px;
  margin-top: -24px;
  background-color: rgb(var(--c-neutral-lightest));
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 48'%3E%3Cpolyline points='1,1 21,24 1,47' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.linkbox__title {
  margin-bottom: 0.2em;
  font-size: var(--f-size-l-1);
  line-height: 1.4;
  text-transform: uppercase;
}

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

/* =============================================================================
   Special table
   ========================================================================== */

.specialTable__row {
  margin-bottom: 10px;
}

.specialTable__cell {
  padding: 0.3em 0.7em;
  border: 1px solid rgb(var(--c-neutral-lightest));

  & p {
    margin: 0;
  }
}

.specialTable__cell.-head {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  text-transform: uppercase;
}

.specialTable__cell.-body {
  background: rgb(var(--c-neutral-lighter));
}

.content .frame-bg-grey .specialTable__cell,
.content > .frame:nth-child(2n) .specialTable__cell {
  border-color: rgb(var(--c-neutral-lighter));
}

.content .frame-bg-grey .specialTable__cell.-body,
.content > .frame:nth-child(2n) .specialTable__cell.-body {
  background: rgb(var(--c-neutral-lightest));
}

@media (min-width: 501px) {
  .specialTable__row {
    display: flex;
    margin-bottom: 0;
  }

  .specialTable__cell.-head {
    flex: 0 0 35%;
  }

  .specialTable__cell.-body {
    flex: 1 1 65%;
  }
}

/* =============================================================================
   Scroll image
   ========================================================================== */

.content > .frame-type-dce_dceuid5 {
  padding-top: 0;
  padding-bottom: 0;
}

.frame-type-dce_dceuid5 > .scrollImage {
  grid-column: 1 / -1;
}

.scrollImage__image {
  width: 100%;
  height: 34vw;
  max-height: 700px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (hover: hover) and (min-width: 1025px) {
  .scrollImage__image {
    background-attachment: fixed;
  }
}

/* =============================================================================
   Portal switch
   ========================================================================== */

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

  .portalSwitch__item:hover::before {
    background: rgb(var(--c-primary));
  }
}

/* =============================================================================
   Service slider
   ========================================================================== */

.serviceslider .swiper-button-lock {
  display: none;
}

@media (hover: hover) {
  .serviceslider__prev:hover,
  .serviceslider__next:hover {
    color: rgb(var(--c-primary-dark));
  }

  .serviceslider__link:hover .serviceslider__icon,
  .serviceslider__link:hover .serviceslider__title {
    color: rgb(var(--c-primary-dark));
  }
}
