:root {
  --header-background-color: #144272;
  --welcome-section-background-color: #0A2647;
  --projects-background-color: #205295;
  --contact-background-color: #2C74B3;
  --footer-background-color: #0A2647;
  --text-color: white;
}

*, ::before, ::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  overflow-x: hidden;
}

html {
  box-sizing: border-box;
  font-size: 16px;
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
}

body {
  color: var(--text-color);
  font-family: arial;
  line-height: 1.5;
}

#navbar {
  background: var(--header-background-color);
  display: flex;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 3;
}

#navbar ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-items: center;
}

#navbar li {
  list-style: none;
  padding: 0.4em;
}

/* when on mobile device, center nav and make it stack centered*/
@media (max-width: 600px) {
  #navbar {
    justify-content: center;
  }

  #navbar ul{
    justify-content: center;
  }

  #footer {
    margin-bottom: 1em;
  }
}

.nav {
  color: var(--text-color);
  text-decoration: none;
  display: block;
  padding: 0.25em 1em;
}

.nav:hover {
  border-radius: 10em;
  background: var(--contact-background-color);
  transition: background 500ms;
}

#welcome-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  background: var(--welcome-section-background-color);
  width: 100%;
  height: 100vh;
}

#projects {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  background: var(--projects-background-color);
  width: 100%;
  min-height: 100vh;
  padding-top: 2em;
  padding-bottom: 2em;
}

#projects h2 {
  padding-bottom: 0.5em;
}

#contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  background: var(--contact-background-color);
  width: 100%;
  height: 100vh;
}

#socials {
  margin-top: 2em;
  display: flex;
  flex-direction: row;
  justify-content: block;
  align-items: center;
  text-align: center;
}

#socials a {
  font-size: 2em;
  color: var(--text-color);
  padding-left: 0.5em;
  padding-right: 0.5em;
}

#socials > a:hover {
  color: var(--welcome-section-background-color);
  animation: 1s ease-in infinite wiggle;
}

#footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--header-background-color);
  width: 100%;
  height: 9vh;
  border-top: 0.3em solid var(--header-background-color);
}

.subtext {
  color: var(--contact-background-color);
  font-size: 1.5em;
}

h1 {
  font-size: 3em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.2em;
  font-weight: normal;
}

@keyframes wiggle {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(10deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(0deg);
  }
}

#projects a {
  text-decoration: none;
  color: var(--text-color);
  display: block;
  padding: 0;
}

#tiles {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  padding: 0;
}

.project-tile {
  padding: 1em;
}

.iframe-wrapper {
  position: relative;
  width: 300px;
  height: 300px;
  overflow-y: hidden;
}

iframe {
  width: 200%;
  height: 200%;
  transform: scale(0.5);
  transform-origin: 0 0;
  border: none;
  border-radius: 10px 10px 0 0;
  background: black;
}

/*
#tiles:hover .project-tile {
  filter: blur(1px);
  opacity: 0.5;
  transform: scale(0.95);
}

#tiles .project-tile:hover {
  filter: blur(0px);
  opacity: 1;
  transform: scale(1.05);
}
*/

#tiles a {
  background: black;
  border-radius: 0 0 10px 10px;
}

#tiles .project-tile:hover a::before {
  content: "👉 "
}

#tiles .project-tile:hover a::after {
  content: " 👈"
}
