/** RESET CSS **/
*:where(:not(html, iframe, canvas, img, svg, video):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

a, button {
    cursor: revert;
}

ol, ul, menu {
    list-style: none;
}

img {
    max-width: 100%;
}

table {
    border-collapse: collapse;
}

input, textarea {
    -webkit-user-select: auto;
}

textarea {
    white-space: revert;
}

meter {
    -webkit-appearance: revert;
    appearance: revert;
}

::placeholder {
    color: unset;
}

:where([hidden]) {
    display: none;
}

:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
html {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

html {
  scroll-behavior: smooth;
  overflow-y: scroll;
}

.no-select {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.no-drag {
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/** COMMON **/
.view-width-limit {
  width: 100%;
  max-width: 1200px;
}
.flex {
  display: flex;
}
.flex-col {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.align-items-center {
  align-items: center;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-space-between {
  justify-content: space-between;
}

/** STYLING **/
.nav-menu {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: rgba(50, 50, 50, 1);
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-left: 30px;
  padding-right: 30px;
  height: auto;
}
.nav-menu__icon {
  background-color: white;
  width: 25px;
  height: 25px;
  transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3 ease;
}
.nav-menu__icon:hover {
  cursor: pointer;
  background-color: rgb(255, 199, 0);
}
.nav-menu__icon--home {
  mask: url("/img/icons/house-solid.svg") no-repeat;
  -webkit-mask: url("/img/icons/house-solid.svg") no-repeat;
}
.nav-menu__icon--user {
  mask: url("/img/icons/user-solid.svg") no-repeat;
  -webkit-mask: url("/img/icons/user-solid.svg") no-repeat;
}
.nav-menu__icon--mobile-menu {
  mask: url("/img/icons/bars-solid.svg") no-repeat;
  -webkit-mask: url("/img/icons/bars-solid.svg") no-repeat;
}
.nav-menu a {
  font-size: 0.8rem;
  margin-left: 1.5vw;
  margin-right: 1.5vw;
  color: white;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3 ease;
}
.nav-menu a:hover {
  color: rgb(255, 199, 0);
}

@media (max-width: 599px) {
  #desktop-menu {
    display: none;
  }
  #mobile-menu {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
  }
  #mobile-options {
    display: flex;
    opacity: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 40px;
    left: -30px;
    right: -30px;
    background-color: rgba(60, 60, 60, 1);
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #mobile-options a {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 1.2rem;
  }
}
@media (min-width: 600px) {
  #mobile-menu {
    display: none;
  }
}
