@font-face {
  font-family: "Bai Jamjuree";
  src: url("../fonts/BaiJamjuree/BaiJamjuree-500-normal.woff") format("woff"), url("../fonts/BaiJamjuree/BaiJamjuree-500-normal.woff2") format("woff2");
}
body {
  font-family: "Bai Jamjuree", Arial, sans-serif;
}

main {
  margin-right: auto;
  margin-left: auto;
}

img {
  max-width: min(100vw - 48px, 360px);
}

a {
  color: #2d2d2d;
  text-decoration: none;
}

.container {
  --offset-y: 0px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, calc(-50% + var(--offset-y)), 0);
          transform: translate3d(-50%, calc(-50% + var(--offset-y)), 0);
  text-align: center;
}
.container--old-logo {
  -webkit-transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.container--old-logo .logo {
  -webkit-animation: scale 1s cubic-bezier(0, 0.46, 0.26, 0.99), fade 1s linear;
          animation: scale 1s cubic-bezier(0, 0.46, 0.26, 0.99), fade 1s linear;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
body[data-step="2"] .container--old-logo, body[data-step="3"] .container--old-logo {
  --offset-y: -20vh;
  opacity: 0.333;
}
.container--message {
  opacity: 0;
  -webkit-transition: opacity 500ms cubic-bezier(0.99, 0.26, 0.46, 0);
  transition: opacity 500ms cubic-bezier(0.99, 0.26, 0.46, 0);
  will-change: opacity;
}
body[data-step="2"] .container--message {
  opacity: 1;
  -webkit-transition: opacity 500ms cubic-bezier(0.99, 0.26, 0.46, 0) 250ms;
  transition: opacity 500ms cubic-bezier(0.99, 0.26, 0.46, 0) 250ms;
}
body[data-step="3"] .container--message {
  --offset-y: -10vh;
  opacity: 1;
  -webkit-transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.container--new-logo {
  --offset-y: 120px;
  opacity: 0;
  visibility: hidden;
}
.container--new-logo .btn {
  position: absolute;
  top: calc(100% + 40px);
  left: 50%;
  display: block;
  white-space: nowrap;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
body[data-step="3"] .container--new-logo {
  --offset-y: 0px;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.25s linear, transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.95s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn {
  padding: 0.75rem 2rem;
  text-decoration: none;
  color: #2d2d2d;
  border: 2px solid #2d2d2d;
  border-radius: 7px;
  -webkit-transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
  transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
}
.btn:hover {
  color: white;
  background-color: #2d2d2d;
}

/* 
 * Footer */
.footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  padding-top: 24px;
  padding-right: 48px;
  padding-bottom: 24px;
  padding-left: 48px;
}
.footer .footer-row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer .col-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 32px;
     -moz-column-gap: 32px;
          column-gap: 32px;
}
.footer a:hover {
  text-decoration: underline;
}

footer .col-right a {
  --box-1: 40px;
  width: var(--box-1);
  height: var(--box-1);
  display: block;
  background-color: #a0a0a0;
  -webkit-mask-image: url("../images/icon-instagram.svg");
  mask-image: url("../images/icon-instagram.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-transition: background-color 250ms ease-in-out;
  transition: background-color 250ms ease-in-out;
}
footer .col-right a:hover {
  background-color: #2d2d2d;
}

/* 
 * Animation */
@-webkit-keyframes fade {
  from {
    opacity: 0;
  }
}
@keyframes fade {
  from {
    opacity: 0;
  }
}
@-webkit-keyframes scale {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}
@keyframes scale {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}