
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;800&display=swap');

body {
  margin: 0;
}

#toolbar {
  position: relative;
  display: flex;
  width: 100%;
  height: 48px;
  color: #181e25;
  justify-content: space-between;
  align-content: center;
}

#logoPlaceholder {
  display: flex;
  align-items: center;
  width: 114px;
  height: 48px;
  margin-left: 12px;
}

#logoText {
  height: 28px;
  width: 90px;
  font-family: Inter, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
  text-align: center;
  color: #181e25;
  text-decoration: none;
}

#headerButton {
  margin-left: 24px;
}

#navDesktop {
  display: none;
}

#itemNav {
  display: none;
}

#headline {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  height: max-content;
  background: url('Images/bgMain.svg') no-repeat;
  background-size: 100%;
}

#primaryText {
  width: 87.2%;
  height: max-content;
  display: flex;
  flex-direction: column;
  margin-top: 64px;
  margin-bottom: 2%;
}

.primaryText {
  position: inherit;
  font-family: Inter, sans-serif;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
}

#primaryName {
  height: max-content;
  margin: 0;
  color: #172b4d;
  animation-name: load-rotate-lr;
  animation-duration: 4s;
}

#primaryJob {
  height: 50%;
  margin: 0;
  color: #36b37e;
  justify-self: flex-start;
  animation-name: load-rotate-rl;
  animation-duration: 2s;
}

#supportingText {
  position: inherit;
  width: 87.2%;
  height: 40%;
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 140%;
  text-align: center;
  color: #172b4d;
  margin: 0;
  animation-name: load-rotate-bt;
  animation-duration: 2s;
}

#socialMediaIcons {
  display: flex;
  width: 170.17px;
  height: 20px;
  margin: 0;
  justify-content: space-between;
  align-items: center;
  margin-top: 58px;
  animation-name: load-rotate-bt;
  animation-duration: 2s;
}

ul {
  list-style: none;
  padding: 0;
}

#actionButtonPlaceholder {
  margin-top: 62px;
}

#indicatorRW {
  height: 4px;
  width: 48px;
  align-self: center;
  margin-top: 24px;
}

#recentWorks {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  min-height: fit-content;
  justify-content: center;
}

#recentWorksHeader {
  margin-top: 22px;
  height: 125px;
  width: 327px;
  display: flex;
  flex-direction: column;
  justify-self: center;
}

#rWrksTitle {
  height: 97px;
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  color: #172b4d;
}

.card {
  display: flex;
  flex-direction: column;
  height: 474px;
  width: 327px;
  border: 1px solid #d0d9d4;
  border-radius: 8px;
  justify-self: center;
  margin-top: 24px;
  background-color: #ebf0ee;
}

#card1 {
  margin-top: 62px;
}

.projectSnapshot {
  height: 252px;
  background-color: #ebf0ee;
}

.projectInfo {
  height: 222px;
  border-radius: 8px;
  padding: 16px 11px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background-color: #fff;
}

.projectName {
  width: 295px;
  height: 57px;
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 24px;
  display: block;
  text-align: center;
  line-height: 32px;
  color: #3a4a42;
  gap: 0;
  margin: 0;
}

.projectTagPH {
  display: flex;
  gap: 8px;
  width: 295px;
  justify-content: center;
}

.projectTag {
  display: flex;
  align-items: center;
  text-decoration: none;
  background-color: #ebf0ee;
  border-style: none;
  height: 32px;
  width: max-content;
  border-radius: 4px;
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #3a4a42;
  padding-left: 12px;
  padding-right: 12px;
}

.projectTag:hover {
  cursor: pointer;
}

.seeProjectBttn {
  text-decoration: none;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 122px;
  height: 48px;
  background-color: #36b37f;
  border-radius: 4px;
  border-style: none;
  font-family: Inter, sans-serif;
  font-weight: 500;
  font-size: 17px;
}

.seeProjectBttn:hover {
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(54, 179, 127, 0.24);
  transform: scale(1.2);
}

.seeProjectBttn:active {
  background-color: #008552;
}

#aboutMePage {
  position: relative;
  width: 100%;
  top: 68px;
  height: max-content;
  display: grid;
  grid-template-columns: 1;
  justify-content: center;
}

#aboutMeHeader {
  height: 333px;
  width: 351px;
  display: grid;
  grid-template-columns: 1 1;
  grid-template-rows: 48px 189px 96px;
  justify-content: center;
  background: url('Images/illustration- about me- mobile1.png') 0% 100%, url('Images/illustration 1- about me-mobile22.png') 100% -15%;
  background-repeat: no-repeat;
}

.abtMeText {
  text-align: center;
  margin: 0;
}

#abtMeTitle {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #172b4d;
}

#abtMeText {
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
  color: #42526e;
}

.resumeBttn {
  background-color: #36b37f;
  color: white;
  border-style: none;
  border-radius: 4px;
  width: 159px;
  height: 48px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 24px;
  text-decoration: none;
}

#resumeLink {
  background-color: #36b37f;
  color: white;
  border-style: none;
  border-radius: 4px;
  width: 159px;
  height: 48px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 24px;
  justify-self: center;
  text-align: center;
  align-self: flex-end;
  text-decoration: none;
}

#resumeLink:hover {
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(54, 179, 127, 0.24);
}

#resumeLink:active {
  background-color: #008552;
}

#languagesCard {
  width: 327px;
  height: 352px;
  justify-self: center;
  margin-top: 59px;
  border-radius: 8px;
  background-color: #ebf0ee;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 184px 32px 136px;
}

.langIconPH {
  display: flex;
  align-items: center;
  justify-content: center;
}

.abtMeCardTitle {
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 133%;
  color: #344563;
  text-align: center;
  margin: 0;
}

.langButton {
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 133%;
  letter-spacing: 0.03em;
  color: #36b37e;
  background-color: #fff;
  height: 40px;
  width: max-content;
  border: none;
  border-radius: 8px;
  padding: 12px;
}

.abtMeCardList {
  display: flex;
  flex-wrap: wrap;
  width: 327px;
  justify-content: center;
  align-content: center;
  gap: 8px;
}

#frameworksCard {
  width: 327px;
  height: 352px;
  justify-self: center;
  margin-top: 24px;
  border-radius: 8px;
  background-color: #ebf0ee;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 184px 32px 136px;
}

#skillsCard {
  width: 327px;
  height: 352px;
  justify-self: center;
  margin-top: 24px;
  border-radius: 8px;
  background-color: #ebf0ee;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 184px 32px 136px;
}

.skillsTag {
  height: 40px;
}

#terminalTag {
  margin-top: 0;
}

#contact {
  position: relative;
  top: 68px;
  width: 100%;
  height: max-content;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#contactMeText {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 130%;
  justify-self: center;
  text-align: center;
  color: #172b4d;
  height: 363px;
  width: 327px;
}

#contactMeBlankSpace {
  margin-top: 35px;
  height: 58px;
  width: 327px;
  justify-self: center;
}

#contactForm {
  width: 327px;
  height: 330px;
  justify-self: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.formBox1 {
  height: 48px;
  border-radius: 4px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  color: #6b778c;
}

#commentsFormBox {
  height: 200px;
  width: 327px;
  border-radius: 4px;
  border-color: #60c095;
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  color: #091e42;
  resize: none;
}

#submitFormBttn {
  height: 48px;
  width: 129px;
  padding: 12px;
  border-radius: 4px;
  background-color: #36b37f;
  color: #fff;
  font-family: Inter, sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 24px;
  letter-spacing: 0.03em;
  border: none;
  align-self: center;
}

#submitFormBttn:hover {
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(54, 179, 127, 0.24);
  transform: scale(1.2);
}

#submitFormBttn:active {
  background-color: #008552;
}

.socialMediaIcons2 {
  display: flex;
  width: 170.17px;
  height: 20px;
  margin: 0;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}

#contactEmailPH {
  width: 375px;
  height: 189px;
}

#contactEmail {
  text-align: center;
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
  color: #42526e;
}

#bottomBar {
  height: 147px;
}

#smI {
  justify-content: center;
}

#bottomBackgroundImage {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url('Images/illustration-contact-form1.png') 100% 56% no-repeat;
}

#smI2 {
  display: none;
}

@keyframes load-rotate-rl {
  from {
    transform: translate(100%, 0);
  }

  to {
    transform: rotate(0);
  }
}

@keyframes load-rotate-lr {
  from {
    transform: translate(-100%, 0);
  }

  to {
    transform: rotate(0);
  }
}

@keyframes load-rotate-bt {
  from {
    transform: translate(0, 900%);
  }

  to {
    transform: rotate(0);
  }
}

@media all and (min-width: 768px) {
  #toolbar {
    display: none;
  }

  #navDesktop {
    display: flex;
    position: fixed;
    width: 100vw;
    height: 8vh;
    justify-content: center;
    z-index: 100;
  }

  #itemNav {
    display: flex;
    position: fixed;
    width: 255px;
    height: 4.444vh;
    justify-content: space-between;
    align-self: center;
    justify-items: center;
  }

  .navLink {
    text-decoration: none;
    font-family: Inter, sans-serif;
    color: #344563;
    font-weight: 600;
    font-size: 15px;
    line-height: 4.444vh;
  }

  #headline {
    background-image: url('Images/Header-llustration-desktop@2x.svg');
    background-size: 100%;
    width: 100vw;
    height: calc(0.733 * 100vw);
    position: relative;
    gap: 2.66vh;
  }

  #primaryText {
    margin-top: 25.77vh;
    width: 53.5;
    height: max-content;
    margin-bottom: 0;
  }

  #supportingText {
    width: 53.5vw;
    height: max-content;
  }

  #socialMediaIcons {
    margin-top: 0;
  }

  .socialMediaIcons:hover {
    transform: translate(0, -5px);
  }

  #actionButtonPlaceholder {
    margin-top: 12vh;
  }

  #recentWorks {
    height: max-content;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: max-content, auto, auto;
    justify-content: center;
    row-gap: 1vh;
    column-gap: 1.66vw;
  }

  #indicatorRW {
    display: none;
  }

  #recentWorksHeader {
    grid-column: 1 / 4;
    margin-top: 11.41vh;
    height: max-content;
    margin-bottom: 5vh;
  }

  #rWrksTitle {
    width: max-content;
    height: max-content;
  }

  .card {
    height: 60vh;
    width: 26.625vw;
  }

  .card:hover {
    transform: translate(0, -10px);
  }

  #card1 {
    margin-top: 24px;
    height: 60vh;
    width: 26.625vw;
  }

  .projectSnapshot {
    box-sizing: border-box;
    height: 50%;
    width: 26.625vw;
  }

  .projectInfo {
    box-sizing: border-box;
    width: 26.625vw;
    height: 50%;
    gap: 2vh;
    padding: 1.77vh 0.76vw;
  }

  .projectName {
    width: 20.48vw;
    height: max-content;
    font-size: 1.8vw;
    line-height: 133%;
  }

  .projectTag {
    height: max-content;
    width: max-content;
    font-size: 1vw;
    line-height: 133%;
    padding: 0.83vw;
  }

  .projectTagPH {
    margin: 0;
    height: max-content;
    width: max-content;
  }

  .seeProjectBttn {
    height: max-content;
    box-sizing: border-box;
    padding: 1.33vh 0.83vw;
    font-size: 1.18vw;
    line-height: 141%;
    width: 8.47vw;
  }

  #aboutMePage {
    box-sizing: content-box;
    padding-top: 21.33vh;
    grid-template-columns: 1fr 25vw 1fr;
    grid-template-rows: 333px 352px;
    background: url('Images/illustration-about-me-2-desktop.svg') 0% 38% no-repeat, url('Images/illustration-about me-1-desktop.svg') 100% 9% no-repeat;
    column-gap: 1.66vw;
  }

  #aboutMeHeader {
    grid-column: 1 / 4;
    justify-self: center;
    width: 100vw;
    grid-template-rows: max-content max-content max-content;
    background: none;
  }

  #abtMeTitle {
    height: max-content;
    padding-bottom: 2.66vh;
  }

  #abtMeText {
    width: 63.88vw;
    height: max-content;
    padding-bottom: 2.66vh;
  }

  #languagesCard {
    margin-top: 0;
    justify-self: end;
    width: 25vw;
  }

  #languagesCard:hover {
    transform: translate(0, -10px);
  }

  #frameworksCard {
    margin-top: 0;
    width: 25vw;
  }

  #frameworksCard:hover {
    transform: translate(0, -10px);
  }

  #skillsCard {
    margin-top: 0;
    justify-self: start;
    width: 25vw;
  }

  #skillsCard:hover {
    transform: translate(0, -10px);
  }

  .abtMeCardTitle {
    font-size: 1.66;
  }

  .abtMeCardList {
    box-sizing: content-box;
    width: 24vw;
    justify-self: center;
    align-content: flex-start;
    gap: 0.55vw;
    margin-bottom: 0;
  }

  .langButton {
    height: max-content;
    padding: 0.83vw;
  }

  #contact {
    box-sizing: content-box;
    width: 100vw;
    display: grid;
    grid-template-columns: 9.34vw 32.15vw 47.1vw 9.34vw;
    grid-template-rows: 36.66vh 27.77vh 7.88vh;
    padding-top: 18.22vh;
    margin: 0;
    background: url('Images/illustration-1-contact-form-desktop.svg') 0% 90% no-repeat, url('Images/illustration-2-contact-form-desktop.svg') 20% 77% no-repeat, url('Images/Frame.svg') 100% 70% no-repeat, url('Images/Rectangle 42.png') 0% 93% no-repeat;
  }

  #contactMeBlankSpace {
    display: none;
  }

  #contactMeText {
    grid-column: 2/3;
    grid-row: 1/2;
    height: 28.44vh;
    width: 32.15vw;
    font-size: 2vw;
    align-self: flex-start;
    margin: 0;
    text-align: center;
    line-height: 173%;
  }

  #bottomBackgroundImage {
    grid-column: 3/4;
    grid-row: 1/2;
    background: none;
  }

  #contactForm {
    box-sizing: content-box;
    padding-left: 1.66vw;
    grid-column: 3/4;
    grid-row: 1/2;
    width: 47vw;
    height: 36.66vh;
    row-gap: 2.66vh;
  }

  #smI {
    display: none;
  }

  #contactEmailPH {
    display: none;
  }

  #bottomBar {
    display: none;
  }

  .formBox1 {
    box-sizing: content-box;
    width: 46.5vw;
    height: min-content;
    border-color: #d0d9d4;
    font-size: 1vw;
  }

  #commentsFormBox {
    width: 47vw;
    height: 12.66vh;
    min-height: 80px;
    box-sizing: border-box;
    font-size: 1vw;
  }

  #commentsFormBox:focus {
    outline-color: #60c095;
  }

  #submitFormBttn {
    align-self: flex-start;
    width: max-content;
    padding: 1.33vh;
    font-size: 1.2vw;
  }

  #smI2 {
    display: inline;
    grid-column: 2 / 4;
    grid-row: 3/4;
    justify-self: center;
  }
}
