@font-face {
  font-family: Main-Sans-serif;
  src: url(../fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf);
}

@font-face {
  font-family: Main-Serif;
  src: local('Times New Roman'), local('TimesNewRoman');
}

html {
  margin: 0;
  font-family: Main-Serif;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body {
  display: grid;
  grid-template-rows: 60px auto;
  height: 100vh;
  margin: 0;
  transition: background 0.5s ease;
  overflow: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.no-transition * {
  transition: none !important;
}

::-webkit-scrollbar {
  display: none;
}

.light-mode {
  background: #fff/*rgb(209, 209, 209)*/;
}

.night-mode {
  background: #121212;
}

nav {
  position: sticky;
  width: 100vw;
  height: 65px;
  display: flex;
  background: #fff/*rgb(209, 209, 209)*/;
  align-items: center;
  user-select: none;
  border-bottom: rgb(172, 172, 172) 1px solid;
  z-index: 1;
  transition: transform 0.5s ease, border-bottom 0.5s ease, background 0.5s ease;
}

.night-mode nav {
  background: #121212;
  border-bottom: #515151 1px solid;
}

.hide {
  transform: translateY(-66px);
  border-bottom: rgba(172, 172, 172, 0) 1px solid !important;
}

.hide .menu-toggle-btns {
  transform: translateY(66px);
  transition: 0.5s transform ease;
}

nav > span {
  color: #202020;
  width: 100%;
  position: absolute;
  font-size: 1.5rem;
  display: flex;
  justify-content: center;
  text-align: center;
  line-height: 10px;
  transition: transform 0.5s ease, color 0.5s ease, opacity 0.5s ease;
}

.night-mode nav > span {
  color: #eee;
}

.nav-active > span {
  transform: translateY(-50%) scale(1);
  opacity: 0;
  transition: opacity 0s ease;
}

.nav-inactive > span {
  transform: translateY(0px) scale(1);
}

.invisible {
  border-bottom: transparent 1px solid !important;
}

.invisible > span {
  opacity: 0;
  user-select: none;
  pointer-events: none;
}

/*.enlarge {
  border-bottom: transparent 1px solid !important;
}

.enlarge > span {
  position: absolute;
  top: 46%;
  transform: translateY(-50%) scale(4) !important;
  transition: color 0.5s ease, opacity 0.5s ease !important;
}

.nav-active.enlarge > span {
  position: absolute;
  top: 46%;
  opacity: 1;
  transform: translateY(-50%) scale(4) !important;
  transition: color 0.5s ease, opacity 0.5s ease !important;
}*/

#home {
  text-align: center;
}

.title {
  position: relative;
  top: 46%;
  transform: translateY(-50%);
}

#home h1 {
  font-size: 100px;
  font-weight: 100;
  transition: 0.5s ease !important;
  font-family: Main-sans-serif;
  animation: pulse-grow 2s ease-in-out infinite;
}

@keyframes pulse-grow {
  0% {
    font-weight: bold; /* */
  }
  50% {
    font-weight: normal; /* */
  }
  100% {
    font-weight: bold; /* */
  }
}

#home span {
  font-size: 30px;
}

#home h1,
#home span {
  margin: 0;
  line-height: 110px;
}

.tagline {
  display: contents;
  font-family: Main-serif;
  font-size: 0.3rem;
  transition: color 0.5s ease !important;
}

.night-mode .tagline {
  color: rgb(119, 119, 119);
}

.light-mode .tagline {
  color: rgb(149, 149, 149);
}

.reduce .tagline {
  display: none;
}

.nav-active > .nav-center {
  transform: translate(0px, 0px);
}

.nav-inactive > .nav-center {
  transform: translate(0px, -50%);
  user-select: none;
  pointer-events: none;
}

.nav-center {
  display: flex;
  justify-content: center;
  width: 100%;
  transition: opacity 0.2s ease, transform 0.5s ease;
  z-index: 1;
}

.nav-inactive > .nav-center {
  opacity: 0;
}

nav > button {
  cursor: pointer;
}

.menu-toggle-btns {
  display: inline-block;
  margin: 0;
  position: absolute;
  margin-left: 1rem;
  z-index: 5;
  transition: 0.5s transform ease;
}

.menu-toggle-btn {
  color: #202020;
  background: none;
  padding: 0.5rem;
  font-size: 0rem !important;
  border-radius: 2rem;
  border: none;
  transition: 0.2s ease, transform 0.5s ease;
  cursor: pointer;
}

.menu-toggle-btn > span {
  font-size: 28px !important;
  text-align: center;
  vertical-align: middle;
}

.night-mode > nav > .menu-toggle-btns .menu-toggle-btn {
  color: #eee;
}

.night-toggle-btn {
  background: none !important;
  transition: 0.2s ease, transform 0.5s ease;
  margin: 0;
}

.night-mode > nav > .menu-toggle-btns .night-toggle-btn > .menu-night-icon {
  position: absolute;
  opacity: 0;
  transform: scaleY(0);
  transition: none;
}

.light-mode > nav > .menu-toggle-btns .night-toggle-btn > .menu-day-icon {
  position: absolute;
  opacity: 0;
  transform: scaleY(0);
  transition: none;
}

.nav-active > .menu-toggle-btns .menu-toggle-btn:hover {
  color: rgb(214, 178, 0);
}

.nav-inactive > .menu-toggle-btns .menu-toggle-btn:hover {
  color: rgb(214, 178, 0);
}

.night-mode > .nav-active > .menu-toggle-btns .menu-toggle-btn:hover {
  color: rgb(169, 149, 18);
}

.night-mode > .nav-inactive > .menu-toggle-btns .menu-toggle-btn:hover {
  color: rgb(169, 149, 18);
  border-radius: 2rem;
}

.nav-active > .menu-toggle-btns .menu-toggle-btn {
  color: #202020;
  border-radius: 2rem;
  transition: background 0s, 0.2s ease, transform 0.5s ease;
}

.night-mode > .nav-active > .menu-toggle-btns .menu-toggle-btn {
  color: #eee;
}

.nav-inactive > .menu-toggle-btns .menu-toggle-btn {
  color: #202020;
}

.night-mode > .nav-inactive > .menu-toggle-btns .menu-toggle-btn {
  color: #eee;
}

.nav-active > .menu-toggle-btns .night-toggle-btn {
  padding-right: 0.5rem;
  background: none;
  z-index: 2;
}

.nav-inactive > .menu-toggle-btns .night-toggle-btn {
  opacity: 0;
  pointer-events: none;
  background: none;
}

.nav-inactive > .menu-toggle-btns .night-toggle-btn > .menu-day-icon {
  transform: translateY(-50%);
  transition: transform 0.5s ease;
}

.nav-inactive > .menu-toggle-btns .night-toggle-btn > .menu-night-icon {
  transform: translateY(-50%);
  transition: transform 0.5s ease;
}

.menu-close-icon,
.menu-menu-icon,
.menu-day-icon,
.menu-night-icon {
  position: auto;
  transform: scaleY(1);
  transform-origin: top;
  transition: 0.2s ease;
}

.nav-inactive > .menu-toggle-btns .menu-toggle-btn > .menu-close-icon {
  position: absolute;
  opacity: 0;
  transform: scaleY(0);
  transition: none;
}

.nav-active > .menu-toggle-btns .menu-toggle-btn > .menu-menu-icon {
  position: absolute;
  opacity: 0;
  transform: scaleY(0);
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0rem 0.25rem 0rem;
  display: flex;
  border-radius: 10rem;
}

nav li {
  margin: 0 0.5rem;
  cursor: pointer;
}

nav a {
  color: #202020;
  text-decoration: none;
  font-family: Main-Sans-serif;
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
  display: block;
  transition: 0.2s ease;
  border-radius: 2rem;
  text-underline-offset: 0.21em;
  text-shadow: 2px 2px 6px #00061c25;
}

.night-mode nav a {
  color: #eee;
}

nav a:hover,
nav a:active {
  color: #202020;
  text-decoration: underline;
}

.night-mode nav a:hover,
.night-mode nav a:active {
  color: #eee;
  text-decoration: underline;
}

.active-page-btn > a {
  text-decoration: underline;
}

.inactive-page {
  user-select: none;
  pointer-events: none;
  height: 0;
  position: absolute;
  opacity: 0;
  transition: 0s ease;
}

.active-page {
  display: block !important;
  height: 100%;
  color: #202020;
  transition: opacity 0.5s ease, height 1s ease, padding 0s ease;
  z-index: -1;
}

.night-mode .active-page {
  color: #eee;
}

section > p {
  padding: 0px 25% 0px 25%;
  transition: color 0.3s ease;
}

.active-page > img {
  float: left;
  margin: 0 10px 0 0;
  border: #202020 1px solid;
  border-radius: 5px;
}

.active-page > p {
  font-family: Main-Sans-serif;
  font-size: 18px;
  line-height: 26.5px;
  text-align: justify;
}

.minecraft-section-container {
  overflow-y: scroll;
  height: 100vh;
}

.exclude-margin {
  transform: translateY(-60px);
}

.section-overflow-container {
  margin-top: 1em;
  overflow-y: scroll !important;
  height: 100vh;
  width: 75vw;
  margin: 1em auto 0 auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.section-overflow-container::-webkit-scrollbar {
  display: none;
}

#about {
  text-align: center;
  justify-content: center;
}

#about > .section-overflow-container > img {
  float: left;
  margin: 0 10px 0 0;
  border: #202020 1px solid;
  border-radius: 5px;
}

.section-overflow-container > h1 {
  font-family: Main-Sans-serif;
  font-size: 30px;
  text-align: center;
  transition: 0.3s ease !important;
}

.section-overflow-container > p {
  font-family: Main-serif;
  font-size: 18px;
  line-height: 26.5px;
  text-align: justify;
  transition: color 0.5s ease;
}

#about > .section-overflow-container > p:nth-child(2) {
  margin-top: 0;
}

#portfolio {
  text-align: center;
}

.portfolio-img {
  display: inline-block;
  margin: 5px;
}

.portfolio-img-container {
  margin: auto;
  cursor: pointer;
}

.portfolio-img-container:hover img {
  transform: scale(95%);
}

.portfolio-img img {
  border-radius: 5px;
  width: 280px;
  height: 280px;
  object-fit: cover;
  transition: 0.2s ease;
}

.active-page a {
  color: #6691bb;
  text-decoration: none;
}

.active-page a:hover {
  color: #202020;
  text-decoration: underline;
}

.night-mode .active-page a:hover {
  color: #eee;
  text-decoration: underline;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltip-text {
  visibility: hidden;
  background-color: #eee;
  color: #202020;
  text-align: center;
  border-radius: 5px;
  padding: 5px 0;
  position: absolute;
  pointer-events: none;
  z-index: 1;

  width: 70px;
  bottom: 100%;
  left: 50%;
  margin-left: -25px;
}

.copied {
  width: 70px !important;
  margin-left: -32.5px !important;
  background: #4aba5e !important;
  color: #eee !important;
}

.tooltip:hover .tooltip-text {
  visibility: visible;
}

#minecraft {
  text-align: center;
}

#minecraft h2 {
  font-family: Main-Sans-serif;
  vertical-align: middle;
  transition: 0.3s;
  color: #eee !important;
}

.minecraft-banner {
  position: relative;
  text-align: center;
}

.minecraft-banner h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.minecraft-img {
  width: 100vw;
  object-fit: contain;
  filter: saturate(120%);
  transition: 0.5s;
}

.banner-img-shade {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background-color: #121212;
  opacity: 0.75;
  transition: 4s ease;
  padding: 0;
}

.minecraft-banner:hover .banner-img-shade {
  opacity: 0.4;
}

.play-button p {
  font-family: Main-Sans-serif !important;
  font-size: 17.5px !important;
}

.vertical-line {
  display: inline;
  border-left: solid #eee 1px;
  transition: 0.3s;
}

.night-mode .vertical-line {
  border-left: solid #eee 1px;
}

.play-button {
  display: inline-block;
  width: auto;
  margin: 40px 0px 50px 20px;
}

.play-button div {
  cursor: pointer;
  color: #eee;
  display: inline-block;
  line-height: 15px;
  vertical-align: middle;
  border: 1px solid #eee;
  border-radius: 5px;
  transition: 0.5s ease;
}

.night-mode .play-button div {
  color: #eee;
  border-color: #eee;
}

.play-button div:hover {
  color: #202020;
  background-color: #eee;
  transition: 0.2s ease;
}

.night-mode .play-button div:hover {
  color: #202020;
  background-color: #eee;
  transition: 0.2s ease;
}

.play-button p,
.copy-symbol {
  vertical-align: middle;
  display: inline;
  padding: 20px 20px;
}

.copy-symbol {
  color: #202020;
  background-color: #eee;
  transition: 0.5s ease;
  user-select: none;
  text-shadow: none !important;
}

.night-mode .copy-symbol {
  color: #202020;
  background-color: #eee;
}

.is-copied {
  border-color: #39bd51 !important;
  transition: 0.2s ease;
  cursor: default !important;
}

.is-copied:hover {
  background: none !important;
  color: #eee !important;
}

.night-mode .is-copied:hover {
  background: none !important;
  color: #eee !important;
}

.is-copied .copy-symbol {
  background-color: #39bd51 !important;
  color: #eee;
  transition: 0.2s ease;
}

/*testing*/
#settings {
  text-align: center;
  justify-content: center;
}

#settings h1,
#settings h2 {
  font-family: Main-Sans-serif;
  margin-bottom: 5px;
  transition: 0.3s ease !important;
}

#settings .setting-form {
  width: 300px;
  margin: 1.5rem 0;
  padding: 30px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 5px;
  transition: 0.3s;
}

.night-mode #settings .setting-form {
  background-color: #202020;
}

#settings .setting-group {
}

#settings label {
  font-family: Main-serif;
  font-size: 1rem;
  line-height: 1.5rem;
}

#settings select {
  width: 100%;
  padding: 0.5rem;
  margin-top: 0.5rem;
  font-family: Main-Sans-serif;
  font-size: 1rem;
  border-radius: 5px;
  border: 1px solid #202020;
  background-color: #ddd !important;
  color: #202020 !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

#settings .setting-save {
  margin-top: 2rem;
  text-align: center;
}

#settings button {
  padding: 0.75rem 1.5rem;
  font-family: Main-Sans-serif;
  font-size: 1rem;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  background-color: #202020 !important;
  color: #eee !important;
}

.night-mode #settings button {
  background-color: #eee !important;
  color: #202020 !important;
}

#settings button:hover {
  background-color: #4aba5e !important;
  color: #eee !important;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 30px;
  margin-right: 1rem;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #838383;
  transition: 0.4s;
  border-radius: 5px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
  border-radius: 5px;
}

input:checked + .slider {
  background-color: #4aba5e !important;
}

input:checked + .slider:before {
  transform: translateX(30px);
}

.night-mode #settings button,
.night-mode #settings select {
  background-color: #121212;
  color: #eee;
}

.night-mode #settings .slider {
  background-color: #515151;
}

.night-mode input:checked + .slider {
  background-color: #4aba5e;
}
