
:root {
  --color-grey-light: #f6f6f6;
  --color-grey-mid: #d2d8e0;
  --color-grey-dark: #333;
  --color-gold: #ebc781;
  --color-green: #daedb0;
  --color-blue-bright: #255be3;
  --color-blue-dark: #0f1632;
  --color-blue-mid: #056dae;
  --color-blue-light: #77BDF0;
  --color-topic-light: rgba(70,183,230,.25);
  --color-topic-dark: rgba(70,183,230,.5);
  --color-red: #b92026;
  --color-red-dark: #7b1315;
  --color-orange: #ec5529;
  --color-yellow-light: #ebc781;
  --color-yellow: #f8e77d;
  --color-yellow-dark: #fbd393;
  --color-pink: #f5ded8;
  --color-cream: #FFEFC6;
  --color-cream-dark: #fde3cb;
  --gradient-gold: linear-gradient(90deg, rgba(163,132,96,1) 0%, rgba(240,204,134,1) 17%);
  --gradient-gold-reverse: linear-gradient(90deg, rgba(240,204,134,1) 0%, rgba(163,132,96,1)87%);
  --gradient-orange: linear-gradient(to bottom, rgba(241,111,46,99), #ec5529);
}

body {
  color: var(--color-grey-dark);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'citi-sans-text',sans-serif;
}

h1 {
  font-size: 1.75rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.3;
}

h6 {
  font-weight: normal;
}

a,
a:hover,
a:focus,
a:visited {
  color: var(--color-blue-bright);
}

button {
  color: var(--color-blue-bright);
  background-color: transparent;
  border: none;
  font-weight: bold;
}

  button.open:before {
      content: 'Expand for more privileges'
  }

  button.open[aria-expanded=true]:before {
      content: 'Close'
  }

  button.showmore:before {
      content: 'Show more'
  }

  button.showmore[aria-expanded=true]:before {
      content: 'Show less'
  }

hr {
  border-bottom: solid 2px #fff;
}

select.form-control {
  border-radius: 3rem;
  appearance: none;
}


.bg-white {
  background-color: #fff;
}

.bg-red {
  background-color: var(--color-red);
}

.bg-gold {
  background-color: var(--color-gold);
}

.bg-blue-dark {
  background-color: var(--color-blue-dark)
}

.bg-blue-bright {
  background-color: var(--color-blue-bright);
  color: #fff;
}

.bg-blue-mid {
  background-color: var(--color-blue-mid);
}

.bg-blue-light {
  background-color: var(--color-blue-light);
}

.bg-grey {
  background-color: var(--color-grey-light);
}

.bg-grey-mid {
  background-color: var(--color-grey-mid);
}

.bg-green {
  background-color: var(--color-green);
}

.bg-yellow {
  background-color: var(--color-yellow);
}

.bg-orange {
  background-color: var(--color-orange);
}

.bg-pink {
  background-color: var(--color-pink);
  color: var(--color-grey-dark);
}

.bg-cream {
  background-color: var(--color-cream);
}

.text-22 {
  font-size: 1.375rem !important;
}

.text-red {
  color: var(--color-red) !important;
}

.text-blue {
  color: var(--color-blue-bright) !important;
}

.text-blue-mid {
  color: var(--color-blue-mid) !important;
}

.text-blue-light {
  color: var(--color-blue-light) !important;
}

.text-gold {
  color: var(--color-gold) !important;
}

.text-grey {
  color: var(--color-grey-dark) !important;
}

.text-dark {
  color: #000 !important;
}

.text-black-50.active {
  color: #000 !important;
}

.text-display {
  font-family: 'citi-sans-display',sans-serif;
}

.btn {
  border-radius: .5rem;
  padding: .5rem 1.5rem;
}

  .btn.round {
      border-radius: 3rem;
  }

  .btn.cta {
      background-color: var(--color-orange);
      background-image: var(--gradient-orange);
  }

  .btn,
  .btn:hover,
  .btn:focus,
  .btn:visited
  .btn.bg-blue-bright,
  .btn.bg-blue-bright:hover,
  .btn.bg-blue-bright:focus,
  .btn.bg-blue-bright:visited {
      color: #fff !important;
  }

.border-radius {
  border-radius: .5rem !important;
}

.border-radius-1rem {
  border-radius: 1rem !important;
}

.border-radius-2rem {
  border-radius: 2rem !important;
}

.cardface-cit-cashback-mastercard {
  margin: -80px auto 2rem;
  width: 200px;
  display: block;
}

hr.red {
  border-color: var(--color-red);
}

.underline {
  padding-bottom: 30px;
  position: relative;
}

  .underline:after {
      content: '';
      border-bottom: solid 1px;
      width: 80px;
      left: calc(50% - 40px);
      position: absolute;
      bottom: 0;
  }


.icon {
  height: 4rem;
}

.rounded {
  border-radius: 1rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 1rem !important;
  border-bottom-left-radius: 1rem !important;
}

.rounded-top {
  border-top-left-radius: 1rem !important;
  border-top-right-radius: 1rem !important;
}

.carousel-item img {
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}

.nav-tabs {
  border-bottom: none;
}

  .nav-tabs .nav-link {
      text-align: center;
      background-color: #fff;
      border: none;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      height: 100%;
      font-size: .9rem;
      color: var(--color-grey-dark);
      border-bottom: solid 4px #fff;
      height: 4rem;
      align-content: center;
      display: grid;
  }

      .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
          color: #495057;
          background-color: #fff;
          border-color: unset;
          text-align: center;
          color: var(--color-blue-bright);
          font-weight: bold;
          border-bottom: solid 4px var(--color-blue-bright);
      }

.scrollwindow {
  width: 100%;
  overflow-x: scroll;
  display: block;
  padding-bottom: 1rem;
}

.carousel .scrollcontent {
  width: 1315px;
  display: block;
}

.scrollcontent {
  width: 150vw;
  display: block;
}

#scrollpointstabs .scroll-tab {
  width: 50vw;
}

#banner {
  position: relative;
}

#banner-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: calc(50vw - 52px);
  display: block;
}

#banner h1 {
  line-height: 1
}

#banner p {
  font-size: 1.4rem;
  line-height: 1;
}

.cmb-indicator {
  width: 216px;
  height: 74px;
  display: inline-block;
  margin-bottom: 4px;
}

.screen {
  overflow: hidden;
}

.accordian-header {
  background-color: #fff;
  color: var(--color-blue-bright);
  border-bottom: solid 1px var(--color-grey-mid);
  width: 100%;
  display: inline-block;
  position: relative;
}

  .accordian-header:after {
      content: '\005E';
      position: absolute;
      top: .5rem;
      right: .5rem;
  }

  .accordian-header:hover,
  .accordian-header.active,
  .accordian-header[aria-expanded ="true"] {
      background-color: #fff;
      color: var(--color-blue-bright);
      border-bottom: solid 1px var(--color-blue-bright);
  }

      .accordian-header[aria-expanded ="true"]:after {
          transform: scaleY(-1);
      }

#banner-sticky {
  background-image: url('../img/bg-banner-sticky.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

  #banner-sticky .cta {
      width: 100%;
  }

  #banner-sticky.stuck {
      position: fixed;
      bottom: 0;
      left: 0;
      margin-left: 0;
      margin-right: 0;
      width: 100%;
      display: block;
  }


.fix-size-block {
  background-color: #fff;
  color: var(--color-grey-dark);
  padding: 1rem;
  line-height: 1.2;
  border-bottom: solid 1px var(--color-grey-light);
  position: relative;
}

  .fix-size-block .discount {
      color: var(--color-blue-bright);
      font-size: 1.2rem;
      font-family: 'citi-sans-display',sans-serif;
      font-weight: 700;
      text-align: right;
      width: 100%;
      display: block;
  }

  .fix-size-block.first {
      border-radius: .5rem .5rem 0 0;
  }

  .fix-size-block.single {
      border-radius: .5rem .5rem;
      color: var(--color-blue-bright);
      font-family: 'citi-sans-display',sans-serif;
      font-weight: 700;
  }

      .fix-size-block.single .discount {
          color: var(--color-orange);
      }

  .fix-size-block.last {
      margin-bottom: 3rem;
      border-radius: 0 0 .5rem .5rem;
  }


      .fix-size-block.last:after {
          
          position:absolute;
          content: '\25B6';
          top: calc(100% + .5rem);
          right: unset;
          left: calc(50% - 0.5rem);
          width: .5rem;
          height: .5rem;
          color: var(--color-orange);
          background-color: transparent;
          font-size: 2rem;
          line-height: 1rem;
          transform: rotate(90deg);
      }

  .fix-size-block.single:after {
      display: none;
  }

@media (min-width: 576px) {
  .cardface {
      width: 319px;
      height: 204px;
      margin-top: -100px;
  }

  .scrollwindow {
      width: calc(540px - 30px);
  }

  .scrollcontent {
      width: 700px;
      display: block;
  }

  h1, h2 {
      font-size: 2.5rem;
  }

  #banner-text {
      padding-top: calc(30vw - 52px);
      display: block;
  }

  .cardface-cit-cashback-mastercard {
      margin: -80px auto 2rem;
      width: 300px;
  }
}


@media (min-width: 768px) {
  h3 {
      font-size: 1.75rem;
  }

  h1, h2 {
      font-size: 2rem;
  }

  #banner h1 {
      font-size: 3rem;
  }

  #banner p {
      font-size: 1.6rem;
  }

  .nav-tabs .nav-link {
      font-size: 1.2rem;
  }


  .scrollwindow {
      width: unset;
      overflow: unset;
  }

  .carousel .scrollcontent,
  .scrollcontent {
      width: unset;
  }

  .scroll-tab {
      width: 33.33% !important;
  }

  .accordian-header {
      background-color: #f6f6f6;
      color: #333;
      border-bottom: solid 4px #f6f6f6;
  }

      .accordian-header:after {
          display: none;
      }

      .accordian-header:hover,
      .accordian-header.active,
      .accordian-header[aria-expanded ="true"] {
          background-color: #fff;
          color: var(--color-blue-bright);
          border-bottom: solid 4px var(--color-blue-bright);
          box-shadow: 1px 0px 10px #666;
          border-radius: 4px 4px 0 0;
      }
}


@media (min-width: 992px) {
  #banner-text {
      padding-top: calc(16vw - 52px);
      display: block;
  }

  .cardface-cit-cashback-mastercard {
      margin: -50px auto 2rem;
      width: 230px;
  }

  .fix-size-block {
      width: 20.50% !important;
      float: left;
      height: 200px;
      font-size: 1.2rem;
  }

      .fix-size-block:after {
          content: '';
          display: block;
          position: absolute;
          top: 20px;
          right: 0;
          width: 1px;
          height: 160px;
          background-color: var(--color-grey-mid);
      }

      .fix-size-block .discount {
          font-size: 1.8rem;
      }


      .fix-size-block.four {
          width: 30.35% !important;
      }

          .fix-size-block.single,
          .fix-size-block.four.single {
              width: 17.5% !important;
          }

      .fix-size-block > .row {
          height: 100% !important;
      } 
      .fix-size-block.single {
          float: right;
          text-align: right;
      }

      .fix-size-block.first {
          border-radius: .5rem 0 0 .5rem;
      }

      .fix-size-block.last {
          border-radius: 0 .5rem .5rem 0;
          margin-bottom: 0;
      }

          .fix-size-block.last:after {
              top: calc(50% - .5rem);
              left: calc(100% + 1rem);
              transform: none;
          }
}

@media (min-width: 1200px) {

  #banner h1 {
      font-size: 60px;
      font-weight: 700;
  }

  #banner p {
      font-size: 18px;
  }
   
}

@media (min-width: 1500px) {
}
