* {
  margin: 0px;
}
html, body {
  width: 100%;
  height: 100%;
  margin: 0px;
}
main {
  width: 100%;
  max-width: 100%;
}
.top-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0px;
  width: 100%;
  min-height: 500px;
  background-image: linear-gradient(rgba(100, 100, 100, 0.1), rgba(100, 100, 100, 0.1)), url("../images/slide/home-slide.jpg");
  background-position: bottom;
}
.top-slide-main {
  color: white;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  text-shadow: 1px 1px 5px gray;
  letter-spacing: 1px;
  padding: 0px 10px;
}
.top-slide-sub {
  color: white;
  font-size: 19px;
  text-align: center;
  text-shadow: 1px 1px 5px gray;
  letter-spacing: 1px;
  padding: 5px 10px 0px 10px;
}
.about-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0px;
  width: 100%;
}
.about-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 100px 0px;
}
.about-title {
  font-size: 26px;
  font-weight: bold;
  margin: 0px;
  padding: 0px 20px;
}
.about-description {
  font-size: 15px;
  margin: 0px;
  padding: 20px 20px;
  letter-spacing: 1px;  
}
.about-button {
  background-color: black;
  padding: 15px 30px;
  color: white;
  font-weight: bold;
  text-decoration: unset;
  font-size: 15px;
  width: fit-content;
}
.subscription-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0px;
  width: 100%;
  max-width: 100%;
}
.subscription-wrapper {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 100px 0px;
  background-color: #BABABA77;
}
.plan-label {
  font-size: 26px;
  font-weight: bold;
  margin: 0px;
}
.plan-sub-label {
  margin: 0px;
  margin-top: 5px;
  margin-bottom: 10px;
}
.plan-wrapper {
  margin: 0px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  padding: 0px 0px;
  max-width: 1000px;
}
.plan-detail-wrapper {
  display: flex;
  flex-direction: column;
  border-radius: 5px;
  box-shadow: 1px 1px 5px black;
  width: 100%;
  min-width: fit-content;
  overflow: hidden;
  background-color: white;
}
.plan-title {
  min-width: fit-content;
  background-color: black;
  padding: 20px;
  min-width: 150px;
}
.plan-title p {
  color: white;
  font-weight: bold;
  font-size: 18px;
}
.plan-description {
  background-color: white;
  min-width: fit-content;
  padding: 20px;
}
.function-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0px;
  padding: 100px 0px;
  width: 100%;
}
.function-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.function-wrapper {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: white;
}
.function-detail-wrapper {
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}
.function-detail {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  max-width: 960px;
  width: 100%;
  background-color: #BABABA77;
  box-shadow: 1px 1px 5px lightgray;
  border-radius: 5px;
  overflow: hidden;
  padding: 15px 15px;
}
.function-detail-title {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  align-items: start;
  justify-content: center;
  max-width: 960px;
  width: 100%;
  background-color: #BABABA77;
  box-shadow: 1px 1px 5px lightgray;
  border-radius: 5px;
  overflow: hidden;
  padding: 15px 15px;
}
.function-content-title {
  max-width: 500px;
}
.function-text {
  width: 50%;
}
.function-title {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 1px;
  padding: 0px 16px;
}
.function-content {
  font-size: 15px;
  margin-top: 10px;
  padding: 0px 16px;
  white-space: pre-line;
  line-height: 28px;
}
.function-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  aspect-ratio: 1/1;
  border-radius: 5px;
  overflow: hidden;
}
.function-image img{
  width: 100%;
  object-fit: contain;
  background-color: white;
}
.plan-button {
  background-color: unset;
  border: 2px solid black;
  font-weight: bold;
  border-radius: 5px;
  padding: 12px 10px;
  margin-top: 15px;
}
.plan-type-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.plan-type-button {
  margin-top: 20px;
  background-color: unset;
  padding: 15px 50px;
  border-radius: 5px;
  color: black;
  border: 2px solid black;
  font-weight: 500;
  font-size: 16px;
}

.plan-detail {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
  max-width: 250px;
  /* box-shadow: 1px 1px 5px lightgray; */
  padding: 40px 20px;
  border: 1px solid gray;
}
.plan-detail-title {
  font-weight: bold;
  font-size: 17px;
}
.plan-detail-price {
  font-size: 22px;
  margin: 16px 0px;
}
.plan-detail-desc {
  font-size: 16px;
  line-height: 26px;
}
.plan-detail-select-button-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.plan-detail-select-button {
  width: 100%;
  background-color: black;
  color: white;
  border: unset;
  /* border: 1px solid black; */
  padding: 10px 20px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  font-size: 15px;
}
.function-select-button {
  padding: 12px 30px;
  border: unset;
  color: white;
  min-width: 150px;
  border-radius: 5px;
}


@media screen and (max-width: 800px) {
  .top-section {
    min-height: 360px;
  }
  .function-detail, .function-detail-title {
    flex-direction: column;
    width: 95%;
  }
  .top-slide-main {
    font-size: 20px;
  }
  .top-slide-sub {
    font-size: 17px;
  }
  .about-title {
    font-size: 22px;
  }
  .about-description {
    font-size: 14px;
  }
  .about-wrapper, .subscription-wrapper, .function-section {
    padding: 60px 0px;
  }
  .plan-wrapper {
    flex-direction: column;
    align-items: center;
  }
  .plan-detail {
    width: 100%;
  }
  .function-detail-wrapper {
    margin-top: 10px;
  }
  .function-text, .function-image {
    width: 100%;
  }
  .function-title {
    font-size: 18px;
  }
  .function-content {
    font-size: 14px;
  }
  .function-text {
    order: 2;
  }
  .function-image {
    order: 1;
  }
}

