@font-face {
  font-family: "Sun Regular";
  src: url("../fonts/SunAntwerpen_300.eot");
  src: url("../fonts/SunAntwerpen_300?#iefix") format("embedded-opentype"), url("../fonts/SunAntwerpen_300.woff") format("woff"), url("../fonts/SunAntwerpen_300#SunAntwerpen_300") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Sun Regular";
  src: url("../fonts/SunAntwerpen_300_italic.eot");
  src: url("../fonts/SunAntwerpen_300_italic?#iefix") format("embedded-opentype"), url("../fonts/SunAntwerpen_300_italic.woff") format("woff"), url("../fonts/SunAntwerpen_300_italic#SunAntwerpen_300_italic") format("svg");
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: "Sun Regular";
  src: url("../fonts/SunAntwerpen_700.eot");
  src: url("../fonts/SunAntwerpen_700?#iefix") format("embedded-opentype"), url("../fonts/SunAntwerpen_700.woff") format("woff"), url("../fonts/SunAntwerpen_700#SunAntwerpen_700") format("svg");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Sun Regular";
  src: url("../fonts/SunAntwerpen_700_italic.eot");
  src: url("../fonts/SunAntwerpen_700_italic?#iefix") format("embedded-opentype"), url("../fonts/SunAntwerpen_700_italic.woff") format("woff"), url("../fonts/SunAntwerpen_700_italic#SunAntwerpen_700_italic") format("svg");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Antwerpen';
  src: url("../fonts/Antwerpen-Regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Antwerpen-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Antwerpen-Regular.woff") format("woff"), url("../fonts/Antwerpen-Regular.ttf") format("truetype"), url("../fonts/Antwerpen-Regular.svg#Antwerpen-Regular") format("svg");
  /* Legacy iOS */
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility;
}

html {
  height: 100%;
  box-sizing: border-box;
  color: #3e3d40;
  font-size: 1em;
  line-height: 1.4;
}

body {
  height: 100%;
  font-size: 0.875rem;
  font-family: 'Sun Regular', Helvetica Neue, Arial, sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background: #fff;
}

::-moz-selection {
  background: #009782;
  text-shadow: none;
  color: #fff;
}

::selection {
  background: #009782;
  text-shadow: none;
  color: #fff;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

img {
  max-width: 100%;
  width: 100%;
  font-style: italic;
}

a {
  color: #555;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  color: #000;
}

h1, h2, h3 {
  margin: 0;
  font-weight: 700;
}

h1 {
  margin: 10px 0 8px;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Antwerpen", Georgia, serif;
  font-weight: 400;
  line-height: 1.25;
  color: #000;
}

h2 {
  margin-bottom: 25px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.0625;
}

h3 {
  margin-bottom: 5px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.125;
}

p {
  margin: 0 0 20px;
}

figure {
  overflow: hidden;
  margin: 0;
}

*, *:before, *:after {
  box-sizing: inherit;
}

@media only screen and (min-width: 768px) {
  body {
    font-size: 1.25em;
  }
  h1 {
    font-size: 32px;
    font-size: 2rem;
  }
  h2 {
    margin-bottom: 50px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  h3 {
    margin-bottom: 10px;
    font-size: 22px;
    font-size: 1.375rem;
  }
  p {
    margin: 0 0 40px;
  }
}

@media only screen and (min-width: 1024px) {
  body {
    font-size: 1.5em;
  }
  h1 {
    font-size: 48px;
    font-size: 3rem;
  }
  h2 {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h3 {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

@media only screen and (min-width: 1360px) {
  h1 {
    margin: 60px 0 16px;
  }
}

/* ==========================================================================
   General
   ========================================================================== */
.wrapper {
  position: relative;
  max-width: 1290px;
  margin: 0 auto;
  padding: 0 15px;
}

article {
  padding-bottom: 30px;
}

.video-wrapper {
  position: relative;
  margin: 0 0 30px;
  padding-bottom: 56.25%;
  height: 0;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.article__marker {
  position: relative;
  padding: 15px 0;
}

.top-link {
  position: relative;
  float: left;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 300;
  margin-top: 24px;
}

.top-link svg {
  position: absolute;
  top: -15px;
  left: 50%;
  display: block;
  width: 14px;
  height: 10px;
  margin: 0 0 14px -10px;
}

.part {
  float: right;
  margin-top: 24px;
}

.article__intro {
  font-weight: 300;
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: italic;
}

.article__detail {
  margin: 30px 0;
  padding: 15px 20px;
  border-width: 1px;
  border-style: solid;
}

.article__detail :last-child {
  margin-bottom: 0;
}

.article__detail h1 {
  margin: 0 0 16px;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: 'Sun Regular', Helvetica Neue, Arial, sans-serif;
  font-weight: 700;
}

@media only screen and (min-width: 768px) {
  .wrapper {
    padding: 0 60px;
  }
  .video-wrapper {
    margin: 0 0 60px;
  }
  article {
    padding-bottom: 45px;
  }
  .article__intro {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .article__detail {
    margin: 60px 0;
    padding: 30px 40px;
  }
  .article__detail h1 {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 1024px) {
  article {
    padding-bottom: 60px;
  }
  .article__intro {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

@media only screen and (min-width: 1360px) {
  article {
    padding-top: 30px;
  }
  .article__marker {
    padding: 0;
  }
  .top-link {
    position: absolute;
    left: -80px;
    top: 50px;
  }
  .part {
    position: absolute;
    right: -80px;
    top: 50px;
  }
}

/* ==========================================================================
   Progess indicator
   ========================================================================== */
.scrollindicator, .scrollindicator-nohtml5 {
  height: 6px;
  border: none;
  z-index: 500;
  color: #fff;
  width: 100%;
  display: block;
}

.scrollindicator {
  background: rgba(221, 221, 221, 0.5);
}

div.scrollindicator, progress.scrollindicator {
  position: fixed;
}

progress.scrollindicator {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

progress.scrollindicator::-webkit-progress-bar {
  background-color: rgba(221, 221, 221, 0.5);
}

progress.scrollindicator::-webkit-progress-value {
  background-color: #fff;
}

progress.scrollindicator::-moz-progress-bar {
  background-color: #fff;
}

.scrollindicator-nohtml5 {
  background: rgba(221, 221, 221, 0.5);
}

.scrollindicator-nohtml5 span {
  width: 100%;
  height: 100%;
  display: block;
  text-indent: -9999px;
  background: #fff;
}

/* ==========================================================================
   Social
   ========================================================================== */
.header__social a,
.article__social a,
.footer__links a {
  display: inline-block;
  margin-left: 30px;
}

.facebook {
  width: 9px;
  height: 18px;
}

.linkedin {
  width: 19px;
  height: 18px;
}

.twitter {
  width: 22px;
  height: 18px;
}

.instagram {
  width: 18px;
  height: 18px;
}

.article__share {
  margin: 30px 0;
  padding: 20px;
  color: #fff;
  font-weight: 700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.article__share:hover {
  box-shadow: 5px 5px 20px 7px rgba(0, 0, 0, 0.15);
}

.article__social {
  float: right;
  text-align: right;
}

@media only screen and (min-width: 768px) {
  .article__share {
    margin: 45px 0;
    padding: 30px;
  }
}

@media only screen and (min-width: 1024px) {
  .article__share {
    margin: 60px 0;
    padding: 40px;
  }
}

/* ==========================================================================
   Header
   ========================================================================== */
.logo {
  width: 96px;
  height: 96px;
}

.header__social {
  position: absolute;
  right: 15px;
  top: 70px;
}

.banner {
  height: 280px;
}

.banner h1 {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 290px;
  height: 197px;
  margin: 0 auto;
  text-indent: -9999em;
  background: url(../img/banner-title.svg) no-repeat;
  background-size: 290px 197px;
}

@media only screen and (min-width: 768px) {
  .main-header .wrapper {
    padding-bottom: 30px;
  }
  .banner {
    height: 425px;
    background: url(../img/banner-medium.jpg) no-repeat center top;
    background-size: cover;
  }
}

@media only screen and (min-width: 1200px) {
  .banner {
    height: 680px;
    background-image: url(../img/banner.jpg);
  }
  .banner h1 {
    width: 573px;
    height: 389px;
    background-image: url(../img/banner-title.svg);
    background-size: 573px 389px;
  }
}

/* ==========================================================================
   Footer
   ========================================================================== */
.main-footer {
  padding: 60px 0;
  background: #2e2e2e;
  font-weight: 700;
}

.main-footer a {
  color: #fff;
  text-decoration: none;
}

.footer__links {
  float: right;
  margin-top: -4px;
  text-align: right;
}

.footer__links a:hover {
  color: #fff;
}

/* ==========================================================================
   Modules
   ========================================================================== */
/* intro */
.intro {
  padding-bottom: 8em;
  background: #da291c;
  color: #fff;
}

.intro h1 {
  margin: 30px 0 15px;
  color: #fff;
  text-align: center;
}

.intro aside {
  margin-bottom: 30px;
  font-size: 12px;
  font-size: 0.75rem;
}

@media only screen and (min-width: 768px) {
  .intro {
    padding-bottom: 16em;
  }
  .intro h1 {
    margin: 60px 0 30px;
  }
  .intro p {
    float: left;
    width: 65.81196581%;
  }
  .intro aside {
    float: right;
    width: 31.62393162%;
    margin-bottom: 60px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}

@media only screen and (min-width: 1024px) {
  .intro {
    padding-bottom: 20em;
  }
}

/* guillaume */
.guillaume {
  margin-top: -8em;
}

.guillaume h2,
.guillaume h3,
.guillaume .top-link,
.guillaume .part {
  color: #e04e39;
}

.guillaume .top-icon {
  stroke: #e04e39;
}

.guillaume a:hover {
  color: #e04e39;
}

.guillaume .article__share {
  background: #e04e39;
}

.guillaume__image figcaption {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
}

.guillaume__quote {
  position: relative;
  text-align: center;
}

.guillaume__quote:before, .guillaume__quote:after {
  content: "";
  display: block;
  width: 42%;
  margin: 30px auto;
  border-top: 1px solid #e04e39;
}

.guillaume__quote p {
  margin: 0 0 10px;
  font-size: 15px;
  font-size: 0.9375rem;
  font-style: italic;
  font-weight: 300;
}

.guillaume__quote cite {
  font-weight: 700;
  font-style: normal;
  line-height: 1.1666666667;
}

@media only screen and (min-width: 768px) {
  .guillaume {
    margin-top: -14em;
  }
  .guillaume__image {
    position: relative;
  }
  .guillaume__image figcaption {
    position: absolute;
    top: 45px;
    right: 45px;
    width: 23%;
    font-size: 20px;
    font-size: 1.25rem;
    font-style: italic;
    color: #fff;
  }
  .guillaume__quote {
    clear: both;
  }
  .guillaume__quote p {
    font-size: 22px;
    font-size: 1.375rem;
  }
  .guillaume__text {
    float: left;
    width: 50%;
    padding-right: 15px;
  }
  .guillaume__text.last {
    padding: 0 0 0 15px;
  }
}

@media only screen and (min-width: 1024px) {
  .guillaume {
    margin-top: -18em;
  }
  .guillaume__image figcaption {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .guillaume__quote p {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

/* rebelles */
.rebelles {
  background: #572c5f;
  color: #fff;
}

.rebelles h1 {
  color: #fff;
}

.rebelles h2,
.rebelles .top-link,
.rebelles .part,
.rebelles a:hover {
  color: #9863aa;
}

.rebelles .top-icon {
  stroke: #9863aa;
}

.rebelles a {
  color: #fff;
}

.rebelles .article__share {
  background: #9863aa;
}

/* voorna */
.voorna h2,
.voorna .top-link,
.voorna .part,
.voorna a:hover,
.voorna .article__detail,
.voorna .article__detail h1,
.voorna .article__detail a {
  color: #00aad3;
}

.voorna .top-icon {
  stroke: #00aad3;
}

.voorna .article__detail {
  border-color: #00aad3;
}

.voorna .article__share {
  background: #00aad3;
}

.slides {
  margin: 30px 40px;
  padding: 0;
  list-style: none;
}

.slides h3 {
  position: relative;
  margin-bottom: 15px;
  padding-top: 20px;
}

.slides figure {
  margin-bottom: 15px;
}

.slide__step {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}

.slick-prev,
.slick-next {
  position: absolute;
  top: 40%;
  display: block;
  width: 30px;
  height: 13px;
  padding: 0;
  border: none;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  color: transparent;
  outline: none;
  background: transparent url(../img/slider-arrow-right.svg) no-repeat;
  background-size: 30px 13px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background-color: transparent;
}

.slick-prev {
  left: -40px;
  background-image: url(../img/slider-arrow-left.svg);
}

.slick-next {
  right: -40px;
}

@media only screen and (min-width: 768px) {
  .slides {
    margin: 30px 60px;
  }
  .slides h3 {
    margin-bottom: 20px;
    padding-top: 0;
  }
  .slides figure {
    margin-bottom: 20px;
  }
  .slide__step {
    right: 0;
    width: auto;
    text-align: right;
  }
  .slick-prev {
    left: -60px;
  }
  .slick-next {
    right: -60px;
  }
}

@media only screen and (min-width: 1024px) {
  .slides {
    margin: 50px 80px;
  }
  .slides h3 {
    margin-bottom: 30px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .slides figure {
    margin-bottom: 30px;
  }
  .slick-prev {
    left: -80px;
  }
  .slick-next {
    right: -80px;
  }
}

@media only screen and (min-width: 1200px) {
  .slides {
    margin: 50px 100px;
  }
  .slick-prev {
    left: -100px;
  }
  .slick-next {
    right: -100px;
  }
}

/* geluidshuis */
.geluidshuis {
  background: #004851;
  color: #fff;
}

.geluidshuis h1,
.geluidshuis .article__detail a {
  color: #fff;
}

.geluidshuis .top-link,
.geluidshuis .part,
.geluidshuis a:hover {
  color: #009782;
}

.geluidshuis .top-icon {
  stroke: #009782;
}

.geluidshuis .article__share {
  background: #009782;
}

.soundclips {
  margin-bottom: 20px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.soundclips__title {
  margin: 0 0 5px;
  font-style: italic;
}

.soundclip__selected-title {
  margin-bottom: 20px;
}

.mejs-container {
  background: transparent;
}

.mejs-container .mejs-controls {
  background: transparent;
}

.mejs-container .mejs-controls .mejs-time-rail span {
  border-radius: 0;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-total {
  height: 2px;
  margin-top: 9px;
  background: rgba(255, 255, 255, 0.1);
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-loaded {
  height: 2px;
  background: #159a84;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-current {
  height: 2px;
  background: #fff;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-current:after {
  position: absolute;
  right: -2px;
  top: -3px;
  content: "";
  display: block;
  width: 2px;
  height: 8px;
  background: #fff;
}

.soundclips__list {
  width: 75%;
  max-width: 370px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.soundclips__list li {
  padding: 10px 0;
}

.soundclips__list .playing {
  background-image: url(../img/icon-pause.svg);
}

.soundclip__control {
  display: inline-block;
  width: 20px;
  height: 10px;
  background: url(../img/icon-play.svg) no-repeat left center;
  background-size: 8px 12px;
  cursor: pointer;
  vertical-align: middle;
}

.soundclip__time {
  float: right;
}

@media only screen and (min-width: 768px) {
  .soundclips {
    margin-bottom: 50px;
    padding: 50px 0;
  }
  .soundclip__control {
    width: 30px;
    height: 20px;
  }
}

@media only screen and (min-width: 1024px) {
  .soundclips__list {
    margin-top: 40px;
  }
  .soundclips__list li {
    padding: 0;
  }
  .soundclip__selected-title {
    margin-bottom: 40px;
  }
}

/* vindingrijk */
.vindingrijk {
  text-align: center;
}

.vindingrijk h2,
.vindingrijk .top-link,
.vindingrijk .part,
.vindingrijk a:hover {
  color: #df4661;
}

.vindingrijk .top-link {
  stroke: #df4661;
}

.vindingrijk .article__share {
  text-align: left;
  background: #df4661;
}

.vindingrijk__list {
  margin: 0 -7px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.vindingrijk__list li {
  float: left;
  width: 50%;
  margin-bottom: 40px;
  padding: 0 7px;
  cursor: pointer;
}

.vindingrijk__list li:nth-child(odd) {
  clear: left;
}

.vindingrijk__list li:hover img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}

.vindingrijk__list li:hover h2 {
  color: #df4661;
}

.vindingrijk__list li h2 {
  margin: 7px 0 0;
  color: #3e3d40;
  line-height: 1.3;
  font-weight: 300;
  font-size: 12px;
  font-size: 0.75rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.vindingrijk__list img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.vindingrijk__detail {
  position: relative;
  width: auto;
  max-width: 970px;
  margin: 40px auto 20px;
  padding-bottom: 5px;
  background: #fff;
}

.vindingrijk__detail h1 {
  margin: 20px 15px 10px;
  font-family: 'Sun Regular', Helvetica Neue, Arial, sans-serif;
}

.vindingrijk__detail p {
  margin: 0 15px 20px;
}

.vindingrijk__detail img {
  display: block;
  width: auto;
  margin: 0 auto;
}

.mfp-content {
  padding: 0 40px;
}

.mfp-arrow:before,
.mfp-arrow:after {
  display: none;
}

.mfp-close-btn-in .mfp-close {
  top: -44px;
  color: #fff;
  font-size: 60px;
}

button.mfp-arrow {
  width: 40px;
  height: 40px;
  background: url(../img/gallery-arrow-right.svg) no-repeat center center;
  background-size: 30px 14px;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

button.mfp-arrow-left {
  left: 40px;
  background-image: url(../img/gallery-arrow-left.svg);
}

@media only screen and (min-width: 768px) {
  .vindingrijk__list {
    margin: 60px -15px;
  }
  .vindingrijk__list li {
    width: 25%;
    padding: 0 15px;
  }
  .vindingrijk__list li:nth-child(odd) {
    clear: none;
  }
  .vindingrijk__list li:nth-child(4n+1) {
    clear: left;
  }
  .vindingrijk__list li h2 {
    margin: 10px 0 0;
    font-size: 14px;
    font-size: 0.875rem;
  }
}

@media only screen and (min-width: 900px) {
  button.mfp-arrow-left {
    left: 0;
  }
  .vindingrijk__detail h1 {
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 25px;
  }
  .vindingrijk__detail p {
    margin: 0 30px 15px;
  }
}

@media only screen and (min-width: 1200px) {
  .vindingrijk__list li h2 {
    margin: 15px 0 0;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .mfp-content {
    padding: 0;
  }
  button.mfp-arrow {
    width: 90px;
    height: 90px;
  }
  .mfp-close-btn-in .mfp-close {
    top: -10px;
    right: -70px;
    color: #fff;
    font-size: 60px;
  }
}

/* okapis */
.okapis {
  background: #840b55;
  color: #fff;
}

.okapis h1 {
  color: #fff;
}

.okapis h2,
.okapis .top-link,
.okapis .part,
.okapis a:hover {
  color: #df4661;
}

.okapis .top-icon {
  stroke: #df4661;
}

.okapis a {
  color: #fff;
}

.app {
  font-weight: 700;
}

.app__links a {
  display: inline-block;
  width: 45%;
  margin-right: 4%;
}

@media only screen and (min-width: 768px) {
  .app p {
    float: left;
    width: 58.54700855%;
  }
  .app__links {
    float: right;
    width: 41.45299145%;
    text-align: right;
  }
  .app__links a {
    margin: 0 0 0 4%;
  }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
  visibility: hidden;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}
