/* Global styles */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: #141616;
  background-color: #e6e9ea;
  font-size: 28px;
}

h1 {
  font-size: 110px;
  margin-bottom: 1rem;
}

/* Sections */
.full-screen-section {
  height: 100vh;
  text-align: center;
  padding: 1rem;
  position: relative;
}

.top-section {
  display: flex;
  text-align: start;
  position: sticky;
  top: 0;
  transform: translate(0, calc(-1% * (max(var(--scroll), 25) - 25) * 100 / 75));
  --background-opacity: calc(100% - 1% * min(var(--scroll), 30) * 100 / 30);
}

.top-section .left,
.top-section .right {
  flex-basis: 0;
  flex-grow: 1;
  padding: 1rem 1rem 1rem 3rem;
}

.top-section .left {
  background-color: rgb(248, 250, 249, var(--background-opacity));
}

.top-section .right {
  background: linear-gradient(
    210.65deg,
    rgb(152, 157, 157, var(--background-opacity)) 0%,
    rgb(189, 194, 194, var(--background-opacity)) 100%
  );
}

/* Image animations */
.imgs > .top-section-img {
  --value: min(var(--scroll), 30) * 50 / 30;
  width: calc(50vw + 1vw * var(--value));
  transform: translateY(calc(50% - 1% * var(--value)));
}

/* Scroll effects */
:root {
  --scroll: 0;
}

/* Image transitions */
.imgs > * {
  position: fixed;
  width: 100vw;
  bottom: 0;
  z-index: 10;
  transform: translate(0, 100%);
  transition: transform 250ms ease-in-out;
}

/* Show images */
.imgs > .show {
  transform: translate(0, 0);
}

/* Data attribute for image to show */
[data-img-to-show] {
  position: absolute;
  top: 20%;
}

/* Media queries */
@media (max-width: 1000px) {
  .top-section .right {
    display: none;
  }

  .top-section .left {
    text-align: center;
  }

  body {
    font-size: 24px;
  }

  h1 {
    font-size: 72px;
  }

  .imgs > .top-section-img {
    width: 100vw;
  }
}
