html,
body {
  width: 100%;
  height: 100%;
  font-family: Arial;
}



@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

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

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

body {
  font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif;
}

.labels {
  margin: auto;
  margin-top: 10px;
  text-align: center;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  color: #303a21;
  word-wrap: break-word;
  margin-bottom: 50px;
}

.frame {
  margin: auto;
  padding: 5px 0px;
  width: 56px;
  border: 2px solid #303a21;
  border-radius: 5px;
}

.btn {
  display: block;
  margin: auto;
  margin-top: 10px;
  background-color: #B2C8DF;
  color: #610C63;
  padding: 10px 5px;
  text-transform: uppercase;
  font-size: 10px;
  border: 0px;
  cursor: pointer;
  border: 0px;
  border-radius: 5px;
}

.btn-rounded {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.fa {
  font-size: 14px;
}

.flipx {
  transform: scaleX(-1);
}

#score {
  margin-top: 5px;
}

#outer-board {
  width: 365px;
  margin: auto;
}

#board {
  float: left;
  position: relative;
  background-color: #495C83;
  width: 280px;
  height: 448px;
  margin: 10px auto;
  border: 2px solid #303a21;
  border-radius: 7px;
  z-index: 2;
}

#stats {
  float: right;
  position: relative;
  background: linear-gradient(-5deg, #1363DF, #F6C6EA, #AFB4FF, #003865);
  background-size: 400% 400%;
  animation: gradient 5s ease infinite;
  width: 70px;
  height: 448px;
  margin: 10px auto;
  border: 2px solid #0078AA;
  border-radius: 7px;
  z-index: 2;
}

#banner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 100px;
  background-color: #513252;
  color: #c4d6a7;
  z-index: 2;
  text-align: center;
  border-radius: 7px;
}

#message {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 23px;
  margin: 10px;
  margin-top: 20px;
}

#new-game {
  font-weight: 100;
  cursor: pointer;
}

.block,
.empty {
  position: absolute;
  background: linear-gradient(-45deg, #53BF9D, #FFA500, #BD4291, #FFC54D);
  background-size: 400% 400%;
  animation: gradient 4s ease infinite;
  width: 28px;
  height: 28px;
}

.empty {
  opacity: 0.2;
}

.inner-tile {
  position: absolute;
  background: linear-gradient(-45deg, #411530, #9C9EFE, #AFB4FF, #003865);
  background-size: 400% 400%;
  animation: gradient 5s ease infinite;
  border: 4px solid #513252;
  width: 14px;
  height: 14px;
  margin: 3px;
}

.inner-inner-tile {
  position: absolute;
  background: linear-gradient(-45deg, #deb7cf, #8183ff, #3d4061, #aef8b3);
  background-size: 400% 400%;
  animation: gradient 3s ease infinite;
  width: 8px;
  height: 8px;
  margin: 3px;
}

canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@import url(https://fonts.googleapis.com/css?family=Montserrat);

.container {
  display: flex;
  height: 15%;
  align-items: center;
  z-index: 2;
}

svg {
  display: block;
  font: 5.5em 'Montserrat';
  width: 360px;
  height: 112.5px;
  margin: 0 auto;
  z-index: 2;
}

.text-copy {
  fill: none;
  stroke: white;
  stroke-dasharray: 6% 29%;
  stroke-width: 5px;
  stroke-dashoffset: 0%;
  animation: stroke-offset 5.5s infinite linear;
}

.text-copy:nth-child(1) {
  stroke: #554994;
  animation-delay: -1;
}

.text-copy:nth-child(2) {
  stroke: #F675A8;
  animation-delay: -2s;
}

.text-copy:nth-child(3) {
  stroke: #F29393;
  animation-delay: -3s;
}

.text-copy:nth-child(4) {
  stroke: #FFCCB3;
  animation-delay: -4s;
}

.text-copy:nth-child(5) {
  stroke: #FFE9AE;
  animation-delay: -5s;
}

@keyframes stroke-offset {
  100% {
    stroke-dashoffset: -35%;
  }
}