:root {
  font-size: 62.5%; /* 1rem = 10px */
  /* Note: em units in media queries are still counted as 16px for 1em */
}
::selection {
  background-color: #d4ceacaa;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
}
html {
  scroll-behavior: smooth;
}

/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* preloader */
#preloader {
  background: #000000;
  position: fixed;
  height: 100vh;
  width: 100%;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 3rem;
}
#preloader P {
  display: flex;
  position: fixed;
  font-size: 1.2rem;
  letter-spacing: 0.6rem;
  font-family: DMSans, weatherSans, OpenSans, Tajawal-Bold, verdana, Arial,
    Helvetica, sans-serif;
  font-weight: bolder;
  z-index: 99999;
  color: white;
  margin-top: 35rem;
  filter: drop-shadow(0px 0px 5px #d4ceac);
}
.container-loader {
  width: 200px;
  height: 200px;
  border-radius: 100%;
  background: linear-gradient(
    165deg,
    #d4ceac 0%,
    #d4ceacce 40%,
    #d4ceac86 98%,
    #d4ceac35 100%
  );
  position: relative;
  position: relative;
}

.loader:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border-bottom: 0 solid #ffffff05;

  box-shadow: 0 -10px 20px 20px #ffffff40 inset,
    0 -5px 15px 10px #ffffff50 inset, 0 -2px 5px #ffffff80 inset,
    0 -3px 2px #ffffffbb inset, 0 2px 0px #ffffff, 0 2px 3px #ffffff,
    0 5px 5px #ffffff90, 0 10px 15px #ffffff60, 0 10px 20px 20px #ffffff40;
  filter: blur(3px);
  animation: 2s rotate linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (min-width: 60em) {
  header {
    padding: 0em 1.5em;
    background-color: #000;
  }
  header.sticky {
    padding: 0em 1.5em;
  }
  .dummy-header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 7rem;
  }
  header .logo {
    display: flex;
    z-index: 15;
    transition: 0.7s ease-in-out;
  }

  header.sticky .logo {
    display: flex;
    opacity: 1;
    pointer-events: auto;
    transition: 0.7s ease-in-out;
    z-index: 15;
  }
  header.sticky .logo-link {
    pointer-events: auto;
  }

  .navbar {
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }
  header.sticky .navbar {
    justify-content: flex-end;
    align-items: center;
  }
  header .navbar ul {
    z-index: 15;
    transform: translateX(-19.4%);
  }
  header.sticky .navbar ul {
    display: flex;
    z-index: 15;
  }
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (min-width: 45em) {
  header .navbar {
    height: 7rem;
  }
  header.sticky .navbar {
    height: 7rem;
  }
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
}
header .navbar {
  display: flex;
  align-items: center;
  z-index: 999;
}
header .logo {
  height: 4.8rem;
  filter: brightness(0) invert(1);
}
header.sticky .logo {
  height: 4.8rem;
  filter: brightness(0) invert(1);
}
header .navbar ul {
  transition: 0.3s ease-out;
}
header .navbar ul li {
  list-style: none;
}
header .navbar ul li a {
  font-size: 1.6em;
  padding: 2.46rem 1.2rem;
  margin: 0;
  text-decoration: none;
  color: #fff;
  font-family: DMSans, weatherSans, OpenSans, Tajawal-Bold, verdana, Arial,
    Helvetica, sans-serif;
  font-weight: 700;
  display: block;
  transition: 0.3s ease-out;
}
header .navbar ul li a:hover {
  background: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
  display: block;
}
header.sticky .navbar ul li a {
  color: #fff;
  /* transition: 0.3s ease-out; */
}
header.sticky .navbar ul li a:hover {
  background: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
  display: block;
}

.nav-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;

  transition: 0.3s ease-out;
}
.nav-link {
  transition: 0.2s ease;
}
.hamburger {
  cursor: pointer;
  display: none;
}
.bar {
  display: block;
  width: 2.5rem;
  height: 0.3rem;
  margin: 0.5rem auto;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: rgb(0, 0, 0);
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 60em) {
  .hamburger {
    display: block;
  }
  .hamburger.active .bar:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active .bar:nth-child(1) {
    transform: translateY(0.8rem) rotate(45deg);
  }
  .hamburger.active .bar:nth-child(3) {
    transform: translateY(-0.8rem) rotate(-45deg);
  }

  .nav-menu {
    position: fixed;
    right: -100%;
    top: 5.5rem;
    /* gap: 0; */
    flex-direction: column;
    width: 100%;
    text-align: center;
    transition: 1s ease-in-out;
    border-bottom-left-radius: 1rem;
  }
  .bar {
    background-color: rgb(255, 255, 255);
  }

  .nav-menu.active {
    top: 5.5rem; /* Set the final top value to the height of the nav bar */
    /* menu background color */
    background: rgba(0, 0, 0, 0.9);
    position: absolute;
    right: 0rem;
    width: calc(50% - 0rem);
    backdrop-filter: blur(8px);
    border-radius: 0rem;
    overflow: hidden;
    transition: 0.3s ease-in-out;
    border-bottom-left-radius: 1rem;
  }

  /* menu background color (sticky) */
  .sticky .nav-menu.active {
    top: 5.5rem; /* Set the final top value to the height of the nav bar */
    /* menu background color */
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    right: 0rem;
    width: calc(50% - 0rem);
    backdrop-filter: blur(8px);
    overflow: hidden;
    transform: translateX(0); /* Slide in from the right when opened */
    border-bottom-left-radius: 1rem;
    transition: 0.3s ease-in-out;
  }

  /* menu text color hover */
  header .navbar ul li a:hover {
    color: #d4ceac;
    display: block;
    background: none;
  }

  /* menu text color (sticky) */
  header.sticky ul li a {
    color: #ffffff;
  }
  /* menu text color */
  header .navbar ul li a {
    color: #ffffff;
  }
  /* menu text and hover-background color(sticky) */
  header.sticky .navbar ul li a:hover {
    background: none;
    color: #d4ceac;
    display: block;
  }

  header {
    padding: 0em 1em;
    background: #000;
  }
  header.sticky {
    padding: 0em 1em;
    background: #000;
  }
  .hide-on-scroll {
    transition: opacity 0.4s;
    opacity: 1;
    pointer-events: auto;
  }

  /* Apply the fading effect when scrolling down */
  body.scroll-down .hide-on-scroll {
    opacity: 0;
    pointer-events: none;
    transition: 0.8s;
  }
  header .navbar {
    height: 5.5rem;
  }
  header.sticky .navbar {
    height: 5.5rem;
  }
  header .logo {
    padding: 0.3em 0;
    filter: brightness(0) invert(1);
  }
  header.sticky .logo {
    padding: 0.3em 0;
    filter: brightness(0) invert(1);
  }
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 45em) {
  .nav-menu.active {
    top: 5.5rem; /* Set the final top value to the height of the nav bar */
    position: absolute;
    right: 0rem;
    width: calc(100% - 0rem);
    backdrop-filter: blur(8px);
    overflow: hidden;
    transition: 0.3s ease-in-out;
    transform: translateX(0); /* Slide in from the right when opened */
  }

  /* menu background color (sticky) */
  .sticky .nav-menu.active {
    top: 5.5rem; /* Set the final top value to the height of the nav bar */
    position: absolute;
    right: 0rem;
    width: calc(100% - 0rem);
    backdrop-filter: blur(8px);
    overflow: hidden;
    transition: 0.3s ease-in-out;
    transform: translateX(0); /* Slide in from the right when opened */
  }
}
