/* BASIC css start */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
}



:root {
  --color-primary: #E60120;
  --color-primary-light: #f5d1d6;
  --color-text: #000000;
  --color-gray: #dddddd;
}

.top-image {
  position: absolute;
  width: 100px;
  height: 100px;
}

.top-image-2 {
    position: absolute;
    top: 40%;
   left: 31.8%;
    width: 100px;
    height: 100px;
  animation: downUp 1.5s ease-in-out infinite;
}


.top-image-3 {
    position: absolute;
    top: 26%;
    right: 31.8%;
    width: 100px;
    height: 100px;
  animation: upDown 1.5s ease-in-out infinite;
}



.container {
  width: 100%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: inline-flex;
}

.gradient-wrapper {
  align-self: stretch;
  background: linear-gradient(90deg, white 0%, #999999 100%);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.inner-wrapper {
  align-self: stretch;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.red-section {
  align-self: stretch;
  background: #FF0000;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.hero-section {
  align-self: stretch;
  background: linear-gradient(180deg, #A7D7FF 0%, #69B2EE 100%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 28px;
  display: flex;
}

.logo-container {
  padding-top: 50px;
  justify-content: center;
  align-items: flex-end;
  display: inline-flex;
}

.logo {
  width: 100px;
  height: 100px;
}

.welcome-box {
  padding-bottom: 50px;
  padding-left: 20px;
  padding-right: 20px;
  background: rgba(255, 255, 255, 0);
  border-radius: 30px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  display: flex;
}

.welcome-badge {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  overflow: hidden;
  border-radius: 30px;
  outline: 2px white solid;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.welcome-text {
  text-align: right;
  justify-content: center;
  display: flex;
  flex-direction: column;
  color: white;
  font-size: 22px;
  font-weight: 700;
  word-wrap: break-word;
}

.welcome-message {
  width: 1000px;
  text-align: center;
  color: white;
  font-size: 30px;
  font-weight: 500;
  line-height: 45px;
  word-wrap: break-word;
}

.intro-section {
  align-self: stretch;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.intro-content {
  align-self: stretch;
  text-align:center;
  background: linear-gradient(180deg, #E9EDFF 0%, #E3F2FF 100%);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.intro-text {
position: relative;
  text-align: center;
  color: #373737;
  font-size: 22px;
  font-weight: 500;
  line-height: 33px;
  word-wrap: break-word;
  padding: 160px 0 100px 0;
}


.badge {
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 50px;
  outline: 2px black solid;
  outline-offset: -2px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.badge-green {
  position: relative;
  top: 110px;
  left: 10px;
  background: #B7F57A;
}

.badge-blue {
  position: relative;
  top: 130px;
  left: -10px;
  background: #94DFFF;
}

.badge-text {
  text-align: center;
  color: black;
  font-size: 22px;
  font-weight: 500;
  line-height: 33px;
  word-wrap: break-word;
}

.coupon-section {
  align-self: stretch;
  padding-top: 100px;
  padding-bottom: 140px;
  background: white;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 59px;
  display: flex;
}

.section-header {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  display: flex;
}

.section-badge {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 2px;
  padding-bottom: 2px;
  background: #69B2EE;
  overflow: hidden;
  border-radius: 17.50px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.section-badge-inner {
  padding-left: 30px;
  padding-right: 30px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
}

.section-badge-text {
  text-align: center;
  color: white;
  font-size: 22px;
  font-weight: 600;
  line-height: 33px;
  word-wrap: break-word;
}

.section-title {
  align-self: stretch;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.title-text {
  text-align: center;
  color: black;
  font-size: 48px;
  font-weight: 900;
  word-wrap: break-word;
}

.section-description {
  width: 600px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.description-text {
  text-align: center;
  color: black;
  font-size: 22px;
  font-weight: 400;
  line-height: 33px;
  word-wrap: break-word;
}

.coupon-cards {
  align-self: stretch;
  justify-content: center;
  align-items: center;
  gap: 30px;
  display: inline-flex;
}

.coupon-card:hover {
position:relative;
top: -2px;
}


.coupon-card {
  width: 483px;
  padding-left: 36px;
  padding-right: 36px;
  padding-top: 36px;
  padding-bottom: 44px;
  background: white;
  border-radius: 15px;
  outline: 1px #CECECE solid;
  outline-offset: -1px;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;
}

.coupon-amount {
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.instant-discount-badge {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 2px;
  padding-bottom: 2px;
  background: #69B2EE;
  overflow: hidden;
  border-radius: 17.50px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
}

.discount-text {
  text-align: center;
  color: white;
  font-size: 22px;
  font-weight: 600;
  line-height: 33px;
  word-wrap: break-word;
}

.amount-number {
  text-align: center;
  color: black;
  font-size: 44px;
  font-weight: 800;
  line-height: 66px;
  word-wrap: break-word;
}

.amount-unit {
  text-align: center;
  color: black;
  font-size: 30px;
  font-weight: 400;
  line-height: 45px;
  word-wrap: break-word;
}

.free-shipping {
  text-align: center;
  color: black;
  font-size: 44px;
  font-weight: 800;
  line-height: 66px;
  word-wrap: break-word;
}

.coupon-info {
  width: 200px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
  display: inline-flex;
  padding-left: 6px;
}

.coupon-title {
  align-self: stretch;
  color: black;
  font-size: 26px;
  font-weight: 700;
  line-height: 39px;
  word-wrap: break-word;
}

.coupon-condition {
  align-self: stretch;
  color: black;
  font-size: 22px;
  font-weight: 400;
  line-height: 33px;
  word-wrap: break-word;
}

.coupon-icon {
  width: 88px;
  height: 88px;
  padding-left: 21px;
  padding-right: 21px;
  padding-top: 16px;
  padding-bottom: 16px;
  background: #69B2EE;
  border-radius: 44px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
  left: 140px;
}

.icon-wrapper {
  width: 46px;
  height: 46px;
  position: relative;
}


.validity-notice {
  align-self: stretch;
  text-align: center;
  color: black;
  font-size: 22px;
  font-weight: 400;
  line-height: 33px;
  word-wrap: break-word;
  padding-bottom: 20px;
}

.cta-buttons {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
  display: flex;
}

.btn {
  width: 502px;
  height: 86px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.btn-primary {
  padding-left: 132px;
  padding-right: 132px;
  padding-top: 23px;
  padding-bottom: 23px;
  background: #333333;
}

.btn-secondary {
  padding-left: 120px;
  padding-right: 120px;
  padding-top: 23px;
  padding-bottom: 23px;
  background: white;
  outline: 1px #CECECE solid;
  outline-offset: -1px;
}

.btn-primary .btn-text a {
  text-align: center;
  color: white;
  font-size: 26px;
  font-weight: 400;
  line-height: 39px;
  word-wrap: break-word;
}

.btn-secondary .btn-text a {
  text-align: center;
  color: #222222;
  font-size: 26px;
  font-weight: 400;
  line-height: 39px;
  word-wrap: break-word;
}


@keyframes upDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes downUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}

.animate {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.6s ease-out;
}

.animate.active {
    opacity: 1;
    transform: translateY(0);
}

/* BASIC css end */

