section{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /* https://lh3.googleusercontent.com/ka_5IYJDRkXZnbptxq64LPuggGL5FM8gnpJlsuSiOQh4b39kMkiRbVfX8iK8bjMg5SLkdfoix09P60wyFjN2=w681-h614 */
  background-size: cover;
  animation: animateBg 50s linear infinite;
}

@keyframes animateBg{
  0%,100%{
    transform: scale(1);
  }
  50%{
    transform: scale(1.2);
  }
}

main {
  display: grid;
  grid-template-columns: 30% 40% 30%;
  grid-template-rows: 80% repeat(2, 20%);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.thomas {
  position: absolute;
  z-index: 1;
  color: black;
  top: 90%;
  left: 10%;
  animation: thomas 1s linear infinite;
  background-color: yellow;
}

@keyframes thomas {
  50% {
    opacity: 0;
  }
}

.toastmaster1 {
  grid-area: 1 / 1 / 2 / 2;
  align-self: center;
  justify-self: center;
}

.moving-krafta {
  grid-area: 1 / 1 / 2 / 2;
  align-self: center;
  justify-self: center;
}
.toastmaster2 {
  grid-area: 1 / 3 / 2 / 4;
  align-self: center;
  justify-self: center;
}
.toastmaster img {
  max-width: 60%;
  height: auto;
}

.meme {
  z-index: -1;
  position: absolute;
}

.main-text {
  grid-area: 1 / 2 / 2 / 3;
  align-self: center;
  justify-self: center;
  font-size: 60px;
  font-family: impact;
  color: white;

  text-shadow:4px 4px 0 #000,
            -4px -4px 0 #000,
            4px -4px 0 #000,
            -4px 4px 0 #000,
            0px 4px 0 #000,
            4px 0px 0 #000,
            0px -4px 0 #000,
            -4px 0px 0 #000;

}

.bottom-text {
  grid-column-start: center ;
  grid-column-end: center ;
  grid-row-start: bottom;
  grid-row-end:  bottom;
  align-self: center;
  justify-self: center;
}

span{
  position: absolute;
  top:50%;
  left:50%;
  width: 4px;
  height: 4px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(255,255,255,0.1),0 0 0 8px rgba(255,255,255,0.1),0 0 20px rgba(255,255,255,0.1);
  animation: animate 3s linear infinite;
}
span::before{
  content:'';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  height: 1px;
  background: linear-gradient(90deg,#fff,transparent);
}
@keyframes animate
{
  0%
  {
    transform: rotate(315deg) translateX(0);
    opacity: 1;
  }
  70%
  {
    opacity: 1;
  }
  100%
  {
    transform: rotate(315deg) translateX(-1000px);
    opacity: 0;
  }
}
span:nth-child(1){
  top: 0;
  right: 0;
  left: initial;
  animation-delay: 0s;
  animation-duration: 1s;
}
span:nth-child(2){
  top: 0;
  right: 80px;
  left: initial;
  animation-delay: 0.2s;
  animation-duration: 3s;
}
span:nth-child(3){
  top: 80;
  right: 0px;
  left: initial;
  animation-delay: 0.4s;
  animation-duration: 2s;
}
span:nth-child(4){
  top: 0;
  right: 180px;
  left: initial;
  animation-delay: 0.6s;
  animation-duration: 1.5s;
}
span:nth-child(5){
  top: 0;
  right: 400px;
  left: initial;
  animation-delay: 0.8s;
  animation-duration: 2.5s;
}
span:nth-child(6){
  top: 0;
  right: 600px;
  left: initial;
  animation-delay: 1s;
  animation-duration: 3s;
}
span:nth-child(7){
  top: 300px;
  right: 0px;
  left: initial;
  animation-delay: 1.2s;
  animation-duration: 1.75s;
}
span:nth-child(8){
  top: 0px;
  right: 700px;
  left: initial;
  animation-delay: 1.4s;
  animation-duration: 1.25s;
}
span:nth-child(9){
  top: 0px;
  right: 1000px;
  left: initial;
  animation-delay: 0.75s;
  animation-duration: 2.25s;
}
span:nth-child(9){
  top: 0px;
  right: 450px;
  left: initial;
  animation-delay: 2.75s;
  animation-duration: 2.75s;
}




* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

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

body {
  background-image: url("lobster-dinner-750.jpg");
  background-repeat: repeat;
}

.moving-krafta {
  position: relative;
  animation: humping-krafta 0.5s infinite;
  animation-direction: alternate;
}
@keyframes humping-krafta {
  from   {left: 0px; top: 0px;}
  to  {left: 200px; top: 0px;}
}
.cover {
  position: relative;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 120%;
  width: 120%;
  background-image: url('enter-krafta.jpg');
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 0.1s linear;
  z-index: 1;
}

.center-button {
  z-index: 2;
  padding: 1em 2em;
  font-size: 1.5rem;
  border: none;
  background-color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

.center-button:hover {
  background-color: rgba(255, 255, 255, 1);
}

.toastmaster {
  animation: toastmaster 1s ease infinite;
}

@keyframes toastmaster {
  0% {
  scale: 100%;
  }
  50% {
  scale: 150%;
  }
  100% {
  scale: 100%;
  }
}
