@font-face {
  font-family: 'Libre Baskerville';
  font-weight: 400;
  font-style: normal;
  font-display: block;
  src: url('/font/libre-baskerville-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Base typography that bootstrap's CSS used to supply (its reboot + type
   layer). This page was designed against those defaults; normalize.css doesn't
   set them, so without this the headings fall back to the browser's bold +
   roomy-margin defaults. h1 is deliberately omitted — the only h1 is the logo,
   styled in style.css. */
h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.the-carousel {
  position: relative;
  margin-top: 28rem;
}

.the-box {
  position: absolute;
  z-index: 10;
  right: 5rem;
  top: -10rem;
  width: 30rem;
  padding: 1rem;
  background-color: rgba(58, 134, 158, .92);
}
.the-box h3 {
  width: 45vw;
  position: absolute;
  z-index: 5;
  top: 0;
  right: 33rem;
  text-align: right;
  font-family: 'Libre Baskerville', Georgia, Garamond, serif;
  font-size: 2rem;
}
.the-box .description {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #fff;
  opacity: 1;
}

.slideshow {
  overflow: hidden;
}
.carousel-inner .carousel-item {
  height: 35rem;
}
.carousel-inner .carousel-item.vianden img {
  object-position: 50% 70%;
}
.carousel-inner .carousel-item.losch img {
  object-position: 50% 80%;
}
/* Full-slide overlay link, sitting above the (absolute) slide <img>. */
.carousel-inner .carousel-item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.carousel-inner .carousel-item .copyright {
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  padding-left: .2rem;

  font-size: .8rem;
  color: white;
}

/* tablet */
@media screen and (min-width: 600px) and (max-width: 1200px) {
  .the-box {
    right: calc(50% - 15rem);
    top: -10rem;
    width: 30rem;
  }
  .the-box h3 {
    width: 120%;
    top: auto;
    bottom: calc(100% + 2rem);
    right: calc(50% - (120% / 2));
    text-align: center;
  }
}

/* mobile */
@media screen and (max-width: 600px) {
  .the-box {
    width: 80%;
    right: calc(50% - (80% / 2));
    top: -10rem;
  }
  .the-box h3 {
    width: 95%;
    top: auto;
    bottom: calc(100% + 2rem);
    right: calc(50% - (95% / 2));

    font-size: 6vw;
    text-align: center;
  }
  .description p {
    font-size: 3.2vw;
  }
}

/* desktop */
@media screen and (min-width: 1200px) {
}
