* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* *****variables***** */
:root {
  --sizeMd: 1.9rem;
  --sizeLg: 2rem;
  --sizeSm: 1.2rem;

  --colorNavBg: rgb(40, 8, 68);
  --colorEm: rgb(6, 6, 87);
  --colorPrimary: rgba(249, 241, 168, 0.895);
  --colorSecondary: rgb(4, 4, 141);
  --colorUnderL: rgb(169, 169, 253);
  --colorMobUl: rgba(0, 51, 255, 0.804);

  --fontMain: "Lato", sans-serif;
  --fontMain2: "Exo 2", sans-serif;
  --fontDefault: "Cabin", sans-serif;
}

/* *****fonts***** */
/* 'Lato', sans-serif */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap");
/* 'Bebas Neue', cursive */
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
/* 'Exo 2', sans-serif */
@import url("https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@1,300&display=swap");
/* 'Cabin', sans-serif */
@import url("https://fonts.googleapis.com/css2?family=Cabin:wght@500&display=swap");

html {
  font-size: 14px;
  scroll-behavior: smooth;
}

/* *****body***** */
body {
  overflow-x: hidden;

  min-height: 120vh; /* each page should scroll as we acn close the navication menu using scrolling */
}

section {
  margin: 30px auto;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 85%;
}

h1 {
  font-family: var(--fontMain);
  font-size: var(--sizeLg);
  text-align: center;

  margin-bottom: 20px;
}

h2 {
  width: fit-content;

  font-size: var(--sizeMd);
  font-family: var(--fontMain2);

  text-align: center;

  color: var(--colorSecondary);

  padding: 0 5px;
  padding-bottom: 10px;

  margin: auto;
  margin-bottom: 20px;

  border-bottom: 3px solid var(--colorUnderL);
}
h3 {
  width: fit-content;

  font-size: var(--sizeSm);
  font-family: var(--fontMain2);
}

p {
  font-family: var(--fontDefault);
}

a {
  text-decoration: none;
}

/* *****header***** */
header {
  width: 100%;

  position: sticky;
  top: 0;

  z-index: 25;
}

header nav {
  padding: 8px 15px 8px 15px;

  background-color: var(--colorNavBg);

  display: flex;
  justify-content: space-between;
  align-items: center;
}

header nav #navLogo {
  cursor: pointer;

  width: fit-content;
}

header nav #navLogo img {
  width: 8rem;

  /* min-width: 130px; */
}

header nav #navMain {
  display: flex;

  gap: 50px;
}

header nav #navMain ul {
  display: flex;
  align-items: center;

  gap: 50px;

  z-index: 20;
}

header nav ul hr {
  display: none;
}

header nav #navMain ul li {
  list-style-type: none;
}

header nav #navMain ul li a {
  color: white;

  text-decoration: none;

  padding-bottom: 3px;
  padding-right: 5px;
  padding-left: 5px;

  font-family: var(--fontMain2);

  display: flex;
  align-items: center;

  gap: 15px;
}

header nav #navMain ul li a:visited {
  color: white;
}

header nav #navMain ul li a:hover {
  border-bottom: 2px solid var(--colorUnderL);
}

.navIcon {
  width: 21.5px;

  margin-left: 5px;

  display: none; /* disappier the icons on the desktop */

  align-self: center;
}

#loginBtn {
  display: flex;
  align-items: center;

  font-size: 1rem;

  gap: 10px;
}

#loginBtn img {
  width: 20px;

  border-radius: 100%;
}

#logoutLi {
  width: fit-content !important;
}

#logoutLi a {
  width: fit-content !important;
}

/* *****responsive***** */
@media screen and (max-width: 1183px) {
  header nav {
    padding-top: 2px;
    padding-bottom: 2px;
  }

  header nav #navMain ul {
    position: absolute;
    right: 0;
    top: 35px;

    flex-direction: column;
    align-items: flex-end;

    gap: 15px;

    min-width: 120px;
    width: 50%;

    background-color: var(--colorMobUl);

    padding: 0px;

    text-align: right;

    overflow-y: hidden;

    height: 0;

    transition: all 0.5s;
  }

  header nav ul hr {
    display: block;

    background-color: rgba(240, 240, 150, 0.925);

    border: none;

    width: 100%;
    height: 1px;
  }

  header nav #navMain ul li {
    display: block;
    width: 100%;
  }

  header nav #navMain ul li a {
    display: flex;
    width: 100%;

    justify-content: flex-end;

    font-weight: 700;
  }

  header nav #navMain ul li a:hover {
    border-bottom: none;
  }

  .navIcon {
    display: inline;
  }

  #navHamBurger {
    width: 40px;
    height: 30px;

    border-radius: 7px;

    padding: 6px;

    margin-right: 5px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    border: 2px solid white;

    cursor: pointer;
  }

  #navHamBurger span {
    display: block;

    width: 90%;
    height: 3px;

    background-color: white;
  }

  #mobileMain {
    display: flex;
    align-items: center;

    gap: 10px;
  }
}
@media screen and (max-width: 335px) {
  header nav #navLogo img {
    width: 90px;
  }

  #loginBtn {
    padding: 5px 5px;
  }
}

/* *****buttons***** */
.button {
  padding: 0.2rem 0.6rem;

  cursor: pointer;

  border: none;
}

.btnPrimary {
  background-color: var(--colorPrimary);
  color: var(--colorSecondary);

  font-weight: bold;

  border-radius: 5px;
}

.btnPrimary:hover {
  background: white;
}

.btnSecondary {
  background-color: rgba(178, 155, 240, 0.443);
  color: white;

  font-weight: bold;

  border-radius: 5px;
}

.btnSecondary:hover {
  background: white;
  color: darkblue !important;
}
