@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/*
-------- GENERAL --------
*/
body {
  margin: 0;
  min-height: 100vh;
}

html {
  scroll-snap-type: y mandatory;
}

.prevent-select {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

.section {
  margin: 0px auto;
  max-width: 1080px;
  height: 100vh;
  scroll-snap-align: start;
}

a,
button {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: black;
  text-decoration: none;
}

h1 {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 48px;
  color: black;
  text-decoration: none;
}

/*
-------- NAV BAR --------
*/
.nav-links li a,
.nav-links-sidebar li a {
  font-size: inherit;
  font-family: "JetBrains Mono", sans-serif;
  font-weight: 500;
  color: black;
  text-decoration: none;
}

.logo {
  font-family: "JetBrains Mono", sans-serif;
  font-weight: 500;
  font-size: 40px;
  text-wrap: nowrap;
  color: black;
  text-decoration: none;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 3%;
}

.nav-links {
  font-size: clamp(20px, 4vw, 46px);
  white-space: nowrap;
  overflow: hidden;
  list-style: none;
}

.nav-links-sidebar {
  font-size: clamp(30px, 4vw, 46px);
  white-space: normal; /* allow wrapping / normal flow */
  overflow-y: auto; /* scroll if items overflow vertically */
  overflow-x: visible;
  list-style: none;
}

.nav-links li {
  display: inline-block;
  font-size: inherit;
  padding-left: clamp(10px, 2vw, 50px);
  padding-right: clamp(10px, 2vw, 50px);
}

.nav-links li a,
.nav-links-sidebar li a {
  transition: all 0.3s ease 0s;
}

.nav-links li a:hover,
.nav-links-sidebar li a:hover {
  color: blue;
}

.sidebar {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 250px;
  z-index: 999;
  background-color: rgba(240, 255, 255, 0.319);
  backdrop-filter: blur(10px);
  box-shadow: -10px 0 10px rgba(0, 0, 0, 0.1);
  display: none;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 10px;
}

.sidebar li,
.sidebar a,
.sidebar button {
  width: 100%;
  padding: 0px;
}

@media (max-width: 1000px) {
  .hideOnMobile {
    display: none !important;
  }
}

@media (min-width: 1000px) {
  .hideOnDesktop {
    display: none;
  }
}

@media (max-width: 400px) {
  .sidebar {
    width: 100%;
  }
}
