.l-content-area {
  overflow: hidden;
}

.panel {
  position: relative;
  transform-origin: top center;
  transition: transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.panel:after {
  content: "";
  display: block;
  width: 100%;
  background-color: #000;
  z-index: 10;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}

.panel > a {
  display: block;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
}

.panel__body {
  position: relative;
  height: 100%;
}

.panel__body:before, .panel__body:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 150%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 65%, rgba(255, 255, 255, 0.15) 100%);
  z-index: 10;
}

.panel__headline {
  position: relative;
  z-index: 10;
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  margin-top: 0;
  margin-bottom: 0;
  letter-spacing: 0.1em;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.panel__title {
  position: relative;
  display: block;
}

.panel__title:before {
  content: "-";
  color: #fb0020;
  transform-origin: left center;
  display: inline-block;
  position: absolute;
}

.panel__subtitle {
  text-indent: 0.2em;
}

@media print, screen and (min-width: 768px) {
  .panel__subtitle {
    font-family: var(--font-normal, sans-serif);
  }
}

@media screen and (max-width: 767px) {
  .panel__subtitle {
    font-family: var(--font-normal-conde, sans-serif);
  }
}

.panel__list {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.panel__element {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.panel__element img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
  backface-visibility: hidden;
}

.panel__body {
  transition: transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.panel__body:before {
  transition: transform 0.72s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.panel__body:after {
  transition: transform 0.8s cubic-bezier(0.47, 0, 0.745, 0.715);
}

.panel__body:before, .panel__body:after {
  transform: skewX(-52deg) translateX(120%);
}

.panel__title {
  transition: transform 0.4s cubic-bezier(0.6, 0.04, 0.98, 0.335), opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.panel__subtitle {
  transition: transform 0.4s cubic-bezier(0.6, 0.04, 0.98, 0.335), opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.panel:after {
  opacity: .5;
  transition: opacity 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.panel[data-js-panel="ready"] .panel__body:before, .panel[data-js-panel="ready"] .panel__body:after {
  transform: skewX(-52deg) translateX(-20%);
  transition: transform 0s linear 0s;
}

.panel[data-js-panel="current"] .panel__title {
  transform: translateX(0%);
  opacity: 1;
  transition: transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.panel[data-js-panel="current"] .panel__subtitle {
  transform: translateX(0%);
  opacity: 1;
  transition: transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.1s, opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.1s;
}

.panel[data-js-panel="current"] .panel__element img {
  transform: scale(1.05);
}

.panel[data-js-panel="current"]:after {
  opacity: 0;
}

.panel[data-js-panel="current"] ~ .panel {
  transform: translateY(0);
}

.panel__element[data-js-element*="hidden"] {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0s linear 1.6s, visibility 0s linear 1.6s;
}

.panel__element[data-js-element*="current"] {
  transition: opacity 1.6s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s, visibility 0s linear 0s;
  z-index: 1;
}

.info {
  padding-top: 2rem;
  padding-bottom: 2rem;
  background-color: #fff;
  position: relative;
}

.info__link {
  color: #333;
  text-decoration: none;
}

.info__icon {
  width: auto;
  height: 1.5rem;
  margin-right: 0.25em;
}

.info__text {
  line-height: 1.5rem;
  vertical-align: middle;
}

.info__text:after {
  font-family: "fontello", serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  content: '\e802';
  display: inline-block;
  margin-left: 0.25em;
  color: #01916d;
}

_:-ms-lang(x)::-ms-backdrop, .panel__element img {
  /* todo ie11 hack */
  position: absolute;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  transform: translateX(-50%) translateY(-50%);
  width: auto;
  height: auto;
}

_:-ms-lang(x)::-ms-backdrop, .panel[data-js-panel='current'] .panel__element img {
  /* todo ie11 hack */
  transform: translateX(-50%) translateY(-50%) scale(1.05);
}

@media print, screen and (min-width: 768px) {
  .l-content-area {
    padding-top: 40px;
  }
  .panel {
    height: 530px;
    transform: translateY(-40px);
  }
  .panel__title {
    font-size: 48px;
  }
  .panel__title:before {
    transform: scaleX(2.2);
    left: -52px;
    margin-top: -4px;
  }
  .panel__subtitle {
    font-size: 16px;
  }
  .panel:after {
    height: 570px;
  }
  .panel > a {
    height: 610px;
  }
  .panel__body {
    transform: translateY(-40px);
  }
  .panel[data-js-panel="current"] .panel__body {
    transform: translateY(-20px);
  }
  .panel__item {
    font-size: 50px;
  }
  .panel__subtitle {
    font-size: 18px;
  }
  .info__link:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
  .l-content-area {
    padding-top: 5vw;
  }
  .panel {
    height: 100vw;
    transform: translateY(-5vw);
  }
  .panel__title {
    font-size: 32px;
  }
  .panel__title:before {
    transform: scaleX(1.7);
    left: -27px;
    margin-top: -3px;
  }
  .panel__subtitle {
    font-size: 16px;
  }
  .panel:after {
    height: 105vw;
  }
  .panel > a {
    height: 110vw;
  }
  .panel__body {
    transform: translateY(-5vw);
  }
  .panel[data-js-panel="current"] .panel__body {
    transform: translateY(-2.5vw);
  }
}
