* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
body {
  line-height: 1;
}

/* navbar */

header {
  padding: 2rem 8rem;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  transition: all 0.3s;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 999;
}
/* menu */
.menu-btn {
  display: none;
  cursor: pointer;
  position: absolute;
  top: 2.5rem;
  right: 5rem;
  /* transform: translateY(-50%); */
}

.menu-icon {
  width: 3.5rem;
  color: #059dff;
}
nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3.2rem;
}

.logo-box {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.logo-box p {
  font-size: 1.6rem;
  color: rgb(75, 79, 88);
}

.navbar-brand {
  font-size: 3.5rem;
  text-decoration: none;
  color: #222;
}

.login-box {
  display: flex;
  gap: 5rem;
}

.login-box a {
  text-decoration: none;
  display: inline-block;
  font-size: 1.9rem;
  font-weight: 700;
  color: #000;
}

/* section-hero */
.section-hero {
  background-color: rgba(230, 230, 230, 0.3);
  padding: 4.8rem;
  /* margin-top: 9rem; */
}
.hero {
  max-width: 676px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.heading-primary {
  font-size: 4.4rem;
  line-height: 1.25;
  font-weight: 600;
  color: rgb(38, 38, 38);
}
.btn-box {
  display: flex;
  gap: 2rem;
}

.btn {
  text-decoration: none;
  display: inline-block;
  padding: 1.2rem 2.4rem;
  font-size: 1.5rem;
  font-weight: 600;
  border-radius: 25px;
}
.btn-signup {
  background-color: #47b96d;
  color: #fff;
  border: 1px solid #47b96d;
}
.btn-login {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  color: #222;
}

.hero-description {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.3;
  color: #7f7f7f;
}

/* ************************************ */
.section-services {
  padding: 9.6rem 0 6.4rem;
}

.heading-secondary {
  font-size: 2.7rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 4.8rem;
  text-align: center;
  line-height: 1.2;
}

.container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 3.2rem;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.6rem;
  /* padding: 0 3.2rem; */
}

.item {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 0.6rem;
}
.item span {
  display: block;
  text-align: center;
  /* margin-bottom: 1rem; */
}

.icon {
  width: 7rem;
  padding: 1.5rem;
  background-color: #eee;
  border-radius: 50%;
  font-weight: bolder;
}

.heading-tertiary {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.2;
}

.item-description,
.devices-text {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  color: rgb(122, 122, 122);
}

.wifi-item .icon {
  /* color: rgb(5, 157, 255); */
  color: #059dff;
  background-color: rgba(5, 157, 255, 0.1);
}

.map-item .icon {
  color: #fb5343;
  background-color: rgba(251, 83, 67, 0.1);
}

.security-item .icon {
  color: #6549d5;
  background-color: rgb(101, 73, 213, 0.1);
}

/* ********************************** */

.section-devices {
  padding: 4.8rem 0;
}
.devices-text {
  text-align: center;
  margin-bottom: 0.7rem;
}
.device-container {
  margin-top: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.device-details-box {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
}

.device-details {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #54595f;
}

.device-logo {
  width: 3rem;
  fill: #7f7f7f;
  color: #7f7f7f;
}

.device-details span {
  font-size: 1.6rem;
}

/* ********************************** */
.section-features {
  padding: 9.6rem 0 6.4rem;
}
.section-advertisement .item,
.section-features .item {
  align-items: center;
  text-align: center;
  gap: 1rem;
}
.section-features .heading-tertiary {
  color: #262626;
}
.item-logo {
  width: 11rem;
  margin-bottom: 1.6rem;
}

/* ********************************** */
.section-advertisement {
  padding: 9.6rem 0;
}
.container-advertisement {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 4.8rem;
  margin-bottom: 9.6rem;
}
.advertisement-text-box {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  text-align: center;
}

.section-advertisement .heading-secondary {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.3;
  color: #262626;
  margin-bottom: 0;
}

.advertisement-description {
  color: rgb(127, 127, 127);
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 300;
}
.advertisement-text-box img {
  max-width: 100%;
}

.advertisement-img-box img {
  width: 100%;
}

/* ********************************* */
.pages {
  padding: 4.8rem 0;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  padding-left: 4.8rem;
}
.page-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.pages a:link,
.pages a:visited {
  text-decoration: none;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000;
}

.pages a:hover,
.pages a:active {
  color: rgb(5, 157, 255);
}

.footer {
  padding: 3.2rem 0;
}

.footer p {
  color: #7f7f7f;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
}

/* .login-box.hidden {
  display: none;
} */

@media (max-width: 768px) {
  .header {
    padding: 1.6rem 2.4rem;
  }
  .login-box {
    flex-direction: column;
    gap: 1.6rem;
    display: flex;
  }
  .menu-btn {
    display: block;
  }
  .header nav {
    flex-direction: column;
    align-items: flex-start;
  }
  .heading-primary {
    font-size: 2.8rem;
  }
  .heading-secondary {
    font-size: 2.2rem;
  }
  .heading-tertiary {
    font-size: 1.8rem;
  }
  .hero {
    text-align: center;
  }
  .btn-box {
    flex-direction: column;
    align-items: center;
  }
  .container {
    padding: 0 1.6rem;
  }
  .grid,
  .container-advertisement {
    grid-template-columns: 1fr;
  }
  .device-details-box {
    gap: 2.4rem;
  }
  section {
    padding: 4.8rem 0;
  }
  .pages.container {
    padding: 3.2rem 0;
  }
}
