* {
  color: white;
  -webkit-tap-highlight-color: transparent;
}
body {
  background-color: #403d39;
  margin: 0px;
  font-family: 'Poppins';
}
button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 7px;
  background-color: #eb5e28;
  border-radius: 20px;
  border: 0px;
  cursor: pointer;
  font-size: 1em;
  gap: 5px;
  transition: 0.5s;
}
button:hover {
  gap: 10px;
  box-shadow: 1px 3px #a03b13;
}
button:active {
  gap: 10px;
  box-shadow: 0px 0px #a03b13;
  transition: 0.2s;
}
button > img {
  width: 20px;
}

/* == SPLASH ==*/
#splash {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  background-color: #252422;
  z-index: 999;
}
#splash > h1, #title {
  font-family: 'Asset';
  margin: 0px;
  padding: 0px;
}
#title-splash {
  z-index: 2;
  font-size: 4em;
  opacity: 0;
  transform: translateY(20px);
}
#sub-splash {
  color: #949494 !important;
  font-size: 3em;
  opacity: 0;
}
@media (max-width: 734px) {
  #title-splash {
    font-size: 8vw;
  }
  #sub-splash {
    font-size: 6.5vw;
  }
}

/* === HEADER ===*/
header {
  display: flex;
  align-items: center;
  width: 100vw;
  box-sizing: border-box;
  padding: 20px;
  position: fixed;
  gap: 20px;
  top: 0;
  left: 0;
  z-index: 99;
}
header * {
  margin: 0px;
}
.contact-button {
  font-size: 1em;
  width: 220px;
}
#title {
  font-size: 1.3em;
  cursor: pointer;
  user-select: none;
  width: 220px;
}
ul#nav-list {
  list-style-type: none;
  padding: 0px;
  display: flex;
  gap: 50px;
  justify-content: center;
  flex: 1;
}
ul#nav-list a {
  text-decoration: none;
}
ul#nav-list a:hover {
  text-decoration: underline;
}
#menu-button {
  display: none;
  border-radius: 50%;
}
#menu-button > img {
  width: 30px;
}
@media (max-width: 885px) {
  header {
    background-color: inherit;
  }
  #title {
    flex: 1;
  }
  ul#nav-list {
    display: none;
  }
  .contact-button {
    display: none;
  }
  #menu-button {
    display: flex;
  }
}

/* == NAV ==*/
nav {
  z-index: 98;
  position: fixed;
  overflow: hidden;
  width: 100vw;
  height: 0dvh;
  background-color: inherit;
  box-sizing: border-box;
  transition: 0.6s ease-in-out;

  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 886px) {
  nav {
    height: 0dvh !important;
  }
}


/* === First === */
#first {
  height: 100dvh;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
#ttimg {
  position: relative;
  box-shadow: inset 0px 0px 5px 10px #403d39;
  background-image: url('image/0x001F9.jpg');
  background-position: center;
  background-size: cover;
  width: 350px;
  height: 350px;
  cursor: pointer;
}
#ttimg > #change {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: absolute;
  width: 80px;
  height: 80px;
  border: 1px solid #fff9f9;
  border-radius: 50%;
  transform: scale(0);
  transition: 0.2s;
  user-select: none;
}
#ttimg::before {
  content: "";
  background-color: rgba(64, 61, 57, 0.2);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* === About Me === */
#about-me {
  display: flex;
  padding: 10px 30px;
  gap: 20px;
}
.headtitle {
  font-family: 'Special Gothic Expanded One';
  font-size: 9.5vw;
}
#about-me h1 {
  margin-top: 0px;
}
#about-me > #sec1 {
  flex: 1;
  top: 90px;
  left: 0;
  position: -webkit-sticky;
  position: sticky !important;
  align-self: flex-start;
}
#about-me > #sec2 {
  flex: 1;
  padding-bottom: 100px;
}
#about-me > #sec2 > p {
  font-size: 1.3vw;
}
#list-tech-stack {
  padding-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tech-stack-img {
  background-color: #252422;
  border-radius: 20px;
  box-sizing: border-box;
  padding: 20px;
  width: 100px;
  height: 100px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 379px) {
  .tech-stack-img {
    width: 20vw;
    height: 20vw;
  }
  #list-tech-stack {
    justify-content: center;
  }
  #about-me > #sec2 > h1 {
    text-align: center;
  }
}
.educ-card {
  background-color: #252422;
  border-radius: 15px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 15px;
  gap: 10px;
}
.educ-card > img {
  width: 60px;
  border-radius: 50%;
}
.educ-card > ul {
  padding: 0px;
  list-style-type: none;
}
.educ-card > ul > .school-name {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0px;
}
.educ-card > ul > .arch {
  margin: 0px;
  color: #c9c9c9;
}
@media (max-width: 526px) {
  .educ-card {
    padding: 0px 5vw;
  }
  .educ-card > ul > .school-name {
    font-size: 4vw;
  }
  .educ-card > ul > .arch {
    font-size: 3vw;
  }
}
@media (max-width: 838px) {
  #about-me {
    flex-direction: column;
    padding: 10px 30px;
  }
  #about-me > #sec1 {
    width: 100%;
    text-align: center;
    top: 0px;
    position: static !important;
  }
  #about-me > #sec1 > h1 {
    margin: 0px;
  }
  #about-me > #sec2 > p {
    font-size: 1.5em;
  }
}
@media (max-width: 500px) {
  #about-me > #sec2 > p {
    font-size: 4vw;
  }
}

/* === Social Media ===*/
#soc {
  padding: 0px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#mal-title {
  font-family: 'Special Gothic Expanded One';
  font-size: 3em;
}
#soc > #header {
  display: flex;
  justify-content: center;
}
#mal-profile-picture {
  border-radius: 50%;
  width: 150px;
}
#social-media-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  gap: 20px;
}
.soc-card {
  display: block;
  background-color: #252422;
  padding: 15px 50px;
  min-width: 300px;
}
.soc-card > img {
  width: 100px;
  object-fit: contain;
  object-position: center;
  border-radius: 10px;
}
.soc-card > h1 {
  margin: 0px;
}
@media (max-width: 710px) {
  #mal-title {
    font-size: 6vw;
  }
}

/* === Footer === */
footer {
  margin-top: 200px;
  overflow-x: hidden;
}
#copyright-notice {
  text-align: center;
}
footer > .style-h1 {
  font-family: 'Special Gothic Expanded One';
  font-size: 15vw;
  margin: 0px;
  transition: 0.5s;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}
#start-animation {
  transform: translateX(0%);
  animation: start-anim-text 8s linear infinite;
}
#end-animation {
  transform: translateY(-8vw) translateX(-158%);
  animation: end-anim-text 8s linear infinite;
}

@keyframes start-anim-text {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-87%);
  }
}

@keyframes end-anim-text {
  from {
    transform: translateY(-8vw) translateX(-158%);
  }
  to {
    transform: translateY(-8vw) translateX(-71%);
  }
}