@import url("https://fonts.googleapis.com/css?family=Inter:400,700");

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html,
body {
  height: auto;
  background: black;
  width: 100vw;
  height: 100vh;
  overflow: hidden !important;
  touch-action: none;
  -webkit-overflow-scrolling: unset;
}

body {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  background: #111;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  /* background-image: url("https://media.istockphoto.com/id/1318313780/es/foto/almacén-de-neón-ciencia-ficción-futurista-láser-púrpura-brillante-cemento-de-hormigón.jpg?s=2048x2048&w=is&k=20&c=CG1Mbilp0XVRIETHIg8dCaya2UDKS8YIvARTBND9LA0="); */
  background-size: cover;
}

.h4t-glitch-lines::before {
  position: absolute;
  z-index: 1;
  content: '';
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  animation: bg-move 2s linear infinite;
  background-size: 100% 8px;
  background-image: linear-gradient(0, rgba(255, 255, 255, 0.02) 10%, transparent 10%, transparent 50%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.02) 60%, transparent 60%, transparent);
}

@-moz-keyframes bg-move {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 -32px;
  }
}

@-webkit-keyframes bg-move {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 -32px;
  }
}

@-o-keyframes bg-move {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 -32px;
  }
}

@keyframes bg-move {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 -32px;
  }
}

.h4t-bg-glitch .b::before {
  background: #00f;
}

.h4t-glitch-lines:after {
  content: "";
  animation: grain 10s steps(10) infinite;
  background-image: url("../img/h4t-bg-grain.png");
  content: "";
  width: 300%;
  height: 300%;
  left: -50%;
  opacity: 0.04;
  position: fixed;
  top: -110%;
  z-index: 5;
  mix-blend-mode: lighten;
}

@keyframes grain {

  0%,
  100% {
    transform: translate(0, 0)
  }

  10% {
    transform: translate(-5%, -10%)
  }

  20% {
    transform: translate(-15%, 5%)
  }

  30% {
    transform: translate(7%, -25%)
  }

  40% {
    transform: translate(-5%, 25%)
  }

  50% {
    transform: translate(-15%, 10%)
  }

  60% {
    transform: translate(15%, 0%)
  }

  70% {
    transform: translate(0%, 15%)
  }

  80% {
    transform: translate(3%, 35%)
  }

  90% {
    transform: translate(-10%, 10%)
  }
}

@-webkit-keyframes grain {

  0%,
  100% {
    -webkit-transform: translate(0, 0)
  }

  10% {
    -webkit-transform: translate(-5%, -10%)
  }

  20% {
    -webkit-transform: translate(-15%, 5%)
  }

  30% {
    -webkit-transform: translate(7%, -25%)
  }

  40% {
    -webkit-transform: translate(-5%, 25%)
  }

  50% {
    -webkit-transform: translate(-15%, 10%)
  }

  60% {
    -webkit-transform: translate(15%, 0%)
  }

  70% {
    -webkit-transform: translate(0%, 15%)
  }

  80% {
    -webkit-transform: translate(3%, 35%)
  }

  90% {
    -webkit-transform: translate(-10%, 10%)
  }
}

.h4t-glitch-crt {
  width: 100vh;
  height: 100vw;
  background-image: linear-gradient(rgba(17, 20, 53, 0),
      rgba(118, 255, 241, 0.002));
  background-repeat: repeat;
  background-size: 100% 30%;
  animation: glitch-crt 5s linear infinite;
  position: absolute;
  z-index: 1;
  transform: rotate(-90deg);
}

@keyframes glitch-crt {
  0% {
    background-position: 30% 70%;
  }

  100% {
    background-position: 0% 100%;
  }
}

.h4t-h4tch-logo {
  z-index: 1;
  position: relative;
}

.h4t-soon {
  position: absolute;
  width: 100vw;
  height: 100vh;
  margin: auto;
  padding-top: 200px;
  display: flex;
  align-items: center;
  justify-content: center
}

.h4t-soon > .h4t-soon-text {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 10px;
  font-weight: 100;
  color: silver;
}

.h4t-soon > .h4t-soon-text > span {
  color: #777;
}

.h4t-bg-glitch-ripple {
  background: #000 no-repeat center;
  background-size: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
  z-index: 5;
  overflow: hidden;
  background-image: url(../img/h4t-bg-glitch.jpeg);
  opacity: 0.1;
  user-select: none;
}
.h4t-bg-glitch {
  background: #000 no-repeat center;
  background-size: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
  z-index: 1;
  overflow: hidden;
  background-image: url(../img/h4t-bg-glitch.jpeg);
  /* background-image: url(https://images.unsplash.com/photo-1493514789931-586cb221d7a7?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1920&q=80); */
  opacity: 0.02;
  user-select: none;
}

.h4t-bg-glitch::before,
.h4t-bg-glitch::after,
.h4t-bg-glitch .channel {
  background: inherit;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  /* -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px); */
  top: 0;
}

.h4t-bg-glitch::before {
  animation: glitch-before 7s linear infinite alternate both;
  content: "";
}

@keyframes glitch-before {
  0% {
    clip-path: polygon(0% 15.514448667%, 100% 15.514448667%, 100% 22.0543690813%, 0% 22.0543690813%);
    transform: translate(5.6243084094%, 0.3050079991%);
  }

  2% {
    clip-path: polygon(0% 79.3219645719%, 100% 79.3219645719%, 100% 81.8125078426%, 0% 81.8125078426%);
    transform: translate(3.7231644418%, 0.4842868345%);
  }

  4% {
    clip-path: polygon(0% 8.9396776315%, 100% 8.9396776315%, 100% 18.6728902156%, 0% 18.6728902156%);
    transform: translate(-3.7646510394%, 0.2279380569%);
  }

  6% {
    clip-path: polygon(0% 15.0940864494%, 100% 15.0940864494%, 100% 18.6581622301%, 0% 18.6581622301%);
    transform: translate(-4.6587021987%, 0.3879041219%);
  }

  8% {
    clip-path: polygon(0% 15.2155815507%, 100% 15.2155815507%, 100% 17.9843631886%, 0% 17.9843631886%);
    transform: translate(-3.6192543572%, -0.3488913388%);
  }

  10% {
    clip-path: polygon(0% 55.1188908516%, 100% 55.1188908516%, 100% 56.2645795867%, 0% 56.2645795867%);
    transform: translate(-4.6188742%, 0.3255114413%);
  }

  12% {
    clip-path: polygon(0% 50.7365633455%, 100% 50.7365633455%, 100% 51.8780673348%, 0% 51.8780673348%);
    transform: translate(-0.0870534569%, -0.2685064963%);
  }

  14% {
    clip-path: polygon(0% 2.2443680537%, 100% 2.2443680537%, 100% 11.093020054%, 0% 11.093020054%);
    transform: translate(0.6523558149%, -0.1041238083%);
  }

  16% {
    clip-path: polygon(0% 5.9438180819%, 100% 5.9438180819%, 100% 9.3128762055%, 0% 9.3128762055%);
    transform: translate(-7.2731927024%, -0.3185438632%);
  }

  18% {
    clip-path: polygon(0% 33.0625121046%, 100% 33.0625121046%, 100% 38.4019025482%, 0% 38.4019025482%);
    transform: translate(-5.1707095494%, 0.0969398986%);
  }

  20%,
  100% {
    clip-path: none;
    transform: none;
  }
}

.h4t-bg-glitch::after {
  animation: glitch-after 4s linear infinite alternate both;
  content: "";
}

@keyframes glitch-after {
  0% {
    clip-path: polygon(0% 51.6243335774%, 100% 51.6243335774%, 100% 59.4646016811%, 0% 59.4646016811%);
    transform: translate(-3.6147745368%, -0.2092800369%);
  }

  2% {
    clip-path: polygon(0% 32.698813507%, 100% 32.698813507%, 100% 41.8777110062%, 0% 41.8777110062%);
    transform: translate(-2.73332809%, 0.1257041827%);
  }

  4% {
    clip-path: polygon(0% 46.7554461454%, 100% 46.7554461454%, 100% 52.5031649279%, 0% 52.5031649279%);
    transform: translate(3.2486604457%, -0.3713117745%);
  }

  6% {
    clip-path: polygon(0% 46.3232524277%, 100% 46.3232524277%, 100% 48.9265692134%, 0% 48.9265692134%);
    transform: translate(-6.8834786451%, -0.4286169792%);
  }

  8% {
    clip-path: polygon(0% 2.8679578439%, 100% 2.8679578439%, 100% 6.1158755345%, 0% 6.1158755345%);
    transform: translate(1.4111988641%, 0.4517862705%);
  }

  10% {
    clip-path: polygon(0% 30.552625639%, 100% 30.552625639%, 100% 37.2401500959%, 0% 37.2401500959%);
    transform: translate(-7.298324614%, -0.3323808312%);
  }

  12% {
    clip-path: polygon(0% 69.6281494518%, 100% 69.6281494518%, 100% 76.9782775187%, 0% 76.9782775187%);
    transform: translate(1.4234598012%, 0.4112533085%);
  }

  14% {
    clip-path: polygon(0% 38.1422361173%, 100% 38.1422361173%, 100% 45.1382941852%, 0% 45.1382941852%);
    transform: translate(-4.4370079045%, -0.1059740822%);
  }

  16% {
    clip-path: polygon(0% 32.3000946275%, 100% 32.3000946275%, 100% 39.6407783143%, 0% 39.6407783143%);
    transform: translate(-5.5237049449%, 0.4326584921%);
  }

  18% {
    clip-path: polygon(0% 85.1528109179%, 100% 85.1528109179%, 100% 86.9496083561%, 0% 86.9496083561%);
    transform: translate(4.1399729746%, 0.0019013085%);
  }

  20%,
  100% {
    clip-path: none;
    transform: none;
  }
}

.h4t-bg-glitch .channel {
  mix-blend-mode: screen;
}

.h4t-bg-glitch .channel::before {
  bottom: 0;
  content: "";
  display: block;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.h4t-bg-glitch .r {
  animation: rgb-shift-r 3s steps(1, jump-end) infinite alternate both;
}

@keyframes rgb-shift-r {
  0% {
    transform: translate(-1.221092985%, 0.3098835795%);
  }

  2% {
    transform: translate(1.9056892534%, -0.2293925938%);
  }

  4% {
    transform: translate(0.3578525378%, -0.2860547428%);
  }

  6% {
    transform: translate(1.4849994167%, 0.3212571423%);
  }

  8% {
    transform: translate(-1.1735757704%, -0.3558897068%);
  }

  10% {
    transform: translate(1.842122983%, 0.4475329088%);
  }

  12% {
    transform: translate(-0.9561527861%, 0.4847516177%);
  }

  14% {
    transform: translate(-0.1396513994%, -0.4486092896%);
  }

  16% {
    transform: translate(-1.5544631953%, 0.2289676271%);
  }

  18% {
    transform: translate(1.4315884067%, 0.4699577807%);
  }

  20%,
  100% {
    transform: none;
  }
}

.h4t-bg-glitch .r::before {
  background: #f00;
}

.h4t-bg-glitch .g {
  animation: rgb-shift-g 3s steps(1, jump-end) infinite alternate both;
}

@keyframes rgb-shift-g {
  0% {
    transform: translate(-0.369104639%, -0.3951909821%);
  }

  2% {
    transform: translate(-1.5022881377%, -0.0150873097%);
  }

  4% {
    transform: translate(1.0106075468%, -0.193674332%);
  }

  6% {
    transform: translate(1.981109351%, -0.2696121287%);
  }

  8% {
    transform: translate(1.6618286044%, 0.004098811%);
  }

  10% {
    transform: translate(0.5243171656%, -0.1505320696%);
  }

  12% {
    transform: translate(1.9541478267%, -0.1402755098%);
  }

  14% {
    transform: translate(-1.3897591706%, 0.0129237139%);
  }

  16% {
    transform: translate(-0.8359656665%, -0.1885908216%);
  }

  18% {
    transform: translate(-1.9980444798%, -0.3959651789%);
  }

  20%,
  100% {
    transform: none;
  }
}

.h4t-bg-glitch .g::before {
  background: #0f0;
}

.h4t-bg-glitch .b {
  animation: rgb-shift-b 3s steps(1, jump-end) infinite alternate both;
}

@keyframes rgb-shift-b {
  0% {
    transform: translate(-1.0228324197%, -0.3991362648%);
  }

  2% {
    transform: translate(1.0007915038%, -0.2834291539%);
  }

  4% {
    transform: translate(-0.44439145%, -0.051244718%);
  }

  6% {
    transform: translate(-1.5277714444%, -0.3627847061%);
  }

  8% {
    transform: translate(0.3925231174%, -0.0943484465%);
  }

  10% {
    transform: translate(-0.2290112682%, 0.488096704%);
  }

  12% {
    transform: translate(-0.4101715533%, 0.1345629968%);
  }

  14% {
    transform: translate(1.5867601079%, 0.3935814664%);
  }

  16% {
    transform: translate(-1.3964475842%, 0.3627646113%);
  }

  18% {
    transform: translate(0.8288055946%, -0.1898431598%);
  }

  20%,
  100% {
    transform: none;
  }
}