@import url("https://fonts.googleapis.com/css2?family=Limelight&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
  list-style: none;
  text-decoration: none;
  /* font-size: 16px; */
  color: #242424;
  font-family: "Roboto", sans-serif;
}
/*

GENERAL STYLES

*/
p {
  font-size: 20px;
  line-height: 1.5;
}
i {
  color: #fe9992;
}
.click {
  transition: all 300ms ease;
}
.click:hover {
  transform: scale(1.1);
  color: #9992fe;
}
.click:active {
  transform: scale(0.8);
}

.container {
  padding: 50px 0;
  width: 100%;
}
nav,
.scroll{
  opacity: 1;
  visibility: visible;
  transition: all 400ms;
  padding: 12px;
}
.modal--open nav,
.modal--open .scroll{
  opacity: 0;
  visibility: hidden;

}
input,
textarea {
  width: 100%;
  outline: none;
  border: 3px solid #ffbfb8;
  border-top: none;
  border-right: none;
  border-left: none;
  height: 40px;
}
input:hover,
textarea:hover {
  border-color: lightgray;
}
.input:focus,
textarea:focus {
  border-color: #fe9992;
}
form {
  width: 100%;
  padding: 0 42px;
}
.form__item {
  margin-bottom: 20px;
}
.form__item--label {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 6px;
}
textarea {
  resize: vertical;
  height: 150px;
  max-height: 320px;
  margin-top: 8px;
}
.row {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 12px;
}
.link__hover {
  position: relative;
}
.link__hover::after {
  content: "";
  position: absolute;
  bottom: -3px;
  height: 3px;
  width: 0;
  right: 0;
  transition: all 300ms ease-in-out;
}
.link__hover:hover::after {
  left: 0;
  width: 100%;
}
.link__hover--pink::after {
  background-color: #fe9992;
}
.link__hover--white::after {
  background-color: #fff;
}
section{
  transition: all 300ms ease-in-out;
}

/*

DARK MODE STYLES

*/
.dark-mode .nav__link--anchor,
.dark-mode .title,
.dark-mode .section-title,
.dark-mode p,
.dark-mode body{
  color: white;
}
.dark-mode section{
  background-color: #242424;
}
.dark-mode .scroll__icon{
  border: 2px solid #fff;
}
.dark-mode .scroll__icon::after,
.dark-mode .mailTo{
    background-color: #fff;
}
.dark-mode .fa-envelope{
  color: #fe9992;
}
.dark-mode .project__wrapper{
  box-shadow: 0 20px 80px 0 rgb(255, 231, 230);

}

/*

NAV STYLES

*/

.logo {
  height: 50px;
  width: 50px;
  font-size: 50px;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
  height: 100%;
}
.nav__links--list {
  display: flex;
}
.nav__link {
  margin: 0 12px;
}

/*

LANDING PAGE STYLES

*/
#landing-page {
  min-height: 100vh;
}
.header__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.title {
  font-size: 120px;
  margin-bottom: 12px;
  text-align: left;
}
.purple {
  color: #fe9992;
}

.blurb__purple {
  font-weight: bold;
}
.header__blurb {
  font-size: 24px;
  line-height: 2;
  max-width: 450px;
}
.social__link {
  margin-top: 16px;
  font-size: 24px;
  padding-right: 10px;
}
.mailTo {
  position: fixed;
  height: 70px;
  width: 70px;
  font-size: 32px;
  background-color: #242424;
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  bottom: 32px;
  right: 40px;
  z-index: 1;
}
.mailTo i {
  color: white;
}

.scroll {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.scroll__icon {
  width: 20px;
  height: 30px;
  border: 2px solid #242424;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.scroll__icon::after {
  content: "";
  background-color: #242424;
  width: 4px;
  height: 6px;
  border-radius: 2px;
  animation: scroll 1000ms infinite alternate-reverse;
}
@keyframes scroll {
  0% {
    transform: translateY(3px);
  }
  100% {
    transform: translateY(-3px);
  }
}

/*

MODAL STYLES

*/


.modal{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1100px;
  height: 700px;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  visibility: hidden;
  z-index: -1;
  transition: visibility 1s, z-index 1s, box-shadow 0.5s ease;
}
.modal--open
.modal{
  z-index: 60;
  box-shadow: 0 20px 80px 0 rgb(255, 231, 230);
  visibility: visible;
}
.modal__half {
  width: 50%;
  padding: 90px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 300ms ease;
}
.modal--open .modal__about,
.modal--open .modal__contact
{
  transform: translateX(0%);
}
.modal__about {
  background-color: #e5d0cf;
  color: white;
  transform: translateX(-110%);
}
.modal__about--desc {
  line-height: 1.75;
  padding: 32px;
  color: white;
}
.languages__icons--wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: calc(100% / 3 * 2);
  margin-bottom: 32px;
}
.languages__icons--container {
  max-width: 80px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.languages__icons--container:hover .language__name {
  transform: scale(1.2);
  opacity: 0.8;
  transition: all 0.3s ease;
}
.language__name {
  position: absolute;
  bottom: -35px;
  transform: scale(0%);
  transition: all 0.3s ease;
  font-size: 20px;
  opacity: 0%;
  padding-top: 8px;
}
.language__img {
  width: 100%;
}
.modal__contact {
  background-color: #fff;
  position: relative;
  transform: translateX(110%);
}
.modal__about--title,
.modal__about--sub-title {
  color: white;
}
.modal__about--title,
.modal__contact--title {
  font-size: 26px;
  margin-bottom: 8px;
}
.modal__contact--sub-title {
  margin-bottom: 24px;
}
.modal__contact--boop {
  padding: 11px 16px;
  border: 2px solid transparent;
  border-radius: 25px;
  background-color: #ffbfb8;
  font-size: 18px;
  font-weight: bold;
  font-family: "Limelight", sans-serif;
  width: 100%;
  max-width: 100px;
  cursor: pointer;
  transition: background-color, color 300ms ease;
}
.modal__overlay{
  position: absolute;
  top: 0;
  left: 0;
  height: 30%;
  width: 40%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: -1;
}
.modal__overlay--visible {
  z-index: 1;
  display: flex;
}
.modal__overlay--loading {
  font-size: 80px;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 80px 8px#FFBFB8;
  z-index: -1;
}
.fa-spiral {
  animation: spinner 1000ms infinite linear;
}
.exit{
  position: absolute;
  font-size: 24px;
  top: 20px;
  right: 20px;
  border: none;
  background-color: transparent;
}
@keyframes spinner {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.modal__contact--boop:hover {
  background-color: #fe9992;
  color: white;
}
.modal__contact--boop:active {
  /* transform: translateY(1px); */
  background-color: #fff;
  border: 2px solid #fe9992;
  color: #fe9992;
}
.modal__contact--boop--container {
  width: 100%;
  display: flex;
  justify-content: end;
}
/*

PROJECT STYLES

*/
.section-title {
  text-align: center;
  font-size: 42px;
  padding: 32px 0;
}
.project {
  margin-bottom: 132px;
  /* color: white; */
}
.project__img {
  width: 100%;

  border-radius: 24px;
  transition: all 300ms ease;
}
.project__wrapper:hover .project__desc--wrapper {
  opacity: 1;
  transform: translateY(-50%);
}

.project__wrapper {
  position: relative;
  border-radius: 24px;
  box-shadow: 0 20px 80px 0 rgb(0, 0, 0, 0.45);
  overflow: hidden;
  /* color: white; */
}
.project__wrapper:hover .project__desc--wrapper {
  opacity: 1;
  transform: translateY(-50%);
}
.project__wrapper:hover .project__img {
  transform: scale(1.07);
  filter: blur(5px);
  /* color: white; */
}
.projects__list {
  margin: 32px;
}
.project__wrapper:hover .project__wrapper--bg {
  opacity: 0.7;
  visibility: visible;
}
.project__wrapper--bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1c1d25;
  opacity: 0%;
  transition: all 450ms ease;
  visibility: hidden;
}
.project__desc--wrapper {
  position: absolute;
  top: 50%;
  left: 90px;
  transform: translateY(100%);
  opacity: 0;
  transition: opacity 300ms, transform 450ms ease;
  /* color: white; */
  max-width: 550px;
}
.project__desc,
.project__desc--sub-title,
.project__desc--title {
  max-width: 550px;
  color: white;
}
/*

FOOTER STYLES

*/
footer {
  position: relative;
  background-color: #413644;
  display: flex;
  padding: 6% 0;
}
.footer__row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__logo {
  height: 60px;
  width: 70px;
  margin-bottom: 24px;
}
.footer__social-list {
  width: 100%;
  display: flex;
  justify-content: space-around;
  max-width: 900px;
}
.footer__social--link {
  color: white;
}
.hover-white {
  background-color: white;
}


/*

PETAL STYLES

*/

.cherry{
  position: fixed;
  max-height: 40px;
  max-width: 45px;
  z-index: -1;
  
}
.rotate-1{
  transform: rotate(-40deg) scaleX(-1);
}
.petal--0{
  top: 10vh;
  left: 30vw;
}

.petal--1{
  top: 25vh;
  left: 18vw;
}
.petal--2{
  top: 65vh;
  left: 80vw;
}
.petal--3{
  top: 70vh;
  left: 65vw;
}
.petal--4{
  top: 75vh;
  left: 10vw;
}
.petal--5{
  top: 22vh;
  left: 68vw;
}
.petal--6{
  top: 60vh;
  left: 15vw;
}
.petal--7{
  top: 5vh;
  left: 5vw;
}
.petal--8{
  top: 10vh;
  left: 85vw;
}

/*

MEDIA QUERIES

*/

/* Small phones, tablets, large smart phones*/
@media (max-width:768px) {
  .title{
    font-size: 94px;
  }
  /* section{
    padding: 12px;
  } */
  .modal{
    flex-direction: column-reverse;
    top: 0  ;
    left: 0;
    transform: none;
    height: auto;
    width: 100%;
    border-radius: 0;
    max-height: 100vh;
  }
  .modal__half,
  .modal__contact{
    width: 100%;
    padding: 20px 20px;
    height: 50vh;
  }
  .form__item{
    max-height: 100px;
  }
  .modal__about--desc{
    font-size: 16px;
  }
  .header__content{
    width: 80%;
  }
}
/* Small phones*/
@media (max-width:480px){
.title{
  font-size: 62px;
}

.project__desc{
  font-size: 16px;
}
.project__desc--wrapper{
  left: 0;
  text-align: center;
}
}
