#Master #Content #PromoHead {
  z-index: 3;
  width: 100%;
  position: relative;
  padding: 6.875vw 0 9vw;
  background: linear-gradient(180deg, #dcf0f9 0%, #e0e9f4 100%);
}
#Master #Content #PromoHead .w1610 {
  width: 83.875vw;
  margin: 0 auto;
  padding-top: 2.5vw;
  position: relative;
}
#Master #Content #PromoHead .crumb {
  display: flex;
  align-items: center;
}
#Master #Content #PromoHead .crumb .back {
  width: 2.75vw;
  display: flex;
  flex: 0 0 2.75vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  align-items: center;
  margin-right: .875vw;
  justify-content: center;
  background-color: #fff;
  box-shadow: 0 .25vw .75vw rgba(5, 79, 153, .12);
  transition: background-color .3s;
}
#Master #Content #PromoHead .crumb .back .img {
  width: auto;
  height: 36%;
  display: block;
}
#Master #Content #PromoHead .crumb .path {
  color: #054f99;
  font-size: 1vw;
  font-family: "Inter-Medium";
}
#Master #Content #PromoHead .crumb .path a {
  color: rgba(5, 79, 153, .65);
}
#Master #Content #PromoHead .crumb .path a:hover {
  color: #054f99;
}
#Master #Content #PromoHead .title {
  color: #054f99;
  margin: 1.25vw 0 0;
  font-size: 3vw;
  font-weight: 400;
  line-height: 3.5vw;
  font-family: "Inter-Bold";
}
@media screen and (min-width: 1025px) {
  #Master #Content #PromoHead .crumb .back:hover {
    background-color: #ffdc00;
  }
}

#Master #Content #PromoBody {
  z-index: 4;
  width: 100%;
  position: relative;
  margin-top: -5vw;
  padding: 0 0 5vw;
  background-color: transparent;
}
#Master #Content #PromoBody .bodyFill {
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  top: 5vw;
  position: absolute;
  background-color: #e0e9f4;
}
#Master #Content #PromoBody .w1610 {
  z-index: 2;
  width: 83.875vw;
  margin: 0 auto;
  display: grid;
  position: relative;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) 27.5vw;
  gap: 1.875vw;
}

#Master #Content #PromoBody .keyvisual {
  width: 100%;
  display: block;
  overflow: hidden;
  position: relative;

  aspect-ratio: 1200/564;
  border-radius: 1.25vw;
  background-color: #0169af;
  box-shadow: 0 1.25vw 2.5vw rgba(5, 79, 153, .18);
}
#Master #Content #PromoBody .keyvisual .img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

#Master #Content #PromoBody .panel {
  width: 100%;
  margin-top: 1.25vw;
  padding: 1.75vw 1.875vw;
  box-sizing: border-box;
  border-radius: 1.375vw;
  background-color: #fff;
  border: 1px solid #eef2f6;
  box-shadow: 0 .625vw 1.25vw rgba(64, 64, 64, .07);
}
#Master #Content #PromoBody .panel .panelhead {
  color: #054f99;
  font-size: 1.25vw;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody .panel .body {
  color: #000;
  font-size: .938vw;
  line-height: 1.625vw;
  margin-top: 1vw;
  text-wrap: pretty;
  font-family: "Inter-Regular";
}
#Master #Content #PromoBody .panel .body p {
  margin: 0 0 .75vw;
}
#Master #Content #PromoBody .panel .body p:last-child {
  margin-bottom: 0;
}
#Master #Content #PromoBody .panel .body ol {
  margin: .5vw 0 0;
  padding-left: 1.25vw;
}
#Master #Content #PromoBody .panel .body ol li {
  margin-bottom: .375vw;
  padding-left: .25vw;
}
#Master #Content #PromoBody .panel .body ol li:last-child {
  margin-bottom: 0;
}
#Master #Content #PromoBody .panel .sublabel {
  color: #054f99;
  font-size: 1vw;
  margin-top: 1.5vw;
  font-family: "Inter-SemiBold";
}

#Master #Content #PromoBody #HowItWorks {
  display: grid;
  margin-top: 1.125vw;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75vw 1.25vw;
}
#Master #Content #PromoBody #HowItWorks .step {
  display: flex;
  align-items: center;
  padding: .875vw 1.125vw;
  box-sizing: border-box;
  border-radius: .875vw;
  background-color: #f3f7fb;
}
#Master #Content #PromoBody #HowItWorks .step .num {
  width: 1.875vw;
  display: flex;
  color: #fff;
  flex: 0 0 1.875vw;
  aspect-ratio: 1/1;
  font-size: .813vw;
  border-radius: 50%;
  align-items: center;
  margin-right: .875vw;
  justify-content: center;
  background-color: #0169af;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody #HowItWorks .step .label {
  color: #000;
  font-size: .875vw;
  line-height: 1.25vw;
  font-family: "Inter-Medium";
}

#Master #Content #PromoBody .side {
  top: 7vw;
  position: sticky;
}
#Master #Content #PromoBody .side .panel {
  margin-top: 0;
  margin-bottom: 1.25vw;
}
#Master #Content #PromoBody .side .panel:last-child {
  margin-bottom: 0;
}
#Master #Content #PromoBody .side .eyebrow {
  color: #0169af;
  font-size: .813vw;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody .side .dealtitle {
  color: #000;
  margin: .625vw 0 0;
  font-size: 1.5vw;
  font-weight: 400;
  line-height: 2vw;
  text-wrap: pretty;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody .side .validity {
  display: inline-flex;
  align-items: center;
  margin-top: 1.125vw;
  padding: .563vw 1vw;
  border-radius: 1.25vw;
  background-color: #dcf0f9;
}
#Master #Content #PromoBody .side .validity .img {
  width: 1vw;
  margin-right: .563vw;
}
#Master #Content #PromoBody .side .validity .label {
  color: #054f99;
  font-size: .875vw;
  font-family: "Inter-SemiBold";
}
#Master #Content #PromoBody .side .rule {
  height: 1px;
  width: 100%;
  margin: 1.375vw 0;
  background-color: #e4e6e8;
}
#Master #Content #PromoBody .side .merchant {
  display: flex;
  align-items: center;
}
#Master #Content #PromoBody .side .merchant .badge {
  width: 3vw;
  display: flex;
  flex: 0 0 3vw;
  aspect-ratio: 1/1;
  align-items: center;
  border-radius: .75vw;
  margin-right: 1vw;
  justify-content: center;
  background-color: #dcf0f9;
}
#Master #Content #PromoBody .side .merchant .badge .icon {
  width: 1.375vw;
  height: 1.375vw;
  display: block;
  background-color: #054f99;
  -webkit-mask-image: var(--icon);
          mask-image: var(--icon);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
#Master #Content #PromoBody .side .merchant .caption {
  color: #737373;
  font-size: .813vw;
  font-family: "Inter-Regular";
}
#Master #Content #PromoBody .side .merchant .name {
  color: #000;
  font-size: 1vw;
  margin-top: .188vw;
  font-family: "Inter-SemiBold";
}

#Master #Content #PromoBody .side .quotahead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
#Master #Content #PromoBody .side .quotahead .label {
  color: #737373;
  font-size: .875vw;
  font-family: "Inter-Regular";
}
#Master #Content #PromoBody .side .quotahead .value {
  color: #054f99;
  font-size: .938vw;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody .side .track {
  width: 100%;
  height: .5vw;
  overflow: hidden;
  margin-top: .875vw;
  border-radius: .25vw;
  background-color: #dfe6ee;
}
#Master #Content #PromoBody .side .track .fill {
  height: 100%;
  display: block;
  border-radius: .25vw;
  background-color: #0169af;
  transition: width .6s ease;
}
#Master #Content #PromoBody .side .lowstock {
  color: #fe0100;
  font-size: .813vw;
  margin-top: .75vw;
  font-family: "Inter-Medium";
}

#Master #Content #PromoBody .side .claim {
  border: 0;
  outline: 0;
  width: 100%;
  color: #fff;
  height: 3.5vw;
  display: flex;
  cursor: pointer;
  font-size: 1.063vw;
  overflow: hidden;
  position: relative;
  align-items: center;
  border-radius: 1.75vw;
  box-sizing: border-box;
  justify-content: center;
  background-color: #0169af;
  font-family: "Inter-SemiBold";
  box-shadow: 0 .375vw 1vw rgba(1, 105, 175, .32);
}
#Master #Content #PromoBody .side .claim .ink {
  left: 50%;
  bottom: 0;
  width: 120%;
  z-index: 0;
  aspect-ratio: 1/1;
  position: absolute;
  border-radius: 50%;
  background-color: #054f99;
  transform: translate(-50%, 100%) scale(.2);
  transition: transform .5s ease;
}
#Master #Content #PromoBody .side .claim .label {
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 1025px) {
  #Master #Content #PromoBody .side .claim:hover .ink {
    transform: translate(-50%, 35%) scale(1);
  }
}
#Master #Content #PromoBody .side .claim.done {
  cursor: default;
  color: #054f99;
  background-color: #ffdc00;
  box-shadow: none;
}
#Master #Content #PromoBody .side .claim.done .ink {
  display: none;
}
#Master #Content #PromoBody .side .code {
  display: flex;
  margin-top: 1vw;
  align-items: center;
  padding: .875vw 1.125vw;
  border-radius: .875vw;
  justify-content: space-between;
  background-color: #f3f7fb;
  border: 1px dashed #0169af;
}
#Master #Content #PromoBody .side .code .caption {
  color: #737373;
  font-size: .75vw;
  font-family: "Inter-Regular";
}
#Master #Content #PromoBody .side .code .value {
  color: #054f99;
  font-size: 1.125vw;
  letter-spacing: .08em;
  font-family: "Inter-Bold";
}
#Master #Content #PromoBody .side .note {
  color: #737373;
  font-size: .75vw;
  margin-top: .875vw;
  line-height: 1.125vw;
  text-align: center;
  font-family: "Inter-Regular";
}

#Master #Content #MoreDeals {
  z-index: 4;
  width: 100%;
  position: relative;
  padding: 1vw 0 5vw;
  background-color: #e0e9f4;
}
#Master #Content #MoreDeals .w1610 {
  width: 83.875vw;
  margin: 0 auto;
}
#Master #Content #MoreDeals .w1610 .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#Master #Content #MoreDeals .w1610 .header .font32 {
  margin: 0;
  color: #054f99;
  font-size: 2vw;
  font-weight: 400;
  font-family: "Inter-Bold";
}
#Master #Content #MoreDeals .w1610 .header .all {
  display: inline-flex;
  align-items: center;
}
#Master #Content #MoreDeals .w1610 .header .all .label {
  color: #054f99;
  font-size: .938vw;
  font-family: "Inter-Medium";
  border-bottom: 1px solid #054f99;
}
#Master #Content #MoreDeals .w1610 .header .all .img {
  width: .938vw;
  margin-left: .625vw;
}
#Master #Content #MoreDeals .w1610 .cardrow {
  display: grid;
  margin-top: 1.875vw;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25vw;
}

#Master #Content #GolfBg {
  background-color: #e0e9f4;
}

#Master #Content #ClaimBar {
  display: none;
}

@media screen and (max-width: 1023px) {
  #Master #Content #PromoHead {
    padding: calc(23vw + 8px) 0 90px;
  }
  #Master #Content #PromoHead .w1610 { width: 89.333vw; padding-top: 18px; }
  #Master #Content #PromoHead .crumb .back { width: 40px; flex: 0 0 40px; margin-right: 12px; }
  #Master #Content #PromoHead .crumb .back .img { height: 15px; }
  #Master #Content #PromoHead .crumb .path { font-size: 15px; }
  #Master #Content #PromoHead .title { font-size: 34px; line-height: 40px; margin-top: 18px; }

  #Master #Content #PromoBody { margin-top: -50px; padding-bottom: 32px; }
  #Master #Content #PromoBody .bodyFill { top: 50px; }

  #Master #Content #PromoBody .w1610 {
    width: 89.333vw;
    display: flex;
    flex-direction: column;
  }
  #Master #Content #PromoBody .w1610 > div:first-of-type { display: contents; }
  #Master #Content #PromoBody .w1610 > div:first-of-type > .keyvisual { order: 0; }
  #Master #Content #PromoBody .w1610 > div:first-of-type > .panel { order: 2; }
  #Master #Content #PromoBody .side { order: 1; }
  #Master #Content #PromoBody .keyvisual { border-radius: 16px; }
  #Master #Content #PromoBody .panel {
    margin-top: 16px;
    padding: 20px 18px;
    border-radius: 18px;
  }
  #Master #Content #PromoBody .panel .panelhead { font-size: 18px; }
  #Master #Content #PromoBody .panel .body { font-size: 15px; line-height: 24px; margin-top: 12px; }
  #Master #Content #PromoBody .panel .body p { margin-bottom: 12px; }
  #Master #Content #PromoBody .panel .body ol { padding-left: 20px; margin-top: 8px; }
  #Master #Content #PromoBody .panel .body ol li { margin-bottom: 6px; }
  #Master #Content #PromoBody .panel .sublabel { font-size: 16px; margin-top: 20px; }

  #Master #Content #PromoBody #HowItWorks { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 14px; }
  #Master #Content #PromoBody #HowItWorks .step { padding: 12px 14px; border-radius: 12px; }
  #Master #Content #PromoBody #HowItWorks .step .num { width: 28px; flex: 0 0 28px; font-size: 13px; margin-right: 12px; }
  #Master #Content #PromoBody #HowItWorks .step .label { font-size: 14px; line-height: 20px; }

  #Master #Content #PromoBody .side { position: static; }
  #Master #Content #PromoBody .side .panel { margin-top: 16px; margin-bottom: 0; }
  #Master #Content #PromoBody .side .eyebrow { font-size: 12px; }
  #Master #Content #PromoBody .side .dealtitle { font-size: 22px; line-height: 29px; margin-top: 8px; }
  #Master #Content #PromoBody .side .validity { margin-top: 14px; padding: 8px 14px; border-radius: 18px; }
  #Master #Content #PromoBody .side .validity .img { width: 16px; margin-right: 8px; }
  #Master #Content #PromoBody .side .validity .label { font-size: 14px; }
  #Master #Content #PromoBody .side .rule { margin: 18px 0; }
  #Master #Content #PromoBody .side .merchant .badge { width: 46px; flex: 0 0 46px; border-radius: 12px; margin-right: 14px; }
  #Master #Content #PromoBody .side .merchant .badge .icon { width: 22px; height: 22px; }
  #Master #Content #PromoBody .side .merchant .caption { font-size: 13px; }
  #Master #Content #PromoBody .side .merchant .name { font-size: 16px; }
  #Master #Content #PromoBody .side .quotahead .label { font-size: 15px; }
  #Master #Content #PromoBody .side .quotahead .value { font-size: 15px; }
  #Master #Content #PromoBody .side .track { height: 8px; margin-top: 12px; border-radius: 4px; }
  #Master #Content #PromoBody .side .lowstock { font-size: 13px; margin-top: 10px; }

  #Master #Content #PromoBody .side .claimpanel { display: none; }

  #Master #Content #ClaimBar {
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    display: block;
    position: fixed;
    padding: 12px 5.333vw calc(12px + env(safe-area-inset-bottom));
    background-color: #fff;
    box-shadow: 0 -4px 20px rgba(5, 79, 153, .14);
  }
  #Master #Content #ClaimBar .claim {
    border: 0;
    outline: 0;
    width: 100%;
    color: #fff;
    height: 54px;
    display: flex;
    cursor: pointer;
    font-size: 17px;
    align-items: center;
    border-radius: 12px;
    justify-content: center;
    background-color: #0169af;
    font-family: "Inter-SemiBold";
  }
  #Master #Content #ClaimBar .claim.done {
    color: #054f99;
    background-color: #ffdc00;
  }
  #Master #Content #ClaimBar .code {
    display: flex;
    margin-top: 10px;
    align-items: center;
    padding: 10px 14px;
    border-radius: 12px;
    justify-content: space-between;
    background-color: #f3f7fb;
    border: 1px dashed #0169af;
  }
  #Master #Content #ClaimBar .code .caption { color: #737373; font-size: 12px; font-family: "Inter-Regular"; }
  #Master #Content #ClaimBar .code .value { color: #054f99; font-size: 18px; letter-spacing: .08em; font-family: "Inter-Bold"; }

  #Master #Content #MoreDeals { padding: 8px 0 40px; }

  #Master #Content #GolfBg { margin-bottom: calc(78px + env(safe-area-inset-bottom)); }
  #Master #Content #MoreDeals .w1610 { width: 89.333vw; }
  #Master #Content #MoreDeals .w1610 .header { display: block; }
  #Master #Content #MoreDeals .w1610 .header .font32 { font-size: 24px; }
  #Master #Content #MoreDeals .w1610 .header .all { margin-top: 12px; }
  #Master #Content #MoreDeals .w1610 .header .all .label { font-size: 14px; }
  #Master #Content #MoreDeals .w1610 .header .all .img { width: 14px; margin-left: 8px; }
  #Master #Content #MoreDeals .w1610 .cardrow { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 20px; }
}

#Master #Content #PromoBody .panel .body .about {
  white-space: pre-line;
}

#Master #Content #PromoBody .panel .body.richtext {
  overflow-wrap: anywhere;
}
#Master #Content #PromoBody .panel .body.richtext > :first-child {
  margin-top: 0;
}
#Master #Content #PromoBody .panel .body.richtext > :last-child {
  margin-bottom: 0;
}
#Master #Content #PromoBody .panel .body.richtext h1,
#Master #Content #PromoBody .panel .body.richtext h2,
#Master #Content #PromoBody .panel .body.richtext h3,
#Master #Content #PromoBody .panel .body.richtext h4,
#Master #Content #PromoBody .panel .body.richtext h5,
#Master #Content #PromoBody .panel .body.richtext h6 {
  color: #054f99;
  font-size: 1vw;
  font-weight: 400;
  line-height: 1.5vw;
  margin: 1.25vw 0 .5vw;
  font-family: "Inter-SemiBold";
}
#Master #Content #PromoBody .panel .body.richtext ul,
#Master #Content #PromoBody .panel .body.richtext ol {
  margin: .5vw 0 .75vw;
  padding-left: 1.25vw;
}
#Master #Content #PromoBody .panel .body.richtext ul { list-style: disc; }
#Master #Content #PromoBody .panel .body.richtext ol { list-style: decimal; }
#Master #Content #PromoBody .panel .body.richtext ul ul { list-style: circle; }
#Master #Content #PromoBody .panel .body.richtext ol ol { list-style: lower-alpha; }
#Master #Content #PromoBody .panel .body.richtext li > ul,
#Master #Content #PromoBody .panel .body.richtext li > ol {
  margin: .375vw 0 0;
}
#Master #Content #PromoBody .panel .body.richtext li {
  margin-bottom: .375vw;
  padding-left: .25vw;
}
#Master #Content #PromoBody .panel .body.richtext li:last-child {
  margin-bottom: 0;
}
#Master #Content #PromoBody .panel .body.richtext li > p {
  margin: 0;
}
#Master #Content #PromoBody .panel .body.richtext strong,
#Master #Content #PromoBody .panel .body.richtext b {
  font-family: "Inter-SemiBold";
}
#Master #Content #PromoBody .panel .body.richtext em,
#Master #Content #PromoBody .panel .body.richtext i {
  font-style: italic;
}
#Master #Content #PromoBody .panel .body.richtext u {
  text-decoration: underline;
}
#Master #Content #PromoBody .panel .body.richtext a {
  color: #0169af;
  text-decoration: underline;
}
#Master #Content #PromoBody .panel .body.richtext img {
  height: auto;
  max-width: 100%;
  border-radius: .5vw;
}
#Master #Content #PromoBody .panel .body.richtext hr {
  border: 0;
  height: 1px;
  margin: 1vw 0;
  background-color: #e4e6e8;
}
#Master #Content #PromoBody .panel .body.richtext blockquote {
  color: #737373;
  margin: .75vw 0;
  padding-left: 1vw;
  border-left: 3px solid #dcf0f9;
}
#Master #Content #PromoBody .panel .body.richtext table {
  width: 100%;
  margin: .75vw 0;
  display: block;
  overflow-x: auto;
  border-collapse: collapse;
}
#Master #Content #PromoBody .panel .body.richtext th,
#Master #Content #PromoBody .panel .body.richtext td {
  text-align: left;
  vertical-align: top;
  padding: .5vw .75vw;
  border: 1px solid #e4e6e8;
}
#Master #Content #PromoBody .panel .body.richtext th {
  color: #054f99;
  background-color: #f3f7fb;
  font-family: "Inter-SemiBold";
}

#Master #Content #PromoBody .side .merchant .badge.haslogo {
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #eef2f6;
  box-sizing: border-box;
}
#Master #Content #PromoBody .side .merchant .badge .logo {
  width: 80%;
  height: 80%;
  display: block;
  object-fit: contain;
}
#Master #Content #PromoBody .side .merchant .badge .initial {
  color: #054f99;
  font-size: 1.25vw;
  font-family: "Inter-Bold";
}

#Master #Content #PromoBody .side .claim,
#Master #Content #ClaimBar .claim {
  text-decoration: none;
}

@media screen and (max-width: 1023px) {
  #Master #Content #PromoBody .panel .body.richtext h1,
  #Master #Content #PromoBody .panel .body.richtext h2,
  #Master #Content #PromoBody .panel .body.richtext h3,
  #Master #Content #PromoBody .panel .body.richtext h4,
  #Master #Content #PromoBody .panel .body.richtext h5,
  #Master #Content #PromoBody .panel .body.richtext h6 { font-size: 16px; line-height: 24px; margin: 18px 0 8px; }
  #Master #Content #PromoBody .panel .body.richtext ul,
  #Master #Content #PromoBody .panel .body.richtext ol { padding-left: 20px; margin: 8px 0 12px; }
  #Master #Content #PromoBody .panel .body.richtext li > ul,
  #Master #Content #PromoBody .panel .body.richtext li > ol { margin-top: 6px; }
  #Master #Content #PromoBody .panel .body.richtext li { margin-bottom: 6px; }
  #Master #Content #PromoBody .panel .body.richtext img { border-radius: 8px; }
  #Master #Content #PromoBody .panel .body.richtext hr { margin: 16px 0; }
  #Master #Content #PromoBody .panel .body.richtext blockquote { margin: 12px 0; padding-left: 14px; }
  #Master #Content #PromoBody .panel .body.richtext table { margin: 12px 0; }
  #Master #Content #PromoBody .panel .body.richtext th,
  #Master #Content #PromoBody .panel .body.richtext td { padding: 8px 10px; }
  #Master #Content #PromoBody .side .merchant .badge .initial { font-size: 20px; }
}
