/* ---------------- MEDIA SCREENS MOBILE ---------------- */
@media screen and (max-width: 719px) {
  /* ------ HEADER ------ */
  header {
    align-items: center;
    justify-content: initial;
  }

  nav {
    display: initial;
    padding: 0 35px;
    justify-content: space-between;
  }

  .menu .side-menu {
    visibility: visible;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-radius: 5px;

    z-index: 101;
  }

  .menu {
    justify-content: space-between;
    gap: 0;
  }

  .logo img {
    width: 71.67px;
    height: 24px;
  }

  /* ------ PRESENTATION ------ */
  .rectangle-left-presentation,
  .rectangle-right-presentation,
  .presentation-image,
  .mouse-line {
    display: none;
    visibility: hidden;
  }

  .presentation {
    padding: 14.5rem 3.5rem 3.5rem 3.5rem;
  }

  .presentation .container {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .presentation-description {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* height: calc(100vh - 70px); */
    padding: 1rem 0;
  }

  .tag-default {
    font-size: 1.2rem;
    align-self: center;
  }

  .presentation-description h3 {
    font-size: 2.4rem;
    line-height: 2.7rem;
  }

  .presentation-description h1 {
    text-align: center;
    font-size: 4.8rem;
    line-height: 6.2rem;
    margin-bottom: 0.8rem;
  }

  .presentation-description p {
    max-width: 28rem;
    margin-bottom: 2.3rem;

    text-align: center;
    font-size: 1.6rem;
    line-height: 3rem;
    letter-spacing: 0;
  }

  .description-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.5rem;
  }

  /* ------ ABOUT-ME ------ */
  .rectangle-left-about,
  .rectangle-right-about,
  .images {
    display: none;
    visibility: hidden;
  }

  .about-me .container {
    width: 100%;
    padding: 6.8rem 3.5rem 6.1rem 3.5rem;

    grid-template-columns: 1fr;
  }

  .text-about br:nth-child(-n + 2) {
    display: none;
    visibility: hidden;
  }

  .about-me .description h4 {
    font-size: 3.2rem;
  }

  .buttons-contact-cv {
    align-items: center;
    flex-wrap: wrap;
  }

  /* ------ TOOLS ------ */
  .tools {
    padding: 3rem 0;
  }

  .tools .container-tools {
    width: 100%;
    /* max-width: 306px; */

    grid-template-columns: repeat(5, 2.8rem);
    gap: 3.4rem;
    justify-content: center;
  }

  .tools img {
    width: 28px;
  }

  /* ------ GRADUATIONS ------ */
  .graduations .container {
    width: 100%;
    padding: 7rem 35px 3rem 35px;
    align-items: flex-start;
  }

  .graduations .subtitle {
    font-size: 3.1rem;
    margin-bottom: 4.8rem;
  }

  .history {
    padding: 0;

    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0.8rem;
    grid-template-areas:
      "icon-fimca"
      "place-fimca"
      "degree-fimca"
      "description-fimca"
      "icon-ipog"
      "place-ipog"
      "degree-ipog"
      "description-ipog"
      "icon-ulbra"
      "place-ulbra"
      "degree-ulbra"
      "description-ulbra";
  }

  /* prettier-ignore-start */
  .place-fimca {
    grid-area: place-fimca;
  }
  .icon-fimca {
    grid-area: icon-fimca;
  }
  .degree-fimca {
    grid-area: degree-fimca;
  }
  .description-fimca {
    grid-area: description-fimca;
  }
  .icon-ipog {
    grid-area: icon-ipog;
  }
  .place-ipog {
    grid-area: place-ipog;
  }
  .degree-ipog {
    grid-area: degree-ipog;
  }
  .description-ipog {
    grid-area: description-ipog;
  }
  .icon-ulbra {
    grid-area: icon-ulbra;
  }
  .place-ulbra {
    grid-area: place-ulbra;
  }
  .degree-ulbra {
    grid-area: degree-ulbra;
  }
  .description-ulbra {
    grid-area: description-ulbra;
  }
  /* prettier-ignore-end */

  .timeline {
    display: none;
    visibility: hidden;
  }

  .icon-degrees {
    justify-self: auto;
  }

  .place {
    align-items: flex-start;
  }

  .degree h5 {
    font-weight: 700;
    line-height: 3.7rem;
  }

  .history .description p {
    width: 100%;
    margin-top: 1.2rem;
    margin-bottom: 4rem;
  }

  /* ------ COURSES ------ */
  .rectangle-left-courses,
  .rectangle-right-courses,
  .line-divider-course {
    display: none;
    visibility: hidden;
  }

  .courses .container {
    width: 100%;
    padding: 6rem 3.5rem;

    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas:
      "alura-course"
      "igti-course"
      "dio-course"
      "cloud-course";
    gap: 6.4rem;
  }

  .alura-course {
    grid-area: alura-course;
  }
  .igti-course {
    grid-area: igti-course;
  }
  .dio-course {
    grid-area: dio-course;
  }
  .cloud-course {
    grid-area: cloud-course;
  }

  .course {
    width: 100%;
  }

  /* ------ PROJECTS ------ */
  .projects .container {
    width: 100%;
    padding: 0 35px;
    padding-top: 4rem;
    padding-bottom: 4.7rem;
  }

  .project {
    margin: 8rem 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "first"
      "second";
    gap: 5.6rem;
    justify-items: center;
  }

  .first-quadrant {
    grid-area: second;
    justify-self: center;
  } /* Inversion of quadrants */

  .second-quadrant {
    grid-area: first;
    justify-self: center;
  } /* Inversion of quadrants */

  .project > img {
    width: 100%;
    max-width: 305.11px;
    max-height: 177.29px;
  }

  .projects .title {
    align-self: flex-start;
  }

  .projects .subtitle {
    font-size: 3.2rem;
    align-self: flex-start;
  }

  .container-project .details-project {
    flex-wrap: wrap;
    justify-content: center;
    gap: 25%;
  }

  .btn-access-project::before {
    position: absolute;
    content: "";
    left: 3.5rem;
    width: 0;
    height: 1%;
    border-radius: 5px;
    bottom: 0.7rem;
    transition: all 0.5s ease;
    background: var(--color-black-400);
  }

  .container-project > h6 {
    right: auto;
  }

  .projects .btn-green {
    padding: 16px 21px;
  }

  /* ------ CONTACT ------ */
  .rectangle-left-contact,
  .rectangle-right-contact {
    display: none;
    visibility: hidden;
  }

  .contact {
    height: 100%;
  }

  .contact .container {
    padding: 8.5rem 3.5rem 7.8rem 3.5rem;
    grid-template-columns: 1fr;
    grid-template-areas:
      "description"
      "form";
    gap: 5.6rem;
  }

  .description-contact {
    grid-area: description;
  }

  .contact form {
    grid-area: form;
  }

  .description-contact h2 {
    font-size: 4.8rem;
    letter-spacing: -0.04em;
  }

  .description-contact p {
    font-size: 1.2rem;
    line-height: 2rem;
    letter-spacing: -0.06em;
  }

  .description-contact {
    width: 100%;
  }

  .contact form {
    grid-template-columns: 1fr;
    grid-template-rows: 5.5rem 5.5rem 5.5rem 5.5rem 14.9rem;
    grid-template-areas:
      "name"
      "email"
      "phone"
      "subject"
      "message"
      "button";
  }

  /* ------ FOOTER ------ */
  footer {
    height: 100%;
  }

  footer .container {
    padding: 31px 35px;
    gap: 2rem;

    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "languages"
      "buttons"
      "rights";
    justify-items: center;
  }

  .languages {
    /* display: initial; */
    visibility: visible;

    grid-area: languages;
  }

  .languages button {
    font-size: 2rem;
  }

  .rights {
    grid-area: rights;
  }

  .buttons-social-networks {
    grid-area: buttons;
  }

  .rights p {
    font-size: 1.2rem;
    text-align: center;
  }

  .rights .separator {
    display: none;
    visibility: hidden;
  }

  .text-rights br {
    display: initial;
    visibility: visible;
  }

  footer .btn-up {
    display: none;
    visibility: hidden;
  }

  footer .buttons-social-networks {
    display: initial;
    visibility: visible;
  }

  /* --------------- REMOVER APÓS FEATURE DE IDIOMAS --------------- */
  .menu-links {
    padding-top: 30rem;
  }
  /* --------------------------------------------------------------- */
}

@media (max-height: 667px) and (max-width: 768px) {
  header {
    height: 6rem;
  }

  .presentation {
    padding: 8.5rem 3.5rem 3.5rem 3.5rem;
  }
}
