html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Main styles */

body {
  display: flex;
  flex-direction: column;
  background-color: black;
  align-items: center;
}

:root {
  --backlight: rgb(255, 0, 123);
  --fontcol: rgb(255, 167, 221);
}

.subflex-container {
  /* background-color: rgba(75, 75, 75, 0.393); */
  width: 100%;
  color: black;
}

.flex-container {
  /* background: rgba(0, 255, 4, 0.251); */
  display: flex;
}

* {
  font-family: "MiSide";
  color: var(--fontcol);
}
h1, h2 {
  text-shadow: 0 0 10px var(--backlight);
}
h3 {
  color: rgb(255, 157, 157);
  text-shadow: 0 0 10px rgb(255, 0, 0);
}
dt {
  text-shadow: 0 0 10px rgb(255, 187, 0);
  color: rgb(255, 228, 152);
}
dd {
  transition: 500ms;
}
dd:hover {
  transform: scale(1.05);
  text-shadow: 0 0 10px var(--backlight);
  transition: 100ms;
}

.bg-img {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(miside.jpg) center/cover no-repeat;
  z-index: -1;
}

@font-face {
  font-family: "MiSide";
  src: url(fonts/MPLUSRounded1c-Black.ttf);
}

hr {
  border: 1px solid rgba(164, 7, 91, 0.256);
  border-radius: 50px;
  width: 50%;
  transition: 700ms;
}

.main-hr {
  border: 2px solid rgb(255, 136, 206);
  border-radius: 3px;
  box-shadow: 0 0 10px rgb(255, 0, 93);
  width: 80%;
  transition: 1s;
  @starting-style {
    width: 0;
  }
}

/* textboxes */
.textbox {
  background-color: rgba(40, 0, 19, 0.348);
  border-radius: 25px;
  width: 80%;
  max-height: fit-content;
  padding: 20px;
  color: black;
  box-shadow: 0 0 10px rgba(116, 0, 48, 0.37);
  transition: 700ms;
  /* backdrop-filter: blur(3px); */
}
.textbox:hover hr {
  border: 1px solid rgba(182, 9, 101, 0.458);
  border-radius: 50px;
  width: 95%;
  transition: 300ms;
}
.textbox:hover {
  transform: translateY(-5px);
  transition: 300ms;
  box-shadow: 0 0 10px rgb(121, 0, 51);
  background-color: rgba(51, 0, 24, 0.437);
}

.subtextbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 15px;
  border: 5px solid rgba(255, 122, 173, 0.101);
  background: rgba(0, 0, 0, 0.244);
  max-height: 500px;
  padding: 10px 20px;
  overflow: auto;
  scrollbar-color: rgba(255, 255, 255, 0.163) rgba(227, 4, 4, 0);
}

/* Media files */
.mini-img {
    border-radius: 50px;
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.big-img {
    border-radius: 15px;
    height: 299px;
    margin: 4px;
}

/* Buttons */
.generic-button {
  color: rgb(255, 167, 221);
  border: none;
  background-color: rgba(167, 0, 106, 0.279);
  padding: 8px 13px;
  height: 35px;
  width: 135px;
  border-radius: 12px;
  transition: 200ms;
  cursor: pointer;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.336);
}
.generic-button:hover {
  color: rgb(255, 152, 183);
  background-color: rgba(194, 0, 116, 0.366);
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.336);
  transform: translateY(-3px);
  transition: 200ms;
}
.generic-button:active {
  color: rgb(255, 126, 154);
  text-shadow: 0 0 2px  rgb(255, 0, 111);
  background-color: rgba(213, 14, 114, 0.366);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.336);
  transform: scale(98%);
  transition: 100ms;
}
.redirect-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding: 0px 13px;
  height: 35px;
  background-color: rgba(89, 10, 61, 0.459);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.325);
  border: none;
  border-radius: 13px;
  color: rgba(244, 77, 158, 0.607);
  text-decoration: none;
  transition: 300ms;
}
.redirect-button:hover {
  transition: 100ms;
  background-color: rgba(117, 12, 80, 0.459);
  color: rgb(244, 77, 158);
}
.redirect-button:active {
  transition: 50ms;
  transform: scale(107%);
  background-color: rgba(134, 13, 63, 0.459);
  color: rgb(244, 77, 116);
}

/* Constant animations */
h1, h2, h3 {
  animation: textanim 4s infinite;
}

@keyframes textanim {
  0% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(2deg);
  }
  100% {
    transform: rotate(-2deg);
  }
}

/* Footer */
.big-footer {
  border-radius: 20px;
  padding: 20px;
  background-color: rgba(23, 0, 9, 0.411);
  height: fit-content;
  width: 60%;
  margin-top: 25px;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-bottom: 20px;
  gap: 10px;
}
.big-footer * {
  margin: 0;
  /* padding: 0; */
}