.offer-tnc {
  display: block;
}

.subscription-plans.single-offer {
  margin: 0;
}

.subscription-plans.single-offer .col {
  margin: 0 auto;
}

#header .btn, .btn.fixed {
  box-shadow: rgba(0,0,0,.21) 0 9px 48px;
  margin-bottom: .5em;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  transition: opacity .21s linear;
  width: 100%;
  z-index: 100;
}

#header h1 {
  color: #fff;
  font-size: 3.5em;
  font-weight: 500;
  line-height: 1.1;
  padding-top: 0;
  margin: 0 auto .75em auto;
  max-width: 840px;
  text-shadow: rgba(42,45,54,1) 0 4px 18px;
}

.subscription-plans {
  padding-bottom: 30px;
}

.subscription-plans h4 {
  font-weight: 700;
  font-size: 34px;
  color: #fff;
  margin-bottom: 5px;
  position: relative;
  z-index: 100;
}

.subscription-plans h3 {
  font-size: 1.6em;
  position: relative;
  z-index: 100;
  margin: 0;
  color: #a9a9a9;
}

.subscription-plans .card {
  background-color: #373d4c;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.subscription-plans .card-content {
  padding: 50px 0 10% 0;
  transition: background .21s ease-in-out;
}

.grid-3.subscription-plans .card-content p,
.grid-4.subscription-plans .card-content p {
  position: relative;
  margin: 11px auto 10px auto;
  width: 100%;
  z-index: 100;
  font-style: italic;
}

.grid-3.subscription-plans .card-content p {
  margin: 11px auto 18px auto;
}

.subscription-plans .card-content::after {
  content: '';
  display: block;
  width: 120%;
  height: 600px;
  background: #414a5c;
  position: absolute;
  left: -10%;
  top: 0;
  transform: rotate(3.5deg) translate3d(0,240px,0);
  transition: transform .21s ease-in-out, background .21s ease-in-out;
}

.subscription-plans .card:hover .card-content::after {
  transform: rotate(3.5deg) translate3d(0,-100px,0);
  transition: transform .21s ease-in-out, background .21s ease-in-out;
}

.subscription-plans span.badge {
  padding: 10px 16px;
  border-radius: 100px;
  font-size: 13px;
  background: #828da8; /* #98f0b3 */
  color: #2b2e37;
  position: relative;
  display: block;
  z-index: 100;
  width: 86px;
  text-align: center;
  margin: 15px auto 5px auto;
}

.subscription-plans .card-content a.btn {
  margin-top: 40px;
  width: 70% !important;
  transition: opacity .21s linear, width .21s ease-in-out !important;
}

.subscription-plans .card:hover .card-content a.btn {
  width: 80% !important;
}

span.badge.best-seller {
  position: absolute;
  width: 180px;
  background: #fff200;
  border-radius: 0;
  padding: 10px 0;
  top: 19px;
  left: -55px;
  margin: 0;
  transform: rotate(-45deg);
}

span.badge.best-seller2 {
  position: absolute;
  top: -210px;
  width: 240px;
  height: 240px;
  border-radius: 100%;
  left: 0;
  right: 0;
  padding: 210px 0 0 0;
  background: #fff200;
}

span.badge.best-seller3 {
  position: absolute;
  top: 10px;
  width: 104px;
  border-radius: 5px;
  left: 0;
  right: 0;
  padding: 5px 0;
  background: #2b2e37;
  color: #fff200;
  font-size: 11px;
  border: 1px solid #fff200;
}

span.badge.best-seller4 {
  position: absolute;
  top: -10px;
  width: 80px;
  height: 80px;
  border-radius: 100px;
  margin: 0;
  right: -10px;
  padding-top: 28px;
  background: #fff200;
  color: #1f2029;
  font-size: 11px;
  transform: rotate(45deg);
}

.col.best-value-offer {
  position: relative;
}

span.badge.most-popular-plan {
  position: absolute;
  width: 150px;
  padding: 15px 0;
  top: -21px;
  left: 0;
  right: 0;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
  margin: 0 auto;
  background: #fbed20;
}

span.badge.most-popular-plan::after {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #fbed20;
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

/*@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}
*/

.bounce {
  -moz-animation: bounce 2s infinite;
  -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite;
}

.col.best-value-offer {
  position: relative;
}

#site-sections.subscription-plans-wrap {
  padding-top: 60px;
}

#site-sections.subscription-plans-wrap h3 {
  margin-bottom: .3em;
}

.grid-4.subscription-plans .card-content a.btn {
  font-size: 17px;
}

.grid.grid-4.padded.subscription-plans  .col {
  padding-left: 5px;
  padding-right: 5px;
}

.grid-4.subscription-plans .card-content::after {
  transform: rotate(3.5deg) translate3d(0,214px,0);
}

.grid-4.subscription-plans h4 {
  font-size: 26px;
}

.grid-4.subscription-plans h3 {
  font-size: 20px;
}

.grid-4.subscription-plans span.badge {
  padding: 6px 0;
  width: 80px;
}

.grid-4.subscription-plans .card-content {
  padding: 50px 0 8% 0;
}

#mast-art .art .screen {
  background: linear-gradient(180deg, rgba(42,45,54,.9) 0%, rgba(42,45,54,1) 81%, rgba(42,45,54,1) 100%);
}


/* -- Payment Gateway fields CSS -- */
.field {
  margin-bottom: 10px;
  font-weight: 700;
}
.payment-btn {
  position: absolute;
  left: -9999px;
}
.payment-btn + label {
  display: block;
  padding: 10px;
  background: #3f4552;
  border: 1px solid #383d49;
  color: #fff;
  /* font-family: sans-serif; */
  /* font-size: 15px; */
  font-size: 1.125em;
  cursor: pointer;
  text-align: left;
}
.payment-btn + label::before {
  display: inline-block;
  content: "";
  height: 30px;
  width: 30px;
  margin: 0 10px 0;
  background: #2a2d36;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(37, 41, 50, 0.25);
  line-height: 34px;
  text-align: center;
  vertical-align: middle;
  transition: all 0.3s ease-in-out;
}
.payment-btn:checked + label::before {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 28" height="15" width="20"><path fill="rgb(255,255,255)" d="M33.9,6.6l-18,18.4c-0.5,0.5-1.1,0.7-1.8,0.7c-0.7,0-1.3-0.3-1.8-0.7l-8.2-8.3c-1-1-0.9-2.6,0-3.5c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l6.4,6.5L30.3,3.1c1-1,2.5-1,3.5,0C34.8,4,34.8,5.6,33.9,6.6z"/></svg>');
  background: #2bc5b4;
  box-shadow: none;
}
.payment-btn:first-of-type + label {
  border-radius: 10px 10px 0 0;
}
.payment-btn:last-of-type + label {
  border-radius: 0 0 10px 10px;
}
.payment-btn--alt + label {
  background: #53d5c6;
  border-color: #3fcdbe;
}
.payment-btn--alt + label::before {
  background: #27bead;
}
.payment-btn--alt:checked + label::before {
  content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 28" height="15" width="20"><path fill="rgb(43,197,180)" d="M33.9,6.6l-18,18.4c-0.5,0.5-1.1,0.7-1.8,0.7c-0.7,0-1.3-0.3-1.8-0.7l-8.2-8.3c-1-1-0.9-2.6,0-3.5c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l6.4,6.5L30.3,3.1c1-1,2.5-1,3.5,0C34.8,4,34.8,5.6,33.9,6.6z"/></svg>');
  background: #fff;
}



/*-- Stripe modal styling -- */

#stripe-modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width:  100vw;
    height: 100vh;
    
    z-index: 1001;
}

#stripe-modal-background {
    top: 0;
    left: 0;
    position: absolute;
    width:  100vw;
    height: 100vh;
    background:  rgba(0,0,0, .5);
    cursor:  pointer;
}

#stripe-modal {
    position: absolute;
    top:  80px;
    left:  50%;
    transform:  translateX(-50%);
    background: #F6F6F6;
    box-shadow: 0px 3px 30px #00000029;
    border-radius: 10px;
    max-height:  85vh;
    overflow-y:  scroll;
}

#stripe-modal-content {
    /* padding-top:  20px; */
    padding: 20px;
}

#stripe-modal-header {
  padding: 20px 20px 0px 20px;
  margin: 0px;
}

#stripe-modal-header .heading{
  padding: 10px;
  color: #000000;
  text-align:  left;
  font-size: 2em;
  margin: 0px;
  font-weight:  700;
}
#stripe-modal-header .subtitle{
  padding: 10px;
  color: #000000;
  text-align:  left;
  font-size: 1em;
  margin: 0px;
  font-weight:  400;
}

#stripe-modal-error {
  color: #fff;
  background-color: #f3464a;
  padding: 5px;
  text-align: center;
  font-weight: 500;
  border-radius: 6px;
}


#stripe-modal-close {
    color: #3e3e3e;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
}

#stripe-modal .h3.form-title {
    color: #828DA8;
    letter-spacing: 2.1px;
    text-transform: uppercase;
    font-size:  10px;
    text-align:  left;
    line-height:  12px;
    margin-bottom:  23px;
    font-weight:  700;
}

#card-ctr {
    max-height:  100px;
    transition:  max-height .1s ease-in-out;
    overflow: hidden;
}

#card-ctr.hide {
    max-height:  0px;
}

/* Customize the label (the container) */
#check-ctr {
  display: flex;
  position: relative;
  padding-left: 45px;
  margin-bottom: 12px;
  font-size:  12px;
  line-height:  25px;
  cursor: pointer;
  color:  #A9A9A9;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  justify-self: center;
}

/* Hide the browser's default checkbox */
#check-ctr input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 50%;
  left: 0;
  transform:  translateY(-50%);
  line-height:  0;
}

#check-fill, #check-empty {
    width:  20px;
}

#check-fill{
    display: none;
}

#check-fill path {
    fill:  #2bc5b4;
}

/* When the checkbox is checked, add a green background */
#check-ctr input:checked ~ .checkmark #check-empty {
    display: none;
}

/* Show the checkmark when checked */
#check-ctr input:checked ~ .checkmark #check-fill {
  display: block;
}

/* Style the checkmark/indicator */
#check-ctr .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#stripe-modal .form-container {
    min-width: 547px;
    max-width:  547px;
}

#stripe-modal .form-item .field {
    padding:  12px 28px;
}

#stripe-modal .input-label {
    padding-top:  0;
    color: #3E3E3E;
    font-size:  14px;
    font-weight:  400;
}

#stripe-modal .country-note {
    font-size:  12px;
    color:  #A9A9A9;
    padding:  12px;
    text-align:  center;
    display: flex;
    flex-direction:  row;
    justify-content: center;
    align-items:  center;
}

#stripe-modal .country-note svg {
    display: inline-block;
    margin-right:  6px;
}

#stripe-modal .btns-ctr {
    display: flex;
    justify-content: space-between;
    flex-direction:  row-reverse;
}

#stripe-modal .btn {
    width:  48%;
}

#stripe-modal #zip-ctr,
#stripe-modal #state-ctr {
    display:  contents;
}

#stripe-modal .pay-btn {
    background:  #2bc5b4;
    color:  #fff;
}

#stripe-modal .pay-btn:disabled{
  background:  #b4b4b4;
  color:  #fff;
  cursor: not-allowed;
}

#stripe-modal .cancel-btn {
    background:  #3e3e3e;
    color:  #e3e3e3;
}

#stripe-modal #spinner-ctr {
    top: -1px;
    left: -1px;
    position: absolute;
    width:  calc(100% + 2px);
    height: calc(100% + 2px);
    background:  rgba(0,0,0, .5);
    border-radius:  10px;
}

@-webkit-keyframes spinning { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@-moz-keyframes spinning { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@-o-keyframes spinning { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes spinning { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.saavn-spinner-ctr { position: absolute; top: 50%; left:  50%; transform:  translate(-50%, -50%)}
.saavn-spinner { height: 50px; width: 50px; border: 6px solid rgba(43, 197, 180, .5); border-top-color: #2bc5b4; border-radius: 999px; -webkit-animation: spinning .3s linear infinite; -moz-animation: spinning .3s linear infinite; -o-animation: spinning .3s linear infinite; animation: spinning .3s linear infinite; transform: translate(-50%, -50%) }

.form-item .w-2 {
  width: 20%;
  padding-top:  12px;
}

.form-item .w-8 {
  width: 80%;
}

.form-container{
  min-width: 300px;
  max-width: 450px;
  padding: 20px;
}

.form-container .form-title {
  text-align: center;
  font-family: "Lato", sans-serif;
  font-weight: 400; 
}

.form-content {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    /* font-size: 17px; */
    background-color: #ffffff;
    color: #000000;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    border-radius: 4px;
    box-shadow: 0px 3px 20px #0000000D;
    /* box-shadow: 0 1px 3px  0 #2bc5b4,
    0 4px 6px 0 #27bead; */
}
input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
   color:rgba(62, 62, 62, .3);
   font-family: "Lato", sans-serif;
   font-weight: 400;
   font-size:  14px;
}
input::-moz-placeholder { /* Firefox 19+ */
  color:rgba(62, 62, 62, .3);
  font-size:  14px;
}
input:-ms-input-placeholder { /* IE 10+ */
  color:rgba(62, 62, 62, .3);
  font-size:  14px;
}
input:-moz-placeholder { /* Firefox 18- */

  color:rgba(62, 62, 62, .3);
  font-size:  14px;
}



.form-row {
  display: flex;
  flex-direction: row;
}

.form-item {
    width: 100%;
    display: inline-flex;
    border-bottom: 1px solid #f0f5fa;
    text-align: right;
}
.form-container .form-item:last-child {
  border:0px;
}

.form-item input, .form-item select {
  opacity: 1;
  box-shadow: none;
}

.form-item input:focus{
  box-shadow: inset 0px 1px 4px #53d5c6;
}

.input-label {
  padding: 10px 15px;
}

.form-item .field {
  width: 100%;
  border: none;
  padding: 10px 15px;
  height: 100%;
  margin: 0px;
}

.field:focus {
  outline: none;
}



@media (max-width: 800px) {
  .form-row{
    flex-direction: column;
  }
}

@media (max-width :300px){
  .form-container {
    width: 280px;
  }
}


/* -- Mobile -- */

@media (max-width: 768px) {

  .nav-toggle span:nth-child(3) {
    top: 35px;
  }

  .row #mast-art .art {
    background-image: none;
  }

  #mast-art .art .screen {
    background: none; 
  }

  #site-sections h3 {
    margin-bottom: .3em;
    margin-top: 100px;
  }

  #header h1 {
    color: #fff;
    font-size: 2.5em;
  }

  .subscription-plans {
    padding-top: 0;
    padding-bottom: 20px;
  }

  .grid.grid-3.padded.subscription-plans .col {
    padding-left: 5px;
    padding-right: 5px;
  }

  .grid-3.subscription-plans .card-content,
  .grid-4.subscription-plans .card-content
   {
    padding: 20px;
    text-align: left;
  }

  .grid-3.subscription-plans h3,
  .grid-4.subscription-plans h3 {
    margin: 0 !important;
    font-size: 1.2em;
  }
  
  .grid-3.subscription-plans h4, 
  .grid-4.subscription-plans h4 {
    font-weight: 700;
    font-size: 24px;
  }

  .subscription-plans span.badge {
    position: absolute;
    display: inline-block;
    z-index: 100;
    width: auto;
    margin: 0;
    right: 20px;
    top: 20px;
    padding: 6px 0;
    width: 80px;
  }

  .grid-3.subscription-plans .card-content a.btn,
  .grid-4.subscription-plans .card-content a.btn {
    margin-top: 20px;
    font-size: 20px !important;
  }

  .subscription-plans .card:hover .card-content a.btn {
    width: 100% !important;
  }

  span.badge.most-popular-plan {
    position: absolute;
    width: 114px;
    padding: 10px;
    top: -20px;
    left: 0;
    right: 0;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
    margin: 0 auto;
    background: #fbed20;
  }

  .subscription-plans .card .card-content a.btn {
    width: 100% !important;
  }

  .grid-3.subscription-plans .card-content::after,
  .grid-4.subscription-plans .card-content::after {
    content: '';
    display: block;
    width: 120%;
    height: 600px;
    background: #414a5c;
    position: absolute;
    left: -10%;
    top: -182px;
    transform: rotate(3.5deg) translate3d(0,304px,0);
    transition: transform .21s ease-in-out, background .21s ease-in-out;
  }

  .grid-3.subscription-plans .card-content p,
  .grid-4.subscription-plans .card-content p {
    right: 20px;
    width: 130px;
    top: 20px;
    font-size: 14px;
    position: absolute;
    text-align: right;
    margin: 0;
  }

  .subscription-plans-wrap .wrap {
    padding: 0;
  }

  .grid.padded {
    margin: -5px;
  }
  .field {
    margin-top: 15px;
    margin-bottom: 15px;
    width:80%;
    font-weight: 700;
  }
  .payment-btn {
    position: absolute;
    left: -9999px;
  }
  .payment-btn + label {
    display: block;
    padding: 10px;
    background: #3f4552;
    border: 1px solid #383d49;
    color: #fff;
    /* font-family: sans-serif; */
    /* font-size: 15px; */
    font-size: 1em;
    cursor: pointer;
    text-align: left;
  }
  .payment-btn + label::before {
    display: inline-block;
    content: "";
    height: 15px;
    width: 15px;
    margin: 0 10px 0;
    background: #2a2d36;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(37, 41, 50, 0.25);
    line-height: 10px;
    text-align: center;
    vertical-align: middle;
    transition: all 0.3s ease-in-out;
  }
  .payment-btn:checked + label::before {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 28" height="7" width="10"><path fill="rgb(255,255,255)" d="M33.9,6.6l-18,18.4c-0.5,0.5-1.1,0.7-1.8,0.7c-0.7,0-1.3-0.3-1.8-0.7l-8.2-8.3c-1-1-0.9-2.6,0-3.5c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l6.4,6.5L30.3,3.1c1-1,2.5-1,3.5,0C34.8,4,34.8,5.6,33.9,6.6z"/></svg>');
    background: #2bc5b4;
    box-shadow: none;
  }
  .payment-btn:first-of-type + label {
    border-radius: 10px 10px 0 0;
  }
  .payment-btn:last-of-type + label {
    border-radius: 0 0 10px 10px;
  }
  .payment-btn--alt + label {
    background: #53d5c6;
    border-color: #3fcdbe;
  }
  .payment-btn--alt + label::before {
    background: #27bead;
  }
  .payment-btn--alt:checked + label::before {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 28" height="7" width="10"><path fill="rgb(43,197,180)" d="M33.9,6.6l-18,18.4c-0.5,0.5-1.1,0.7-1.8,0.7c-0.7,0-1.3-0.3-1.8-0.7l-8.2-8.3c-1-1-0.9-2.6,0-3.5c0.5-0.5,1.1-0.7,1.8-0.7c0.7,0,1.3,0.3,1.8,0.7l6.4,6.5L30.3,3.1c1-1,2.5-1,3.5,0C34.8,4,34.8,5.6,33.9,6.6z"/></svg>');
    background: #fff;
  }

  #stripe-modal {
    top:  0;
    left:  0;
    border-radius: 0;
    border:  0;
    box-shadow:  none;
    transform:  unset;
    max-width: 100vw;
    max-height:  100vh;
    margin-top: 60px;
  }

  #stripe-modal-content {
    height:  100vh;
    overflow-y:  scroll;
  }

  #stripe-modal #pay-btn-ctr {
  }

  #stripe-modal .form-container {
    max-width: 100vw;
    min-width: 100%;
  }

  #stripe-modal .btns-ctr {
    display: block;
    box-shadow: none;
  }

  #stripe-modal .btn {
    width:  100%;
    margin-bottom:  10px;   
  }

  #stripe-modal .mobile-break {
    flex-direction:  column;
  }

  #stripe-modal #zip-ctr,
  #stripe-modal #state-ctr {
    display: inline-flex;
  }

  #stripe-modal .mobile-wide {
    width:  80%;
  }

  #card-label {
    display: none;
  }
}