/* Fonts */
@font-face {
    font-family: 'Iosevka';
    src: url('../fonts/IosevkaCurlySlab-Regular.ttf');
}
@font-face {
    font-family: 'PixelatedElegance';
    src: url('../fonts/PixelatedEleganceRegular.ttf');
}
@font-face {
    font-family: 'MegamaxJonathanToo';
    src: url('../fonts/MegamaxJonathanToo.ttf');
}

/* Color Scheme*/
:root {
  /* Gruvbox Light Default */
  --bg:         #fbf1c7;
  --bg-soft:    #f2e5bc;
  --bg-hard:    #f9f5d7;
  --fg:         #3c3836;
  --fg-soft:    #504945;
  --fg-hard:    #665c54;

  --red:        #9d0006;
  --green:      #79740e;
  --yellow:     #b57614;
  --blue:       #076678;
  --purple:     #8f3f71;
  --aqua:       #427b58;
  --orange:     #af3a03;

  --bright-red:    #cc241d;
  --bright-green:  #98971a;
  --bright-yellow: #d79921;
  --bright-blue:   #458588;
  --bright-purple: #b16286;
  --bright-aqua:   #689d6a;
  --bright-orange: #d65d0e;
}
[data-theme="dark"] {
  --bg:         #282828;
  --bg-soft:    #32302f;
  --bg-hard:    #1d2021;
  --fg:         #ebdbb2;
  --fg-soft:    #d5c4a1;
  --fg-hard:    #a89984;

  --red:        #cc241d;
  --green:      #98971a;
  --yellow:     #d79921;
  --blue:       #458588;
  --purple:     #b16286;
  --aqua:       #689d6a;
  --orange:     #d65d0e;

  --bright-red:    #fb4934;
  --bright-green:  #b8bb26;
  --bright-yellow: #fabd2f;
  --bright-blue:   #83a598;
  --bright-purple: #d3869b;
  --bright-aqua:   #8ec07c;
  --bright-orange: #fe8019;
}

/* Page Body Modifiers */
body {
  background-color: #0b0809;
  color: #fbf1c7;
  font-family: Iosevka;
  overflow-x: hidden;
}
.bg-video {
  position: fixed;
  right: 0; bottom: 0;
  min-width: 100%; min-height: 100%;
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: cover;
  z-index: -1;
}
.bg-video2 {
  position: absolute;
  right: 0; bottom: 0;
  min-width: 100%; min-height: 100%;
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  opacity: 0.625;
  object-fit: cover;
  z-index: -1;
}
.bg-video3 {
  position: absolute;
  right: 0; top: 0vh;
  min-width: 100%; min-height: 500%;
  max-width: 100%;;
  transform: translateY(100vh);
  width: auto; height: auto;
  opacity: 0.625;
  object-fit: cover;
  z-index: -1;
}
.bg-video-fade {
  opacity: 100%;
  animation: fade-in 6s;
  max-width: 100%; max-height: 100%;
  animation-iteration-count: 1;
}

/* Intro Page */
.intro {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 30vh;
  transition: 1s;
}
.logo-header {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
}
.logo {
  color: rgba(251, 241, 199, 0.9);
  position: absolute;
  display: inline-block;
  font-size: 5.6px;
  bottom: -20px;
  opacity: 0;
  white-space: pre;
}
.logo-1 {
  text-shadow: 5px 5px #33302f;
  left: 10%;
}
.logo-2 {
  text-shadow: 5px 5px #33302f;
  left: 37%;
}
.logo-3 {
  text-shadow: 5px 5px #33302f;
  left: 64%;
}
.subheader {
  font-family: PixelatedElegance;
  font-size: 1rem;
  border-top: 2px solid #fbf1c7;
  position: relative;
  top: 30px;
  text-shadow: 5px 3px #33302f;
  vertical-align: bottom;
}
.notfound-1 {
  font-size: 5rem;
  text-shadow: 5px 5px #33302f;
  position: absolute;
  left: 21.5%;
}
.notfound-2 {
  font-size: 5rem;
  text-shadow: 5px 5px #33302f;
  left: 40%;
  position: absolute;
}
.notfound-3 {
  font-size: 5rem;
  text-shadow: 5px 5px #33302f;
  left: 58%;
  position: fixed;
}
.notfound-subheader {
  font-size: 1rem;
  position: relative;
  top: 40px;
  text-shadow: 5px 3px #33302f;
  vertical-align: bottom;
}
.logo.active {
  bottom: 0;
  opacity: 1;
  transition: ease-in-out 0.5s;
}
.logo.fade {
  bottom: 150px;
  opacity: 0;
  transition: ease-in-out 0.5s;
}

/* General Page Contents */

.page-contents {
  display: flex;
  justify-content: center;
  height: 100vh;
  width: 100vw;
}
.page-container {
  background-color: #303030cc;
  border: 5px solid #505050;
  border-bottom: 6px solid #ebdbb2;
  border-top:4px solid #404040;
  position: absolute;
  color: #fbf1c7;
  font-family: Iosevka;
}
.page-container.menu-introduction {
  position: relative;
  background-color: #30303088;
  text-align: center;
  width: 550px;
  top: 20px;
  left: -0.5vw;
  height: 430px;
  padding: 10px;
  box-shadow: 6px 6px #33302f;
  z-index: 0;
}
.page-container.menu-button {
  position: absolute;
  padding: 0px;
  top: 485px;
  height: 40px;
  width: 545px;
  border-radius: 10px;
  transition: 0.4s ease-in-out;
  box-shadow: 6px 6px #33302f;
  z-index: 3;
}
.page-container.menu-button:hover {
  background: #fe8019;
  position: absolute;
  height: 40px;
  transform: translateY(-10px);
  transition: 0.4s ease-in-out;
}
.page-container.secret-explanation {
  background: linear-gradient(125deg,rgba(204, 36, 29, 1) 0%, rgba(251, 73, 52, 0.9) 20%, rgba(254, 128, 25, 0.9) 22%, rgba(250, 189, 47, 0.9) 39%, rgba(184, 187, 38, 0.9) 41%, rgba(142, 192, 124, 0.9) 59%, rgba(131, 165, 152, 0.9) 61%, rgba(69, 133, 136, 0.9) 78%, rgba(211, 134, 155, 0.9) 80%, rgba(177, 98, 134, 1) 100%);
  position: absolute;
  padding-left: 2%;
  padding-right: 2%;
  width: 33vw;
  left: 5vw;
  top: 20vh;
  box-shadow: 6px 6px #33302f;
}
.page-container.secret-input {
  background: linear-gradient(125deg,rgba(204, 36, 29, 1) 0%, rgba(251, 73, 52, 0.9) 20%, rgba(254, 128, 25, 0.9) 22%, rgba(250, 189, 47, 0.9) 39%, rgba(184, 187, 38, 0.9) 41%, rgba(142, 192, 124, 0.9) 59%, rgba(131, 165, 152, 0.9) 61%, rgba(69, 133, 136, 0.9) 78%, rgba(211, 134, 155, 0.9) 80%, rgba(177, 98, 134, 1) 100%);
  position: absolute;
  padding-left: 2%;
  padding-right: 2%;
  width: 40vw;
  height: 19vh;
  right: 5vw;
  top: 30.5vh;
  box-shadow: 6px 6px #33302f;
}
.page-container.about-the-creator {
  position: absolute;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%;
  width: 84.8vw;
  left: 5vw;
  top: 400px;
  box-shadow: 6px 6px #33302f;
  text-align: center;
}
.page-container.about-mtc {
  position: absolute;
  padding-left: 2%;
  padding-right: 2%;
  padding-bottom: 2%;
  width: 84.8vw;
  left: 5vw;
  top: 140px;
  box-shadow: 6px 6px #33302f;
  text-align: center;
}
.home-button {
  position: absolute;
  padding: 6px;
  transition: 0.4s ease-in-out;
 /* box-shadow: 6px 6px #1d2021; */
}
.home-button:hover {
  position: absolute;
  padding: 3.5px;
  transition: 0.3s ease-in-out;
}
.home-button-1 {
  width: 370px;
  top: 190px;
  left: 20px;
} 
.home-button-1:hover {
  width: 402px;
  background: #689d6a;
}
.home-button-2 {
  width: 315px;
  top: 190px;
  right: 20px;
}
.home-button-2:hover {
  width: 367px;
  background: #d65d0e;
}
.home-button-3 {
  width: 320px;
  top: 1275px;
  right: 20px;
}
.home-button-3:hover {
  width: 360px;
  background: #d65d0e;
}
.home-button-4 {
  width: 350px;
  top: 1275px;
  left: 20px;
}
.home-button-4:hover {
  width: 390px;
  background: #689d6a;
}
.home-button-5 {
  width: 590px;
  top: 1360px;
  right: 20px;
}
.home-button-5:hover {
  width: 630px;
  background: #d65d0e;
}
.home-button-6 {
  width: 590px;
  top: 1360px;
  left: 20px;
}
.home-button-6:hover {
  width: 630px;
  background: #689d6a;
}
.home-button-7 {
  width: 380px;
  top: 1190px;
  right: 20px;
}
.home-button-7:hover {
  width: 420px;
  background: #d65d0e;
}

.selfie1 {
  float: left;
  width: 22vw;
  margin-right: 1.8%;
  margin-left: 1.8%;
  box-shadow: 6px 6px #151515;
}
.selfie2 {
  float: right;
  width: 22vw;
  margin-right: 1.8%;
  margin-left: 1.8%;
  box-shadow: 6px 6px #151515;
}
.page-container-menu-buttons {
  background: linear-gradient(90deg,rgba(46, 42, 250, 0.9) 20%, rgba(255, 255, 255, 0.9) 22%, rgba(255, 255, 255, 0.9) 39%, rgba(89, 56, 124, 0.9) 41%, rgba(89, 56, 124, 0.9) 59%, rgba(255, 145, 0, 0.9) 61%, rgba(255, 145, 0, 0.9) 78%, rgba(30, 140, 0, 0.9) 80%);
  position:absolute;
  top:300%;
  left: 0px;
  width:100%;
  height:100%;
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-radius: 0px;
  animation: bob 8000000s ease-in-out infinite;
} 
.page-container-full {
  margin-left: 20px;
  margin-right: 20px;
}
.page-container-left {
  width: 58%;
  float: left;
  border-left: 2px solid #fbf1c7;
  border-bottom: 2px solid #fbf1c7;
  border-bottom-left-radius: 10px;
  margin-left: 20px;
}
.page-container-center {
  width: 58%;
  float: left;
  border-left: 2px solid #fbf1c7;
  border-bottom: 2px solid #fbf1c7;
  border-bottom-left-radius: 10px;
}
.page-container-right {
  width: 41%;
  float: right;
  border-right: 2px solid #fbf1c7;
  border-bottom: 2px solid #fbf1c7;
  border-bottom-right-radius: 10px;
  margin-right: 20px;
}
.music-player {
  position: absolute;
  border: 5px solid #7c6f64;
  border-bottom: 5px solid #ebdbb2;
  border-top:4px solid #404040;
  border-left: 4px solid #404040;
  width: 500px;
  height: 180px;
  top: 580px;
}

/* Individial Page Contents */
.introduction {
  margin-left: 20px;
  text-align: center;
}
.aboutme-photos {
  width:300px;
  height:405px;
  border: 3px solid #fbf1c7;
  border-radius: 10px;
  margin:12px;
}
.aboutme-introduction {
  margin-bottom:200px;
}
.aboutme-paragraph-1 {
  margin-bottom:320px;
  margin-right:12px;
}
.aboutme-paragraph-2 {
  margin-bottom:310px;
  margin-left:12px;
}
.aboutme-paragraph-3 {
  margin-bottom:335px;
  margin-right:12px;
}
.aboutme-paragraph-4 {
  margin-bottom:300px;
  margin-left:12px;
}
.aboutme-paragraph-5 {
  margin-bottom:330px;
  margin-left:12px;
}
.software-list {
  margin: 10px;
}
.search-bar {
  background: linear-gradient(90deg,rgba(40, 40, 40, 1) 0%, rgba(60, 56, 54, 0.9) 35%, rgba(80, 73, 69, 0.8) 50%, rgba(60, 56, 54, 0.9) 65%, rgba(40, 40, 40, 1) 100%);
  margin: 12px;
  width: 94%;
  border: 1px solid #fbf1c7;
  border-radius: 8px;
  text-align: center;
}
.software-description {
  float: right;
}

/* Newsticker */
.marquee {
  overflow: hidden; /* Hides content outside the container */
  width: 95%;
  text-shadow: 2px 2px 3px black;
  font-family: MegamaxJonathanToo;
  font-size: 1.1rem;
  padding-top: 10px;
  border-radius: none;
  height: 30px; /* Adjust as needed */
  position: relative;
  transform: translateY(120px) translateX(-15px);
}

.marquee-content {
  display: flex; /* Arranges messages horizontally */
  white-space: nowrap; /* Prevents messages from wrapping */
  animation: scroll-messages 60s linear infinite; /* Adjust duration and timing */
  position: absolute;
  left: 0;
}

.marquee-content span {
  padding-right: 800px; /* Adjust spacing between messages */
}

@keyframes scroll-messages {
  0% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(-50%); /* Moves the content half its total width */
  }
}

/* Rubik's Cube */

.cube-container {
  position: relative;
  top: 60vh;
  left: 38vw;
  width: 100%;
}
.cube {
  transform-style: preserve-3d;
  animation: rotateWholeCube 8s normal infinite linear;
  position: relative;
  top: 25vh;
  left: 32.5vw;
  width: 100%;
  height: 40%;
  transform: rotateX(30deg) rotateY(45deg);
}
.cube:hover {
  animation-play-state: paused;
}
.side {
  background: #1d2021;
  position: absolute;
  width: 40vh;
  height: 40vh; 
  transition: 0.3s ease-in-out;
  border: 0.4vh solid #1d2021;
}
.side:hover {
  transition: 0.3s ease-in-out;
  box-shadow: 0px 0px 500px 10px #fbf1c7;
  background-image: none;
}
.sidepiece {
  position: absolute;
  width: 40vh;
  height: 40vh; 
}
.side.front {
  background: #1d2021;
  transform: translateZ(20vh) translateX(-50vh);
}
.side.left {
  background: #1d2021;
  transform: translateX(-20vh) rotateY(-90deg) translateZ(50vh);
}
.side.right {
  background: #1d2021;
  transform: translateX(20vh) rotateY(90deg) translateZ(-50vh);
}
.side.top {
  background: #1d2021;
  transform: translateY(-20vh) rotateX(90deg) translateX(-50vh);
}
.side.bottom {
  background: #1d2021;
  transform: translateY(20vh) rotateX(-90deg) translateX(-50vh);
}

/* Keyframes */

@keyframes rotateWholeCube {
  0% { transform: rotateY(0deg) rotateX(0deg) translateY(-18vh);}
  25% { transform: rotateY(90deg) rotateX(90deg) translateX(-60vw);}
  50% { transform: rotateY(180deg) rotateX(180deg) translateY(-18vh) translateX(66vw);}
  75% { transform: rotateY(270deg) rotateX(270deg) translateX(66vw);}
  100% { transform: rotateY(360deg) rotateX(360deg) translateY(-18vh);}
}
@keyframes spinWholeCube {
  0% { transform: rotateZ(0deg);}
  100% { transform: rotateZ(360deg);}
}
@keyframes fade-in {
  0% {
    transform: scale(1.2);
    opacity: 0%;
  }
  100% {
    transform: scale(1);
    opacity: 100%;
  }
}
@keyframes glow {
  0% {
    box-shadow: 2px 3px 20px 30px #00000000;
    background-color: #00000000;
  }
  80% {
    box-shadow: 2px 3px 20px 30px #00000000;
    background-color: #00000000;
  }
  90% {
    box-shadow: 2px 3px 20px 30px #fbf1c780;
    background-color: #fbf1c780;
  }
  100% {
    box-shadow: 2px 3px 20px 30px #00000000;
    background-color: #00000000;
  }
}
@keyframes bob {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-18px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bob1 {
  0% {
    transform: translateY(0); /* Start at the original position */
  }
  4% {
    transform: translateY(-10px); /* Move up X pixels */
  }
  8% {
    transform: translateY(0); /* Return to the original position */
  }
}
@keyframes bob2 {
  4% {
    transform: translateY(0); /* Start at the original position */
  }
  8% {
    transform: translateY(-10px); /* Move up X pixels */
  }
  12% {
    transform: translateY(0); /* Return to the original position */
  }
}
@keyframes bob3 {
  8% {
    transform: translateY(0); /* Start at the original position */
  }
  12% {
    transform: translateY(-10px); /* Move up X pixels */
  }
  16% {
    transform: translateY(0); /* Return to the original position */
  }
}
@keyframes bob-reversed {
  0% {
    transform: translateY(9px);
  }
  25% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(18px);
  }
  100% {
    transform: translateY(9px);
  }
}
@keyframes scroll-left {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes scroll-right {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes wave {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px); /* Adjust for desired wave height */
  }
  100% {
    transform: translateY(0);
  }
}
.glow-logo {
  animation: glow 8s ease-in-out infinite;
}
.bobbing {
  animation: bob 8s ease-in-out infinite;
}
.bobbing-reversed {
  animation: bob-reversed 8s ease-in-out infinite;
}
.bobbing-logo-1 {
  animation: bob1 8s ease-in-out infinite;
}
.bobbing-logo-2 {
  animation: bob2 8s ease-in-out infinite; /* Apply the animation */
}
.bobbing-logo-3 {
  animation: bob3 8s ease-in-out infinite; /* Apply the animation */
}
.wavy-text {
  display: inline-flex;
  font-size: 1.7em;
}
.wavy-text span {
  display: inline-block;
  text-shadow: 6px 6px #33302f;
  animation: wave 1s infinite alternate;
}
.wavy-text span:nth-child(1) {
  animation-delay: 0s;
}
.wavy-text span:nth-child(2) {
  animation-delay: 0.2s;
}
.wavy-text span:nth-child(3) {
  animation-delay: 0.4s;
}
.wavy-text span:nth-child(4) {
  animation-delay: 0.6s;
}
.wavy-text span:nth-child(5) {
  animation-delay: 0.8s;
}
.wavy-text span:nth-child(6) {
  animation-delay: 1s;
}
.wavy-text span:nth-child(7) {
  animation-delay: 1.2s;
}
.wavy-text span:nth-child(8) {
  animation-delay: 1.4s;
}
.wavy-text span:nth-child(9) {
  animation-delay: 1.6s;
}
.wavy-text span:nth-child(10) {
  animation-delay: 1.8s;
}
.wavy-text span:nth-child(11) {
  animation-delay: 2s;
}
.wavy-text span:nth-child(12) {
  animation-delay: 2.2s;
}
.wavy-text span:nth-child(13) {
  animation-delay: 2.4s;
}
.wavy-text span:nth-child(14) {
  animation-delay: 2.6s;
}
.wavy-text span:nth-child(15) {
  animation-delay: 2.8s;
}
.wavy-text span:nth-child(16) {
  animation-delay: 3s;
}
.wavy-text span:nth-child(17) {
  animation-delay: 3.2s;
}