*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'IBM Plex Sans', sans-serif;
}
img{
  display: block;
}

/* --------- GENERAL ---------- */
body{
  width: 100vw;
  overflow-x: hidden;
  min-width: 310px;
  background-color: black;
}
h1{
  color: #00ff00;
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 10px;
}
h2{
  color: #00ff00;
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 400;
}
p{
  color: white;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  text-align: justify;
  text-align-last: center;
}
.line{
  width: 100%;
  overflow-x: hidden;
}
.splitLine{
  width: 300vw;
  height: 3px;
}

/* --------- NAVIGATION ---------- */
#nav-desktop{
  display: none;
}

#nav-mobile{
  width: 100vw;
  background-color: #222222;
  padding: 20px;
  z-index: 1;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
#nav-mobile .menu{
  padding: 10px 10px 6px 10px;
  border-radius: 3px;
  box-shadow: 0 0 10px black;
}
.nav-mobile-searchbar img{
  height: 100%;
}
#nav-mobile img{
  height: 24px;
}
.nav-mobile-searchbar{
  padding: 10px;
  border-radius: 3px;
  box-shadow: 0 0 10px black;
}
#nav-search{
  width: 100vw;
  background-color: black;
  padding: 0;
  z-index: 0;
  height: 0px;
  overflow: hidden;
  transition: 0.5s;

  display: flex;
  justify-content: center;
  align-items: center;
}
#nav-search.active{
  height: 65px;
  padding: 10px 0;
  transition: 0.5s;
}
#nav-searchbar{
  position: relative;
  padding: 5px;
  width: 80vw;
  height: 45px;
  opacity: 0;

  display: none;
  flex-direction: row;
  align-items: center;
}
#nav-searchbar.active{
  display: flex;
  opacity: 1;
  transition: opacity 0.5s ease 1s;
}
#nav-searchbar input[type="text"]{
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: 5px;
  padding: 10px;
  outline: none;
  border: none;
}
#nav-searchbar button{
  position: absolute;
  right: 5px;
  top: 5px;
  height: 80%;
  border: none;
  background-color: none;
  outline: none;

  display: flex;
  justify-content: center;
  align-items: center;
}
#nav-searchbar button img{
  background-color: #222222;
  padding: 5px;
  height: 100%;
  border-radius: 5px;
}
#nav-mobile-menu{
  height: 0vh;
  background-color: black;
  padding: 0vh;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  transition: height 0.5s ease, padding 0.5s ease;
  transition-delay: 0.5s;
}
#nav-mobile-menu.active.search{
  height: calc(100vh - 150px);
  padding: 5vh;
  transition: height 0.5s ease, padding 0.5s ease;
}
#nav-mobile-menu.search.active{
  height: calc(100vh - 150px);
  padding: 5vh;
  transition: height 0.5s ease, padding 0.5s ease;
}
#nav-mobile-menu.active{
  height: calc(100vh - 84px);
  padding: 5vh;
  transition: height 0.5s ease, padding 0.5s ease;
}
.nav-mobile-menu-item{
  overflow: hidden;
  opacity: 0;
  color: white;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.5s ease;
}
.nav-mobile-menu-item.active{
  opacity: 1;
  transition: opacity 0.5s ease 0.5s;
}

/* --------- HEADER ---------- */
header{
  height: 90vh;
  padding: 10vh 5vw;

  background-image: url(../img/information_phone.jpg);
  background-size: cover;
  background-position: center top;

  display: flex;
  align-items: flex-end;
}
.header-text{
  opacity: 0;
  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
}
.header-text img{
  width: 70vw;
  margin-bottom: 40px;
}

/* --------- SECTION ---------- */
section{
  position: relative;
  background-image: url(../img/razerDeathadderHeader2.jpg);
  background-size: cover;
  background-position: center bottom;
  width: 100vw;
  height: 50vh;
  padding: 10%;

  display: flex;
  justify-content: center;
  align-items: flex-start;
}
#specs-image{
  display: none;
}
.specs{
  z-index: 2;
}
.specs h1{
  margin-left: 16.5px;
}
.specs ul {
  list-style: none;
  color: white;
}
.specs li{
  font-size: 16px;
  line-height: 22px;
}
.specs li::before {
  content: "•";
  color: #00ff00;
  box-sizing: border-box;
  padding-right: 10px;
}

/* --------- VERSION ---------- */
.version{
  position: relative;
  height: 60vh;
  padding: 10% 5vw;
  overflow-x: hidden;

  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.version-bg{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #000910;
  z-index: 1;
}
.version img{
  position: absolute;
  bottom: 0;
  width: 150vw;
  z-index: 2;
}
.version-overlay{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100vw;
  background: linear-gradient(rgba(0,0,0,1) 20%, rgba(0,0,0,0) 60%);
  z-index: 2;
}
.version-text{
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;
}
.version-text p{
  margin-bottom: 24px;
  text-align: center;
}

/* --------- SUGGESTIONS ---------- */
.suggestions{
  position: relative;
  width: 100vw;
  height: 100px;
  overflow-x: hidden;
  border-top: solid 2px #292929;
}
.suggestions-images{
  position: absolute;
  top: 0;
  left: -296px;
  height: 100%;
  z-index: 1;
  transition: left 1s ease;

  display: flex;
  flex-direction: row;
}
.suggestions-images img{
  height: 100%;
  background: linear-gradient(-90deg, rgba(34,34,34,1) 0%, rgba(41,41,41,1) 100%);
}
.gradients{
  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.gradient1,
.gradient2 {
  height: 100%;
  width: 20%;
  z-index: 2;

  display: flex;
  align-items: center;
}
.gradients img{
  height: 30%;
}
.gradient1{
  padding-left: 3%;
  background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 95%);

  display: flex;
  justify-content: flex-start;
}
.gradient2{
  padding-right: 3%;
  background: linear-gradient(-90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 95%);

  display: flex;
  justify-content: flex-end;
}

/* --------- FOOTER ---------- */
#footer-desktop{
  display: none;
}
#footer-mobile{
  width: 100vw;
  background: linear-gradient(0deg, rgba(34,34,34,1) 0%, rgba(0,0,0,1) 100%);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3vh;
}
.footer-menu{
  width: 100%;
  padding-bottom: 3vh;
  border-bottom: solid 2px white;

  display: flex;
  justify-content: center;
}
.footer-menu img{
  width: 50%;
}
.footer-bottom{
  margin-top: 1vh;
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer-bottom-info{
  width: 90%;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.footer-bottom-info p{
  font-size: 9px;
}
.footer-bottom-links{
  width: 70%;
  margin-top: 1vh;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.footer-bottom-links img{
  width: 12%;
}


/* -------------------------------- */
/* --------- TABLET ---------- */
/* -------------------------------- */
@media all and (min-width: 500px){

  /* --------- GENERAL ---------- */
  h1{
    font-size: 28px;
    font-weight: 400;
  }
  h2{
    font-size: 24px;
  }
  p{
    font-size: 16px;
    line-height: 18px;
  }

  /* --------- HEADER ---------- */
  header{
    height: 92vh;
    padding: 7vh 15vw;
  }
  .header-text img{
    width: 60vw;
    margin-bottom: 20px;
  }

  /* --------- SECTION ---------- */
  .specs h1{
    margin-left: 22px;
  }
  .specs li{
    font-size: 20px;
    line-height: 22px;
  }

  /* --------- VERSION ---------- */
  .version{
    padding: 5% 15vw;
  }

  /* --------- FOOTER ---------- */
  .footer-menu img{
    width: 20%;
  }
  .footer-bottom-info p{
    font-size: 12px;
  }
  .footer-bottom-links{
    width: 20%;
    margin-top: 1vh;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .footer-bottom-links img{
    width: 20%;
  }

}

/* -------------------------------- */
/* --------- DESKTOP ---------- */
/* -------------------------------- */
@media all and (min-width: 850px),
       screen and (max-height: 650px)  {

   h1{
     font-size: 28px;
     font-weight: 400;
     margin-bottom: 10px;
   }
   h2{
     color: #00ff00;
     font-size: 24px;
     margin-bottom: 20px;
     font-weight: 400;
   }
   p{
     font-size: 16px;
   }

  #nav-mobile{
    display: none;
  }

  #nav-desktop{
    background-color: #222222;
    padding: 1% 5%;
    height: 10vh;

    display: flex;
    justify-content: center;
    align-content: space-between;
    flex-wrap: wrap;
  }
  .nav-top{
    width: 100%;
    height: 5vh;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .nav-top img{
    height: 3vh;
  }
  #nav-top-searchbar{
    width: 30%;
    height: 3vh;
    position: relative;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }
  #nav-top-searchbar input{
    position: absolute;
    width: 100%;
    height: 3vh;
    border-radius: 3px;
    padding: 10px;
    border: none;
    outline: none;

    z-index: 1;
  }
  #nav-top-searchbar button{
    background-color: transparent;
    border: none;
    height: 100%;
    outline: none;
    cursor: pointer;

    display: flex;
    justify-content: center;
    align-items: center;
  }
  #nav-top-searchbar button img{
    background-color: #222222;
    height: 85%;
    margin: 3px;
    padding: 5px;
    border-radius: 3px;

    z-index: 2;
  }
  .nav-top-profile{
    height: 3vh;

    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
  }
  .nav-top-profile-sign{
    height: fit-content;
    padding-right: 20px;
    border-right: solid 1px #a9a9a9;

    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
  }
  .nav-top-profile img{
    width: 20%;
    padding-left: 20px;
  }
  .nav-top-profile-sign a{
    letter-spacing: 1px;
    font-size: 1vw;
    text-decoration: none;
    color: white;
    text-decoration: underline;
  }
  .nav-top-profile-sign p{
    color: white;
    font-size: 0.8vw;
    padding: 0 0.5rem;
  }
  .nav-menu{
    width: 80%;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .nav-menu-item{
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .nav-menu-item a{
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 0.8vw;
    text-decoration: none;
    color: white;
    text-decoration: underline;
  }
  .nav-menu-item img{
    width: 25px;
    padding: 5px;
  }

  /* --------- HEADER ---------- */
  header{
    height: 90vh;
    padding: 1% 0;

    background-image: url(../img/razerDeathadderHeader1.jpg);
    background-size: cover;
    background-position: center bottom;

    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .header-text{
    width: 50%;
  }
  .header-text img{
    width: 90%;
    margin-bottom: 3%;
  }
  .header-text p{
    width: 70%;
  }

  /* --------- SECTION ---------- */
  section{
    overflow: hidden;
    position: relative;
    background-image: none;
    background-color: #000000;
    width: 100vw;
    height: 70vh;
    padding: 2% 10%;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .specs h1{
    font-size: 36px;
  }
  .specs li{
    font-size: 18px;
    line-height: 40px;
  }
  .specs li::before {
    content: "•";
    color: #00ff00;
    box-sizing: border-box;
    padding-right: 10px;
    font-size: 24px;
  }
  #specs-image{
    height: 100%;
    width: 60%;
    background-image: url("../img/razerDeathadderHeader2.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* --------- VERSION ---------- */
  .version{
    height: 100vh;
    padding: 5% 0;
    background-image: url("../img/information_b.jpg");
    background-position: center top;
    background-size: cover;

    display: flex;
    align-items: flex-end;
  }
  .version-bg{
    display: none;
  }
  .version img{
    display: none;
  }
  .version-overlay{
    display: none;
  }
  .version-text{
    width: 40%;
  }
  .version-text h2{
    text-align: center;
  }
  .version-text p{
    text-align: center;
  }

  /* --------- SUGGESTIONS ---------- */
  .suggestions{
    width: 100vw;
    height: 200px;
    overflow-x: hidden;
    border-top: solid 2px #292929;
  }

  /* --------- FOOTER ---------- */
  #footer-mobile{
    display: none;
  }
  #footer-desktop{
    width: 100vw;
    background: linear-gradient(0deg, rgba(34,34,34,1) 0%, rgba(0,0,0,1) 100%);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3vh;
  }
  .footer-menu{
    width: 80%;
    padding: 0 3% 3vh 3%;
    border-bottom: solid 2px white;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .footer-menu p{
    font-size: 0.8vw;
    line-height: 1.6vw;
  }
  .footer-menu-items{
    width: 75%;

    display: flex;
    flex-direction: row;
    justify-content: flex-start;
  }
  .footer-menu-items p{
    margin: 0 20px;
  }

  .footer-bottom{
    width: 80%;
    padding: 0 3%;
    margin-top: 1vh;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .footer-bottom p{
    font-size: 9px;
  }
  .footer-bottom img{
    width: 15%;
  }
  .footer-bottom-info p{
    font-size: 0.5vw;
  }
  .footer-bottom-links{
    width: 10%;
    margin-top: 1vh;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  .footer-bottom-links img{
    width: 20%;
  }

}
