@font-face {
  font-family: 'B52';
  src: url('../fonts/B52.eot');
  src: url('../fonts/B52.eot?#iefix') format('embedded-opentype'), url('../fonts/B52.woff') format('woff'), url('../fonts/B52.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Real Truth';
  src: url('../fonts/RealTruth.eot');
  src: url('../fonts/RealTruth.eot?#iefix') format('embedded-opentype'), url('../fonts/RealTruth.woff') format('woff'), url('../fonts/RealTruth.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
em {
  font-style: italic !important;
}
html {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
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;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.hidden,
[hidden] {
  display: none !important;
}
.invisible {
  visibility: hidden;
}
.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}
.clearfix::after {
  clear: both;
}
* {
  outline: none;
  box-sizing: border-box;
}
body {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background: #000;
  color: #FFF;
  font-family: 'B52', serif;
  line-height: 1.4;
  font-size: 1rem;
  visibility: visible !important;
  transition: all 0.3s;
}
body.is-notloaded {
  filter: blur(5px);
}
a {
  color: #FFF;
}
.container {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100dvh;
  border-radius: 30px;
  border-radius: 1.5625vw;
}
.layer {
  position: absolute;
  width: 100%;
  height: 100%;
}
.layer:not(.is-interactive) {
  pointer-events: none;
}
body.is-active .layer {
  transition: 0.75s ease;
  transform: translate3d(0, 0, 0) !important;
}
.background {
  background: url(../img/body.jpg) no-repeat 50% 100%;
  background-size: cover;
  position: absolute;
  width: 110%;
  bottom: -5%;
  left: -5%;
  top: -5%;
}
.background::before {
  content: "";
  position: fixed;
  bottom: -5%;
  left: -5%;
  top: -5%;
  width: 110%;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: 0.75s ease;
  pointer-events: none;
}
body.is-active .background::before {
  opacity: 1;
}
.old-video {
  opacity: 0.35;
  position: fixed;
  top: 0;
  left: 0;
  object-fit: cover;
  height: 100%;
  width: 100%;
  transition: all 0.5s ease 0s;
  pointer-events: none;
}
body.is-active .old-video {
  opacity: 0 !important;
}
.toggle-audio {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  position: fixed;
  z-index: 99999;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FFF url("../img/letter-background.jpg") 50% 50% no-repeat;
  background-size: 100% auto;
  color: #000;
  padding: 1em;
  font-size: 32px;
  font-size: 1.66666667vw;
  transition: all 0.5s;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.8);
}
.toggle-audio:not(.is-active) {
  transform: translateY(100%);
  opacity: 0;
}
.toggle-audio div {
  flex-grow: 1;
}
.toggle-audio a {
  display: block;
  padding: 0.5em;
  text-decoration: none;
  border: 1px solid #000;
  color: inherit;
  background: rgba(0, 0, 0, 0);
  transition: all 0.5s;
}
.toggle-audio a:hover {
  background: rgba(0, 0, 0, 0.2);
}
.noletters {
  text-align: center;
  color: #FFF;
  font-size: 48px;
  font-size: 2.5vw;
}
.noletters p {
  margin: 0;
}
.header__logo {
  position: fixed;
  z-index: 10;
  top: 50px;
  top: 2.60416667vw;
  left: 50px;
  left: 2.60416667vw;
  width: 384px;
  width: 20vw;
  height: 75px;
  height: 3.90625vw;
  background: url("../img/header__logo.svg") no-repeat;
  background-size: contain;
  transition: 0.75s ease;
}
body.is-active .header__logo {
  opacity: 0;
  pointer-events: none;
}
.header__title {
  position: fixed;
  top: 40px;
  top: 2.08333333vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: 90px;
  font-size: 4.6875vw;
  color: #FFF;
  z-index: 10;
  margin: 0;
  font-weight: 400;
  line-height: 1;
  font-family: 'Real Truth', sans-serif;
  transition: 0.75s ease;
  opacity: 0.8;
}
body.is-active .header__title {
  opacity: 0;
  pointer-events: none;
}
.header__museum {
  position: fixed;
  z-index: 10;
  top: 50px;
  top: 2.60416667vw;
  right: 50px;
  right: 2.60416667vw;
  width: 266px;
  width: 13.85416667vw;
  height: 75px;
  height: 3.90625vw;
  background: url("../img/header__museum.svg") no-repeat;
  background-size: contain;
  transition: 0.75s ease;
}
body.is-active .header__museum {
  opacity: 0;
  pointer-events: none;
}
.header__pfki {
  position: fixed;
  z-index: 10;
  bottom: 50px;
  bottom: 2.60416667vw;
  right: 50px;
  right: 2.60416667vw;
  width: 266px;
  width: 13.85416667vw;
  height: 60px;
  height: 3.125vw;
  background: url("../img/header__pfki.svg") no-repeat;
  background-size: contain;
  transition: 0.75s ease;
}
body.is-active .header__pfki {
  opacity: 0;
  pointer-events: none;
}
.intro-bg {
  pointer-events: none;
  position: absolute;
  top: 150px;
  top: 7.8125vw;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/intro.webp") 20% 50% no-repeat;
  background-size: auto 100%;
  transform: rotate(-1deg);
  transition: 0.75s ease, box-shadow 0s ease;
}
.intro-page {
  position: absolute;
  /* top: 200px; */
  right: 150px;
  right: 7.8125vw;
  /* bottom: 200px; */
  top: 50%;
  width: 800px;
  width: 41.66666667vw;
  background: url(../img/intro-page.png) no-repeat;
  background-size: 100% 100%;
  margin-top: 100px;
  margin-top: 5.20833333vw;
  padding-top: 50px;
  padding-top: 2.60416667vw;
  padding-right: 100px;
  padding-right: 5.20833333vw;
  padding-bottom: 50px;
  padding-bottom: 2.60416667vw;
  padding-left: 100px;
  padding-left: 5.20833333vw;
  color: #000;
  line-height: 1.1;
  font-size: 30px;
  font-size: 1.5625vw;
  transform: translateY(-50%) rotate(1deg);
  transition: 0.75s ease, box-shadow 0s ease;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .intro-page {
    width: 900px;
    width: 46.875vw;
  }
}
.intro-page p {
  margin: 0 0 1em;
}
.intro-page p:last-child {
  margin: 0;
}
.timeline {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 10;
  top: 50%;
  right: 50px;
  right: 2.60416667vw;
  padding-right: 40px;
  padding-right: 2.08333333vw;
  min-height: 560px;
  min-height: 29.16666667vw;
  border-right: 2px solid rgba(255, 255, 255, 0.5);
  color: #FFF;
  text-align: right;
  transform: translateY(-50%);
  transition: 0.75s ease;
}
body.fp-viewing-0 .timeline,
body.is-active .timeline {
  opacity: 0;
  pointer-events: none;
}
.timeline-list {
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 140px;
  padding-top: 7.29166667vw;
  white-space: nowrap;
  text-align: right;
  opacity: 0;
  pointer-events: none;
}
.timeline-list a {
  display: block;
  text-decoration: none;
  transition: 0.25s ease;
  line-height: 1.2;
  font-size: 30px;
  font-size: 1.5625vw;
}
.timeline-list a:not(:hover) {
  filter: drop-shadow(2px 4px 0 transparent);
  opacity: 0.7;
}
.timeline__year {
  opacity: 0.5;
  line-height: 1;
  font-size: 140px;
  font-size: 7.29166667vw;
  transition: all 0.25s;
}
.timeline__year.is-active {
  opacity: 0.7;
}
.timeline__period {
  position: absolute;
  right: 80px;
  right: 4.16666667vw;
  transition: all 0.25s;
}
.timeline__period.is-disabled {
  opacity: 0;
}
.timeline__period:hover {
  z-index: 1;
  top: 0 !important;
  padding-bottom: 420px;
  padding-bottom: 21.875vw;
}
.timeline__period:hover .timeline-list {
  opacity: 1;
  pointer-events: auto;
}
.timeline__period:nth-of-type(1) {
  top: 0;
}
.timeline__period:nth-of-type(2) {
  top: 140px;
  top: 7.29166667vw;
}
.timeline__period:nth-of-type(3) {
  top: 280px;
  top: 14.58333333vw;
}
.timeline__period:nth-of-type(4) {
  top: 420px;
  top: 21.875vw;
}
.link-comment {
  position: fixed;
  z-index: 10;
  bottom: 50px;
  bottom: 2.60416667vw;
  left: 50px;
  left: 2.60416667vw;
  text-decoration: none;
  color: #FFF;
  line-height: 60px;
  line-height: 3.125vw;
  font-size: 40px;
  font-size: 2.08333333vw;
  cursor: pointer;
  filter: drop-shadow(2px 4px 6px transparent);
  transition: all 0.5s ease, opacity 0.75s ease;
}
.link-comment:hover {
  filter: drop-shadow(2px 4px 6px #000);
}
.link-comment svg {
  width: 60px;
  width: 3.125vw;
  height: 60px;
  height: 3.125vw;
  float: left;
  margin-right: 0.5em;
}
body.fp-viewing-0 .link-comment,
body.is-active .link-comment {
  opacity: 0;
  pointer-events: none;
}
.link-video {
  position: fixed;
  z-index: 10;
  bottom: 130px;
  bottom: 6.77083333vw;
  left: 50px;
  left: 2.60416667vw;
  text-decoration: none;
  color: #FFF;
  line-height: 60px;
  line-height: 3.125vw;
  font-size: 40px;
  font-size: 2.08333333vw;
  cursor: pointer;
  filter: drop-shadow(2px 4px 6px transparent);
  transition: all 0.5s ease, opacity 0.75s ease;
}
.link-video:hover {
  filter: drop-shadow(2px 4px 6px #000);
}
.link-video svg {
  width: 60px;
  width: 3.125vw;
  height: 60px;
  height: 3.125vw;
  float: left;
  margin-right: 0.5em;
}
body.fp-viewing-0 .link-video,
body.is-active .link-video {
  opacity: 0;
  pointer-events: none;
}
.video-info {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  aspect-ratio: 1000 / 1080;
  transform: translateY(100%);
  transition: 0.75s ease;
}
.video-info__close {
  transition: 0.75s ease;
  color: #FFF;
  position: absolute;
  top: 0;
  right: 0;
  text-decoration: none;
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.video-info:not(.is-active) {
  opacity: 0.5;
}
.video-info:not(.is-active) .video-info__close {
  opacity: 0;
  pointer-events: none;
}
.video-info.is-active {
  transform: translateY(0);
}
.comment-info {
  position: fixed;
  top: 0;
  left: 50%;
  height: 100dvh;
  aspect-ratio: 1000 / 1080;
  background: #FFF url("../img/letter-background.jpg") 50% 50% no-repeat;
  background-size: cover;
  border: 10px solid #FFF;
  transform: translate(-50%, 100%);
  transition: 0.75s ease;
}
.comment-info__text {
  padding: 20px;
  padding: 1.04166667vw;
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
  color: #000;
  font-size: 24px;
  font-size: 1.25vw;
}
.comment-info__text div:not(.is-active) {
  display: none;
}
.comment-info__text h2 {
  margin: 0 0 1em;
  font-size: 32px;
  font-size: 1.66666667vw;
}
.comment-info__text h3 {
  margin: 0 0 1em;
  font-size: 24px;
  font-size: 1.25vw;
}
.comment-info__text p {
  margin: 0 0 1em;
  font-family: 'Roboto', sans-serif;
}
.comment-info__close {
  transition: 0.75s ease;
  color: #FFF;
  position: absolute;
  top: 0;
  left: calc(100% + 20px);
  text-decoration: none;
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.comment-info:not(.is-active) {
  opacity: 0.5;
}
.comment-info:not(.is-active) .comment-info__close {
  opacity: 0;
  pointer-events: none;
}
.comment-info.is-active {
  transform: translate(-50%, 0);
}
.opacity-slider {
  display: flex;
  align-items: center;
  gap: 20px;
  gap: 1.04166667vw;
  user-select: none;
  position: fixed;
  z-index: 10;
  top: 50%;
  left: 0;
  transform: rotate(-90deg) translateY(-50%);
  transition: opacity 0.75s ease;
}
body.is-active .opacity-slider {
  opacity: 0;
  pointer-events: none;
}
.opacity-slider svg {
  display: block;
  width: 30px;
  width: 1.5625vw;
  height: 30px;
  height: 1.5625vw;
}
.opacity-slider label {
  display: flex;
}
.opacity-slider input {
  -webkit-appearance: none;
  background: rgba(255, 255, 255, 0.6);
  width: 130px;
  width: 6.77083333vw;
  height: 3px;
  border-radius: 3px;
}
.opacity-slider input::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: #FFF;
  cursor: n-resize;
  box-shadow: 0 0 2px 0 #555;
  transition: background 0.3s ease-in-out;
}
.opacity-slider input::-moz-range-thumb {
  -webkit-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: #FFF;
  cursor: n-resize;
  box-shadow: 0 0 2px 0 #555;
  transition: background 0.3s ease-in-out;
}
.opacity-slider input::-ms-thumb {
  -webkit-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: #FFF;
  cursor: n-resize;
  box-shadow: 0 0 2px 0 #555;
  transition: background 0.3s ease-in-out;
}
.opacity-slider input::-webkit-slider-thumb:hover {
  background: #FFF;
}
.opacity-slider input::-moz-range-thumb:hover {
  background: #ff0200;
}
.opacity-slider input::-ms-thumb:hover {
  background: #ff0200;
}
.opacity-slider input::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  background: transparent;
}
.opacity-slider input::-moz-range-track {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  background: transparent;
}
.opacity-slider input::-ms-track {
  -webkit-appearance: none;
  box-shadow: none;
  border: none;
  background: transparent;
}
.scrollable::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #F5F5F5;
}
.scrollable::-webkit-scrollbar {
  width: 6px;
  background-color: #F5F5F5;
}
.scrollable::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #555;
}
.index-years {
  user-select: none;
  display: flex;
  position: fixed;
  z-index: 10;
  bottom: 50px;
  bottom: 2.60416667vw;
  left: 50px;
  left: 2.60416667vw;
  transition: opacity 0.75s ease;
  line-height: 1;
  font-size: 75px;
  font-size: 3.90625vw;
  gap: 50px;
  gap: 2.60416667vw;
}
.index-years-list {
  position: absolute;
  bottom: 0;
  right: 0;
  margin-bottom: 74px;
  margin-bottom: 3.85416667vw;
  white-space: nowrap;
  text-align: right;
  opacity: 0;
  pointer-events: none;
}
.index-years-list a {
  display: block;
  text-decoration: none;
  transition: 0.25s ease;
  line-height: 1.2;
  font-size: 30px;
  font-size: 1.5625vw;
}
.index-years-list a:not(:hover) {
  filter: drop-shadow(2px 4px 0 transparent);
  opacity: 0.7;
}
.index-years__item {
  display: block;
  position: relative;
  color: #FFF;
  text-decoration: none;
  transition: 0.25s ease;
  filter: drop-shadow(2px 4px 6px #000);
}
.index-years__item:not(:hover) {
  filter: drop-shadow(2px 4px 0 transparent);
  opacity: 0.5;
}
.index-years__item:hover .index-years-list {
  opacity: 1;
  pointer-events: auto;
}
body:not(.is-scrollactive) .index-years,
body:not(.fp-viewing-0) .index-years {
  opacity: 0;
  pointer-events: none;
}
.index-links {
  position: fixed;
  z-index: 10;
  top: 125px;
  top: 6.51041667vw;
  left: 50px;
  left: 2.60416667vw;
}
body:not(.is-scrollactive) .index-links,
body.is-active .index-links {
  opacity: 0;
  pointer-events: none;
}
.index-link {
  float: left;
  margin-right: 1em;
  color: #FFF;
  line-height: 2;
  filter: drop-shadow(2px 4px 3px rgba(0, 0, 0, 0.3));
  transition: all 0.25s ease, opacity 0.75s ease;
}
.index-link:hover {
  filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.6));
}
.index-link svg {
  display: block;
  width: 48px;
  height: 48px;
}
.letter-count {
  pointer-events: none;
  position: fixed;
  z-index: 10;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.5s ease, opacity 0.75s ease;
  color: #FFF;
  line-height: 1;
  font-size: 25px;
  font-size: 1.30208333vw;
}
body.fp-viewing-0 .letter-count,
body.is-active .letter-count {
  opacity: 0;
  pointer-events: none;
}
.fp-section {
  height: 100dvh;
}
.section:not(.active) .photo {
  pointer-events: none;
  transform: scale(0.5) rotate(15deg) translate(-355%, -50%) !important;
  opacity: 0;
}
.section:not(.active) .card {
  pointer-events: none;
  transform: scale(0.6) rotate(105deg) translate(100%, -50%) !important;
  opacity: 0;
}
.section:not(.active) .letter {
  pointer-events: none;
  transform: scale(0.5) rotate(-90deg) translate(100%, -175%) !important;
  opacity: 0;
}
.section:not(.active) .intro-bg {
  pointer-events: none;
  opacity: 0;
  transform: translateY(-100%) rotate(-5deg) !important;
}
.section:not(.active) .intro-page {
  pointer-events: none;
  opacity: 0;
  transform: translate(100%, -50%) rotate(5deg) !important;
}
.card {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 714 / 769;
  height: 100dvh;
  background: url("../img/card.png") 50% 50% no-repeat;
  background-size: contain !important;
  filter: drop-shadow(5px 5px 30px rgba(0, 0, 0, 0.8));
  transition: 0.75s ease, filter 0s ease;
  transform-origin: 50% 50%;
}
.card::before,
.card::after {
  color: #000;
  position: absolute;
  line-height: 1;
  font-size: 32px;
  font-size: 1.66666667vw;
  transform: rotate(-3deg);
}
.card::before {
  content: attr(data-n);
  top: 52%;
  left: 51%;
}
.card::after {
  content: attr(data-person);
  top: 59%;
  right: 41%;
}
.card__close {
  transition: 0.75s ease;
  color: #FFF;
  position: absolute;
  top: 0;
  left: calc(100% + 20px);
  text-decoration: none;
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.card img {
  position: absolute;
  width: 100%;
}
.card .slider {
  position: relative;
  width: 100%;
  aspect-ratio: 1.5;
  background: none;
}
.card .slider__prev {
  color: #000;
  right: auto;
  left: 0;
  filter: drop-shadow(drop-shadow(2px 4px 6px #000));
}
.card .slider__next {
  color: #000;
  left: auto;
  right: 0;
  filter: drop-shadow(drop-shadow(2px 4px 6px #000));
}
.card__text {
  position: relative;
  z-index: 10;
  transition: 0.75s ease;
  width: 100%;
  height: 100%;
  padding: 20px;
  padding: 1.04166667vw;
  background: #FFF url("../img/letter-background.jpg") 50% 50% no-repeat;
  background-size: cover;
  color: #000;
  font-size: 24px;
  font-size: 1.25vw;
  overflow-x: hidden;
  overflow-y: auto;
  border: 10px solid #FFF;
}
.card__text h2 {
  margin: 0 0 1em;
  font-size: 32px;
  font-size: 1.66666667vw;
}
.card__text h3 {
  margin: 0 0 1em;
  font-size: 24px;
  font-size: 1.25vw;
}
.card__text p {
  margin: 0 0 1em;
  font-family: 'Roboto', sans-serif;
}
.card:not(.is-active) {
  cursor: pointer;
}
.card:not(.is-active) .card__text,
.card:not(.is-active) .card__close {
  opacity: 0;
  pointer-events: none;
}
body:not(.is-active) .card:hover {
  filter: drop-shadow(5px 5px 40px #000000);
}
.card.is-active {
  z-index: 20;
  filter: drop-shadow(5px 5px 30px rgba(0, 0, 0, 0)) !important;
  transform: scale(1) rotate(0deg) translate(-50%, -50%) !important;
}
body.is-active .card:not(.is-active) {
  opacity: 0;
  pointer-events: none;
}
.letter {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100dvh;
  background-size: contain !important;
  border: 10px solid #FFF;
  box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0.8);
  transition: 0.75s ease, box-shadow 0s ease;
  transform-origin: 50% 50%;
}
.letter__close {
  transition: 0.75s ease;
  color: #FFF;
  position: absolute;
  top: 0;
  left: calc(100% + 20px);
  text-decoration: none;
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.letter:not(.is-active) {
  cursor: pointer;
}
.letter:not(.is-active) .slider,
.letter:not(.is-active) .letter__toggletext,
.letter:not(.is-active) .letter__text,
.letter:not(.is-active) .letter__close {
  opacity: 0;
  pointer-events: none;
}
.letter__photo {
  opacity: 0;
  pointer-events: none;
}
.is-photo.is-active ~ .letter__photo {
  opacity: 1;
  pointer-events: auto;
}
body:not(.is-active) .letter__photo {
  opacity: 0 !important;
  pointer-events: none !important;
}
.letter__text {
  transition: 0.75s ease;
  width: 100%;
  height: calc(100% - 3em);
  flex-grow: 1;
  padding: 20px;
  padding: 1.04166667vw;
  background: #FFF url("../img/letter-background.jpg") 50% 50% no-repeat;
  background-size: cover;
  color: #000;
  font-size: 24px;
  font-size: 1.25vw;
  opacity: 0;
  pointer-events: none;
  overflow-x: hidden;
  overflow-y: auto;
  font-style: italic;
}
.letter__text h2 {
  margin: 0 0 1em;
  font-size: 32px;
  font-size: 1.66666667vw;
}
.letter__text h3 {
  margin: 0 0 1em;
  font-size: 24px;
  font-size: 1.25vw;
}
.letter__text p {
  margin: 0 0 1em;
  font-family: 'Roboto', sans-serif;
}
.is-text.is-active ~ .letter__text {
  opacity: 1;
  pointer-events: auto;
}
body:not(.is-active) .letter__text {
  opacity: 0 !important;
  pointer-events: none !important;
}
.letter__toggletext {
  display: block;
  flex-grow: 1;
  width: 50%;
  transition: 0.75s ease;
  z-index: 1;
  text-decoration: none;
  text-align: center;
  color: #FFF;
  line-height: 1;
  font-size: 32px;
  font-size: 1.66666667vw;
  padding: 0.5em;
  background: rgba(0, 0, 0, 0.5);
}
.letter__toggletext.is-active {
  background: rgba(0, 0, 0, 0.7);
}
body:not(.is-active) .letter:hover {
  box-shadow: 5px 5px 40px 0 #000000;
}
.letter.is-active {
  z-index: 20;
  box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0) !important;
  transform: scale(1) rotate(0deg) translate(-50%, -50%) !important;
}
body.is-active .letter:not(.is-active) {
  opacity: 0;
  pointer-events: none;
}
.slider {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FFF url("../img/letter-background.jpg") 50% 50% no-repeat;
  background-size: cover;
}
.slider__prev {
  text-decoration: none;
  color: #FFF;
  position: absolute;
  top: 50%;
  margin-top: -33px;
  margin-top: -1.71875vw;
  right: calc(100% + 20px);
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.slider__next {
  text-decoration: none;
  color: #FFF;
  position: absolute;
  top: 50%;
  margin-top: -33px;
  margin-top: -1.71875vw;
  left: calc(100% + 20px);
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.slider__item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s;
}
.slider__item:not(.is-active) {
  opacity: 0;
  pointer-events: none;
}
.slider__item img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.slider__item figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5px 10px;
  background: rgba(0, 0, 0, 0.7);
  color: #FFF;
  font-size: 20px;
  font-size: 1.04166667vw;
  font-family: 'Roboto', sans-serif;
}
.photo {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100dvh;
  border: 10px solid #FFF;
  box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0.8);
  background-size: contain !important;
  transition: 0.75s ease, box-shadow 0s ease;
  transform-origin: 50% 50%;
}
.photo__close {
  transition: 0.75s ease;
  color: #FFF;
  position: absolute;
  top: 0;
  left: calc(100% + 20px);
  text-decoration: none;
  user-select: none;
  font-size: 65px;
  font-size: 3.38541667vw;
  line-height: 1;
}
.photo:not(.is-active) {
  cursor: pointer;
}
.photo:not(.is-active) .slider,
.photo:not(.is-active) .photo__close {
  opacity: 0;
  pointer-events: none;
}
body:not(.is-active) .photo:hover {
  box-shadow: 5px 5px 40px 0 #000000;
}
.photo.is-active {
  z-index: 20;
  box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0) !important;
  transform: scale(1) rotate(0deg) translate(-50%, -50%) !important;
  aspect-ratio: 1.5 !important;
}
body.is-active .photo:not(.is-active) {
  opacity: 0;
  pointer-events: none;
}
.fp-warning,
.fp-watermark {
  display: none !important;
}
.icon-scroll {
  pointer-events: none;
  box-sizing: content-box;
  position: fixed;
  bottom: 3em;
  left: 50%;
  width: 1em;
  height: 3.125em;
  transform: translateX(-50%) scale(2);
  z-index: 99999;
  transition: opacity 0.75s;
}
.icon-scroll * {
  box-sizing: content-box;
}
body:not(.is-scrollactive) .icon-scroll,
body.is-active .icon-scroll {
  opacity: 0;
}
.icon-arrows::after,
.icon-arrows::before {
  content: '';
}
.icon-arrows span,
.icon-arrows::after,
.icon-arrows::before {
  display: block;
  width: 0.315em;
  height: 0.315em;
  border-right: 1px solid rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  margin: 0 0 0.125em 0.315em;
  transform: rotate(45deg);
  animation: mouse-scroll 1s infinite;
  animation-direction: alternate;
}
.icon-arrows::before {
  margin-top: 0.315em;
  animation-delay: 0.1s;
}
.icon-scroll span {
  animation-delay: 0.2s;
}
.icon-arrows::after {
  animation-delay: 0.3s;
}
.icon-scroll .mouse {
  height: 1.375em;
  width: 0.875em;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2em;
}
.icon-scroll .wheel {
  position: relative;
  display: block;
  height: 0.1875em;
  width: 0.1875em;
  margin: 0.1875em auto 0;
  background: rgba(255, 255, 255, 0.8);
  animation: mouse-wheel 1.2s ease infinite;
  border-radius: 50%;
}
@keyframes mouse-wheel {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(0.375em);
  }
}
@keyframes mouse-scroll {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.rotate-helper {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.9);
  color: #FFF;
  text-align: center;
  font-size: 1.25rem;
}
.rotate-helper__content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rotate-helper__content svg {
  display: block;
  margin: auto;
  width: 8rem;
  height: 8rem;
}
.rotate-helper__content p {
  margin: 0;
}
@media (orientation: portrait) {
  .rotate-helper {
    display: flex;
  }
}
.preloader {
  position: fixed;
  z-index: 999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000 url('data:image/png;base64,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') 50% 50% no-repeat;
  opacity: 0.9;
  animation: preloader 15s linear infinite;
}
@keyframes preloader {
  50% {
    transform: scale(2);
  }
}
