* {
  box-sizing: border-box;
}

body {
  background-image: radial-gradient(rgb(23, 167, 233), purple);
  margin: 0px;
  /* max-width: 1000px; */
  /* min-width: 800px;
    max-height: 1000px;
    min-height: 800px; */
  /* width: 800px;
    height: 800px; */

  /* width: 100vh; */
  height: 100vh;
  /* max-width: 100vh; */

  display: flex;
  align-items: center;
  /* justify-content: center; */
  /* padding-left: 5vw; */
  overflow-x: hidden;
  overflow-y: hidden;
}

.main-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* border: #af4add 1px dashed; */
  /* top: 50%; */
  /* left: 50%; */
  /* width:30em;
    height:18em; */
  /* margin-top: -9em; */
  /*set to a negative number 1/2 of your height*/
  /* margin-left: -15em; */
  /*set to a negative number 1/2 of your width*/
  position: fixed;
  /* border: #af4add solid 3px; */
}

.container {
  /* width: 100%; */
  /* height: 80%; */
  /* left: 22%; */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.button-box {
  position: absolute;
  border-radius: 50%;
  box-shadow: 0px 10px 50px rgba(255, 0, 255, 0.568);
}

#add-circles {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(15, 1, 15);
  font-size: large;
  font-weight: bold;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: #af4add 2px;
  background-image: linear-gradient(rgba(28, 24, 223, 0.801),
      rgba(255, 5, 255, 0.596));
}

#add-circles:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.849),
      rgba(255, 5, 255, 0.678));
  color: white;
  font-size: large;
  font-weight: bold;
}

#add-circles:active {
  background-color: rgb(89, 0, 255);
  box-shadow: 0 5px rgba(81, 49, 88, 0.787);
  transform: translateY(2px);
}

.world-holder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.spinner {
  background-repeat: no-repeat;
  background-size: 643px;
  height: 643px;
  width: 643px;
  position: absolute;
  display: flex;
  justify-content: center;
  text-align: center;
}

#dropper {
  border-radius: 50%;
  height: 10px;
  width: 10px;
  /* border: #af4add solid 1px; */
  left: 50%;
  top: 50%;
  position: absolute;
}

#clock-runner {
  /* background-image: url("../images/clock-runner-xs-R.png"); */
  background-repeat: no-repeat;
  background-size: 100%;
}

.bomb-drop {
  border-radius: 50%;
  height: 100px;
  width: 100px;
  display: flex;
  position: relative;
  text-align: center;
}

.bomb {
  border-radius: 50%;
  height: 10px;
  width: 10px;
  top: 50%;
  left: 50%;
  margin: -5px 0px 0px -5px;
  position: absolute;
}

.glow {
  text-align: center;
  animation: glow 0.15s ease-in-out infinite alternate;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: space-around;
}

.invisible {
  box-shadow: 0px 0px 7px 8px rgba(108, 244, 253, 0.05);
  transition: 3s;
}

/* test explosion effect: */
.kaboom {
  animation: explode 0.25s ease-in-out 5 alternate;
}

.reveal-enemy {
  animation: reveal 0.25s ease-in-out 5 alternate;
}

@-webkit-keyframes glow {
  from {
    box-shadow: 0px 0px 20px 3px #af4add;
    /* box-shadow: 0px 0px 20px 3px #4a60dd; */
    border: rgb(140, 0, 255) 3px darkblue;
  }

  to {
    box-shadow: 0px 0px 15px 8px rgb(234, 0, 255);
    border: rgba(255, 0, 234, 0.726) 10px rgb(0, 76, 139);
    /* text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; */
  }
}

@-webkit-keyframes explode {
  from {
    box-shadow: 0px 0px 20px 3px #4a9bdde8;
    /* box-shadow: 0px 0px 20px 3px #4a60dd; */
    /* border: rgb(140, 0, 255) 3px darkblue; */
  }

  to {
    box-shadow: 0px 0px 15px 125px rgba(255, 0, 255, 0.897);
    /* border: rgba(255, 0, 234, 0.726) 10px rgb(0, 76, 139); */
    /* text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; */
  }
}

@-webkit-keyframes reveal {
  from {
    box-shadow: 0px 0px 20px 3px rgba(255, 0, 255, 0.897);
    /* box-shadow: 0px 0px 20px 3px #4a60dd; */
    /* border: rgb(140, 0, 255) 3px darkblue; */
  }

  to {
    box-shadow: 0px 0px 15px 125px rgba(0, 255, 242, 0.897);
    /* border: rgba(255, 0, 234, 0.726) 10px rgb(0, 76, 139); */
    /* text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6, 0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6; */
  }
}

#clock {
  background: url("../images/clock.png");
  background-repeat: no-repeat;
  background-size: auto;
  height: 400px;
  width: 400px;
  position: relative;
  border: 10px solid rgb(9, 226, 241);
  border-radius: 50%;
}

/* div {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
} */

#runner {
  width: 200px;
  height: 202px;
}

.move-left {
  animation: walk-left 1s steps(6) infinite, backward 15s linear infinite;
  transition-timing-function: ease-in;
  transition: 0.25s;
}

.move-right {
  animation: walk-right 1s steps(6) infinite, forward 15s linear infinite;
  transition-timing-function: ease-in;
  transition: 0.25s;
}

.move-forward {
  animation: walk-forward 1s steps(4) 3, backward 15s linear infinite;
}

.move-backward {
  animation: walk-backward 1s steps(4) 3, forward 15s linear infinite;
}

@keyframes walk-left {
  0% {
    background-position: 0px;
  }

  100% {
    background-position: 3806px;
  }
}

@keyframes walk-right {
  0% {
    background-position: 3806px;
  }

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

@keyframes walk-forward {
  0% {
    background-position: 0px;
  }

  100% {
    background-position: 3806px;
  }
}

@keyframes walk-backward {
  0% {
    background-position: 0px;
  }

  100% {
    background-position: 3806px;
  }
}

/* drop-box tests: */

.drop-box {
  /* clock height/width: 400px */
  /* number of drop boxes: 12 */
  /* border-radius: 50%; */
  left: 50%;
  top: 50%;
  background-color: blueviolet;
  position: absolute;
  transition: 3s;

  /* height: calc(400px / 12);
    width: calc(400px / 12);
    margin: calc(-(33px / 2)); */
}

.clock-parts {
  border-radius: 50%;
}

#outer-circle {
  height: 425px;
  width: 425px;
  position: absolute;
  border: 10px solid rgb(152, 241, 9);
}

#main-circle {
  height: 100%;
  width: 100%;
  position: relative;
}

/* game navi: */
.arrowNav {
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  color: ivory;
  font-size: 5rem;
  margin-top: -2.5rem;
  margin-left: -2.5rem;
  position: absolute;
}

.quarter {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
  transition: background-color 0.2s ease-in-out;
}

.quarter:hover {
  background-color: rgba(187, 67, 243, 0.904);
  box-shadow: 0px 0px 15px 8px rgba(234, 0, 255, 0.712);
}

/* TOP NAV: */
.quarter1 {
  top: -22%;
  left: 21%;
  transform-origin: top right;
  background-image: linear-gradient(rgb(33, 33, 121), rgba(24, 5, 42, 0.794));
  border-radius: 100% 0 0 0;
}

/* RIGHT NAV: */
.quarter2 {
  top: 21%;
  right: -23%;
  transform-origin: bottom right;
  background-image: linear-gradient(rgb(33, 33, 121), rgba(58, 8, 82, 0.863));
  border-radius: 0 100% 0 0;
}

/* LEFT NAV: */
.quarter3 {
  bottom: 20%;
  left: -22%;
  transform-origin: top left;
  background-image: linear-gradient(rgb(33, 33, 121), rgba(58, 8, 82, 0.863));
  border-radius: 0 0 0 100%;
}

/* BOTTOM NAV: */
.quarter4 {
  top: 23%;
  right: 20%;
  transform-origin: bottom left;
  background-image: linear-gradient(rgb(33, 33, 121), rgba(24, 5, 42, 0.794));
  border-radius: 0 0 100% 0;
}

.cutout {
  width: 100%;
  height: 100%;
  background-image: radial-gradient(rgb(23, 167, 233), rgb(167, 9, 241));
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

/* #info-bar {
} */

#info-bar {
  display: none;
  background: rgba(224, 92, 250, 0.623);
  /* border-radius: 20%; */
  border-top-right-radius: 100%;
  /* width: 10%; */
  color: white;
  position: fixed;
  left: 0px;
  bottom: 0px;
  height: 150px;
  width: 150px;
  line-height: 150px;
  display: none;
  align-items: center;
  justify-content: center;
  /* padding: 5%; */

  transition: bottom 0.5s ease;
}

#info-bar-opponent {
  display: none;
  background: rgba(92, 226, 250, 0.5);
  /* border-radius: 20%; */
  border-top-left-radius: 100%;
  /* width: 10%; */
  color: white;
  position: fixed;
  right: 0px;
  bottom: 0px;
  height: 150px;
  width: 150px;
  line-height: 150px;
  display: none;
  align-items: center;
  justify-content: left;
  /* padding: 5%; */

  transition: bottom 0.5s ease;
}

.slide-deck {
  /* background: rgba(92, 226, 250, 0.719); */
  right: -100%;
  /* bottom: -100%; */
  color: #fff;
  height: 100%;
  left: 0px;
  text-align: center;
  position: absolute;
  transition: left 0.5s ease;
  width: 100%;
}

.slide-deck-opponent {
  /* background: rgba(92, 226, 250, 0.719); */
  /* left: -100%; */
  /* bottom: -100%; */
  color: #fff;
  height: 100%;
  /* left: 0%; */
  /* right: 0%; */
  right: 0px;
  text-align: center;
  position: absolute;
  transition: right 0.5s ease;
  width: 100%;
}

#info-bar:hover {
  border-radius: 0%;
  background-color: none;
  width: 100%;
}

#info-bar:hover .slide-deck {
  /* bottom: 0%; */
  right: 100%;
}

.stats {
  padding: 10px;
  width: 100%;
  position: relative;
  display: flex;
  transition: 2s;
}

.stats-opponent {
  padding: 10px;
  width: 100%;
  position: relative;
  transition: 2s;
}

#health-status,
#health-status-opponent {
  position: relative;
  transition: 2s;
}

.heart-wrapper {
  border-radius: 50%;
  /* background-color: rgb(247, 0, 255); */
  /* left: 50%; */
  /* margin: -5px 0px 0px -5px; */
  position: absolute;
  align-items: center;
  align-content: center;
  /* animation: heartbeat .5s infinite; */
  /* animation: pulse 1s infinite; */
}

.heart-pulse {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  /* top: 50%;
    /* margin: -5px 0px 0px -5px; */
  /* left: 25%; */
}

.heart-pulse:before,
.heart-pulse:after {
  position: absolute;
  content: "";
  left: 50%;
  /* top: 0; */
  top: 25%;
  /* width: 10px;
    height: 16px;  */
  width: 50%;
  height: 80%;
  background: #aa0000;
  border-radius: 50px 50px 0 0;
  transform: rotate(-45deg);
  transform-origin: 0 100%;
  animation: pulsecolor 1s infinite;
}

.heart-pulse:after {
  left: 0%;
  transform: rotate(45deg);
  transform-origin: 100% 100%;
  animation: pulsecolor 1s infinite;
}

/* @keyframes pulse {
    10% {
        transform: scale(1.5)
    }
} */

.hour-hand {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  /* border: 2px solid black; */
  height: 355px;
  width: 355px;
}

.minute-hand {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  /* border: 2px solid black; */
  height: 355px;
  width: 355px;
}

.second-hand {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  /* border: 2px solid black; */
  height: 355px;
  width: 355px;
}

.hours {
  height: 50%;
  width: 0px;
  box-sizing: border-box;
  border: 5px solid black;
  top: 0%;
  left: 50%;
  position: absolute;
  transform-origin: bottom;
  /* of-course, would be 60s */
  animation: clock-moves 60s infinite linear;
}

.minutes {
  height: 50%;
  width: 0px;
  box-sizing: border-box;
  border: 4px solid rgb(65, 20, 230);
  top: 0%;
  left: 50%;
  position: absolute;
  transform-origin: bottom;
  /* of-course, would be 60s */
  animation: clock-moves 30s infinite linear;
}

.seconds {
  height: 50%;
  width: 0px;
  box-sizing: border-box;
  border: 3px solid rgb(238, 31, 238);
  top: 0%;
  left: 50%;
  position: absolute;
  transform-origin: bottom;
  /* of-course, would be 60s */
  animation: clock-moves 10s infinite linear;
}

@keyframes clock-moves {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* .second-hand:before {
  position: absolute;
  content: "";
  background: #fd1111;
  height: 45px;
  width: 2px;
  top: 45px;
} */

/* @keyframes time {
  to {
    transform: rotate(360deg);
    transform-origin: -50% 50%;
  }
} */

@keyframes pulsecolor {
  10% {
    background: #dd0000;
  }
}

/* -------------------- */

@keyframes heartbeat {
  0% {
    transform: scale(0.75);
  }

  20% {
    transform: scale(1);
  }

  40% {
    transform: scale(0.75);
  }

  60% {
    transform: scale(1);
  }

  80% {
    transform: scale(0.75);
  }

  100% {
    transform: scale(0.75);
  }
}

/* .ghost {
    border-radius: 50%;
    background-color: rgb(0, 255, 34);
    height: 10px;
    width: 10px;
    top: 50%;
    left: 50%;
    margin: -5px 0px 0px -5px;
    position: absolute;
} */

/* .glove {
    border-radius: 50%;
    background-color: rgba(0, 140, 255, 0.918);
    height: 10px;
    width: 10px;
    top: 50%;
    left: 50%;
    margin: -5px 0px 0px -5px;
    position: absolute;
} */

.ghost {
  border-radius: 200% 0;
  left: 50%;
  top: 25%;
  width: 50%;
  height: 80%;
  background-image: linear-gradient(to right,
      rgba(51, 255, 0, 0.918),
      rgb(226, 147, 43),
      rgb(255, 217, 0));
  margin: -5px 0px 0px -5px;
  position: absolute;
}

/* .leaf::after {
    border-radius: 200% 0;
    box-shadow: #dd0000;
    z-index: 30;
    background-color: rgba(0, 0, 0, 0.918);
    height: 80px;
    width: 80px;
    top: 50%;
    left: 50%;
    margin: -5px 0px 0px -5px;
    position: absolute;
} */

.glove {
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(farthest-corner at 10px 0,
      #3100d4 0%,
      #0097ef 95%);
  /* background-image: radial-gradient(farthest-corner at 10px 0, #d43300 0%, #ef5a00 95%); */
  /* transform: scaleX(0.8) rotate(45deg); */
  transform: rotate(45deg);
  /* border-radius: 0 40% 60% 40%; */
  border-top-right-radius: 0;
  /* filter: drop-shadow(0 0 10px #8214addc); */
}

.pulse-score {
  margin: 100px;
  display: block;
  width: 22px;
  height: 22px;
  border-top-left-radius: 100%;
  background: #cca92c;
  cursor: pointer;
  box-shadow: 0 0 0 rgba(204, 169, 44, 0.4);
  /* ------------------------------------- */
  position: fixed;
  right: 0px;
  bottom: 0px;
  height: 150px;
  width: 150px;
  line-height: 150px;
  display: none;
  align-items: center;
  justify-content: left;
  animation: pulse 2s infinite;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0.4);
  }

  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(204, 169, 44, 0);
  }

  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
  }
}

@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0.4);
    box-shadow: 0 0 0 0 rgba(204, 169, 44, 0.4);
  }

  70% {
    -moz-box-shadow: 0 0 0 10px rgba(204, 169, 44, 0);
    box-shadow: 0 0 0 10px rgba(204, 169, 44, 0);
  }

  100% {
    -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
    box-shadow: 0 0 0 0 rgba(204, 169, 44, 0);
  }
}

.splash-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
}

.text-background {
  background-image: url("../images/fire-smoke.mp4");
  background-position: center;
  background-size: cover;
}

.text-background>h1 {
  width: 100vw;
  text-align: center;
  font-size: 15vw;
  font-weight: bold;
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #000;
  background: #fff;
  mix-blend-mode: lighten;
}

.msg-block {
  display: flex;
  align-self: center;
  justify-content: center;
  width: auto;
  font-size: 2rem;
  /* font-size: 2vw; */
  color: aliceblue;
}

.enter-btn {
  position: absolute;
  display: flex;
  text-decoration: none;
  height: 75px;
  width: 75px;
  background-color: #af4add;
  box-shadow: 0 5px 45px blueviolet, inset 0 0 15px rgb(68, 7, 180),
    inset 0 0 15px rgb(7, 39, 180);
  border-radius: 50%;
}

.enter-btn>span {
  display: flex;
  margin: auto;
  text-align: center;
  color: white;
}

.modal-background {
  position: absolute;
  z-index: 50;
  font-size: x-large;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100vh;
  width: 100vw;
}

.modal-window {
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 60vmin;
  width: 60vmin;
  background-color: rgba(86, 74, 138, 0.87);
  border-radius: 50%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19),
    0 6px 6px rgba(0, 0, 0, 0.23);
  line-height: 5vmin;
  color: #fff;
}

.btn {
  border-radius: 5px;
  padding: 5px 32px;
  cursor: pointer;
  text-decoration: none;
}

.primary {
  border: none;
  overflow: hidden;
  position: relative;
}

.primary:hover {
  box-shadow: 1px 1px 25px 10px rgba(146, 148, 248, 0.4);
}

.primary:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg,
      transparent,
      rgba(146, 148, 248, 0.4),
      transparent);
  transition: all 350ms;
}

.primary:hover:before {
  left: 100%;
}

.link-row>a {
  color: rgb(239, 68, 255);
  font-size: larger;
  padding: 25px 32px;
  cursor: pointer;
  text-decoration: none;
}

.display-info {
  position: absolute;
  left: 0;
  top: 0;
  padding: 50px;
  color: #fff;
}


/* ========= placeholder modal styling ============ */
/* TODO: add custom stying */

/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}

/* Modal Content/Box */
.modal-content {
  background-color: #fefefeb2;
  display: flex;
  align-content: center;
  justify-content: center;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  font-size: large;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  top: 0;
  right: 0;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* random image filters */
.saturate {
  filter: saturate(3);
}

.invert {
  filter: invert(90%);
}

.sepia {
  filter: sepia(70%);
}

.huerotate {
  filter: hue-rotate(180deg);
}

/* Join Page */
.join-container {
  z-index: 2;
  max-width: 500px;
  margin: 80px auto;
  color: #fff;
}

.join-header {
  text-align: center;
  padding: 20px;
  background: var(--dark-color-a);
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.join-main {
  padding: 30px 40px;
  background: var(--dark-color-b);
}

.join-main p {
  margin-bottom: 20px;
}

.join-main .form-control {
  margin-bottom: 20px;
}

.join-main label {
  display: block;
  margin-bottom: 5px;
}

.join-main input[type='text'] {
  font-size: 16px;
  padding: 5px;
  height: 40px;
  width: 100%;
}

.join-main select {
  font-size: 16px;
  padding: 5px;
  height: 40px;
  width: 100%;
}

.join-main .btn {
  margin-top: 20px;
  width: 100%;
}

@media (max-width: 700px) {
  .chat-main {
    display: block;
  }

  .chat-sidebar {
    display: none;
  }
}