//------------------------------------\
//  MEDIA ELEMENTS
//------------------------------------/

// Text next to media/figure
.a-media {
  display: block;

  @include media-breakpoint-up( md ) {
    display: flex;
  }

  img {
    width: 100%;
    max-width: 100%;
    margin-bottom: $spacer * 3;

    @include media-breakpoint-up( md ) {
      max-width: 300px;
      margin-bottom: 0;
    }

    @include media-breakpoint-up( lg ) {
      max-width: 400px;
    }

    @include media-breakpoint-up( xl ) {
      max-width: 500px;
    }
  }
}

.a-illustrationLink {
  display: block;
  padding: $spacer * 2 $spacer;
  margin-bottom: $spacer * 2;
  text-align: center;
  border: none;

  h2 {
    @include a-fontBold;
    display: inline;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
  }

  p {
    min-height: 48px;
    margin-top: $spacer * 0.5;
    text-align: center;
  }

  &:hover,
  &:focus,
  &:active {
    border: none;

    h2 {
      color: $blue-darker;
      border-bottom: 2px solid $blue-darker;
    }

    .a-illustration-icon {
      position: relative;

      .a-illustration-overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: $white-opacity-01;
        border-radius: 50%;
      }
    }
  }
}

.a-illustration-icon {
  @include a-fontSize30;
  display: flex;
  width: 100px;
  height: 100px;
  margin: auto;
  overflow: hidden;
  color: $white;
  text-align: center;
  background: $purple;
  border-radius: 50%;
  align-self: center;

  @include media-breakpoint-up( md ) {
    @include a-fontSize36;
    width: 120px;
    height: 120px;
  }

  img {
    width: 100%;
  }

  i {
    width: 100%;
    align-self: center;
  }
}

.an-svg {
  width: 100%;

  &.an-svg-wider {
    @include media-breakpoint-up ( lg ) {
      width: calc( 100% + 54px );
      margin-left: -27px;
    }
    @include media-breakpoint-up ( xl ) {
      width: calc( 100% + 88px );
      margin-left: -44px;
    }
  }
}

.an-grayscale {
  filter: grayscale(100%);
}

.an-multiply {
  mix-blend-mode: multiply;
}

.an-regnestykke {
  td,
  th {
    @include a-fontReg;

    padding: 2px 0 2px 0;
    border-bottom: none;
  }

  td {
    @include a-fontMedium;
    @include a-fontBold;
    width: auto;
    text-align: right;
    white-space: nowrap;
    vertical-align: bottom;

    @include media-breakpoint-up( sm ) {
      width: 20%;
    }

    @include media-breakpoint-up( md ) {
      width: auto;
    }
  }

  th {
    @include media-breakpoint-up( sm ) {
      padding: $spacer * 0.5 $spacer * 2 0 0;
    }
  }

  tfoot {
    @include a-fontMedium;

    border-top: 3px solid $blue;

    td,
    th {
      padding-top: $spacer;
    }
  }

  tbody {
    tr {
      &:last-child {
        th,
        td {
          @include media-breakpoint-up( sm ) {
            padding-bottom: $spacer;
          }
        }
      }
    }
  }

  &__row {
    @include media-breakpoint-only( xs ) {
      text-align: right;
    }

    @include media-breakpoint-up( sm ) {
      display: table-row;
      margin: 0;
    }
    display: block;
    margin-bottom: 24px;
  }

  &__item {
    @include media-breakpoint-only( xs ) {
      display: block;
      width: auto;
      padding: 0;
      margin: 0;
      text-align: right;
    }
  }
}

.an-centerImage {
  display: flex;
  align-items: center;
  justify-content: center;
}

.an-squareImage {
  position: relative;
  width: 100%;
  padding-top: 94.5%;
  overflow: hidden;

  &-image {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    max-width: none;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
  }
}

.an-fullWidthBlock {

  @include media-breakpoint-up( sm ) {
    min-height: 1px;
    padding-right: 12px;
    padding-left: 12px;
    margin: 0;
  }
}

.an-circleIcon {
  position: relative;
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;

  &-image {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 60%;
    max-height: 60%;
    transform: translate(-50%, -50%);
  }

  &-dashed {
    padding-top: calc(100% - 4px);
    border-color: $blue;
    border-style: dashed;
  }
}
