body {
  text-align: center;
  padding: 20px;
  font-family: Sans-Serif;
  color: #fff;
  user-select: none;
  overflow: hidden auto;
}

/* Main */
.navBar {
  display: flex;
  justify-content: center;
  align-content: center;
  gap: 15px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  min-width: 660px;
}
.navBar .navHeader {
  display: flex;
  flex-direction: column;
  font-size: 30px;
  color: #b7e9ff;
}
.navBar .title {
  font-family: "Lilita One", Sans-Serif;
  margin-bottom: 2px;
}
.navBar .header {
  font-size: 15px;
  font-weight: 600;
  color: #b7e9ff;
  max-width: 500px;
}
.navBar img {
  width: 100px;
  height: 100px;
  cursor: pointer;
  transition: transform 200ms ease-in-out;
  transform: scale(1);
}
.navBar img:hover {
  transform: scale(1.1);
}

.innerNav {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}
.innerNav .navImg {
  width: 70px;
  height: 70px;
  cursor: pointer;
  transition: transform 200ms ease-in-out;
  transform: scale(1);
}
.innerNav .navImg:hover {
  transform: scale(1.15);
}
.innerNav .navImgBig {
  width: 35px;
  height: 35px;
  padding: 8px;
  margin: 5px;
  background-color: #00b8ff;
  border: solid 5px #007dff;
  border-radius: 50px;
  cursor: pointer;
  transition: transform 200ms ease-in-out;
  transform: scale(1);
}
.innerNav .navImgBig:hover {
  transform: scale(1.1);
}

.tagBar {
  display: flex;
  flex-flow: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 65px;
  max-width: 700px;
  margin: 15px;
  padding: 0 5px;
  background-color: #242424;
  border: solid 5px #2f2f2f;
  border-radius: 25px;
  overflow: hidden;
  transition: height 300ms ease-in-out;
}
.tagBar[expanded] {
  height: 250px;
}

/* Extension Div */
.ext-div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  padding: 0;
  width: 105%;
  left: 50%;
  transform: translateX(-50%);
}

/* Extension Status Tags */
.status-tag {
  position: absolute;
  right: -35px;
  top: -25px;
}
.ext-pin {
  position: absolute;
  left: 5px;
  top: 5px;
  transition: transform 200ms ease-in-out;
  transform: scale(0.8);
  filter: grayscale(1);
}
.ext-pin[pinned] {
  filter: grayscale(0) !important;
}
.ext-pin:hover {
  transform: scale(0.9);
}

/* Contributors */
.contributor {
  width: 150px;
  height: 150px;
  border-radius: 150px;
  opacity: 0;
  margin: 25px;
  cursor: pointer;
  transition: transform 200ms ease-in-out;
  transform: scale(1);
}
.contributor:hover {
  transform: scale(1.1);
}

/* Text Descriptors */
.text-descriptor {
  width: max-content;
  max-width: 90%;
  background-color: rgba(87,87,87,.86);
  border-radius: 15px;
  border: solid clamp(5px, .7vw, 8px) #ebebeb;
  padding: clamp(8px, 2%, 20px);
  font-size: clamp(8px, 5vw, 20px);
  font-weight: 600;
  position: fixed;
  left: -50%;
  top: 90%;
  transform: translate(-50%, -50%);
  z-index: 999;
  pointer-events: none;
}

/* Donate Button */
.donateBtn {
  width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  margin: 5px;
  background: linear-gradient(110deg, #00b8ff 40%, #66d9ff 50%, #00b8ff 60%);
  background-size: 200% 100%;
  border: solid 6px #007dff;
  border-radius: 50px;
  line-height: 150%;
  text-indent: 10px;
  font-size: 20px;
  font-family: Sans-Serif;
  font-weight: 600;
  color: #fff;
  position: relative;
  overflow: hidden;
  animation: donateShine 2s linear infinite;
  cursor: pointer;
  transition: transform 200ms ease-in-out, margin 150ms ease-in-out;
  transform: scale(1);
}
.donateBtn:hover {
  transform: scale(1.1);
  margin: 5px 15px;
}

@keyframes donateShine {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
