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

@font-face {
  font-family: "Bengiat";
  src: url("fonts/bengiat.ttf");
  font-weight: normal;
  font-style: normal;
}

#preloader {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #1b0202;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;

  svg {
    width: 48vw;
    height: auto;

    path {
      fill: #cf292925;
      stroke: #cf2929;
      stroke-width: 4;
      stroke-dasharray: 4000;
      stroke-dashoffset: 4000;
    }
  }
}

html {
  height: 100%;
}
#smooth-wrapper {
  overflow: hidden;
}

#smooth-content {
  min-height: 100vh;
}

body {
  background-color: #000000;
  color: rgb(255, 255, 255, 0.8);
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  overflow-x: hidden;
  height: 100%;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  width: 100%;
  padding: 3vw;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  color: rgb(255, 255, 255, 0.8);
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 12px 0px;
  width: max-content;
  border-bottom: 1px solid;
}

.hero {
  height: 100vh;
  display: flex;
  justify-content: space-between;
  padding: 200px 10vw 0 10vw;
  position: relative;

  .gradient {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0) 70%);
    z-index: -1;
  }

  .images {
    background-color: black;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: -2;

    img {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      z-index: -1;
    }
  }

  .title,
  .extra {
    width: 30%;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .title {
    h1 {
      font-family: "Bengiat", sans-serif;
      font-size: 4vw;
    }
    p {
      letter-spacing: 5px;
      font-weight: 300;
    }
  }

  .extra {
    gap: 32px;
    align-items: end;
    .text {
      text-align: end;
      font-size: 20px;
    }
  }
}

.middle {
  background-image: url(images/bg-sec2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: black;
  z-index: 2;
  position: relative;

  .cities {
    padding: 0px 10vw;
    display: flex;
    flex-direction: column;
    gap: 32px;

    .cities-title {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .cities-list {
      width: 100%;
      display: flex;
      gap: 32px;
      .city-1,
      .city-2,
      .city-3 {
        display: flex;
        flex: 1;
        gap: 16px;
        aspect-ratio: 16/9;
        background-size: cover;
        background-position: center;
        align-items: end;
        justify-content: space-between;
        padding: 16px;
        h3 {
          font-size: 1.2vw;
        }
        p {
          font-size: 0.8vw;
          text-align: end;
        }
      }

      .city-1 {
        background-image: url(images/card_cg_2x.webp);
      }
      .city-2 {
        background-image: url(images/card_lg_2x.webp);
      }
      .city-3 {
        background-image: url(images/card_ub_2x.webp);
      }
    }
  }

  .logos {
    padding: 100px 10vw 0 10vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* height: 120px; */
    .logo1,
    .logo3 {
      width: 6vw;
    }
    .logo2 {
      width: 12vw;
    }
  }

  .testimonials {
    padding: 100px 10vw 0 10vw;
    display: flex;

    justify-content: space-between;
    gap: 32px;
    .testimonial-1,
    .testimonial-2,
    .testimonial-3 {
      display: flex;
      flex-direction: column;
      gap: 16px;
      font-size: 16px;
      text-align: justify;
      justify-content: end;
      div {
        display: flex;
        align-items: center;
        height: 100%;
      }
      img {
        width: 16%;
      }
    }
  }

  .thanks {
    padding: 100px 10vw;
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 32px;
    ul {
      width: 100%;
      display: flex;
      gap: 16px;
      list-style-type: none;
      justify-content: space-between;
      font-size: 16px;
      flex: 1;
      div {
        width: 100%;
      }
    }
  }
}

footer {
  background-image: url(images/bg-footer.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  display: flex;
  flex-direction: column;

  .footer-top {
    padding: 100px 10vw 0 10vw;
    display: flex;
    justify-content: space-between;
    align-items: center;

    .title {
      width: 30%;
      display: flex;
      flex-direction: column;
      gap: 8px;
      h1 {
        font-family: "Bengiat", sans-serif;
        font-size: 3vw;
      }
      p {
        letter-spacing: 5px;
        font-weight: 300;
      }
    }

    .social-media {
      width: 30%;
      display: flex;
      flex-direction: column;
      align-items: end;
      gap: 16px;
      p {
        letter-spacing: 2px;
        font-weight: 300;
        font-size: 1vw;
      }
      .links {
        display: flex;
        gap: 0.8vw;
        img {
          width: 2vw;
        }
      }
    }
  }
  .brands {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 3vw;
  }

  .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: max-content;
    padding-bottom: 20px;
    h2 {
      font-family: "Bengiat", sans-serif;
      font-weight: 300;
      font-size: 10vw;
      mix-blend-mode: color-dodge;
      padding-left: 3.2vw;
      color: #c7c7c7;
      animation: infiniteText 16s linear infinite;
    }
  }
}

@keyframes infiniteText {
  100% {
    transform: translateX(-100%);
  }
}

@media screen and (max-width: 1024px) {
  body {
    color: rgb(255, 255, 255, 0.8);
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    overflow-x: hidden;
  }
  .middle .cities .cities-list {
    flex-direction: column;
    align-items: center;
    .city-1,
    .city-2,
    .city-3 {
      flex-direction: column;
      max-width: 500px;
      width: 100%;
      display: flex;
      flex: 1;
      aspect-ratio: 16/9;
      background-size: cover;
      background-position: center;
      align-items: start;
      justify-content: space-between;
      padding: 16px;
      h3 {
        font-size: 3vw;
      }
      p {
        font-size: 2vw;
      }
    }
  }

  .middle .logos {
    padding: 100px 10vw 0 10vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* height: 120px; */
    .logo1,
    .logo3 {
      width: 12vw;
    }
    .logo2 {
      width: 16vw;
    }
  }

  .middle .testimonials {
    flex-direction: column;
    align-items: center;
    gap: 64px;
    .testimonial-1,
    .testimonial-2,
    .testimonial-3 {
      gap: 16px;
      text-align: center;
      align-items: center;

      width: 60%;
      div {
        display: flex;
        justify-content: center;
        height: 50px;
        width: 100%;
      }
      img {
        height: 100%;
        width: auto;
      }
    }
  }

  .middle .thanks {
    padding: 100px 10vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;

    ul {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      list-style-type: none;
      justify-content: center;
      font-size: 16px;
      flex: 1;
      div {
        width: 100%;
      }
    }
  }

  footer {
    gap: 16px;

    .footer-top {
      padding: 60px 10vw 0 10vw;

      .title {
        display: flex;
        flex-direction: column;
        gap: 8px;
        h1 {
          font-size: 4vw;
        }
        p {
          letter-spacing: 3px;
          font-size: 12px;
        }
      }

      .social-media {
        p {
          font-size: 1.6vw;
        }
        .links {
          gap: 1vw;
          img {
            width: 3vw;
          }
        }
      }
    }
  }

  @media screen and (max-width: 768px) {
    .hero {
      flex-direction: column;
      align-items: center;
      padding: 32vw 0 10vw 0;

      .title {
        text-align: center;
        align-items: center;
        h1 {
          font-size: 8vw;
          text-align: center;
        }
        p {
          font-size: 3vw;
          line-height: 4vw;
          text-align: center;
        }
      }
      .extra {
        width: 60%;
        text-align: center;
        align-items: center;
        gap: 16px;
        .text {
          font-size: 3.2vw;
          line-height: 4vw;
          text-align: center;
        }
      }
    }

    .middle .cities .cities-title {
      display: none;
    }
  }
}
