.title {
  width: 100%;
  margin: 80px 0 30px 0;
  text-align: center;
}

.section-with-padding {
  padding: 20px;
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

h1 {
  font-size: 42px;
}

h2 {
  font-size: 32px;
}

img {
  max-width: 1000px;
}

hr {
  margin: 20px;
  opacity: 0.5;
}

/* Hero */
.hero {
  width: 100%;
  max-width: 1000px;
  text-align: center;
  color: red;
  margin: 0 auto;

  img {
    width: 100%;
  }

  h1 {
    font-size: 48px;
    line-height: 1.5;
    margin-bottom: 0;
  }

  h2 {
    width: 85%;
    text-align: end;
  }
}


@media (max-width: 700px) {
  .hero h2 {
    width: 90%;
    text-align: end;
  }
}

/* Flow */
.flow-destination {
  display: flex;
  align-items: center;

  img {
    width: 30%;
    max-width: 200px;
    padding: 15px;
  }

  h2 {
    font-size: 32px;
  }
}

.flow-exchange {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 0 15px 0;
  gap: -10;

  img {
    width: 30%;
    max-width: 200px;
    margin: 0;
    padding: 0;
    z-index: -1;
  }

  .up {
    transform: rotate(30deg);
  }

  .down {
    transform: rotate(210deg);
  }
}

/* Catch phrase */
.catch-phrase {
  h1 {
    text-align: center;
    color: red;
  }

  img {
    width: 100%;
    max-width: 700px;
    border-radius: 30px;
    margin: 0 auto;
  }
}

/* How to use */
.how-to-use {

  img {
    width: 900px;
    margin: 0 auto;
  }
}

@media (max-width: 900px) {
  .how-to-use {
    display: block;
    .title {
      width: 100%;
      text-align: center;
    }
  }

  .usage-image-wrapper {
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
  }
}

/* Choosing */
.choosing {
  ol {
    margin-bottom: 0;
  }

  li {
    font-size: 42px;
  }

  h2 {
    font-weight: 200;
  }

  p {
    margin-top: 0;
    width: 100%;
    max-width: 1000px;
    text-align: end;
  }
}

/* Pricing */
.pricing {
  width: 100%;
  margin: 0 auto;

  .price-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
    max-width: 700px;
    margin: 0 auto;

    img {
      width: 100%;
      border-radius: 30px;
    }
  }

  .price-text {
    display: flex;
    text-align: center;
    width: 100%;
    padding-left: 4%;
    color: red;
  }

  .price-description {
    display: flex;
    text-align: center;
    width: 100%;
    padding-left: 4%;

    h2 {
      font-weight: 200;
    }
  }
}

/* Insurance */
.insurance-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: rgb(213, 241, 255);
  margin-top: 50px;
}

.insurance {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 800px;
  margin: 15px;

  p {
    width: 95%;
    text-align: end;
    margin-top: 0;
    color: gray;
  }
}

.insurance-detail {
  display: flex;
  align-items: center;

  .shield-image {
    width: 100px;
    margin: 10px;
  }

  h2 {
    color: gray;
  }

  span {
    font-size: 42px;
    color: steelblue;
  }
}

.insurance-logos {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 20px;

  h2 {
    font-size: 32px;
    color: gray;
    font-weight: 900;
  }

  img {
    height: 70px;
  }
}

/* Unacceptable items */
.items-container {
  width: 85%;
  background-color: rgb(254, 211, 206);
  padding: 25px;
  gap: 20px;

  .item {
    display: flex;
    background-color: white;
    align-items: center;

    h2 {
      font-weight: 400;
    }
  }
}

.banned-image {
  width: 140px;
  height: 140px;
  margin: 20px;
  padding-left: 5px;
  padding-right: 5px;
}

.baned-overlay-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 120px;
  max-height: 120px;
  padding: 30px;
  margin: 20px;
  border-radius: 100%;
  background-color: rgb(254, 211, 206);

  img {
    width: 90px;
  }

  .overlay-image {
    position: absolute;
    width: 150px;
  }
}

/* Pricing */
.pricing {
  padding: 0;
}

.pricing>h2 {
  padding: 40px 0px 0px 15px;
}

.pricing-plan-container {
  padding: 20px 15px 40px 15px;
  overflow-x: scroll;
  overflow-y: hidden;
  white-space: nowrap;
}

.plan-card {
  display: inline-block;
  width: fit-content;
  padding: 15px;
  margin: 15px;
  background-color: #f9f9f9;
  box-shadow: 0px 10px 40px rgb(0 0 0 / 10%);
  border-radius: 15px;
  text-align: center;
}

.app-icon img {
  width: 100%;
}

@media (max-width: 600px) {
  .download-title {
    display: block;
  }
}

/* Download */
.download {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 80px 0 40px 0;

  .logo {
    height: 120px;
  }
}