@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap');

* {
  margin: 0%;
  padding: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

header {
  background: #fff;
}

h1,
h2,
p,
textarea,
input,
ul li a {
  font-family: Inter, sans-serif;
  font-style: normal;
}

h1,
h2,
h3 {
  position: static;
  text-align: center;
  color: #172b4d;
  letter-spacing: 0.37px;
}

h1,
h2 {
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 3.25rem;
}

h1 .highlight { color: #36b37e; }

p {
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 2rem;
  text-align: center;
  color: #172b4d;
}

.button-primary {
  padding: 0.75em;
  background: #36b37f;
  color: #fff;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 0;
  border-radius: 0.25em;
  min-width: 9.93em;
  min-height: 3em;
  cursor: pointer;
}

.button-primary:hover { box-shadow: 5px 0.5em 1em rgba(54, 179, 127, 0.24); }

.button-primary:active { background-color: #008552; }

.button-clear {
  background: none;
  border: none;
}

.button-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2em;
}

ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

ul li {
  list-style: none;
  padding: 0.62em 0.75em 0.62em 0.72em;
  display: flex;
  align-items: center;
}

ul li a {
  color: #28352f;
  text-decoration: none;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: 0.37px;
}

.drop-down {
  animation-name: drop-down;
  animation-duration: 1.3s;
}

@keyframes drop-down {
  from { opacity: 0; }
  to { opacity: 1; }
}

.drop-up {
  animation-name: drop-up;
  animation-duration: 1.3s;
}

@keyframes drop-up {
  from { opacity: 1; }
  to { opacity: 0; }
}

.navbar {
  width: 100%;
  height: 4.5em;
}

.navbar .nav-links {
  display: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: baseline;
  gap: 1em;
  padding: 0.6em;
  height: 100vh;
  background: #fff;
  border-bottom: 2px solid rgba(0, 0, 0, 0.226);
  border-bottom-left-radius: 2em;
  border-bottom-right-radius: 2em;
}

.navbar .nav-links .menu-close,
#closePopUp {
  align-self: flex-end;
  width: 2.5em;
  max-width: 2.5em;
  height: 2.5em;
  max-height: 2.5em;
  min-width: 2.5em;
  min-height: 2.5em;
}

main {
  background: #fff;
  display: flex;
  flex-direction: column;
}

main section {
  padding: 4em 1.5em 4em 1.5em;
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  width: 100%;
  position: fixed;
  z-index: 500;
}

.welcome-text {
  width: 5.625em;
  height: 1.75em;
  display: flex;
  align-items: center;
}

.welcome-text p {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  color: #28352f;
  text-align: center;
  padding: 0.5em;
}

#headline {
  order: 0;
  padding-top: 10em;
  margin-top: 4em;
  background-image: url("../images/Background/headline/headline-mobile.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.primary-text {
  order: 0;
  margin-top: 1.5em;
}

.supporting-text {
  order: 1;
  margin-top: 1.5em;
}

.social-media { order: 2; }

.social-media a {
  padding: 8px;
  border-radius: 8px;
}

.action {
  order: 3;
  display: flex;
  width: 100%;
  height: 114px;
  align-items: center;
  justify-content: center;
  flex: none;
  margin-top: 24px;
}

.action button { min-width: 10px; }

#works,
#about-me,
#contact {
  padding-left: 2em;
  padding-right: 2em;
}

#works { order: 1; }

#works .primary-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#works .primary-text::after {
  content: "";
  background: #36b37e;
  width: 2.5em;
  height: 0.3em;
  border-radius: 0.2em;
  margin-top: 1em;
}

.projects,
.technologies {
  margin-top: 3em;
  width: 100%;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 3em;
}

.projects { order: 1; }

.technologies { order: 4; }

.project-card,
.tech-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: 29.62em;
  border: 1px solid #d0d9d4;
  border-radius: 0.5em;
  padding: 0;
  overflow: hidden;
  transition: 1s;
}

.tags {
  width: 100%;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
  padding-left: 0.5em;
  padding-right: 0.5em;
  margin-bottom: 10em;
}

.tag {
  border-radius: 0.25em;
  padding: 0.5em 0.75em 0.5em 0.75em;
}

.project-card .tags {
  margin-bottom: 2.5em;
  column-gap: 0.5em;
  row-gap: 0.5em;
  height: 5%;
  min-height: 5%;
  max-height: 5%;
}

.project-card .tag { background: #ebf0ee; }

.project-card img {
  width: 100%;
  height: 45%;
  min-height: 45%;
  max-height: 45%;
  object-fit: cover;
  margin-bottom: 0.5em;
}

.project-card .title {
  height: 15%;
  min-height: 15%;
  max-height: 15%;
  margin-bottom: 0.5em;
}

.project-card .button-container {
  height: 15%;
  min-height: 15%;
  max-height: 15%;
}

#about-me {
  order: 2;
  background-image: url("../images/Background/about/about-left-mobile.png"), url("../images/Background/about/about-right-mobile.png");
  background-size: 5em 3.56em, 7em 6em;
  background-repeat: no-repeat, no-repeat;
  background-position-y: 24em, 2em;
  background-position-x: 0, 105%;
}

.fullScreen-card .button-container {
  order: 5;
  display: flex;
  row-gap: 1em;
  column-gap: 1em;
}

#about-me .button-container { order: 3; }

.tech-card {
  height: 22em;
  background-image: url("../images/Projects/img-placeholder.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  justify-content: center;
}

.tech-card .icon {
  margin-top: 0.2em;
  order: 0;
  width: 5em;
  max-width: 5em;
  height: 5em;
  max-height: 5em;
  margin-bottom: 2em;
  border-radius: 50%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 60% 60%;
  background-position: 50% 50%;
}

.tech-card .lang { background-image: url("../images/Icons/icon-languages.png"); }

.tech-card .frame { background-image: url("../images/Icons/icon-frameworks.png"); }

.tech-card .skills { background-image: url("../images/Icons/icon-skills.png"); }

.tech-card .title {
  order: 1;
  margin-bottom: 1em;
}

.tech-card .tags {
  order: 2;
  align-items: center;
  justify-content: center;
  column-gap: 0.5em;
  row-gap: 0.5em;
}

.tech-card .tag {
  color: #36b37e;
  background: #fff;
}

#contact {
  order: 3;
  background-image: url("../images/Background/contact/mobile-right.png");
  background-size: 5.7em 8.23em;
  background-position: bottom right;
  background-repeat: no-repeat;
}

#contact .primary-text {
  height: 100%;
  width: 100%;
  margin-bottom: 3em;
}

.fullScreen-card h2 {
  order: 2;
  margin-bottom: 1em;
}

#contact .primary-text h2 {
  font-size: 1.875rem;
  line-height: 3rem;
}

#contact form { width: 100%; }

#contact form ul { display: block; }

#contact form ul li { width: 100%; }

input {
  height: 3em;
  padding: 0.6em;
}

#contact form ul li input,
textarea {
  width: 100%;
  min-width: 100%;
  border: 1px solid #60c095;
  border-radius: 0.3em;
  padding: 1em;
}

.fullScreen-card p {
  order: 4;
  height: 15.8em;
  min-height: 15.8em;
  overflow: scroll;
  margin-bottom: 1em;
}

#contact-form-errors p {
  padding: 1em;
  color: rgba(255, 0, 0, 0.712);
  font-weight: 600;
}

textarea { height: 7.125em; }

#contact form ul li input:focus,
textarea:focus {
  box-shadow: 0 0 20px #60c095;
  outline: none;
}

textarea::placeholder {
  font-weight: normal;
  color: #172b4d;
  font-size: 1rem;
  line-height: 1.5em;
}

footer {
  order: 6;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #dfe1e6;
}

#fullScreen-popUp {
  position: fixed;
  z-index: 1000;
  width: 100vw;
  min-width: 100vw;
  min-height: 100vh;
  background: #c1c7d0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5em;
  overflow: scroll;
}

.fullScreen-card {
  background: #fff;
  overflow: scroll;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1em;
  border-radius: 1em;
  max-width: 96vw;
  max-height: 96vh;
  z-index: 20000;
}

#closePopUp {
  order: 0;
  width: 100%;
  min-width: 100%;
  display: flex;
  justify-content: flex-end;
  padding-right: 1em;
}

.fullScreen-card .fullScreenPopUp-image {
  order: 1;
  height: 13.7em;
  margin-bottom: 1em;
}

.fullScreen-card .tags {
  order: 3;
  display: flex;
  margin-bottom: 1em;
  row-gap: 1em;
}

.fullScreen-card .tags .tag {
  background: #ebf0ee;
  color: #3a4a42;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1rem;
  margin-right: 0.5em;
}

.fullScreen-card .tags .tag:nth-last-child() { margin-right: 0; }

.fullScreen-card .button-container button {
  display: flex;
  align-items: center;
  min-width: 30%;
  font-weight: 500;
  font-size: 1.06rem;
}

.fullScreen-card .button-container button img { margin-left: 0.5em; }

@media only screen and (min-width: 992px) {
  h1 {
    font-weight: 800;
    font-size: 3rem;
    line-height: 3.75rem;
  }

  h2 { font-weight: 700; }

  ul li a {
    color: #172b4d;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.25rem;
    letter-spacing: 0.37px;
  }

  .navbar .nav-mobile { display: none; }

  .navbar .nav-links .menu-close { display: none; }

  .navbar .nav-links {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: none;
    border-bottom: none;
  }

  #headline {
    background-image: url("../images/Background/headline/headline.png");
    background-size: 100% 100%;
  }

  #works,
  #about-me,
  #contact {
    padding-left: 10em;
    padding-right: 10em;
  }

  #works .primary-text { display: block; }

  #works .primary-text::after {
    content: "";
    background: none;
  }

  .projects,
  .technologies {
    justify-content: space-evenly;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 1.5em;
  }

  #about-me {
    background-image: url("../images/Background/about/about-left.png"), url("../images/Background/about/about-right.png");
    background-size: 18em 8.1em, 17.06em 15.31em;
    background-repeat: no-repeat, no-repeat;
    background-position-y: 10em, 0;
    background-position-x: 0, 100%;
  }

  #contact {
    flex-direction: row;
    background-image: url("../images/Background/contact/conatct-left.png"), url("../images/Background/contact/conatct-middle.png"), url("../images/Background/contact/conatct-right.png");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 14.7em 26.37em, 6.56em 6.8em, 19.62em 38.05em;
    background-position-x: 0, 30%, 100%;
    background-position-y: 75%, 70%, 65%;
  }

  #contact .primary-text {
    height: 16em;
    max-height: 16em;
    width: 40%;
    margin: 0;
    align-self: flex-start;
    display: flex;
    justify-content: stretch;
    align-items: center;
    margin-right: 1.5em;
    flex-wrap: wrap;
  }

  #contact form {
    width: calc(60% - 1.5em);
    justify-self: flex-end;
    display: flex;
    flex-direction: column;
    align-self: flex-start;
  }

  .social-media li { transition: 1s; }

  .social-media li:hover { transform: scale(1.25); }

  .project-card:hover,
  .tech-card:hover {
    transform: scale(1.1);
  }

  #fullScreen-popUp {
    padding: 1em;
    overflow: hidden;
  }

  #closePopUp {
    grid-column: 1/ span 3;
    width: 100%;
    min-width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-right: 1em;
  }

  .fullScreen-card {
    overflow: hidden;
    width: 70vw;
    height: 90vh;
    max-width: 70vw;
    max-height: 90vh;
    overflow-y: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .fullScreen-card .fullScreenPopUp-image {
    height: 15em;
    min-height: 15em;
    grid-column: 1/ span 3;
    width: 100%;
    min-width: 100%;
  }

  .fullScreen-card h2 {
    text-align: left;
    grid-column: 1 / span 2;
  }

  .fullScreen-card .tags {
    grid-row: 4;
    grid-column: 1 / span 3;
    justify-content: flex-start;
    padding: 0;
    margin-top: 1em;
  }

  .fullScreen-card .tags .tag:nth-last-child() { margin-right: 0; }

  .fullScreen-card p {
    overflow: hidden;
    grid-row: 5;
    grid-column: 1 / span 3;
    text-align: left;
    margin-top: 1.5em;
  }

  .fullScreen-card .button-container {
    grid-row: 3;
    grid-column: 3 / span 1;
    margin-top: 0;
    align-items: flex-start;
    justify-content: flex-end;
  }
}
