#visa-page .visa-btn.ds-btn-custom {
  --ds-btn-color: #9258ab;
  --ds-btn-hover: #6c3584;
  --ds-btn-active: #511969;
}
@media (min-width: 1680px) {
  #visa-page .layout--maxWidth {
    max-width: 1200px;
  }
}
@media (min-width: 1280px) {
    #visa-page #visa-page__gallery .visa-page__cards-list {
        max-width: 980px;
        padding: 0 30px 40px;
    }
}
#visa-page {
  color: #00233C;
}
#visa-page .font-14 {
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
}
.visa-page__apply .redirect-notice {
  margin: 0 0 16px;
}
@media (min-width: 1280px) {
  .visa-page__apply .redirect-notice {
    max-width: 384px;
  }
  #visa-page__gallery + .visa-page__apply .redirect-notice {
    margin-bottom: 20px;
    max-width: none;
  }
}
.visa-page__apply .annual-fee {
  font-weight: 700;
}
.visa-page__apply .offer-links {
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0.1px;
  margin-bottom: 50px;
}
.visa-page__apply .offer-links a {
  color: #9258ab;
}

/*visapage-slot-01*/
.hero-image {
  width: 100%;
}

/*visapage-slot-02*/
.creditAdvertisement {
  text-align: center;
}
.creditAdvertisement .sparkle-divider {
  margin: 20px auto 15px;
  display: block;
}
.intro-offer-section h1 {
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 20px;
}
.offer-body {
  position: relative;
}
.offer-body-title {
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.totalBody {
  display: flex;
  justify-content: center;
  font-weight: 800;
}
.totalBody .totalPriceAmount {
  line-height: 128px;
}
.priceHeader {
  position: relative;
  top: 165px;
}
.offer-prices {
  border: solid #75dbcf 2px;
  border-radius: 12px;
  display: inline-block;
  margin-top: 60px;
  grid-template-columns: 1fr 26px 1fr;
  justify-content: center;
}
.offer-prices sup, .offer-prices sup a, .offer-prices sup a:hover {
  color: #00233C;
}
.price-container {
  max-width: 275px;
}
.price-container .price {
  display: flex;
  justify-content: center;
  font-weight: 800;
}
.price-container .priceValue {
  font-size: 68px;
  line-height: 72px;
}
.price-container .priceCurrencySymbol {
  font-size: 30px;
  line-height: 44px;
}
.price-container .priceSubheader {
  font-size: 20px;
  line-height: 30px;
  font-weight: 800;
}
.totalHeader {
  font-size: 20px;
  font-weight: 400;
}
.price-container .priceTitle {
  font-size: 16px;
  font-weight: 700;
}
.price-container .priceSubheader {
  margin-bottom: 10px;
}
.price-container .priceSubtitle {
  font-size: 14px;
}
.priceExtra {
  width: 26px;
  height: 67px;
  position: relative;
  text-align: center;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: unset;
}
.offer-prices {
  border: solid #75dbcf 2px;
  border-radius: 12px;
}
.offerTerms {
  color: #607682;
  font-size: 14px;
  line-height: 21px;
  max-width: 486px;
  margin: 20px auto;
  text-align: center;
}
@media (min-width: 640.1px) {
  .offer-prices {
    padding: 120px 20px 30px;
    display: inline-grid;
  }
  .totalHeader {
    margin-bottom: 10px;
  }
  .totalBody .totalPriceCurrencySymbol {
    font-size: 52px;
    line-height: 58px;
  }
  .totalBody .totalPriceAmount {
    font-size: 148px;
  }
  .offer-body-title {
    max-width: 350px;
  }
  .priceHeader {
    font-size: 18px;
  }
  .priceExtra {
    top: 30px;
  }
}
@media (max-width: 640px) {
  .offer-prices {
    padding: 105px 20px 30px;
    display: inline-block;
    width: 95%;
  }
  .totalBody .totalPriceCurrencySymbol {
    font-size: 37px;
    line-height: 77px;
  }
  .totalBody .totalPriceAmount {
    font-size: 110px;
  }
  .offer-body-title {
    max-width: 275px;
  }
  .priceHeader {
    font-size: 17px;
    top: 145px;
  }
  .price-container {
    margin: auto;
  }
  .priceExtra {
    margin: auto;
    top: 10px;
  }
}

/*visapage-slot-04*/
.earn-and-redeem-rewards-section {
  padding: 20px;
  background: #e6fcf999;
  text-align: center;
}
.earn-and-redeem-rewards-section sup, .earn-and-redeem-rewards-section sup a, .earn-and-redeem-rewards-section sup a:hover {
  color: #00233C;
}
.earn-and-redeem-rewards-section .earn-header {
  margin-top: 30px;
}
.earn-and-redeem-rewards-section .earn-title {
  font-size: 32px;
  font-weight: 300;
  margin-bottom: 15px;
}
.earn-and-redeem-rewards-section .earn-redeem-subHeader {
  font-size: 22px;
  font-weight: 800;
}
.earn-and-redeem-rewards-section .earn-redeem-subHeader sup {
  font-weight: 300;
  font-size: 14px;
}
.earn-and-redeem-rewards-section .sparkle-divider {
  display: block;
  margin: 0 auto 5px;
}
.earn-percentages {
  display: flex;
  list-style-type: none;
  justify-content: center;
  padding: 0;
  margin-bottom: 30px;
}
.earn-percentages .percent-container {
  max-width: 220px;
}
.earn-percentages .percent-header {
  font-size: 55px;
  line-height: 71px;
  font-weight: 900;
  color: #253b56;
  margin-top: 10px;
  margin-bottom: 5px;
  text-align: center;
}
@media (min-width: 640.1px) {
  .earn-percentages {
    flex-direction: row;
  }
}
@media (max-width: 640px) {
  .earn-percentages {
    flex-direction: column;
  }
  .earn-percentages .percent-container {
    margin: auto;
  }
}
.redeem-body {
  margin-top: 30px;
}
.redeem-cards-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 980px;
  margin: 25px auto 0;
}
.redeem-card {
  display: flex;
  justify-content: flex-end;
  padding: 16px;
  margin: 16px;
  align-items: center;
  border-radius: 16px;
  border: 1px solid #75dbcf;
}
.redeem-card-last {
  display: flex;
  justify-content: flex-end;
  padding: 16px;
  margin: 16px;
  align-items: center;
  border-radius: 16px;
  border: 1px solid #75dbcf;
  max-width: 540px;
}
.redeem-card-image img {
  width: 80px;
  height: 80px;
  border-radius: 65px;
}
.redeem-card-text {
  line-height: 0;
  text-align: left;
  margin-left: 6%;
}
.redeem-card-text h4 {
  font-size: 18px;
  line-height: 20px;
  font-weight: 800;
}
.redeem-card-text p {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 0;
}
@media (min-width: 641px) {
  .redeem-card {
  width: 41%;
  }
}
@media (max-width: 640px) {
  .redeem-card {
  max-width: 540px;
  }
}

/*visapage-slot-05*/
.perks-header {
  align-items: center;
  text-align: center;
  margin-top: 30px;
}
.perks-title {
  font-size: 32px;
  font-weight: 300;
  margin: 10px auto;
}
.perks-subText {
  max-width: 540px;
  margin: auto;
  padding: 0 20px;
}
.perks-body {
  margin: 50px auto 20px;
}
.perks-story-title {
  font-size: 18px;
  font-weight: 800;
  margin: 15px 0;
}
.perks-story-subtitle {
  font-size: 14px;
  color: #607682;
}
.perks-story-subtitle sup, .perks-story-subtitle sup a, .perks-story-subtitle sup a:hover {
  color: #607682;
}
@media (min-width: 641px) {
  .perks-body {
    display: flex;
    flex-flow: row;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 980px;
  }
  .perks-card {
    max-width: 45%;
    margin: 0 2% 50px;
  }
  .perks-card img {
    max-width: 100%;
    border-radius: 15px;
  }
}
@media (max-width: 640px) {
  .perks-card {
    max-width: 640px;
    margin: auto;
  }
  .perks-card img {
    max-width: 100%;
  }
  .perks-story {
    padding: 0 20px 30px;
  }
}
.line-separator {
  width: 93%;
  height: 1px;
  position: relative;
  background: #75dbcf;
  max-width: 940px;
  margin: auto;
}
.line-separator img {
  position: absolute;
  left: calc(50% - 40px);
  bottom: -15px;
  background-color: #fff;
  padding: 10px;
}

/*visapage-slot-06*/
.gallery-header {
  align-items: center;
  text-align: center;
  margin-top: 30px;
}
.gallery-title {
  font-size: 32px;
  font-weight: 300;
  margin: 0 auto;
}
.gallery-title sup {
    top: -1em;
    font-size: 12px;
}
.gallery-instructions {
  margin: 0 auto 40px;
  padding: 10px 20px;
}

/*visapage-slot-09*/
.learn-more-section {
  margin: 0 auto 30px;
}
.learn-more {
  font-size: 20px;
  font-weight: 800;
  text-align: center;
  margin-top: 40px;
}

/*visapage-slot-10*/
#footnotes {
  max-width: 840px;
  margin: 50px auto 30px;
  padding: 0 20px;
  font-size: 10px;
  line-height: 16px;
  color: #6A7889;
}
.footnote-section {
  margin-bottom: 30px;
}
.footnote-header {
  font-size: 12px;
  color: #222222;
  font-weight:700;
}
.footnote-title {
  color: #222222;
  font-weight:700;
}
.footnote-details a {
  color: #6A7889;
  text-decoration: underline;
}