/* Mobile and Global Styles */
/* Applies to screens smaller than 500px and above unless overwritten below */

:root {
  scroll-padding-top: 2rem;
  scroll-behavior: smooth;
}

::-webkit-scrollbar {
  width: 15px;
}

::-webkit-scrollbar-track {
  background: #b9b9b8;
  border-radius: 10px;
  box-shadow: inset 0 0 5px grey;
}

::-webkit-scrollbar-thumb {
  background: #5f5f5e;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555555;
}

ul,
a,
body,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

body {
  background-color: #20262e;
  background-image: radial-gradient(at 50% 0%, #5c563f, #20262e 70%);
  background-repeat: no-repeat;
  font-family: georgia;
}

#intro {
  color: #ffffff;
  text-align: center;
  margin: 8rem 1rem;
  font-family: monospace;
}

#intro h1 {
  animation: h1 4s linear forwards;
  font-size: 6rem;
}

@keyframes h1 {
  0% {
    transform: translateY(5rem);
  }

  100% {
    transform: translateY(0);
  }
}

#intro p {
  font-size: 2rem;
  animation: fadeIn 5s ease-in forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#intro a {
  color: white;
  font-size: 5rem;
  cursor: pointer;
  text-decoration: none;
  transition: color 1s;
  -webkit-transition: color 1s;
  animation: arrowAnimation 4s cubic-bezier(0, 0, 0.5, 4) forwards;
}

@keyframes arrowAnimation {
  0% {
    transform: translateY(-5rem);
  }

  100% {
    transform: translateY(0);
  }
}

#intro a:hover,
#intro a:focus {
  color: #32CD32;
}

#main {
  margin: 1rem 1rem 10rem 1rem;
  box-shadow: 10px 10px 5px;
  opacity: 0;
  animation: fadeInAlmost 5s ease-in forwards;
}

@keyframes fadeInAlmost {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 0.9;
  }
}

#mainNav {
  background-color: #626262;
  overflow: hidden;
}

#mainNav ul {
  display: flex;
  flex-direction: row;
}

#mainNav a {
  padding: 4rem 0rem;
  color: white;
  width: 100%;
  cursor: pointer;
  transition: 1s;
}

#mainNav a p {
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  transform: rotate(70deg);
}

#mainNav a.selectedButton {
  color: black;
  background-color: #E1E1E1;
  cursor: default;
}

#mainNav a:hover:not(.selectedButton),
#mainNav a:focus:not(.selectedButton) {
  background-color: #8E8E8E;
}

.section {
  background-color: #E1E1E1;
  padding: 2rem;
  font-size: 1.2rem;
}

.section div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section p {
  text-align: left;
}

.section a {
  color: #07a707;
}

#about {
  display: block;
}

#interests #portfolioImage {
  box-shadow: 10px 10px 5px;
  width: 100%;
  height: auto;
}

#about #toolsContainer {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}

#about #toolsContainer img {
  height: 2rem;
  width: auto;
}

#workEducation {
  display: none;
}

#workEducation #DMUModulesContainer {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  gap: 4rem 2rem;
}

figure {
  box-shadow: 10px 10px 5px;
  width: 100%;
  height: auto;
  display: flex;
  flex-flow: column;
}

figure img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

figcaption {
  background-color: #20262e;
  color: white;
  padding: 1rem;
  font-size: 1.2rem;
}

#projects {
  display: none;
}

#projects #projectsContainer {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  gap: 4rem 2rem;
}

#interests {
  display: none;
}

#socialsNav {
  background-color: #E1E1E1;
  padding: 2rem 0rem;
  text-align: center;
}

#socialsNav a {
  padding: 1rem;
  font-size: 1.5rem;
  width: 40px;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
  color: white;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}


#socialsNav a.fa:hover,
#socialsNav a.fa:focus {
  background: #8E8E8E;
  color: darkblue;
}

.fa-linkedin {
  background: #007bb5;
}

.fa-github {
  background: #530432;
}

.fa-google {
  background: #F16041;
}

.fa-facebook {
  background: #3B5998;
}

.fa-instagram {
  background: #125688;
}

.fa-spotify {
  background: #1ed760;
}

.fa-steam {
  background: #1A2B3D;
}

.fa-twitch {
  background: #502b93;
}


/* Tablet Styles */

@media screen and (min-width: 500px) {

  #main {
    margin: 2rem 2rem 20rem 2rem;
  }

  #mainNav a p {
    transform: rotate(0);
    font-size: 1.2rem;
  }

  #mainNav a {
    padding: 2rem 0.5rem;
  }

  #interests #portfolioImage {
    width: auto;
    height: 400px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  #about #toolsContainer img {
    height: 3rem;
    width: auto;
  }

  figcaption {
    padding: 1.5rem;
  }

}

/* Desktop Styles */

@media screen and (min-width: 1000px) {

  #main {
    margin: 4rem 4rem 20rem 4rem;
  }

  .section div {
    flex-direction: row;
    align-items: stretch;
    gap: 2rem;
  }

  #socialsNav a {
    font-size: 2rem;
    width: 60px;
  }

  figure {
    width: 45%;
    height: auto;
  }

}