:root {
  --ntr-color-blue: #46b4e7;
  --ntr-color-dark-grey: #303030;
  --ntr-font-family: "NTR Speciaal";
  --ntr-font-family-bold: "NTR Speciaal Bold";
}

@font-face {
  font-family: "NTR Speciaal";
  src: url("../fonts/NTRSpeciaal/NTRSpeciaal.eot");
  src: url("../fonts/NTRSpeciaal/NTRSpeciaal.woff2") format("woff2"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal.woff")
      format("woff"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal.ttf")
      format("truetype"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal.svg#NTRSpeciaal")
      format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NTR Speciaal Bold";
  src: url("../fonts/NTRSpeciaal/NTRSpeciaal-Bold.eot");
  src: url("../fonts/NTRSpeciaal/NTRSpeciaal-Bold.woff2") format("woff2"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal-Bold.woff")
      format("woff"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal-Bold.ttf")
      format("truetype"),
    url("/bundles/ntrportalpublicationbundle/fonts/NTRSpeciaal/NTRSpeciaal-Bold.svg#NTRSpeciaalBold")
      format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

* {
  margin: 0;
  padding: 0;
}

.font-normal {
  font-family: var(--ntr-font-family);
}
.font-bold {
  font-family: var(--ntr-font-family-bold);
}

.ntr-blue {
  color: var(--ntr-color-blue);
  .topmenu {
    .ntr-logo {
      svg {
        fill: var(--ntr-color-blue);
      }
    }
  }
  .topmenu.active {
    background-color: var(--ntr-color-blue);
  }
  .footer-logo {
    background-color: var(--ntr-color-blue);
    .footer-ntr-logo {
      fill: #ffffff;
    }
  }
}

.light {
  color: white !important;
}
.dark {
  color: var(--ntr-color-dark-grey) !important;
}

body {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  background-color: var(--ntr-color-dark-grey);
  color: white;
}

h1,
h2,
h3,
h4 {
  font-family: var(--ntr-font-family-bold);
}

.mb0 {
  margin-bottom: 0 !important;
}
.mt0 {
  margin-top: 0 !important;
}

.uppercase {
  text-transform: uppercase;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.skip-navigation {
  position: absolute;
  top: 50px;
  left: -1000px;
  width: auto;
  height: auto;
  overflow: hidden;
  background-color: #fff;
  z-index: 999;
  color: black;
  margin: 20px;
  padding: 20px;
  opacity: 0;
  &:focus {
    opacity: 1;
    left: 0;
  }
}

body :focus-visible {
  outline-style: solid;
  outline-width: 0.25rem;
  outline-offset: 1px;
  outline-color: #ff2471;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
    var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
    calc(0.25rem + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(124 77 255 / var(--tw-ring-opacity));
  --tw-ring-offset-width: 0.5rem;
}

header {
  nav {
    height: 50px;
    ul {
      list-style: none;
      padding: 0;
      li {
        display: inline;
        margin: 0 1rem;
        a {
          color: white;
          text-decoration: none;
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
}

main {
  section {
    h2 {
      color: var(--ntr-color-blue);
    }
  }
}

.article {
  margin: 0 !important;
  color: white;
  .content {
    font-size: 1.2rem;
    margin: 1em 11vw;
    padding-top: 3rem;
    .slim {
      padding-top: 0;
    }
    p {
      font-size: 1.9vw;
      line-height: 2.5vw;
    }
    img {
      width: 100%;
    }
    h2 {
      &.title {
        font-size: 3vw;
        font-weight: bold;
        text-align: left;
      }
    }
    hr {
      margin: 1vw 0;
      border: 0;
      height: 2px;
      background-color: white;
      &.large {
        margin: 3vw 0;
      }
      &.mb2 {
        margin-bottom: 2vw;
      }
    }
    @media (max-width: 640px) {
      hr {
        height: 1px;
      }
    }
  }
  &.header {
    img {
      width: 100%;
      height: auto;
      margin: 0 auto;
    }
  }
  &.intro {
    text-align: left;
    width: 100%;
    .intro-verslagen {
      margin: 0 0 4.8vw 0;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-column-gap: 2vw;
      grid-row-gap: 2vw;
      align-items: flex-end;
      justify-content: flex-end;
      a {
        display: grid;
        text-decoration: none;
      }
      li {
        list-style-type: none;
        background-color: #fff;
        img {
          margin: 0;
          padding: 0;
        }
        .title {
          width: 100%;
          color: #000;
          background-color: #fff;
          font-family: var(--ntr-font-family-bold);
          font-size: 1.75vw;
          line-height: 3vw;
          padding-left: 7px;
        }
      }
    }
  }
  &.onzewaarden {
    .content {
      margin-top: 0;
      margin-bottom: 6vw;
      .promo {
        display: inline-block;
        margin: 0 0 3.5vw 0;
        .promo-video {
          font-size: 0;
          width: 50vw;
          margin: 0;
          padding: 0;
          float: left;
        }
        .promo-text {
          font-size: 3vw;
          font-family: var(--ntr-font-family-bold);
          text-transform: uppercase;
          width: 22vw;
          margin: -0.5vw auto 0 3vw;
          padding: 0;
          float: left;
        }
      }
      .albert {
        .intro {
          font-family: var(--ntr-font-family);
        }
      }
    }
    .impact {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 2.5vw;
      grid-row-gap: 1vw;
      justify-items: start;
      align-items: start;
      margin: 3vw 0;
      #row-1 {
        grid-column-start: 1;
        grid-column-end: 1;
      }
      #row-2 {
        grid-column-start: 2;
        grid-column-end: 2;
      }
      .i-item {
        margin: 0 0 1.5vw 0;
      }
      p {
        margin: 0;
        a {
          font-family: var(--ntr-font-family);
          font-size: inherit;
          line-height: inherit;
        }
      }
      img {
        margin: 0;
        padding: 0;
      }
    }
    .bgb {
      position: relative;
      .bgb1 {
        position: absolute;
        bottom: 0;
        right: -30vw;
        width: 50vw;
        height: 50vw;
        border-radius: 100%;
        z-index: -1;
      }
    }
  }

  &.media-aanbod {
    text-align: left;
    background-color: var(--ntr-color-blue);
    display: inline-block;
    width: 100%;
    .content {
      position: relative;
      h2 {
        margin-bottom: 0;
      }
      h3 {
        font-size: 3.1vw;
        /* text-transform: uppercase; */
        .small {
          font-size: 1.8vw;
        }
      }
      h3.title {
        color: var(--ntr-color-dark-grey);
      }
      .gallery {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 2.5vw;
        grid-row-gap: 2.5vw;
        justify-items: stretch;
        align-items: stretch;
        margin: 2vw 0 5vw 0;
        h4 {
          font-family: var(--ntr-font-family);
          font-size: 1.9vw;
        }
        p {
          font-size: 1.4vw;
          line-height: 1.7vw;
          margin: 0;
          padding: 0;
        }
        a {
          font-size: 1.4vw;
          line-height: 1.7vw;
          margin: 0;
          padding: 0;
          color: var(--ntr-color-blue);
          text-decoration: underline;
        }
        img {
          margin: 0 0 5px 0;
        }
      }
      .table {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 5vw;
        grid-row-gap: 2.5vw;
        justify-items: stretch;
        align-items: stretch;
        margin: 0;
        .small {
          font-size: 1.8vw;
        }
        td {
          font-family: var(--ntr-font-family);
          font-size: 1.8vw;
          line-height: 2vw;
          padding: 0 0.5vw 0.5vw 0;
          &:first-child {
            padding-right: 1vw;
          }
          &:last-child {
            text-align: right;
            padding-right: 0.1vw;
          }
        }
        td.small {
          font-size: 1.4vw;
          font-family: var(--ntr-font-family);
        }
        td.meer {
          font-family: var(--ntr-font-family);
          a {
            font-size: inherit;
            line-height: inherit;
            color: var(--ntr-color-blue);
            text-decoration: underline;
          }
        }
        .kdh {
          td {
            margin: 0;
            padding: 0;
            text-align: left;
          }
        }
      }
      .streamstarts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 5vw;
        grid-row-gap: 2.5vw;
        justify-items: stretch;
        align-items: stretch;
        margin: 0;
        grid-template-columns: 1fr 1fr 1fr;
        .small {
          font-size: 1.8vw;
        }
        td {
          font-family: var(--ntr-font-family);
          font-size: 1.8vw;
          line-height: 2vw;
          padding: 0 0.5vw 0.5vw 0;
          &:first-child {
            padding-right: 1vw;
          }
          &:last-child {
            text-align: right;
            padding-right: 0.1vw;
          }
        }
        td.small {
          font-size: 1.4vw;
          font-family: var(--ntr-font-family);
        }
        td.meer {
          font-family: var(--ntr-font-family);
          a {
            font-size: inherit;
            line-height: inherit;
            color: var(--ntr-color-blue);
            text-decoration: underline;
          }
        }
        .kdh {
          td {
            margin: 0;
            padding: 0;
            text-align: left;
          }
        }
        img {
          margin: 1vw 0 0 0;
          padding: 0;
          border: 0.5vw solid white;
        }
      }
    }
    .kijkcijfers {
      display: grid;
      grid-template-columns: 0.75fr 4fr 1fr;
      grid-column-gap: 1vw;
      grid-row-gap: 1vw;
      img {
        margin: 0;
        padding: 0;
      }
      .data {
        table {
          width: 100%;
          font-family: var(--ntr-font-family-bold);
          font-size: 1.8vw;
          line-height: 2.1vw;
          padding: 0 0.5vw 0.5vw 0;
        }
      }
    }
    .waardering {
      display: grid;
      grid-template-columns: 4.75fr 1fr;
      grid-column-gap: 1vw;
      grid-row-gap: 1vw;
      img {
        margin: 0;
        padding: 0;
      }
      .data {
        table {
          width: 100%;
          font-family: var(--ntr-font-family-bold);
          font-size: 1.8vw;
          line-height: 2.1vw;
          padding: 0 0.5vw 0.5vw 0;
        }
      }
    }
    .data {
      table.small {
        font-size: 1.2vw;
        text-transform: uppercase;
      }
      table {
        td {
          &:nth-child(1) {
            width: 2vw;
          }
          &:nth-child(3) {
            text-align: right;
          }
        }
      }
    }
    .numbers {
      font-size: 2vw;
      font-family: var(--ntr-font-family-bold);
      background-image: url("../img/media-aanbod-intro-bg.png");
      background-repeat: no-repeat;
      background-size: contain;
      height: 47.7vw;
      width: 100%;
      .content-numbers {
        margin: 0 11vw;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-column-gap: 1.5vw;
        grid-row-gap: 1.5vw;
        justify-items: stretch;
        align-items: stretch;
        .normal {
          font-weight: normal;
        }
        .circle {
          position: relative;
        }
        .tvminutes {
          top: 13.5vw;
          left: 2vw;
          text-align: center;
          .title {
            font-size: 2.8vw;
            line-height: 3vw;
            font-family: var(--ntr-font-family);
          }
          .text {
            margin-top: 1.5vw;
            font-size: 2.2vw;
          }
          .sub {
            margin-top: 0.3vw;
            font-size: 1.8vw;
            font-weight: normal;
          }
          .countup {
            display: inline-flex;
            flex-flow: column;
            min-width: 7vw;
            text-align: right;
            font-weight: bold;
          }
          .countup-text {
            display: inline-flex;
            text-align: left;
          }
        }
        .websitevisits {
          top: 9.2vw;
          left: 6vw;
          text-align: center;
          .countup {
            font-size: 3.3vw;
            font-family: var(--ntr-font-family);
          }
          .text {
            margin-top: -0.2vw;
            font-size: 1.92vw;
          }
          .text.large {
            margin-top: 1.5vw;
            font-size: 2.5vw;
          }
          .sub {
            font-size: 1.75vw;
            font-weight: normal;
          }
          .sub.small {
            font-size: 1.1vw;
            line-height: 1.8vw;
          }
        }
        .radiominutes {
          text-align: center;
          top: 26vw;
          left: 4.3vw;
          .title {
            font-size: 2.4vw;
            line-height: 3vw;
          }
          .countup {
            display: inline-flex;
            flex-flow: column;
            min-width: 7vw;
            text-align: right;
            font-weight: bold;
          }
          .countup-text {
            display: inline-flex;
            text-align: left;
          }
          .text {
            margin-top: 2vw;
            font-size: 1.8vw;
          }
          .text.large {
            margin-top: 1vw;
            font-size: 2.4vw;
            font-family: var(--ntr-font-family);
          }
          .sub {
            font-size: 1.75vw;
            font-weight: normal;
          }
        }
        .streamstarts {
          top: 13vw;
          left: 20.5vw;
          text-align: center;
          .text {
            margin-top: 0;
            font-size: 1.5vw;
          }
          .countup {
            font-size: 2.1vw;
            font-weight: bold;
          }
        }
      }
    }
    &.prijzen {
      a {
        color: var(--ntr-color-blue);
        text-decoration: underline;
      }
    }
    &.streams {
      padding-bottom: 3rem;
    }
  }

  &.audio {
    background-color: var(--ntr-color-dark-grey);
    .content {
      padding-bottom: 3rem;
      .luistercijfers {
        margin-top: 2rem;
        margin-bottom: 2rem;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-column-gap: 0vw;
        grid-row-gap: 1.5vw;
        justify-items: stretch;
        align-items: baseline;
        h4 {
          font-size: 1.8vw;
          font-weight: bold;
          line-height: 2vw;
          text-transform: uppercase;
          p {
            font-size: 1.8vw;
            font-weight: bold;
            line-height: 2vw;
            text-transform: uppercase;
          }
        }
        p {
          margin: 0 0 0.5vw 0 !important;
        }
        p.small {
          font-size: 1.1vw;
          line-height: 1.3vw;
          font-weight: normal;
        }
        img {
          width: 11.8vw;
          margin: 0 1rem 0 0;
          float: left;
        }
        .text {
          display: grid;
        }
      }
      .podcast {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 5vw;
        grid-row-gap: 2.5vw;
        justify-items: stretch;
        align-items: stretch;
        margin: 0;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        grid-column-gap: 1.5vw;
        overflow: hidden;
        .small {
          font-size: 1.8vw;
        }
        td {
          font-family: var(--ntr-font-family);
          font-size: 1.8vw;
          line-height: 2vw;
          padding: 0 0.5vw 0.5vw 0;
          &:first-child {
            padding-right: 1vw;
          }
          &:last-child {
            text-align: right;
            padding-right: 0.1vw;
          }
        }
        td.small {
          font-size: 1.4vw;
          font-family: var(--ntr-font-family);
        }
        img {
          margin: 1vw 0 0 0;
          padding: 0;
          border: 0.5vw solid white;
          border: none;
        }
        .item {
          overflow: hidden;
          position: relative;
        }
        .description {
          width: 100%;
          position: absolute;
          bottom: 0;
          font-family: var(--ntr-font-family-bold);
          font-size: 1.3vw;
          line-height: 1.7vw;
          padding: 0.4vw 0.5vw 0.2vw 0.5vw;
          color: var(--ntr-color-dark-grey);
          background-color: white;
          .ntr-color {
            color: var(--ntr-color-blue);
          }
        }
      }
      .data {
        h4 {
          font-size: 2.2vw;
          font-weight: bold;
        }
        .numbers {
          font-size: 2.2vw;
          font-weight: bold;
          text-align: right;
        }
      }
    }
  }

  &.socials {
    color: var(--ntr-color-dark-grey);
    background-color: white;
    .content {
      color: var(--ntr-color-blue);
      background-color: white;
      margin-top: 1vh;
      padding-bottom: 2vh;
      h2 {
        color: var(--ntr-color-blue);
        margin-bottom: 0;
      }
      h3 {
        font-size: 3.1vw;
      }
      h3.title {
        color: var(--ntr-color-dark-grey);
      }
      hr.dark {
        background-color: var(--ntr-color-dark-grey);
      }
      .data {
        margin-top: 2rem;
        margin-bottom: 1rem;
        display: grid;
        grid-template-columns: 4fr 1fr;
        grid-column-gap: 0.5vw;
        grid-row-gap: 1.5vw;
        justify-items: stretch;
        align-items: baseline;
        color: var(--ntr-color-dark-grey);
        h4 {
          font-size: 2.2vw;
        }
        .numbers {
          font-family: var(--ntr-font-family-bold);
          font-size: 2.2vw;
          text-align: right;
        }
      }
    }
  }

  &.onzewaarden {
    .content {
      .impact {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-row: auto auto;
        grid-column-gap: 2.5vw;
        grid-row-gap: 1vw;
        justify-items: start;
        align-items: start;
        margin: 3vw 0;
        #row-1 {
          grid-column-start: 1;
          grid-column-end: 1;
        }
        #row-2 {
          grid-column-start: 2;
          grid-column-end: 2;
        }
        .i-item {
          margin: 0 0 1.5vw 0;
          font-family: var(--ntr-font-family);
          color: white;
        }
        p {
          margin: 0;
          a {
            font-family: var(--ntr-font-family-bold);
            font-size: inherit;
            line-height: inherit;
          }
        }
      }
    }
  }

  &.personeel,
  &.jaarrekening {
    background-color: var(--ntr-color-blue);
    img {
      width: 100%;
      height: auto;
      margin: 0 auto;
    }
    a {
      color: var(--ntr-color-dark-grey);
      text-decoration: underline;
    }
    p.meer,
    p.meer {
      font-family: var(--ntr-font-family);
      font-size: 1.9vw;
      color: white !important;
    }
  }

  &.jaarrekening {
    padding-bottom: 7vw;
    h3 {
      padding-bottom: 7vw;
    }
    p {
      color: var(--ntr-color-dark-grey);
      font-size: 1.9vw;
      line-height: 2.2vw;
    }
    table {
      color: var(--ntr-color-dark-grey);
      font-size: 1.9vw;
      line-height: 2.2vw;
      width: 74vw;
      border-spacing: 0;
      margin-top: 3vw;
      tr.bt {
        td {
          padding-bottom: 1vw;
        }
      }
      td {
        &:last-child {
          text-align: right;
        }
      }
      th {
        text-align: left;
        padding-bottom: 1vw;
        font-family: var(--ntr-font-family-bold);
        font-size: 2vw;
        margin: 1vw 0;
        padding-top: 1vw;
        .small {
          font-size: 1.5vw !important;
        }
      }
      tr.total {
        td {
          font-family: var(--ntr-font-family-bold);
          font-size: 2vw;
          margin: 1vw 0;
          padding-top: 1vw;
        }
      }
      td.border {
        border-top: 2px solid #303030;
      }
    }
    .bestedingen {
      display: grid;
      grid-template-columns: 4fr 3fr;
      grid-column-gap: 2.5vw;
      grid-row-gap: 2.5vw;
      flex-direction: column;
      align-items: flex-start;
      justify-items: stretch;
      margin: 0 0 5vw 0;
      table {
        width: auto;
        margin-top: 0;
      }
    }
    .grafiek {
      position: relative;
      #chart {
        position: relative;
        width: 24vw;
        min-height: 24vw;
        height: auto;
        margin: 0 auto;
        z-index: 2;
        svg {
          position: relative;
          z-index: 1;
        }
      }
      .legenda {
        position: absolute;
        top: -0.8vw;
        left: -0.8vw;
        width: 26vw;
        height: 26vw;
        background-image: url("../img/jaarrekening-grafiek-legenda.png");
        background-repeat: no-repeat;
        background-size: contain;
        z-index: 5;
      }
    }
  }

  &.speciaal {
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 3vw 0;
    color: var(--ntr-color-blue);
    background-color: white;
    font-family: var(--ntr-font-family-bold);
    font-size: 3vw;
    .highlight {
      color: black;
    }

    h2 {
      margin: 0;
    }
  }

  .intro-2 {
    align-items: unset;
  }
  .intro-subtext {
    font-size: 3vw;
    font-family: "NTR Speciaal Bold";
  }
  .intro-video,
  .intro-image {
    font-size: 0;
    width: 44vw;
    margin: 0;
    padding: 0;
  }
}
