@import url('https://fonts.cdnfonts.com/css/handwriting');

html, body, button {
  padding: 0;
  margin: 0;
  /*font-family: 'Handwriting', sans-serif;*/
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--background-color);
}

:root{
  --font-color: #deecea;
  --background-color: #091d29;
  --shadow-color: #164e70;
  --exp-container-bgcolor : #0f2e45;
  --exp-container-bgcolor-hover :rgb(44, 63, 85);
}

.page-header{
  margin-top: 10px;
  padding: 0 40px;
  height: 55px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-stuff-container{
  display: flex;
  justify-content: right;
  align-items: center;
}
.header-stuff-container h1{
  font-weight: bold;
  font-size: 26px;
  color: white;
}
.header-button{
  opacity: 0.5;
  margin: 0 10px;
  cursor: pointer;
  color: var(--font-color);
  width: 90px;
  height: 50px;
  font-size: 19px;
  background: transparent;
  border: none;
  transition: 0.5s;
  font-weight: 500;
}
@keyframes selected_button_animation {
  0% {
    scale: 0.8;
    border-bottom: solid 4px transparent;
    font-weight: 600;
  }
  50% {
    scale: 1.15;
    border-bottom: solid 4px lightgray;
    font-weight: 750;
  }
  100% {
    scale: 1;
    border-bottom: solid 4px white;
    font-weight: 900;
  }
}
.selected-button{
  opacity: 1;
  border-bottom: solid 4px white;
  font-weight: 900;
  cursor: default;
  animation: selected_button_animation 0.4s ease-in-out forwards;
}
.header-button.selected-button:hover{
  scale: 1;
  width: 90px;
  font-size: 19px;
  font-weight: 900;
}

.header-button:hover{
  opacity: 1;
  scale: 1.1;

}
.main-container-class{
  color: var(--font-color);
  padding: 0 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.profile-text-container{
  /*background: blueviolet;*/
  display: flex;
  flex-direction: column;
  justify-content: center;
  width : 600px;
}
.main-content-container{
  /*background: var(--background-color);*/
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.content-container{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
.content-container .profile-text-title{
  font-size: 59px;
}
@media screen and (max-width: 630px){
  .content-container .profile-text-title{
    font-size: 50px;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.profile-text-container h1{
  font-size: 46px;
  margin-bottom: 25px;
  opacity: 0; /* Start hidden */
  animation: fadeIn 1s ease-out forwards;
}
.profile-text-container h3{
  font-size: 28px;
  color: #1f96dd;
  margin: 0 0 20px 0;
  opacity: 0; /* Start hidden */
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.3s;
}
.profile-text-container p{
  font-size: 21px;
  color: var(--font-color);
  margin: 0 0;
  line-height: 40px;
  opacity: 0; /* Start hidden */
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.6s;
}
.profile-pic-container{
  width: 250px;
  display: flex;
  align-items: center;
}
.profile-pic-container.about-page{
  width: 550px;
}
.profile-pic-container.about-page img{
  width: 100%;
  height: 100%;
}
@keyframes fadeIn2 {
  from {
    opacity: 0;
    scale: 0.95;
  }
  to {
    opacity: 100%;
    scale: 1;
  }
}
.profile-pic-container img{
  will-change: opacity;
  border-radius: 15px;
  width: 250px;
  height: 250px;
  animation: fadeIn2 2s ease-out forwards;
  -webkit-animation: fadeIn2 1s ease-out forwards;
}
.buttons-container{
  margin-top: 20px;
  display: flex;
  justify-content: left;
}
.buttons-container button{
  height: 40px;
  width: 155px;
  background: transparent;
  border-radius: 5px;
  color: white;
  font-size: 16px;
  opacity: 0; /* Start hidden */
  cursor: pointer;
}
.buttons-container .learn-more-button{
  border: solid 2px #1f96dd;
  margin-right: 40px;
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.9s;
  transition-duration: 300ms;
}

.buttons-container .learn-more-button:hover{
  background: rgba(30, 151, 224, 0.71);
  border-color: rgba(31, 150, 221, 0.71);
  font-weight: 800;
  scale: 1.05;
}
.buttons-container .contact-me-button{
  border: solid 2px #1f96dd;
  background: #1f96dd;
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 1.1s;
  transition-duration: 300ms;
}
.buttons-container .contact-me-button:hover{
  background: rgb(94, 195, 250);
  border-color: rgb(94, 195, 250);
  font-weight: 800;
  scale: 1.05;
}
.footer-container{
  padding: 20px 40px;
  background: transparent;
}
.footer-title-holder{
  color: #cccaca;
  font-size: 22px;
  align-content: center;
  text-align: center;
  height: 50px;
  background: transparent;
  border-top: solid 2px rgba(30, 139, 193, 0.34);
}
.footer-version-holder{
  opacity: 0.4;
  color: #ffffff;
  font-size: 15px;
  text-align: center;
  background: transparent;
}

.email-container {
  padding-bottom: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.email-container p{
  padding-left: 10px;
  font-size: 17px;
  color: #c8c8c8;
}
.email-container a{
  height: 35px;
  align-content: center;
  text-decoration: underline;
  text-underline-position: under;
  font-size: 18px;
  color: white;
  transition: 0.4s;
}

.social-icons-container{
  margin: 30px 0 10px 0;
  display: flex;
  justify-content: center;
}
.second-email-container p{
  text-align: left;
}
.social-icons{
  opacity: 20%;
  cursor: pointer;
  height: 35px;
  margin: 0 10px 0 10px;
  transition: 0.3s;
}
.social-icons:hover{
  opacity: 1;
  scale: 1.2;
}
.social-icons-email{
  font-size: 10px;
}
.social-icons-email:hover{
  scale: 1;
}
.main-content-container.second-container{
  justify-content: center;
  background: transparent;
}
.content-container.second-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.experience-container{
  opacity: 0.7;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--exp-container-bgcolor);
  border-radius: 15px;
  text-align: center;
  transition: 0.4s;
}
.experience-container:hover{
  opacity: 0.9;
  background: var(--exp-container-bgcolor-hover);
  scale: 1.05;
}
.front-image{
  margin: 4%;
  position: absolute;
  border-radius: 15px;
  background: var(--exp-container-bgcolor);
  transition: 0.5s;
}
.front-image img{
  border-radius: 15px;
}
.front-image:hover{
  opacity: 0;
}
.back-text-container{
  position: absolute;
}
.back-text-container p {
  padding: 4%;
  line-height: 1.5;

  /* Default font size for mobile */
  font-size: 12px;
}

/* Tablet screens (600px and up) */
@media screen and (min-width: 650px) {
  .back-text-container p {
    font-size: 13px;
  }
}

/* Small desktop screens (992px and up) */
@media screen and (min-width: 800px) {
  .back-text-container p {
    font-size: 17px;
  }
}

/* Large desktop screens (1200px and up) */
@media screen and (min-width: 1100px) {
  .back-text-container p {
    font-size: 20px;
  }
}
.experience-image{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contact-form-container{
  width: 48%;
  max-width: 480px;
  animation: fadeIn 1s ease-out forwards;
  margin: 0 5%;

  /*background: rgba(223, 229, 232, 0.2);*/
}
.main-form-container{
  display: flex;
  justify-content: space-around;
}
.contact-form-container h1{
  font-size: 46px;
  margin-bottom: 25px;
  opacity: 0; /* Start hidden */
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.5s;
}
.contact-form-container h3{
  font-size: 28px;
  color: #1f96dd;
  margin: 0 0 40px 0;
  opacity: 0; /* Start hidden */
  animation: fadeIn 1s ease-out forwards;
  animation-delay: 0.3s;
}
.info-form-container{
  margin: 15px 0;
  height: 43px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@keyframes input-on-focus{
  0%{
    outline: solid 7px #1f96dd;
  }
  70%{
    outline: solid 2px #1f96dd;
  }
  100%{
    outline: solid 3px #1f96dd;
  }
}
.info-form-container input{
  font-size: 17px;
  padding: 0 2%;
  color: white;
  background: rgba(44, 63, 85, 0.63);
  border: none;
  border-radius: 5px;
  width: 44.5%;
}
.email-form-container input{
  width: 100%;
}
.info-form-container input:focus{
  animation: input-on-focus 0.3s ease-out forwards;
}
.large-input-box{
  height: 140px;
  width: 100%;
}
.large-input-box textarea{
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  resize: none;
  font-size: 17px;
  color: white;
  background: rgba(44, 63, 85, 0.63);
  border: none;
  border-radius: 5px;
  text-align: start;
  width: 100%;
  height: 120px;
  padding: 2%;
  box-sizing: border-box;
  line-height: normal;
}
.large-input-box textarea:focus{
  animation: input-on-focus 0.3s ease-out forwards;
}
.info-form-container .submit-button{
  width: 100%;
  height: 45px;
  background: #1f96dd;
  transition: 0.3s;
}
.info-form-container .submit-button:hover{
  scale: 1.05;
}
.info-form-container .submit-button:focus{
  animation: none;
}
.contact-form-container.second-container{
  display: flex;
  flex-direction: column;
  gap: 6px;
  /*background: #1f96dd;*/
  width: 23%;
  max-width: 230px;
}

.contact-form-container.second-container a{
  opacity: 0.4;
  padding: 3px 0;
  text-decoration: none;
  color: white;
  transition: 0.3s;
}
.contact-form-container.second-container a:hover{
  padding-left: 7px;
  opacity: 1;
}
.contact-form-container.second-container p{
  margin: 16px 0;
  line-height: 1.4;
}
.contact-form-container.second-container h2{
  margin: 7px 0;
}

@keyframes  fadeIn3{
  0% {
    opacity: 0;
    transform: translateY(20px);
    box-shadow: none;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    box-shadow: 0 0 44px 26px var(--exp-container-bgcolor);
  }
}


.email_verification_container{
  text-align: center;
  height: 400px;
  width: 450px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
}
.email_verification_container p{
  font-size: 18px;
  line-height: 30px;
}
.input-form-container{
  padding: 10px 0;
  height: 50%;
}
.verify-input-container{
  display: flex;
  justify-content: center;
}
.verification-input-box{
  background: #c5c5c5;
  margin: 20px 1% 40px 1%;
  height: 42px;
  width: 42px;
  text-align: center;
  font-size: 25px;
  border: solid 2px transparent;
  border-radius: 5px;
}
.verification-input-box:focus{
  animation: input-on-focus 0.3s ease-out forwards;
  background: white;
}
.verification-input-box:valid{
  background: white;
}
.verification-submit-button{
  font-size: 17px;
  color: white;
  background: #003f9e;
  margin: 5px 0 0 0;
  width: 90%;
  height: 45px;
  border: none;
  border-radius: 5px;
  transition: 0.3s;
}
.verification-submit-button:hover{
  background: #2d6ccd;
}

.verification-submit-button.resend-button{
  visibility: visible;
  background: transparent;
}
.verification-submit-button.resend-button:hover{
  background: rgba(255, 255, 255, 0.09);
}


.loading-container{
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  border: solid 3px #0e4a70;
  border-radius: 15px;
  box-shadow: 0 0 44px 26px var(--exp-container-bgcolor);
  animation: fadeIn3 0.5s ease-out forwards;
}

.after_sending_code{
  animation: fadeIn2 0.5s ease-out forwards;
}
/* HTML: <div class="loader"></div> */
.loader {
  margin-left: auto;
  margin-right: auto;
  width: 110px;
  height: 80px;
  scale: 1;
  color: #514b82;
}
.loader::before,
.loader::after {
  content: "";
  position: absolute;
  inset:0;

  background:
          linear-gradient(to bottom, currentColor 0%, currentColor 100%) 0 calc(var(--s, 0) * -100%) / 100% calc(100% / 3),
          repeating-linear-gradient(90deg, currentColor 0%, currentColor 25%, transparent 25%, transparent 50%) calc(var(--s, 0) * 100%) 50% / calc(4 * 100% / 3) calc(100% / 3);

  background-repeat: no-repeat;
  animation: l26 2s infinite;
}
.loader::after {
  --s:-1;
}
@keyframes l26 {
  0%,
  10%  {transform:translateY(calc(var(--s,1)*0));   background-position: 0 calc(var(--s,0)*-100%),calc(var(--s,0)*100%) 50%}
  33%  {transform:translateY(calc(var(--s,1)*-20%));background-position: 0 calc(var(--s,0)*-100%),calc(var(--s,0)*100%) 50%}
  66%  {transform:translateY(calc(var(--s,1)*-20%));background-position: 0 calc(var(--s,0)*-100%),calc(var(--s,0)*100% + 100%) 50%}
  90%,
  100%  {transform:translateY(calc(var(--s,1)*0));  background-position: 0 calc(var(--s,0)*-100%),calc(var(--s,0)*100% + 100%) 50%}
}
.portfolio-container{
  margin-top: 100px;
  width: 100%;
  max-width: 1000px;
  height: max-content;
  animation: fadeIn 0.6s ease-in-out forwards;
}
.major-header{
  margin: 30px 0;
  text-align: center;
}
.section-container{
  margin: 50px 0;
  height: max-content;
  display: flex;
  flex-direction: row;
}
.title-container{
  width: 30%;
  min-width: 230px;
}
.title-container h2,h3,h4,h5{
  margin: 15px 0 0 0;
}
.portfolio-subtitle{
  color: #22a5f3;
}
.portfolio-subtitle-2{
  color: #1872aa;
}

.detail-container{
  width: 70%;
}
.detail-container p{
  margin: 14px 0 0 0;
  line-height: 35px;
}
.huge-container{
  width: 100%;
  display: flex;
  flex-direction: column;
}
.detail-container h2,h3,h4,h5{
  padding-left: 0;
}
.skill-container{
  margin-top: 10px;
}
.skill-items-pairs{
  height: 40px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.skill-item{
  width: 45%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.skill-label{
  align-content: center;
}
.skill-label p{
  margin: 0;
}
.skill-level{
  width: 50%;
  margin: 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}
.skill-level div{
  border-radius: 50%;
  width: 12px;
  height: 12px;
  margin: auto;
}

.skill-point-black{
  background: #ffffff;
}
.skill-point-gray{
  background: #3a3a3a;
}
.download-portfolio{
  margin-top: 20px;
  height: max-content;
}
.download-portfolio a{
  text-decoration: none;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.download-portfolio button{
  height: 60px;
  width: 30%;
  border: solid 2px #1f96dd;
  border-radius: 5px;
  color: white;
  font-size: 20px;
  transition-duration: 0.3s;
}

@keyframes hoverDownloadButton {
  0% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0),
            rgba(31, 150, 221, 0),
            rgba(31, 150, 221, 0.1),
            rgba(31, 150, 221, 0.2),
            rgba(31, 150, 221, 0.3)
    );
  }

  10% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0),
            rgba(31, 150, 221, 0.1),
            rgba(31, 150, 221, 0.2),
            rgba(31, 150, 221, 0.3),
            rgba(31, 150, 221, 0.4)
    );
  }

  20% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.1),
            rgba(31, 150, 221, 0.2),
            rgba(31, 150, 221, 0.3),
            rgba(31, 150, 221, 0.4),
            rgba(31, 150, 221, 0.5)
    );
  }

  30% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.2),
            rgba(31, 150, 221, 0.3),
            rgba(31, 150, 221, 0.4),
            rgba(31, 150, 221, 0.5),
            rgba(31, 150, 221, 0.6)
    );
  }

  40% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.3),
            rgba(31, 150, 221, 0.4),
            rgba(31, 150, 221, 0.5),
            rgba(31, 150, 221, 0.6),
            rgba(31, 150, 221, 0.7)
    );
  }

  50% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.4),
            rgba(31, 150, 221, 0.5),
            rgba(31, 150, 221, 0.6),
            rgba(31, 150, 221, 0.7),
            rgba(31, 150, 221, 0.8)
    );
  }

  60% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.5),
            rgba(31, 150, 221, 0.6),
            rgba(31, 150, 221, 0.7),
            rgba(31, 150, 221, 0.8),
            rgba(31, 150, 221, 0.9)
    );
  }

  70% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.6),
            rgba(31, 150, 221, 0.7),
            rgba(31, 150, 221, 0.8),
            rgba(31, 150, 221, 0.9),
            rgba(31, 150, 221, 1)
    );
  }

  80% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.7),
            rgba(31, 150, 221, 0.8),
            rgba(31, 150, 221, 0.9),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1)
    );
  }

  90% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 0.8),
            rgba(31, 150, 221, 0.9),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1)
    );
  }

  100% {
    background: linear-gradient(
            to left,
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1),
            rgba(31, 150, 221, 1)
    );
  }
}

.download-portfolio button:hover{

  animation: hoverDownloadButton 0.8s ease-in-out;
  background: rgba(31, 150, 221, 1);
  font-weight: bold;

}
/*#project-button{*/
/*  display: none;*/
/*}*/
@keyframes glitch {
  0% { scale: 1.01 }
  20% { scale: 1.03; }
  40% { scale: 0.99; }
  60% { scale: 1.05; }
  80% { scale: 1.01; }
  100% { scale: 1; }
}

.loader-failed {
  margin-left: auto;
  margin-right: auto;
  width: 110px;
  height: 80px;
  scale: 1;
  color: #514b82;
  background:
          linear-gradient(to bottom, currentColor 0%, currentColor 100%) 0 calc(var(--s, 0) * -100%) / 100% calc(100% / 3),
          repeating-linear-gradient(90deg, currentColor 0%, currentColor 25%, transparent 25%, transparent 50%) calc(var(--s, 0) * 100%) 50% / calc(4 * 100% / 3) calc(100% / 3);

  position: relative;
  animation: glitch 0.3s infinite alternate;
}

.loader-failed::before,
.loader-failed::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  opacity: 0.6;
}
.projects-container{
  margin-top: 80px;
  width: 100%;
  /*background: #6882fd;*/
}

.projects{
  opacity: 0;
  animation: fadeIn 0.4s ease-in-out forwards;
  margin: 40px 0;
  height: 250px;
  background: var(--exp-container-bgcolor);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 25px 40px 25px 25px;
  border-radius: 10px;
}
.projects:hover .project-image{}
.project-image{
  margin-right: 35px;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 15px;
}
.project-image img{
  border-radius: 15px;
  min-width: 150px;
  width: 100%;
  max-width: 370px;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.my-project-text-content{
  flex-grow: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.my-project-text-content h2{
  font-size: 25px;
  margin: 0 0 10px 0;
}
.sized-container{
  flex-grow: 1;
}
.my-project-text-content p{
  margin-bottom: auto;
  font-size: 18px;
  line-height: 35px;
}


.my-project-text-content button{
  height: 40px;
  width: 155px;
  border: solid 2px #1f96dd;
  background: #1f96dd;
  border-radius: 5px;
  color: white;
  font-size: 16px;
  cursor: pointer;
  margin-top: auto;
  margin-left: auto;
  transition-duration: 0.3s;
}

.my-project-text-content button:hover{
  background: #43aef4;
  border-color: #43aef4;
  font-weight: 800;
}



