* {
  box-sizing: border-box;
  font-family: Poppins, sans-serif;
  margin: 0;
}
.menu {
  cursor: pointer;
  display: flex;
  gap: 7dvh;
  justify-content: center;
  margin-left: 25dvh;
  padding: 0;
}
body,
main {
  position: relative;
  z-index: 1;
}
body {
  background-color: #f2f9fe;
  overflow-x: hidden;
}
a,
li {
  color: #111729;
  list-style: none;
  text-decoration: none;
}
li {
  font-weight: 600;
  position: relative;
  top: 0.2dvw;
}
.active,
li,
li:hover a:hover {
  font-size: clamp(1rem, 1.5dvw, 1rem);
}
.active,
li:hover a:hover {
  box-shadow: inset 0 -2px 0 0 #2a4dd0;
  color: #2a4dd0;
  padding-bottom: 0.5dvw;
}
.logo {
  margin-left: 5dvw;
  position: relative;
  top: 2dvw;
}
.theme-button {
  background-color: #111729;
  border: 2px solid #111729;
  border-radius: 50%/100%;
  bottom: 4px;
  cursor: pointer;
  height: 29px;
  left: calc(20% - 6dvb);
  position: relative;
  text-decoration: none;
  width: 60px;
}
#sun {
  background-color: #f2f9fe;
  border-radius: 50%;
  bottom: 29px;
  left: 15px;
  padding: 2px;
}
#moon,
#sun {
  height: 25px;
  position: relative;
  width: 24px;
}
#moon {
  right: 16px;
}
span {
  color: #234;
  font-size: clamp(0.8rem, 1dvw, 1rem);
  font-weight: 600;
  margin-left: 65px;
  text-transform: uppercase;
  top: calc(1dvw + 10dvb);
}
h1,
span {
  position: relative;
}
h1 {
  color: #111729;
  font-size: clamp(3.98rem, 2dvw, 3.8rem);
  font-weight: 800;
  left: 65px;
  line-height: 90px;
  top: 12.5dvh;
}
.hero_img {
  bottom: 14dvw;
  height: 34dvw;
  left: 58%;
  position: relative;
  width: 38vw;
}
.hero_img,
p {
  display: flex;
}
p {
  bottom: calc(24dvw + 1dvh);
  color: #234;
  font-size: clamp(1rem, 1dvw, 1rem);
  left: 65px;
  line-height: 25px;
  width: 100%;
}
.btn-start,
p {
  font-weight: 600;
  position: relative;
}
.btn-start {
  background-color: #2947b6;
  border: none;
  border-radius: 15px;
  color: #fff;
  cursor: pointer;
  height: 50px;
  left: 60px;
  letter-spacing: 1px;
  width: 170px;
}
.btn-start,
.demo {
  bottom: calc(22dvw + 3dvb);
  font-size: clamp(1rem, 1dvw, 1rem);
}
.demo {
  box-shadow: inset 0 -2px 0 0 #2a4dd0;
  color: #2947b6;
  font-weight: 600;
  left: 85px;
  padding-bottom: 8px;
  position: relative;
}
.feature-item {
  color: #494949;
  font-size: 14px;
  height: 100px;
  left: 45px;
  margin-left: -28px;
  position: relative;
  top: 9dvb;
  width: 250px;
}
.features {
  bottom: calc(19dvw + 15dvb);
  display: flex;
  position: relative;
}
.done-img {
  padding-right: 8px;
  position: relative;
  top: 7px;
}
.menu-button {
  display: none;
}
.menu-button .light-theme {
  background-color: #f2f9fe;
}
.menu-button .dark-theme {
  background-color: #111729;
}
.closer-menu {
  background-color: transparent;
  border: none;
  bottom: 87dvw;
  text-decoration: none;
  z-index: 4;
}
#img-menu,
.closer-menu {
  display: none;
  position: relative;
}
#img-menu {
  height: 32px;
  width: 32px;
}
.author-info {
  font-size: clamp(1.5rem, 1dvw, 2rem);
  position: relative;
  top: 20px;
}
body.dark-theme {
  background-color: #111729;
  color: #f2f9fe;
}
@media screen and (min-width: 250px) and (max-width: 890px) {
  .logo {
    margin-left: 20dvw;
    margin-right: -10%;
    right: 8dvb;
    top: 18px;
    width: 20dvh;
  }
  .hero_img,
  .logo {
    position: relative;
  }
  .hero_img {
    bottom: 50dvw;
    height: 100%;
    left: -1%;
    width: 100%;
  }
  .feature-item {
    font-size: clamp(2rem, 1dvw, 2rem);
  }
  h1 {
    font-size: 13dvw;
    left: 7%;
    line-height: 16vw;
  }
  p {
    bottom: -8.5dvw;
    font-size: clamp(3dvh, 1dvw, 1.2rem);
    left: 7dvh;
    line-height: 2.8dvh;
    margin-left: calc(8.5dvw - 9.5dvb);
    width: 100%;
  }
  p,
  span {
    position: relative;
  }
  span {
    font-size: clamp(2.4dvh, 1dvw, 1rem);
    margin-left: 5.5%;
    top: 95dvw;
  }
  h1,
  menu {
    margin-left: -3%;
    position: relative;
    top: 94vw;
  }
  .btn-start,
  .demo {
    bottom: -12dvw;
    font-size: clamp(2.5vh, 1dvw, 1rem);
    height: 8.5dvh;
    left: 1%;
    margin-left: 3%;
    position: relative;
    width: 50dvw;
  }
  .btn-start {
    left: -0.6%;
  }
  .btn-start,
  .menu {
    position: relative;
  }
  .menu {
    display: none;
    z-index: 5;
  }
  li,
  nav {
    font-size: clamp(3.5dvh, 2dvw, 1.5rem);
    left: 10dvw;
    position: relative;
    top: 17dvw;
  }
  a {
    color: #111729;
  }
  .theme-button {
    display: none;
    left: 10vw;
    position: relative;
    top: 15vw;
  }
  .feature-item {
    font-size: clamp(1.2rem, 1.2dvw, 1.2rem);
    left: 8.9dvb;
    margin-left: -19dvw;
    margin-right: 13dvb;
    padding-top: 6.2dvw;
    position: relative;
    top: 56.5dvw;
    width: 55%;
  }
  .done-img {
    padding-right: 1dvw;
    position: relative;
  }
  .menu-button {
    background-color: transparent;
    border: none;
    display: flex;
    height: 100%;
    left: 29dvw;
    position: relative;
    text-decoration: none;
    width: 50%;
    z-index: 3;
  }
  .author-info {
    font-size: 18px;
    padding-top: 16dvw;
    position: relative;
    top: 38dvw;
  }
  #img-menu {
    display: flex;
    left: 55dvw;
  }
  .closer-menu {
    bottom: 47dvh;
    left: 80dvw;
  }
  #img-close {
    display: block;
    height: 80px;
    width: 15dvw;
  }
  .menu {
    left: -8.8dvb;
    top: 25.5dvw;
  }
  br {
    display: none;
  }
}
@media screen and (min-width: 1024px) and (min-height: 1000px) {
  .menu {
    gap: 3.5dvh;
    margin-left: 16.5dvw;
  }
  h1 {
    top: 10dvw;
  }
  p {
    top: -21dvw;
  }
  span {
    top: 10dvw;
  }
  .btn-start,
  .demo {
    top: -20dvw;
  }
  .feature-item {
    top: 20dvw;
  }
}
@media screen and (min-width: 700px) and (max-width: 900px) and (min-height: 1000px) {
  #img-menu {
    bottom: 1.8dvh;
  }
  p {
    left: 7dvh;
    width: 90%;
  }
  .feature-item {
    left: 15dvh;
    margin-right: 2.5dvh;
    top: 35dvh;
  }
  .btn-start {
    margin-left: 4.8dvh;
    width: 42%;
  }
}
