@font-face {
  font-family: 'the-future-black';
  font-weight: 900;
  font-style: normal;
  src: url('./fonts/the-future-black.woff2') format('woff2');
}
@font-face {
  font-family: 'the-future-bold';
  font-weight: 700;
  font-style: normal;
  src: url('./fonts/the-future-bold.woff2') format('woff2');
}
*,
*:before,
*:after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
html,
body,
div,
p,
a {
  background: transparent;
  border: 0;
  font-size: 62.5%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
body {
  line-height: 1;
  background: #ffffff;
}
a {
  display: block;
  clear: both;
  cursor: pointer;
  opacity: 0;
}
#container {
  display: block;
  width: 100vw;
  height: 100vh;
  text-align: center;
  padding: 20vh 0 0 0;
  background: #c5c8c7;
  border-radius: 2vw;
  border: solid white 12px;
}
#container .soon {
  font-family: 'the-future-bold', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 4px;
  text-align: center;
  width: fit-content;
  position: fixed;
  top: 85%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #222921;
  color: #f4f2f2;
  padding: 1rem 2rem;
  border: 4px solid #222921;
  text-decoration: none;
  transition: all 0.3s ease;
  border-radius: 7px;
}
#container .soon:hover {
  background: #dbdbdb;
  color: #222921;
  border-color: #222921;
}
#container .hero {
  /* position: absolute;
  left: 50%;
  transform: translateX(-50%); */
  font-family: 'the-future-black', sans-serif;
  font-size: 14.4rem;
  font-weight: 900;
  letter-spacing: 18px;
  display: block;
  clear: both;
  overflow: hidden;
}
#container .hero.first-line {
  /* top: 30%; */
  margin-bottom: 18px;
}
#container .hero.second-line {
  /* top: 36%; */
}
#container .roller {
  color: #3c3d3f;
  height: 4.8rem;
  width: auto;
  overflow: hidden;
  display: block;
  margin: 0 auto;
  width: fit-content;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" on, "liga" on, "calt" on;
}
#container .subtitle {
  font-family: 'the-future-bold', sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 3px;
  color: #3c3d3f;
  margin: 3.6rem auto 0;
  width: fit-content;
  opacity: 0;
  animation: fadeIn 1.5s ease-in-out forwards;
  animation-delay: 3.8s;
  text-transform: none;
}
.stack {
  display: block;
  float: left;
  margin-top: -5.8rem;
  color: #3c3d3f;
}
.stack .rollerTop,
.stack .rollerBottom {
  line-height: 4.2rem;
  padding: 0 0 1.6rem 0;
}
.rollToThis {
  animation: roll 420ms cubic-bezier(0.26, 0.23, 0.36, 1.22);
}
@keyframes roll {
  0% {
    margin-top: -5.8rem;
  }
  100% {
    margin-top: 0rem;
  }
}

.logo {
    background: #252527;
    width: 175px;
    height: 168px;
    border-radius: 8px;
    margin-left: calc(50% - 90px);
    margin-bottom: 60px;
    display: block;
    position: relative; /* Add this - it's the only change needed to .logo */
    overflow: hidden;
    border:24px solid #252527;
    transform:scale(2) translateY(40%);
}

.logo-t {
    /* background: rgba(0,255,255,0.25); */
    width: 60px;
    position: absolute; /* Change from inline-block to absolute */
    left: 0;
    top: calc(-50% - 104px); /* Start with the container shifted up by half */
    height: 200%; /* Double height to hold both T's */
    z-index: 1;
}

.logo-s {
    /* background: rgba(0,0,255,0.25); */
    width: 60px;
    position: absolute; /* Change from inline-block to absolute */
    left: 50px; /* Position next to the T */
    top: 0;
    height: 100%;
    z-index: 2;
    margin: 0px 18px;
}

/* .logo div { margin: 24px; } */

svg { max-width: 100%; max-height: 120px; }

.logo-t svg {
  margin-top: 22px; ;
}

.logo-t path.top-t { fill: rgb(148, 249, 209); }
.logo-t path.bottom-t { fill: #F6F5F5; }
.logo-s path {fill: #F6F5F5}

/* Animation */
@keyframes slideDown {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(21.5%);
    }
}

.logo-t {
    animation: slideDown 1.5s ease-in-out forwards;
    animation-delay: 0.25s;
    animation-timing-function: cubic-bezier(.77,-0.23,0,1);
}

@keyframes zoomOut {
    from {
        transform:scale(2) translateY(40%);
    }
    to {
        transform:scale(1) translateY(0%);
    }
}

.logo {
    animation: zoomOut 1.5s ease-in-out forwards;
    animation-delay: 2s;
    animation-timing-function: cubic-bezier(.77,-0.23,0,1);
}

@keyframes fadeIn {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

a {
    animation: fadeIn 1.5s ease-in-out forwards;
    animation-delay: 3.5s;
    animation-timing-function: linear;
}

@keyframes slowColorChange {
    0% {
        fill: rgb(148, 249, 209);
    }
    25% {
        fill: rgb(173, 148, 249);
    }
    50% {
        fill: rgb(229, 249, 148);
    }
    75% {
        fill: rgb(148, 249, 209);
    }
}

.logo-t path.top-t {
    animation: slowColorChange 25s ease-in-out infinite;
    animation-delay: 3.5s;
    animation-timing-function: cubic-bezier(.77,-0.23,0,1);
}
