header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.5rem;
  max-width: 75rem;
  margin: 0 auto;
  position: fixed;
  top: 2.3rem;
  left: 1.5rem;
  right: 1.5rem;
  z-index: 10;
  height: 5rem;
  border-radius: 1.25rem;
  background: linear-gradient(rgba(26, 25, 25, 0.4));
  backdrop-filter: blur(5px);
}

header::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    90deg,
    rgba(34, 142, 229, 1) 0%,
    rgba(34, 142, 229, 0.18) 28%,
    rgba(34, 142, 229, 0.14) 74%,
    rgba(34, 142, 229, 1) 100%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}

header .logo {
  flex-grow: 1;
  text-align: left;
}

header nav {
  display: flex;
  gap: 1.5rem;
  flex-grow: 2;
}
header li {
  list-style: none;
}

header nav a {
  color: var(--white-color);
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
}

header nav a.currentPage::after,
header nav a:hover::after {
  content: ' ';
  height: 2px;
  background-color: var(--blue-color);
  display: block;
  width: 100%;
  filter: blur(2px);
  margin-top: 0.25rem;
  position: absolute;
}

header .iconWrapper {
  flex-grow: 1;
  display: flex;
  gap: 2rem;
  justify-content: flex-end;
}
header .iconWrapper my-icon {
  cursor: pointer;
  z-index: 1;
  position: relative;
}
.OverlayNavSidebar,
.searchPopup {
  position: fixed;
  background-color: var(--overlay-dark);
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  opacity: 0;
  backdrop-filter: blur(5px);
}
.searchPopup {
  display: flex;
  justify-content: start;
  align-items: center;
  backdrop-filter: blur(5px);
  flex-direction: column;
  padding-top: 6rem;
}

.searchPopup .search {
  padding: 1rem;
  width: 100%;
  max-width: 48rem;
  border-radius: 20px;
  border: 0;
  outline: 0;
  background-color: var(--white-color);
}
.searchPopup .search.noRadius {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 1px solid var(--lighter-dark-color);
}
.searchPopup .searchInputWrapper {
  width: 100%;
  max-width: 48rem;
  display: flex;
  align-items: center;
  position: relative;
}

.searchPopup .searchInputWrapper .searchButton {
  z-index: 2;
  position: absolute;
  color: var(--dark-color);
  padding: 1rem;
  cursor: pointer;
  right: 0;
  transition: 0.1s ease transform;
}

.searchPopup .searchInputWrapper .searchButton:active {
  transform: scale(0.5);
}

.searchPopup .searchPopupDropdown {
  width: 100%;
  max-width: 48rem;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: start;
  padding: 2rem;
  background-color: var(--white-color);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.searchPopup .searchPopupDropdown h3 {
  color: var(--dark-color);
}
.searchPopup .searchPopupDropdown .searchDropdownMovie {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.searchPopup .searchPopupDropdown .searchDropdownMovie img {
  width: 100px;
  border-radius: 12px;
}

.closeSearchPopup {
  position: absolute;
  top: 2rem;
  right: 2rem;
  cursor: pointer;
}

.NavSidebar {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: 25rem;
  background-color: var(--lighter-dark-color);
  padding: 2rem;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  transition: 0.4s ease all;
  transform: translateX(-100%);
  display: block;
}

body:has(.searchPopup.open),
body:has(.OverlayNavSidebar.open) {
  height: 100vh;
  overflow: hidden;
  width: 100vw;
}

.OverlayNavSidebar.open,
.searchPopup.open {
  opacity: 1;
  z-index: 11;
}
.OverlayNavSidebar.open .NavSidebar {
  transform: translateX(0);
}

.NavSidebarTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.NavSidebar li {
  list-style: none;
}

.NavSidebar li a {
  color: var(--white-color);
  text-decoration: none;
  font-size: 1.5rem;
  position: relative;
  display: block;
}

.NavSidebar nav {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}

.NavSidebar nav a.currentPage::after {
  content: ' ';
  height: 0.125rem;
  background-color: var(--blue-color);
  display: block;
  width: 100%;
  filter: blur(1px);
  margin-top: 0.5rem;
  position: absolute;
  left: 0;
  right: 0;
}

.NavSidebarIcons {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
}

.sun {
  transition: 0.1s ease all;
}
.sun:active {
  transform: scale(0.7);
}

@media (width > 64rem) {
  .burger {
    display: none;
  }
}

@media (width < 64rem) {
  header nav,
  header my-icon:not(.burger, .search) {
    display: none;
  }
  header {
    flex-direction: row-reverse;
    top: 1.5rem;
  }
  header .logo {
    text-align: right;
  }
  header .iconWrapper {
    justify-content: flex-start;
    gap: 1rem;
  }
  .searchPopup.open {
    padding-inline: 2rem;
  }
}

@media (width < 48rem) {
  .NavSidebar {
    max-width: 18.75rem;
  }
}

/* Bell Buzz Animation */
.buzz-out-on-hover {
  -webkit-animation: ring 4s 0.7s ease-in-out infinite;
  -webkit-transform-origin: 50% 4px;
  -moz-animation: ring 4s 0.7s ease-in-out infinite;
  -moz-transform-origin: 50% 4px;
  animation: ring 4s 0.7s ease-in-out infinite;
  transform-origin: 50% 4px;
}

@-webkit-keyframes ring {
  0% {
    -webkit-transform: rotateZ(0);
  }
  1% {
    -webkit-transform: rotateZ(30deg);
  }
  3% {
    -webkit-transform: rotateZ(-28deg);
  }
  5% {
    -webkit-transform: rotateZ(34deg);
  }
  7% {
    -webkit-transform: rotateZ(-32deg);
  }
  9% {
    -webkit-transform: rotateZ(30deg);
  }
  11% {
    -webkit-transform: rotateZ(-28deg);
  }
  13% {
    -webkit-transform: rotateZ(26deg);
  }
  15% {
    -webkit-transform: rotateZ(-24deg);
  }
  17% {
    -webkit-transform: rotateZ(22deg);
  }
  19% {
    -webkit-transform: rotateZ(-20deg);
  }
  21% {
    -webkit-transform: rotateZ(18deg);
  }
  23% {
    -webkit-transform: rotateZ(-16deg);
  }
  25% {
    -webkit-transform: rotateZ(14deg);
  }
  27% {
    -webkit-transform: rotateZ(-12deg);
  }
  29% {
    -webkit-transform: rotateZ(10deg);
  }
  31% {
    -webkit-transform: rotateZ(-8deg);
  }
  33% {
    -webkit-transform: rotateZ(6deg);
  }
  35% {
    -webkit-transform: rotateZ(-4deg);
  }
  37% {
    -webkit-transform: rotateZ(2deg);
  }
  39% {
    -webkit-transform: rotateZ(-1deg);
  }
  41% {
    -webkit-transform: rotateZ(1deg);
  }

  43% {
    -webkit-transform: rotateZ(0);
  }
  100% {
    -webkit-transform: rotateZ(0);
  }
}

@-moz-keyframes ring {
  0% {
    -moz-transform: rotate(0);
  }
  1% {
    -moz-transform: rotate(30deg);
  }
  3% {
    -moz-transform: rotate(-28deg);
  }
  5% {
    -moz-transform: rotate(34deg);
  }
  7% {
    -moz-transform: rotate(-32deg);
  }
  9% {
    -moz-transform: rotate(30deg);
  }
  11% {
    -moz-transform: rotate(-28deg);
  }
  13% {
    -moz-transform: rotate(26deg);
  }
  15% {
    -moz-transform: rotate(-24deg);
  }
  17% {
    -moz-transform: rotate(22deg);
  }
  19% {
    -moz-transform: rotate(-20deg);
  }
  21% {
    -moz-transform: rotate(18deg);
  }
  23% {
    -moz-transform: rotate(-16deg);
  }
  25% {
    -moz-transform: rotate(14deg);
  }
  27% {
    -moz-transform: rotate(-12deg);
  }
  29% {
    -moz-transform: rotate(10deg);
  }
  31% {
    -moz-transform: rotate(-8deg);
  }
  33% {
    -moz-transform: rotate(6deg);
  }
  35% {
    -moz-transform: rotate(-4deg);
  }
  37% {
    -moz-transform: rotate(2deg);
  }
  39% {
    -moz-transform: rotate(-1deg);
  }
  41% {
    -moz-transform: rotate(1deg);
  }

  43% {
    -moz-transform: rotate(0);
  }
  100% {
    -moz-transform: rotate(0);
  }
}

@keyframes ring {
  0% {
    transform: rotate(0);
  }
  1% {
    transform: rotate(30deg);
  }
  3% {
    transform: rotate(-28deg);
  }
  5% {
    transform: rotate(34deg);
  }
  7% {
    transform: rotate(-32deg);
  }
  9% {
    transform: rotate(30deg);
  }
  11% {
    transform: rotate(-28deg);
  }
  13% {
    transform: rotate(26deg);
  }
  15% {
    transform: rotate(-24deg);
  }
  17% {
    transform: rotate(22deg);
  }
  19% {
    transform: rotate(-20deg);
  }
  21% {
    transform: rotate(18deg);
  }
  23% {
    transform: rotate(-16deg);
  }
  25% {
    transform: rotate(14deg);
  }
  27% {
    transform: rotate(-12deg);
  }
  29% {
    transform: rotate(10deg);
  }
  31% {
    transform: rotate(-8deg);
  }
  33% {
    transform: rotate(6deg);
  }
  35% {
    transform: rotate(-4deg);
  }
  37% {
    transform: rotate(2deg);
  }
  39% {
    transform: rotate(-1deg);
  }
  41% {
    transform: rotate(1deg);
  }

  43% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(0);
  }
}
