/*-- 300x600 Banner Styles --*/
* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  color: white;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: never;
  font-synthesis: none;
}

/*//# Fonts  */
.ff-h {
  font-family: "Athelas", serif;
}
.ff-b {
  font-family: "Atyp Display", sans-serif;
}

.p-rel {
  position: relative;
}
.p-abs {
  position: absolute;
}
.top {
  top: 0;
}
.bottom {
  bottom: 0;
}
.left {
  left: 0;
}
.center {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.fill {
  width: 100%;
  height: 100%;
}
.flex-cen {
  display: flex;
  align-items: center;
  justify-content: center;
}

/*//# Banner Styles  */
#banner-300x600 {
  width: 300px;
  height: 600px;
  overflow: hidden;
  cursor: pointer;
  background-color: rgb(0 0 0 / 0.2);

  isolation: isolate;
}

.test {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

#bg {
  position: absolute;
  height: calc(var(--img-size) * 1%);
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  z-index: -1;

  scale: var(--scale-from);

  &.zoom-in {
    animation: zoom-in var(--duration) linear;
  }
}

.card {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50%;
  width: calc(100% - 48px);
  padding-inline: 24px;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 40px;

  .bg {
    background-color: rgb(0 0 0 / var(--backdrop-opacity));
    opacity: 0;
  }

  .logo {
    width: 100%;
  }
  .title {
    font-size: 20px;
    margin-top: 10px;
    letter-spacing: 0.02em;
  }

  .subtitle {
    font-size: 12px;
    margin-top: 4px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
  }

  .btn {
    width: fit-content;
    margin-inline: auto;
    background-color: #f36e21;
    font-size: 18px;
    line-height: 1em;
    letter-spacing: 0.1em;
    padding: 0.75em 1.5em;
    margin-top: 20px;
  }
}

.fade-in {
  animation: fade-in 1000ms 200ms ease-in-out forwards;
  opacity: 0;
  filter: blur(2px);
}

.scale-in {
  scale: 0;
  animation: scale-in 800ms calc((var(--order) + 2) * 200ms) ease-in-out
    forwards;
}

.slide-in {
  animation: slide-in 1000ms ease-out forwards;
  transform: translateY(-100%);
  opacity: 0;
  animation-delay: 300ms;
}

@keyframes zoom-in {
  from {
  }
  to {
    scale: 1;
  }
}

@keyframes scale-in {
  from {
  }
  to {
    scale: 1;
  }
}

@keyframes fade-in {
  from {
  }
  to {
    opacity: 1;
    filter: blur(0px);
  }
}

@keyframes slide-in {
  from {
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
