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

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  font-family: "Arial", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  position: relative;
  background-color: #2e2c2c;
  color: #f3eded;
}

h1,
h2,
h3 {
  font-family: "Outfit", sans-serif;
}

ul,
summary {
  list-style-type: none;
}

a {
  text-decoration: none;
  color: #f3eded;
}

.logo {
  font-family: "Fira Code", monospace;
}

*::-webkit-scrollbar-thumb {
  background-color: #2e2c2c;
  color: #f3eded;
  border-radius: 10px;
}

*::-webkit-scrollbar {
  width: 0.625rem;
  background-color: #292626;
  color: #f3eded;
}

.title {
  font-size: clamp(1.96875rem, 2vw, 3.15rem);
  place-self: center;
  margin-block-end: 1.5rem;
  position: relative;
  width: max-content;
}
.title::after {
  content: "";
  position: absolute;
  bottom: 0.3125rem;
  border-radius: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 0.1875rem;
  background-color: #f3eded;
  color: #f3eded;
}

.spanColor {
  background: linear-gradient(to right, #3d73be, #0c8de3);
  font-weight: 900;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.iconStack {
  height: 2.5vw;
  min-height: 3rem;
  border-radius: 5px;
}

@media (max-width: 600px) {
  .title {
    font-size: clamp(1.6875rem, 2vw, 2.7rem);
  }
  .iconStack {
    min-height: 2rem;
  }
}
header {
  background: linear-gradient(to bottom, #393535, rgba(57, 54, 54, 0.3764705882));
  color: #f3eded;
  width: 100vw;
  height: auto;
  box-shadow: 4px 4px 10px rgba(26, 24, 24, 0.4941176471);
  position: fixed;
  z-index: 999;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  padding-inline: 1.5rem;
  -webkit-user-select: none;
  user-select: none;
  font-size: clamp(1.125rem, 2vw, 1.8rem);
}
header .menu {
  width: 100%;
  display: flex;
  align-items: center;
}
header .menu .logo {
  white-space: nowrap;
  font-size: clamp(1.5rem, 2vw, 2.4rem);
  padding: 1rem;
}
header .menu .logo::before {
  content: "<Lucas Adriano/>";
}
header .menu .btnLang {
  font-size: clamp(1.03125rem, 2vw, 1.65rem);
  padding: 0.15625rem;
  border: 1px solid #f3eded;
  border-radius: 5px;
  display: flex;
  align-items: center;
  cursor: pointer;
  background: transparent;
  color: #f3eded;
}
header .menu .btnLang.active .arrowLang {
  transform: rotate(-180deg);
}
header .menu .btnLang .arrowLang {
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
header .menu .btnLang * {
  padding-inline: 0.3125rem;
}
header .menu .imgFlag {
  height: 2.375rem;
}
header .menu .settings {
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}
header .menu .settings .languageContainer {
  position: relative;
}
header .menu .settings .languageContainer.visible .optionsLang {
  max-height: 500px;
  opacity: 1;
}
header .menu .settings .languageContainer .optionsLang {
  margin-block-start: 0.3125rem;
  width: fit-content;
  max-height: 0px;
  display: grid;
  gap: 0.3125rem;
  position: absolute;
  right: 0;
  top: 50px;
  background-color: #2e2c2c;
  color: #f3eded;
  box-shadow: 0 2px 15px rgba(26, 24, 24, 0.4941176471);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(10px);
  border-radius: 5px;
  padding: 0.3125rem;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.5s ease, max-height 0.5s ease;
}
header .menu .settings .languageContainer .optionsLang.optionsLangMobile {
  top: 210px;
  left: -100px;
}
header .menu .settings .languageContainer .optionsLang .langs {
  border-radius: 5px;
  display: flex;
  align-items: center;
  padding-inline: 0.3125rem;
  cursor: pointer;
}
header .menu .settings .languageContainer .optionsLang .langs * {
  padding-inline: 0.3125rem;
}
header .menu .settings .languageContainer .optionsLang .langs:hover {
  background-color: #2b2a2a;
  color: #f3eded;
}
header .menu .settings .languageContainer .optionsLang .langs.active {
  background-color: #2b2a2a;
  color: #f3eded;
}
header .menu .settings .languageContainer .optionsLang .langs .langLink {
  display: flex;
  align-items: center;
  width: 100%;
}
@media (max-width: 850px) {
  header .menu .logo {
    font-size: clamp(1.6875rem, 2vw, 2.7rem);
    padding: 0.5rem;
  }
  header .menu .settings {
    margin-block-start: 1.25rem;
  }
  header .menu .settings .languageContainer .optionsLang {
    margin-block-start: 0.9375rem;
    right: 30px;
  }
}
@media (max-width: 600px) {
  header .menu .logo {
    font-size: clamp(1.6875rem, 2vw, 2.7rem);
  }
  header .menu .logo::before {
    content: "<LA/>";
  }
}

.waveContainer {
  position: relative;
  overflow: hidden;
  z-index: 100;
  height: 31.25rem;
  margin-block-start: -12rem;
}
.waveContainer .parallaxWave {
  position: absolute;
  bottom: 0;
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  width: 100vw;
  height: 435px;
}
.waveContainer .parallaxWave.numberOne {
  background-image: url("/assets/images/decorationsImages/waveDarkOne.svg");
  margin-left: -12.5rem;
}
.waveContainer .parallaxWave.numberTwo {
  background-image: url("/assets/images/decorationsImages/waveDarkTwo.svg");
}
@media (max-width: 1350px) {
  .waveContainer .parallaxWave {
    width: 160vw;
  }
  .waveContainer .parallaxWave.numberOne {
    margin-left: -20.3125rem;
  }
}
@media (max-width: 600px) {
  .waveContainer .parallaxWave {
    width: 200vw;
  }
}

footer {
  background-color: #292626;
  color: #f3eded;
  display: grid;
  place-items: center;
}
footer .logo {
  flex-wrap: nowrap;
  font-size: clamp(2.4375rem, 2vw, 3.9rem);
  margin: 4rem;
}
footer .footerText {
  font-size: clamp(0.5625rem, 2vw, 0.9rem);
  padding: 0.5rem;
  place-self: start;
}
@media (max-width: 850px) {
  footer .logo {
    font-size: clamp(1.96875rem, 2vw, 3.15rem);
  }
}
@media (max-width: 600px) {
  footer .logo {
    font-size: clamp(1.6875rem, 2vw, 2.7rem);
  }
}

.hero {
  padding-block-start: 6.25rem;
  display: flex;
  gap: 1.5625rem;
  flex-direction: column;
  justify-content: space-around;
  height: 80svh;
}
.hero .containerHero {
  padding-block-start: 8rem;
  display: grid;
}
.hero .containerHero .heroText {
  display: grid;
  place-content: center;
  width: 100%;
}
.hero .containerHero .heroText .heroTitle {
  -webkit-user-select: none;
  user-select: none;
  line-height: 0.9;
  font-size: clamp(1.5rem, 2vw, 2.4rem);
}
.hero .containerHero .heroText .heroTitle .titleSpan {
  font-family: "Outfit", sans-serif;
  font-size: clamp(4.5rem, 2vw, 7.2rem);
}
.hero .containerHero .heroText .heroTitle .titleSpan::after {
  content: "|";
  margin-left: 0.1875rem;
  opacity: 1;
  will-change: filter;
  animation: caret 0.7s infinite;
}
.hero .containerHero .heroText .heroSubTitle {
  font-size: clamp(1.875rem, 2vw, 3rem);
  font-family: "Fira Code", monospace;
  text-indent: 16px;
}
.hero .containerHero .heroDetails {
  display: flex;
  place-self: center;
  align-items: center;
  width: 75vw;
  margin-block-start: 1.5rem;
}
.hero .containerHero .heroDetails * {
  padding-inline: 0.3125rem;
}
.hero .containerHero .heroDetails .heroLine {
  width: 100%;
  height: 0.1875rem;
  border: none;
  background-color: #f3eded;
  color: #f3eded;
}
.hero .containerHero .heroDetails [class*=circle] {
  font-size: clamp(0.5625rem, 2vw, 0.9rem);
  padding: 0.625rem;
}
.hero .containerHero .heroDetails .heroIcon {
  cursor: pointer;
  font-size: clamp(2.25rem, 2vw, 3.6rem);
}
@media (max-width: 850px) {
  .hero .containerHero .heroDetails * {
    padding-inline: 0.15625rem;
  }
  .hero .containerHero .heroDetails [class*=circle] {
    font-size: clamp(0.375rem, 2vw, 0.6rem);
    padding: 0.3125rem;
  }
}
.hero .scroll {
  align-items: center;
  display: flex;
  flex-direction: column;
  will-change: transform;
  animation: bounce 3s infinite;
}
.hero .scroll .scrollText {
  -webkit-user-select: none;
  user-select: none;
  text-align: center;
  margin-block: -0.15625rem;
}
.hero .scroll i {
  font-size: clamp(2.25rem, 2vw, 3.6rem);
}
@media (max-width: 600px) {
  .hero .containerHero {
    padding-block-start: 6rem;
  }
  .hero .containerHero .heroText .heroTitle {
    font-size: clamp(1.21875rem, 2vw, 1.95rem);
  }
  .hero .containerHero .heroText .heroTitle .titleSpan {
    font-size: clamp(3.375rem, 2vw, 5.4rem);
  }
  .hero .containerHero .heroText .heroSubTitle {
    font-size: clamp(1.3125rem, 2vw, 2.1rem);
  }
}

.profileContainer {
  scroll-margin-block-start: 7svh;
  margin-block-start: -7.5rem;
  position: relative;
  z-index: 200;
  background-color: #292626;
  color: #f3eded;
}
.profileContainer .about {
  width: 75vw;
  margin: auto;
  display: grid;
  align-items: center;
  padding: 1.5rem;
  grid-template-areas: "title . " "about image " "skills .";
  grid-template-columns: 1fr 1fr;
}
.profileContainer .about .aboutMe {
  grid-area: title;
}
.profileContainer .about .textContainer {
  grid-area: about;
  height: 100%;
}
.profileContainer .about .textContainer .textAboutMe {
  font-size: clamp(0.75rem, 2vw, 1.2rem);
}
.profileContainer .about .photoContainer {
  grid-area: image;
  display: grid;
  place-items: center;
  position: relative;
  height: 100%;
  flex: 1;
  min-width: 100%;
}
.profileContainer .about .photoContainer img {
  width: 100%;
  max-width: 21.875rem;
  height: 100%;
  max-height: 43.75rem;
  border: 2px solid linear-gradient(to right, #3d73be, #0c8de3);
  object-fit: cover;
  position: relative;
  z-index: 200;
  border-radius: 150px 150px 10px 10px;
}
.profileContainer .about .photoContainer::before {
  content: "";
  top: 53%;
  left: 55%;
  transform: translate(-50%, -50%);
  background-color: rgba(26, 24, 24, 0.4941176471);
  opacity: 0.5;
  border: 2px solid linear-gradient(to right, #3d73be, #0c8de3);
  height: 100%;
  width: 100%;
  max-width: 21.875rem;
  position: absolute;
  z-index: 100;
  border-radius: 150px 150px 10px 10px;
}
.profileContainer .about .skills {
  grid-area: skills;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  width: 100%;
}
.profileContainer .about .skills .subTitle {
  font-size: clamp(1.3125rem, 2vw, 2.1rem);
}
.profileContainer .about .skills .stackContainer {
  display: flex;
  gap: 0.625rem;
  padding: 1rem;
}
@media (max-width: 1350px) {
  .profileContainer .about {
    width: 90vw;
  }
}
@media (max-width: 1100px) {
  .profileContainer {
    margin-block-start: -10rem;
  }
  .profileContainer .about {
    padding-block-start: 3.125rem;
    grid-template-areas: "title" "image" "about" "skills";
    grid-template-columns: 1fr;
  }
  .profileContainer .about .photoContainer img {
    max-width: 14.0625rem;
    max-height: 21.875rem;
  }
  .profileContainer .about .photoContainer::before {
    max-width: 14.0625rem;
  }
  .profileContainer .about .textContainer {
    padding-block-start: 1.25rem;
  }
}
@media (max-width: 850px) {
  .profileContainer .about .textContainer .textAboutMe {
    max-width: 100%;
    font-size: clamp(1.125rem, 2vw, 1.8rem);
  }
  .profileContainer .about .skills .stackContainer {
    flex-wrap: wrap;
  }
}
@media (max-width: 600px) {
  .profileContainer .about .photoContainer img {
    max-width: 12.5rem;
    max-height: 21.875rem;
  }
  .profileContainer .about .photoContainer::before {
    max-width: 12.5rem;
  }
  .profileContainer .about .textContainer .textAboutMe {
    max-width: 100%;
    font-size: clamp(1.125rem, 2vw, 1.8rem);
  }
  .profileContainer .about .skills .stackContainer {
    flex-wrap: wrap;
  }
}

.projects {
  scroll-margin-block-start: 5svh;
  padding-block-start: 3.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  background-color: #292626;
  color: #f3eded;
}
@media (max-width: 1100px) {
  .projects {
    padding-block-start: 1.5625rem;
  }
}

.contact {
  background-color: #292626;
  color: #f3eded;
  scroll-margin-block-start: 5svh;
  padding-block-start: 3.125rem;
  display: grid;
  place-content: center;
}
.contact .contactContainer {
  display: flex;
  gap: 2.5rem;
}
.contact .contactContainer .contactItem {
  position: relative;
  width: 5rem;
  height: 5rem;
  border-radius: 60px;
  background-color: #2e2c2c;
  color: #f3eded;
  box-shadow: 0 0 15px rgba(26, 24, 24, 0.4941176471);
  transition: width 0.3s ease;
}
.contact .contactContainer .contactItem:hover {
  width: 11.25rem;
}
.contact .contactContainer .contactItem .linkContact {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 60px;
  transition: width 0.3s ease;
}
.contact .contactContainer .contactItem .linkContact:hover {
  width: 100%;
}
.contact .contactContainer .contactItem .linkContact:hover .iconContact {
  scale: 0;
}
.contact .contactContainer .contactItem .linkContact:hover .textContact {
  scale: 1;
  transition: scale 0.3s ease;
  transition-delay: 0.1s;
}
.contact .contactContainer .contactItem .linkContact .iconContact {
  font-size: clamp(1.96875rem, 2vw, 3.15rem);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  scale: 1;
  transition: scale 0.3s ease;
}
.contact .contactContainer .contactItem .linkContact .textContact {
  font-family: "Outfit", sans-serif;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  scale: 0;
  font-size: clamp(0.9375rem, 2vw, 1.5rem);
}
@media (max-width: 1350px) {
  .contact .contactContainer .contactItem {
    width: 4.6875rem;
    height: 4.6875rem;
  }
  .contact .contactContainer .contactItem .linkContact .iconContact {
    font-size: clamp(2.53125rem, 2vw, 4.05rem);
  }
  .contact .contactContainer .contactItem .linkContact .textContact {
    font-size: clamp(1.03125rem, 2vw, 1.65rem);
  }
}
@media (max-width: 850px) {
  .contact .contactContainer {
    gap: 1.5625rem;
  }
  .contact .contactContainer .contactItem:hover {
    width: 7.5rem;
  }
  .contact .contactContainer .contactItem .linkContact .iconContact {
    font-size: clamp(2.15625rem, 2vw, 3.45rem);
  }
  .contact .contactContainer .contactItem .linkContact .textContact {
    font-size: clamp(1.21875rem, 2vw, 1.95rem);
  }
}
@media (max-width: 600px) {
  .contact .contactContainer {
    gap: 0.9375rem;
  }
  .contact .contactContainer .contactItem {
    width: 3.4375rem;
    height: 3.4375rem;
  }
  .contact .contactContainer .contactItem:hover {
    width: 6.25rem;
  }
  .contact .contactContainer .contactItem .linkContact .iconContact {
    font-size: clamp(1.875rem, 2vw, 3rem);
  }
  .contact .contactContainer .contactItem .linkContact .textContact {
    font-size: clamp(0.9375rem, 2vw, 1.5rem);
  }
}

main .buttonContainer {
  cursor: pointer;
  height: 4.0625rem;
  width: 4.0625rem;
  position: fixed;
  bottom: 1.5625rem;
  right: 1.5625rem;
  background-color: #2e2c2c;
  color: #f3eded;
  box-shadow: 0 0 20px rgba(26, 24, 24, 0.4941176471);
  font-size: clamp(1.5rem, 2vw, 2.4rem);
  border-radius: 50%;
  z-index: 999;
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
main .buttonContainer:hover {
  animation: bounce 1.5s infinite;
}
main .buttonContainer.visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
main .buttonContainer.hidden {
  opacity: 0;
  transform: translateX(100px);
}
main .buttonContainer .buttonToTop {
  display: grid;
  place-content: center;
  height: 4.0625rem;
  width: 4.0625rem;
  border-radius: 50%;
}
@media (max-width: 850px) {
  main .buttonContainer {
    height: 3.4375rem;
    width: 3.4375rem;
    bottom: 0.9375rem;
    right: 0.9375rem;
  }
  main .buttonContainer .buttonToTop {
    height: 3.4375rem;
    width: 3.4375rem;
  }
}

.projectContainer {
  background-color: #2e2c2c;
  color: #f3eded;
  display: flex;
  place-content: center;
  padding-block: 0.625rem;
}
.projectContainer:nth-child(even) .contentProject {
  grid-template-areas: "title    title       image   " "description description image" "stack    links       image   ";
}
.projectContainer:nth-child(even) .contentProject .linksProject {
  justify-content: end;
  flex-direction: row-reverse;
}
.projectContainer:nth-child(even) .contentProject .stackContainer {
  place-self: start;
  place-items: start;
}
.projectContainer .contentProject {
  display: grid;
  max-width: 75%;
  grid-template-areas: "image    title       title   " "image description description" "image    links       stack   ";
}
.projectContainer .contentProject .titleProject {
  grid-area: title;
  place-self: center;
  font-size: clamp(1.40625rem, 2vw, 2.25rem);
}
.projectContainer .contentProject .linkImage {
  grid-area: image;
  align-self: center;
  display: grid;
  place-self: center;
  margin-inline: 0.625rem;
  width: fit-content;
  height: fit-content;
}
.projectContainer .contentProject .linkImage .imgDesktop {
  height: 100%;
  max-height: 15vh;
  min-height: 13.4375rem;
  border-radius: 10px;
  object-fit: contain;
}
.projectContainer .contentProject .descriptionProject {
  grid-area: description;
  font-size: clamp(0.75rem, 2vw, 1.2rem);
  padding: 0.625rem;
  margin-block-start: -0.3125rem;
}
.projectContainer .contentProject .stackContainer {
  grid-area: stack;
  justify-self: end;
  width: 100%;
  display: grid;
  justify-items: end;
  gap: 0.3125rem;
  font-family: "Outfit", sans-serif;
  font-size: clamp(1.03125rem, 2vw, 1.65rem);
  padding-inline: 0.625rem;
}
.projectContainer .contentProject .stackContainer .stacks {
  width: fit-content;
}
.projectContainer .contentProject .stackContainer .stackDetails {
  display: flex;
  gap: 0.625rem;
  width: fit-content;
}
.projectContainer .contentProject .stackContainer .stackDetails .techsInProject {
  display: grid;
  place-content: center;
  align-self: center;
}
.projectContainer .contentProject .linksProject {
  grid-area: links;
  width: 100%;
  place-self: start;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 0.9375rem;
  padding: 0.9375rem;
}
.projectContainer .contentProject .linksProject .iconProject {
  font-size: clamp(2.625rem, 2vw, 4.2rem);
}
@media (max-width: 1350px) {
  .projectContainer:nth-child(even) .contentProject {
    grid-template-areas: "image       image       image" "title       title       title" "description description description" "links       stack       stack";
  }
  .projectContainer:nth-child(even) .contentProject .linksProject {
    flex-direction: row;
    justify-content: start;
  }
  .projectContainer:nth-child(even) .contentProject .stackContainer {
    place-items: end;
  }
  .projectContainer .contentProject {
    grid-template-areas: "image       image       image" "title       title       title" "description description description" "links       stack       stack";
  }
  .projectContainer .contentProject .titleProject {
    font-size: clamp(1.6875rem, 2vw, 2.7rem);
  }
  .projectContainer .contentProject .linkImage {
    text-align: center;
  }
  .projectContainer .contentProject .linkImage .imgDesktop {
    height: 100%;
    max-height: 25vw;
  }
  .projectContainer .contentProject .descriptionProject {
    text-align: center;
  }
  .projectContainer .contentProject .stackContainer .stackDetails {
    flex-wrap: wrap;
  }
  .projectContainer .contentProject .linksProject {
    height: 100%;
  }
}
@media (max-width: 600px) {
  .projectContainer .contentProject {
    max-width: 70%;
  }
  .projectContainer .contentProject .linkImage .imgDesktop {
    height: 100%;
    max-height: 15vh;
    min-height: 9.375rem;
  }
  .projectContainer .contentProject .titleProject {
    font-size: clamp(1.3125rem, 2vw, 2.1rem);
  }
  .projectContainer .contentProject .linksProject {
    gap: 0.625rem;
    padding: 0.3125rem;
  }
  .projectContainer .contentProject .linksProject .iconProject {
    font-size: clamp(1.96875rem, 2vw, 3.15rem);
  }
}

.menuNavDesktop {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.menuNavDesktop .navDesktop {
  display: flex;
}
.menuNavDesktop .navDesktop .navItem {
  padding: 1rem;
}
.menuNavDesktop .navDesktop .navItem .link {
  position: relative;
  font-family: "Outfit", sans-serif;
  transition: background 0.3s ease;
}
.menuNavDesktop .navDesktop .navItem .link::after {
  content: "";
  background: linear-gradient(to right, #3d73be, #0c8de3);
  width: 100%;
  height: 2.5px;
  position: absolute;
  bottom: -0.3125rem;
  left: 0;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s ease;
}
.menuNavDesktop .navDesktop .navItem .link:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.menuNavDesktop .navDesktop .navItem .link.active {
  font-weight: bold;
  background: linear-gradient(to right, #3d73be, #0c8de3);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

@media (max-width: 850px) {
  .menuNavDesktop {
    display: none;
  }
}
.menuNavMobile {
  display: none;
  width: 100%;
  justify-content: end;
  align-items: center;
  padding-inline-end: 2.75rem;
}
.menuNavMobile .navMobile {
  position: relative;
}
.menuNavMobile .navMobile .menuIcon,
.menuNavMobile .navMobile .menuIcon::after,
.menuNavMobile .navMobile .menuIcon::before {
  content: "";
  display: block;
  cursor: pointer;
  border-radius: 2em;
  width: 1.75em;
  height: 0.175em;
  position: absolute;
  background-color: #f3eded;
  transition: all 0.2s linear;
}
.menuNavMobile .navMobile .menuIcon::after {
  transform: translateY(0.7em);
  top: -2px;
}
.menuNavMobile .navMobile .menuIcon::before {
  transform: translateY(-0.5833333333em);
}
.menuNavMobile .navMobile.visible .menuIcon {
  background-color: transparent;
}
.menuNavMobile .navMobile.visible .menuIcon::after {
  transform: rotate(135deg);
  transition-delay: 0.1s;
}
.menuNavMobile .navMobile.visible .menuIcon::before {
  transform: rotate(-135deg);
  transition-delay: 0.1s;
  top: -2px;
}
.menuNavMobile .navMobile.visible .navContainer {
  max-height: 500px;
  opacity: 1;
}
.menuNavMobile .navMobile .navContainer {
  background-color: #2e2c2c;
  color: #f3eded;
  max-height: 0px;
  box-shadow: 0 2px 15px rgba(26, 24, 24, 0.4941176471);
  border-radius: 5px;
  position: absolute;
  right: -50px;
  top: 40px;
  padding: 0.375rem;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.5s ease, max-height 0.5s ease;
}
.menuNavMobile .navMobile .navContainer .navItem {
  font-size: clamp(1.5rem, 2vw, 2.4rem);
  padding: 0.25rem;
}
.menuNavMobile .navMobile .navContainer .navItem .link {
  position: relative;
  font-family: "Outfit", sans-serif;
}
.menuNavMobile .navMobile .navContainer .navItem .link::after {
  content: "";
  background: linear-gradient(to right, #3d73be, #0c8de3);
  width: 100%;
  height: 2.5px;
  position: absolute;
  bottom: -0.3125rem;
  left: 0;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s ease;
}
.menuNavMobile .navMobile .navContainer .navItem .link:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.menuNavMobile .navMobile .navContainer .navItem .link.active {
  font-weight: bold;
  background: linear-gradient(to right, #3d73be, #0c8de3);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

@media (max-width: 850px) {
  .menuNavMobile {
    display: flex;
  }
}
.theme {
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 2.8125rem;
  height: 2.8125rem;
  position: relative;
}
.theme .themeToggle {
  opacity: 0;
}
.theme .themeToggle:focus + .iconSun, .theme .themeToggle:focus ~ .iconMoon {
  outline: 2px solid #f3eded;
  border-radius: 5px;
}
.theme [class*=icon] {
  position: absolute;
  font-size: clamp(1.875rem, 2vw, 3rem);
  transition: transform 0.3s ease;
}
.theme .iconMoon {
  transform: rotate(0deg) scale(0);
}
@media (max-width: 850px) {
  .theme [class*=icon] {
    font-size: clamp(1.96875rem, 2vw, 3.15rem);
    margin-block-start: 0.3125rem;
  }
}

.tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.tooltip .tooltipText {
  font-family: "Arial", sans-serif;
  visibility: hidden;
  width: 7.5rem;
  background-color: #2b2a2a;
  color: #f3eded;
  text-align: center;
  border-radius: 5px;
  font-size: clamp(0.75rem, 2vw, 1.2rem);
  padding: 0.3125rem;
  position: absolute;
  z-index: 99;
  bottom: 50%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: 0.3s ease-in-out;
}
.tooltip:hover .tooltipText {
  visibility: visible;
  bottom: 100%;
  opacity: 1;
}

.hidden {
  visibility: hidden;
}

@keyframes caret {
  0%, 100% {
    filter: opacity(1);
  }
  50% {
    filter: opacity(0);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}
.light {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light body {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light *::-webkit-scrollbar-thumb {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light *::-webkit-scrollbar {
  background-color: #e4e2e2;
  color: #0a0505;
}
.light a {
  color: #0a0505;
}
.light .title::after {
  background-color: #0a0505;
  color: #0a0505;
}
.light .tooltip .tooltipText {
  background-color: #cac4c4;
  color: #0a0505;
}
.light header {
  background: linear-gradient(to bottom, #e4e2e2, rgba(228, 226, 226, 0.3764705882));
  color: #0a0505;
}
.light header .menuNavMobile .navMobile.visible .menuIcon {
  background-color: transparent;
}
.light header .menuNavMobile .navMobile .menuIcon,
.light header .menuNavMobile .navMobile .menuIcon::after,
.light header .menuNavMobile .navMobile .menuIcon::before {
  background-color: #0a0505;
}
.light header .menuNavMobile .navMobile .navContainer {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light header .btnLang {
  border: 2px solid #0a0505;
  color: #0a0505;
}
.light header .themeToggle:focus + .iconSun, .light header .themeToggle:focus ~ .iconMoon {
  outline: 2px solid #0a0505;
}
.light header .iconSun {
  transform: rotate(360deg) scale(0);
}
.light header .iconMoon {
  transform: rotate(360deg) scale(1);
}
.light header .settings .languageContainer .optionsLang {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light header .settings .languageContainer .optionsLang .langs:hover {
  background-color: #cac4c4;
  color: #0a0505;
}
.light header .settings .languageContainer .optionsLang .langs.active {
  background-color: #cac4c4;
  color: #0a0505;
}
.light .buttonContainer {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light main .hero .containerHero .heroDetails .heroLine {
  background-color: #0a0505;
  color: #0a0505;
}
.light main .waveContainer .numberOne {
  background-image: url("../images/decorationsImages/waveLightOne.svg");
}
.light main .waveContainer .numberTwo {
  background-image: url("../images/decorationsImages/waveLightTwo.svg");
}
.light main .profileContainer {
  background-color: #e4e2e2;
  color: #0a0505;
}
.light main .projects {
  background-color: #e4e2e2;
  color: #0a0505;
}
.light main .projects .projectContainer {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light main .contact {
  background-color: #e4e2e2;
  color: #0a0505;
}
.light main .contact .contactContainer .contactItem {
  background-color: #d6d2d2;
  color: #0a0505;
}
.light footer {
  background-color: #e4e2e2;
  color: #0a0505;
}

/*# sourceMappingURL=main.css.map */
