/* ============================================
   mobile.css
   ============================================ */

/* MOBILE NAV */
.sidebar-nav-mobile{
  display:none;
}

/* HAMBURGER */

.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  cursor:pointer;
  flex-shrink:0;
  transition:.2s ease;
}

.menu-toggle:hover{
  background:rgba(139,92,246,.1);
  border-color:rgba(139,92,246,.2);
}

.menu-toggle span{
  display:block;
  width:16px;
  height:1.5px;
  background:#9ca3af;
  border-radius:2px;
  position:relative;
  transition:.25s ease;
}

.menu-toggle span::before,
.menu-toggle span::after{
  content:'';
  display:block;
  width:16px;
  height:1.5px;
  background:#9ca3af;
  border-radius:2px;
  position:absolute;
  left:0;
  transition:.25s ease;
}

.menu-toggle span::before{
  top:-5px;
}

.menu-toggle span::after{
  top:5px;
}

/* OPEN */

.menu-toggle.open span{
  background:transparent;
}

.menu-toggle.open span::before{
  transform:rotate(45deg);
  top:0;
}

.menu-toggle.open span::after{
  transform:rotate(-45deg);
  top:0;
}

/* ============================================
   MOBILE
   ============================================ */

@media (max-width:768px){

  /* BODY */

  body{
    flex-direction:column;
  }

  /* MAIN */

  main{
    padding:16px;
    gap:14px;
  }

  /* SIDEBAR */

  .sidebar{
    width:100%;
    min-height:auto;
    padding:14px 16px;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    position:sticky;
    top:0;
    z-index:100;
    background:#080b1d;
    box-shadow:0 1px 0 rgba(255,255,255,.04);
  }

  /* SIDEBAR TOP */

  .sidebar-top{
    position:relative;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }

  /* ESCONDE ELEMENTOS DESKTOP */

  .subtitle,
  .sidebar-block,
  .sidebar-gif{
    display:none !important;
  }

  /* LOGO */

  .logo{
    font-size:28px;
  }

  /* SHOW MENU */

  .menu-toggle{
    display:flex;
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
  }

  /* MOBILE NAV */

  .sidebar-nav-mobile{
    display:none;
    flex-direction:column;
    gap:0;
    position:fixed;
    top:70px;
    left:0;
    right:0;
    background:#080b1d;
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:8px 12px 12px;
    z-index:99;
  }

  .sidebar-nav-mobile.open{
    display:flex;
  }

  /* LINKS */

  .sidebar-nav-mobile a{
    display:grid;
    grid-template-columns:14px 1fr;
    align-items:center;
    column-gap:12px;
    text-decoration:none;
    color:#9ca3af;
    font-size:13px;
    font-family:'JetBrains Mono', monospace;
    padding:12px 10px;
    border-radius:10px;
    transition:.2s ease;
    border-bottom:1px solid rgba(255,255,255,.03);
  }

  .sidebar-nav-mobile a:last-child{
    border-bottom:none;
  }

  .sidebar-nav-mobile a i{
    font-size:13px;
    color:#7f849c;
    text-align:center;
  }

  .sidebar-nav-mobile a:hover,
  .sidebar-nav-mobile a.active{
    background:rgba(139,92,246,.06);
    color:#8b5cf6;
  }

  .sidebar-nav-mobile a:hover i,
  .sidebar-nav-mobile a.active i{
    color:#8b5cf6;
  }

  /* RIGHTBAR */

  .rightbar{
    display:none;
  }

  /* HERO */

  .hero h2{
    font-size:36px;
  }

  .hero p{
    font-size:13px;
  }

  /* BOXES */

  .box{
    padding:18px 16px;
  }

  /* STACK */

  .stack-grid{
    gap:8px;
  }

  /* ABOUT */

  .about-hero{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .about-intro{
    align-items:center;
  }

  .about-tagline{
    text-align:center;
  }

  .facts-grid{
    grid-template-columns:1fr;
  }

  .about-socials{
    justify-content:center;
  }

  .cv-btn{
    margin:0 auto;
  }

  /* PROJECTS */

  .pcf-header{
    flex-wrap:wrap;
    gap:8px;
  }

}

/* ============================================
   TABLET
   ============================================ */

@media (min-width:769px) and (max-width:1100px){

  .rightbar{
    display:none;
  }

}