@charset "UTF-8";
/*------------------------------------*\
              ¡VIV FONTS
\*------------------------------------*/
@font-face {
  font-family: 'archer_medium';
  src: url("../../fonts/Archer-Medium.woff2") format("woff2"), url("../../fonts/Archer-Medium.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'archer_semibold';
  src: url("../../fonts/Archer-Semibold.woff2") format("woff2"), url("../../fonts/Archer-Semibold.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

.raleway-200 {
  font-weight: 200; }

.raleway-500 {
  font-weight: 500; }

/*------------------------------------*\
              ¡VIV COLORS
\*------------------------------------*/
/*------------------------------------*\
            ¡VIV BUTTONS
\*------------------------------------*/
.btn {
  border-radius: 2rem;
  font-weight: 700;
  letter-spacing: .2em;
  padding: .5em 0;
  text-transform: uppercase; }
  .btn svg {
    margin-left: 5px; }
  .btn.btn-sm, .btn-group-sm > .btn {
    font-size: .75rem;
    padding: 1em 2.75em; }
  .btn:focus {
    box-shadow: none; }
.btn.viv-primary {
  color: var(--text-over-primary);
  background: linear-gradient(to right, var(--gradient1), var(--gradient2));
  border-color: transparent; }
  .btn.viv-primary:hover {
    color: var(--text-over-primary);
    background-color: linear-gradient(to right, var(--gradient1), var(--gradient2));
    border-color: transparent; }

.viv-outline-primary {
  background: transparent;
  border: solid 1px var(--primary);
  color: var(--primary); }
  .viv-outline-primary:hover {
    color: var(--primary); }
  .viv-outline-primary span {
    margin-left: -22px;
    visibility: hidden; }
  .viv-outline-primary.is-selected {
    color: var(--text-over-primary);
    background: linear-gradient(to right, var(--gradient1), var(--gradient2)); }
    .viv-outline-primary.is-selected span {
      margin-left: 0;
      visibility: visible; }

.viv-outline-gray-700 {
  background: transparent;
  border: solid 1px var(--gray);
  color: var(--gray); }
  .viv-outline-gray-700:hover {
    color: var(--gray); }

/*------------------------------------*\
            ¡VIV LINKS
\*------------------------------------*/
.link {
  background: none;
  font-weight: 500; }
  .link.viv-primary {
    color: var(--primary); }

/*------------------------------------*\
            ¡VIV DROPDOWNS
\*------------------------------------*/
.dropdown .viv-outline-gray-700::after {
  background: url("/flex/icons/chevron-down.svg") no-repeat top right;
  border: none;
  height: 9px;
  margin-left: .75em;
  vertical-align: -.1em;
  width: 15px; }

/*------------------------------------*\
            ¡VIV CARDS
\*------------------------------------*/
.card {
  border-radius: 10px; }

.card-top {
  align-items: center;
  display: flex;
  padding-bottom: 15px; }
  .card-top .card-title {
    color: var(--gray-dark);
    display: inline-block;
    font-family: var(--label-font);
    font-size: 1.5rem;
    margin-bottom: 0; }
    .card-top .card-title.viv-primary {
      color: var(--primary); }
    @media (max-width: 991.98px) {
      .card-top .card-title {
        font-size: 1.2rem; } }
  .card-top .action-group {
    display: flex;
    grid-gap: 1em;}

/*------------------------------------*\
            ¡VIV UTILITIES
\*------------------------------------*/
.container-fluid {
  max-width: 1235px; }
  @media (max-width: 575.98px) {
    .container-fluid {
      padding-left: 5px;
      padding-right: 5px; } }
  @media (max-width: 575.98px) {
    .container-fluid .row {
      margin-left: -5px;
      margin-right: -5px; } }

@media (max-width: 575.98px) {
  [class*="col-"] {
    padding-left: 5px;
    padding-right: 5px; } }

/*------------------------------------*\
            ¡VIV BASE
\*------------------------------------*/
html {
  height: 100%; }

body {
  background: var(--gray-light);
  font-family: var(--body-font);
  height: 100%; }

.logo {
  background: url("../icons/logo.svg") no-repeat top right;
  background-size: contain;
  height: 58px;
  width: 260px; }
@media (max-width: 767.98px) {
  .logo {
    background-position-x: left;
    max-height: 45px;
    max-width: 200px; } 
  }

.logo.label-viv-st {
  background: url("../../viv-st/img/viv-st-header-logo.png");
  height: 56px;
  width: 355px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-st {
    background-size: 100% auto;
    height: 56px;
    width: 355px; 
    background-size:cover;
    margin-left:1%; } } 

.logo.label-viv-iim {
  background: url("../../viv-iim/img/viv-iim-header-logo.png");
  height: 56px;
  width: 269px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-iim {
    background-size: 100% auto;
    height: 56px;
    width: 269px; 
    background-size:cover;
    margin-left:1%; } } 
      
.logo.label-viv-ua {
  background: url("../../viv-ua/img/viv-ua-header-logo.png");
  height: 56px;
  width: 204px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-ua {
    background-size: 100% auto;
    height: 56px;
    width: 204px; 
    background-size:cover;
    margin-left:1%; } }   
  
.logo.label-viv-cityinfo {
  background: url("../../viv-cityinfo/img/viv-cityinfo-header-logo.png");
  height: 56px;
  width: 250px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-cityinfo {
    background-size: 100% auto;
    height: 56px;
    width: 250px; 
    background-size:cover;
    margin-left:1%; } } 

.logo.label-viv-pulsepower {
  background: url("../../viv-pulsepower/img/viv-pulsepower-header-logo.png");
  height: 56px;
  width: 201.75px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-pulsepower {
    background-size: 100% auto;
    height: 56px;
    width: 201.75px; 
    background-size:cover;
    margin-left:1%; } }

.logo.label-viv-energytogo {
  background: url("../../viv-energytogo/img/viv-energytogo-header-logo.png");
  height: 56px;
  width: 201.75px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-energytogo {
    background-size: 100% auto;
    height: 56px;
    width: 201.75px; 
    background-size:cover;
    margin-left:1%; } }

.logo.label-viv-newpowertexas {
  background: url("../../viv-newpowertexas/img/viv-newpowertexas-header-logo.png");
  height: 56px;
  width: 201.75px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-newpowertexas {
    background-size: 100% auto;
    height: 56px;
    width: 201.75px; 
    background-size:cover;
    margin-left:1%; } }

.logo.label-viv-powernext {
  background: url("../../viv-powernext/img/viv-powernext-header-logo.png");
  height: 56px;
  width: 201.75px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-powernext {
    background-size: 100% auto;
    height: 56px;
    width: 201.75px; 
    background-size:cover;
    margin-left:1%; } }

.logo.label-viv-lonestarenergy {
  background: url("../../viv-lonestarenergy/img/viv-lonestarenergy-header-logo.png");
  height: 56px;
  width: 201.75px; 
  background-size:cover;
  margin-left:10%; }
@media (max-width: 767.98px) {
  .logo.label-viv-lonestarenergy {
    background-size: 100% auto;
    height: 56px;
    width: 201.75px; 
    background-size:cover;
    margin-left:1%; } } 

/*------------------------------------*\
            ¡VIV OVERLAY
\*------------------------------------*/
.overlay-wrap {
  background: linear-gradient(40deg, var(--gradient7), var(--gradient8));
  bottom: 0;
  display: flex;
  height: 100vh;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100vw;
  z-index: 1; }

.overlay {
  align-items: center;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
  width: 100%; }
  .overlay .action-group {
    display: flex; }
    @media (max-width: 767.98px) {
      .overlay .action-group {
        flex-direction: column; } }
    .overlay .action-group .section-left,
    .overlay .action-group .section-right {
      display: flex;
      min-width: 350px; }
      @media (max-width: 767.98px) {
        .overlay .action-group .section-left,
        .overlay .action-group .section-right {
          justify-content: center;
          max-width: 350px;
          min-width: auto;
          width: 100%; } }
    .overlay .action-group .section-left {
      justify-content: flex-end; }
      @media (max-width: 767.98px) {
        .overlay .action-group .section-left {
          justify-content: center; } }
    .overlay .action-group .btn {
      margin: 0 5px; }
      @media (max-width: 767.98px) {
        .overlay .action-group .btn {
          margin: 5px 0; } }

.card-wrap {
  display: flex;
  margin-bottom: 10px; }
  @media (max-width: 767.98px) {
    .card-wrap {
      flex-direction: column; } }
  .card-wrap .card {
    margin: 0 10px;
    min-width: 350px; }
    @media (max-width: 767.98px) {
      .card-wrap .card {
        margin: 10px 0;
        max-width: 350px;
        min-width: auto;
        width: 100%; } }
    .card-wrap .card .card-top {
      border-bottom: none;
      padding: 0; }
    .card-wrap .card .card-content {
      align-items: center;
      display: flex;
      justify-content: center; }

.location-wrap {
  cursor: pointer;
  position: relative; }
  .location-wrap .location {
    margin: 0 10px; }
  .location-wrap .stroke {
    stroke: var(--gray); }
  .location-wrap .path {
    fill: var(--gray); }
  .location-wrap .check {
    bottom: 0;
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
  .location-wrap.is-selected .stroke {
    stroke: var(--primary); }
  .location-wrap.is-selected .path {
    fill: var(--primary); }
  .location-wrap.is-selected .check {
    display: block; }

/*------------------------------------*\
            ¡VIV HEADER
\*------------------------------------*/
header {
  background: linear-gradient(150deg, var(--gradient3), var(--gradient4), var(--gradient5));
  font-size: .75rem;
  letter-spacing: .2em; }
  header .navbar {
    padding: 5px 20px; }
    @media (max-width: 767.98px) {
      header .navbar {
        padding-right: 6px; } }
        header .navbar .nav-link {
          color: var(--gray) !important; }
        header .navbar .navbar-toggler {
      border: none;
      margin-right: 17px; }

.header-top-section {
  background: linear-gradient(to right, var(--gradient3), var(--gradient4), var(--gradient5));
  color: var(--text-over-primary);
  display: flex;
  font-size: .6875rem;
  font-weight: 1000;
  justify-content: space-between;
  padding: 5px 28px; }
  @media (max-width: 767.98px) {
    .header-top-section {
      flex-direction: column; } }

.social-wrap {
  display: flex; }
  @media (max-width: 767.98px) {
    .social-wrap {
      justify-content: space-between;
      margin-bottom: 10px; } }

      .social-link {
        color: var(--text-over-primary);
        display: inline-block;
        font-size: .875rem;
  	font-weight: 1000;
        margin-right: 15px; }
        .social-link:hover {
          color: var(--text-over-primary); }
        @media (max-width: 767.98px) {
          .social-link {
            margin-right: 5px; } }
      
      .welcome-wrap {
        align-items: center;
        display: flex;
        position: relative; }
        @media (max-width: 767.98px) {
          .welcome-wrap {
            align-items: center;
            display: flex;
            justify-content: flex-end; } }
        .welcome-wrap .action-links {
          margin-right: 10px; }
          .welcome-wrap .action-links a {
            padding: 10px;
            text-decoration: none; }
      
.welcome {
  color: var(--text-over-primary);
  font-weight: 1000;
  margin: 0;
  padding-right: 60px;
  text-align: right;
  text-transform: uppercase; }
  @media (max-width: 767.98px) {
    .welcome {
      padding-right: 0; } }
  .welcome br {
    display: none; }
    @media (max-width: 767.98px) {
      .welcome br {
        display: block; } }

.avatar {
  border-radius: 100%;
  position: absolute;
  right: 0;
  top: 0; 
  height: 40px;
  width: 40px;
}
@media (max-width: 767.98px) {
  .avatar {
    position: static;
    margin-left: 10px;
    right: auto;
    top: auto;
    height: 40px;
    width: 40px;     
  } 
}

/*------------------------------------*\
            ¡VIV PROGRESS
\*------------------------------------*/
.viv-progress-wrap {
  margin: 30px auto 20px;
  max-width: 1084px;
  width: 100%; }
  .viv-progress-wrap .viv-progress {
    display: block;
    margin: 0 auto;
    max-width: 915px;
    width: 100%; }
  .viv-progress-wrap .viv-progress-labels {
    display: flex;
    justify-content: space-between; }
    .viv-progress-wrap .viv-progress-labels span {
      color: var(--gray);
      display: inline-block;
      font-size: .75rem;
      font-weight: 500;
      margin-top: 20px;
      text-transform: uppercase; }
      .viv-progress-wrap .viv-progress-labels span.in-progress {
        color: var(--primary); }

/*------------------------------------*\
            ¡VIV PRODUCTS
\*------------------------------------*/
@media (max-width: 575.98px) {
  .card-products .card-body {
    padding: 1rem 5px; } }
    .card-products .card-top {
      justify-content: space-between;
      margin-bottom: 15px; }
  @media (max-width: 991.98px) {
    .card-products .card-top {
      flex-direction: column; } }
  @media (max-width: 991.98px) {
    .card-products .card-top .card-title {
      text-align: center; } }
  @media (max-width: 991.98px) {
    .card-products .card-top .action-group {
      margin-top: 15px; } }
  @media (max-width: 575.98px) {
    .card-products .card-top .action-group {
      align-items: center;
      display: flex;
      flex-direction: column; } }
  .card-products .card-top .action-group .dropdown:last-child {
    margin-left: 8px; }
    @media (max-width: 575.98px) {
      .card-products .card-top .action-group .dropdown:last-child {
        margin-left: 0;
        margin-top: 10px; } }

.product-group-header {
  align-items: center;
  background: linear-gradient(to right, var(--gradient1), var(--gradient6));
  border-radius: 10px;
  color: var(--text-over-primary);
  display: flex;
  padding: 15px 25px; }
  @media (max-width: 575.98px) {
    .product-group-header {
      padding: 10px; } }
  .product-group-header .product-group-header-content {
    margin-left: 20px; }
    @media (max-width: 767.98px) {
      .product-group-header .product-group-header-content {
        display: flex;
        flex-direction: column; } }
    @media (max-width: 575.98px) {
      .product-group-header .product-group-header-content {
        margin-left: 15px; } }
  .product-group-header .icon {
    cursor: pointer;
    display: inline-block;
    transition: transform .5s;
    transform: rotate(0deg); }
    @media (max-width: 575.98px) {
      .product-group-header .icon {
        margin-left: 5px; } }
    .product-group-header .icon.is-open {
      transform: rotate(90deg); }
  .product-group-header .title {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase; }
  .product-group-header .type {
    font-weight: 200; }

    .product {
      padding: 15px 10px 5px 45px;
      margin-bottom: -1.5em;
      background-repeat: no-repeat;
      background-position: 8px 18px;
      background-size: 30px; }
      @media (max-width: 767.98px) {
        .product {
          background-position: 10px 30px; } }
      @media (max-width: 575.98px) {
        .product {
          background-image: none !important;
          padding: 8px; } }
      .product.default {
        background-position: 8px 55px;
        border: solid 1px var(--primary);
        border-radius: 10px;
        position: relative;
        padding-top: 50px; }
        .product.default .default-title {
          background: var(--primary);
          border-radius: 9px 9px 0 0;
          color: var(--yellow);
          padding: 10px;
          position: absolute;
          text-transform: uppercase;
          left: 0;
          top: 0;
          width: 100%; } 
  .product.auto-pilot {
    background-image: url("/flex/icons/auto-pilot.svg"); }
  .product.auto-pilot-other {
    background-image: url("/flex/icons/auto-pilot-other.svg"); }
  .product.auto-pilot-pest-control {
    background-image: url("/flex/icons/auto-pilot-pest-control.svg"); }
  .product.auto-pilot-water {
    background-image: url("/flex/icons/auto-pilot-water.svg"); }
  .product.auto-pilot-secure {
    background-image: url("/flex/icons/auto-pilot-secure-check.svg"); }
  .product.auto-pilot-bills {
      background-image: url("/flex/icons/auto-pilot-bills.svg"); }    
  .product.auto-pilot-cable {
      background-image: url("/flex/icons/auto-pilot-cable.svg"); }    
  .product.auto-pilot-internet {
      background-image: url("/flex/icons/auto-pilot-internet.svg"); }    
  .product.auto-pilot-phone {
      background-image: url("/flex/icons/auto-pilot-phone.svg"); }    
  .product.auto-pilot-satellite {
      background-image: url("/flex/icons/auto-pilot-satellite.svg"); }    
  .product.cloud-cache {
    background-image: url("/flex/icons/cloud-cache.svg"); }
  .product.con-seal {
    background-image: url("/flex/icons/con-seal.svg"); }
  .product.credit-watch {
    background-image: url("/flex/icons/credit-watch.svg"); }
  .product.medi-call {
    background-image: url("/flex/icons/medi-call.svg"); }
  .product.road-aide {
    background-image: url("/flex/icons/road-aide.svg"); }
  .product.tech-rescue {
    background-image: url("/flex/icons/tech-rescue.svg"); }
  .product.get-away {
    background-image: url("/flex/icons/get-away.svg"); }
  .product.out-reach {
      background-image: url("/flex/icons/out-reach.svg"); }    
  .product.air-water {
    background-image: url("/flex/icons/air-water.svg"); }
  .product.home-consult {
    background-image: url("/flex/icons/home-consult.svg"); }
  .product.viv-consult {
    background-image: url("/flex/icons/viv-consult.svg"); }
  .product.viv-affiliate {
      background-image: url("/flex/icons/viv-affiliate.svg"); }   
  .product.viv-fundraiser {
    background-image: url("/flex/icons/viv-fundraiser.svg"); }     
  .product.viv-pro {
      background-image: url("/flex/icons/viv-pro.svg"); }    
  .product.my-deals {
    background-image: url("/flex/icons/home-consult.svg"); /* TODO: Icon for My Deals */ }
  .product.solar {
      background-image: url("/flex/icons/solar.svg"); }
  .product.auto-pilot-gas {
    background-image: url("/flex/icons/auto-pilot-gas.svg"); }
  .product.commercial {
    background-image: url("/flex/icons/commercial.svg"); }
  .product.merchant-processing {
    background-image: url("/flex/icons/merchant-processing.svg"); }
  .product.erc-audit {
    background-image: url("/flex/icons/erc-audit.svg"); }
  .product.bill-audit {
    background-image: url("/flex/icons/bill-audit.svg"); }
  .product.insurance {
    background-image: url("/flex/icons/insurance.svg"); }
    .product.energy-efficiency {
      background-image: url("/flex/icons/energy-efficiency.svg"); }
    .product.has-border {
    border: solid 1px var(--primary);
    border-radius: 10px; }

    .product-info {
      align-items: center;
      display: flex;
      justify-content: space-between;
      margin-bottom: 10px; }
      @media (max-width: 575.98px) {
        .product-info {
          flex-direction: column; } }
      .product-info .product-info-left {
        display: flex;
        flex-direction: column; }
        @media (max-width: 575.98px) {
          .product-info .product-info-left {
            align-items: flex-start;
            width: 100%; } }
      @media (max-width: 767.98px) {
        .product-info .product-info-right {
          align-items: flex-end;
          display: flex;
          flex-direction: column; } }
      @media (max-width: 575.98px) {
        .product-info .product-info-right {
          align-items: center;
          flex-direction: row;
          justify-content: space-between;
          margin-top: 10px;
          width: 100%; } }
      .product-info .title {
        color: var(--gray-dark);
        font-family: var(--label-font);
        font-size: 1.6rem; }
        @media (max-width: 767.98px) {
          .product-info .title {
            font-size: 1.4rem; } }
        @media (max-width: 575.98px) {
          .product-info .title {
            font-size: 1.6rem;
            line-height: 1.6rem; } }
  .product-info .type {
    color: var(--gray);
    font-family: var(--body-font);
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase; }
    @media (max-width: 767.98px) {
      .product-info .type {
        margin-left: 0; 
        margin-right: 5px; } }
  .product-info .icon {
    cursor: pointer;
    display: inline-block;
    margin-left: 5px;
    transition: transform .5s;
    transform: rotate(0deg); }
    .product-info .icon.is-open {
      transform: rotate(90deg); }
  .product-info .price {
    color: var(--gray-dark);
    font-family: var(--label-font);
    font-size: 0.75rem;
    margin-right: 5px;
    vertical-align:middle; }
  .product-info .viv-outline-primary {
    cursor: pointer;
    padding: .5em 0;
    width: 132px; }

    .product-description .product-description-wrap {
      display: flex; }
      .product-description .product-description-wrap .img {
        display: block;
        height: 146px;
        margin: 0 10px 10px 0;
        width: 150px; }
      .product-description .product-description-wrap .product-description-content {
        display: flex;
        flex-direction: column; }
        .product-description .product-description-wrap .product-description-content .product-description-title {
          color: var(--gray-dark);
          font-family: var(--label-font);
          font-size: 1.4rem; }
        .product-description .product-description-wrap .product-description-content .paragraph {
          color: var(--gray);
          font-size: .75rem;
          line-height: 1.75em;
          margin-bottom: 0; }
          .product-description .product-description-wrap .product-description-content .paragraph .link {
            white-space: nowrap; }
.product-description .price {
  color: var(--gray-dark);
  display: block;
  font-family: var(--label-font);
  font-size: 1.25rem; }

/*
.product-group .product {
  border-bottom: solid 1px var(--gray-light); }
  .product-group .product:last-child {
    border-bottom: none; }
*/

#alert-existing-customer {
  border: 1px solid var(--gradient1);
  border-radius: 0.25rem;
  padding: 15px;
  margin-bottom: 1.5em;
}

/*------------------------------------*\
            ¡VIV CART SUMMARY
\*------------------------------------*/
.cart-summary .card-top {
  padding-bottom: 20px; }
  .cart-summary .card-top .card-title img {
    margin-right: 15px;
    position: relative;
    top: -2px; }
.cart-summary .card-content.is-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px 0; }
  .cart-summary .card-content.is-empty .paragraph {
    color: var(--gray);
    font-size: .75rem;
    font-weight: 600;
    margin: 10px 0;
    text-transform: uppercase; }
.cart-summary .product {
  background-position: 0 10px;
  background-size: 32px 32px;
  padding: 15px 0 0 40px; }
  @media (max-width: 575.98px) {
    .cart-summary .product {
      padding-left: 5px; } }
  .cart-summary .product:last-child {
    margin-bottom: 30px; }
.cart-summary .product-info {
  margin-bottom: 10px; }
  @media (max-width: 575.98px) {
    .cart-summary .product-info {
      flex-direction: row; } }
  .cart-summary .product-info .title {
    font-size: 1.125rem; }
  @media (max-width: 991.98px) {
    .cart-summary .product-info .product-info-right {
      flex-direction: row; } }
  @media (max-width: 575.98px) {
    .cart-summary .product-info .product-info-right {
      justify-content: flex-end;
      margin-top: 0; } }
  .cart-summary .product-info .price {
    color: var(--gray);
    font-family: var(--label-font);
    font-size: .9375rem;
    margin-right: 10px; }
  .cart-summary .product-info .trash {
    cursor: pointer; }
.cart-summary.order-summary .product-info .product-info-right {
  display: flex; }
.cart-summary.order-summary .product {
  background-position: 0 15px;
  background-size: 22px 22px;
  padding: 15px 0 0 25px; }
.cart-summary.order-summary .view-terms {
  color: var(--gray-dark);
  font-family: var(--label-font);
  text-decoration: underline; }
.cart-summary.order-summary .price {
  margin: 0 0 0 5px; }

.line-item {
  border-top: solid 1px var(--gray-light);
  display: flex;
  justify-content: space-between;
  padding: 12px 5px; }
  .line-item .title {
    color: var(--gray);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase; }
  .line-item .price {
    color: var(--gray-dark);
    font-family: var(--label-font);
    font-size: .9375rem; }
  .line-item.total .title {
    color: var(--gray-dark);
    font-family: var(--label-font);
    font-size: 1.5rem;
    letter-spacing: normal;
    text-transform: capitalize; }
  .line-item.total .price {
    font-size: 1.5rem; }
  .line-item:last-child {
    padding-bottom: 0; }

/*------------------------------------*\
            ¡VIV FORMS
\*------------------------------------*/
.form-control {
  background: transparent;
  border-radius: 20px; }

.label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: .1em;
  margin: 0 0 5px 10px;
  text-transform: uppercase; }

.input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px; }

.custom-control-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: .1em;
  margin: 0 0 0 10px;
  text-transform: uppercase; }

.custom-control-label::before {
  background: transparent; }

.custom-control-label::after {
  border: solid 1px var(--gray-light); }

.custom-radio .custom-control-label::after {
  border-radius: 100%; }

.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
.custom-control-input:checked ~ .custom-control-label::before {
  background: linear-gradient(to right, var(--gradient1), var(--gradient2)); }

.input-group-text {
  background: linear-gradient(to right, var(--gradient1), var(--gradient2));
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  color: var(--text-over-primary); }

.promo-code-input {
  padding-left:0px;
  color:var(--text-over-primary-inv);  
}

.custom-select {
  background: transparent; }

.custom-file-label {
  background: transparent;
  border-radius: 20px; }

.custom-file-label::after {
  background: linear-gradient(to right, var(--gradient1), var(--gradient2));
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  color: var(--text-over-primary); }

/*------------------------------------*\
            ¡ENROLLMENTS
\*------------------------------------*/
.enrollment-wrap {
  border-bottom: solid 1px var(--gray-light);
  padding: 20px 0; }
  .enrollment-wrap .title {
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 30px;
    color: var(--gray-dark);
    font-family: var(--label-font);
    font-size: 1.4rem;
    padding: 5px 0 5px 45px; }
    .enrollment-wrap .title.no-icon {
      padding-left: 0;
    }
    .enrollment-wrap .title.viv-primary {
      color: var(--primary);
      padding: 0; }
    .enrollment-wrap .title.auto-pilot {
      background-image: url("/flex/icons/auto-pilot.svg"); }
    .enrollment-wrap .title.auto-pilot-bills {
        background-image: url("/flex/icons/auto-pilot-bills.svg"); }      
    .enrollment-wrap .title.cloud-cache {
      background-image: url("/flex/icons/cloud-cache.svg"); }
    .enrollment-wrap .title.con-seal {
      background-image: url("/flex/icons/con-seal.svg"); }
    .enrollment-wrap .title.credit-watch {
      background-image: url("/flex/icons/credit-watch.svg"); }
    .enrollment-wrap .title.medi-call {
      background-image: url("/flex/icons/medi-call.svg"); }
    .enrollment-wrap .title.road-aide {
      background-image: url("/flex/icons/road-aide.svg"); }
    .enrollment-wrap .title.tech-rescue {
      background-image: url("/flex/icons/tech-rescue.svg"); }
    .enrollment-wrap .title.get-away {
      background-image: url("/flex/icons/get-away.svg"); }
    .enrollment-wrap .title.air-water {
      background-image: url("/flex/icons/air-water.svg"); }
    .enrollment-wrap .title.home-consult {
      background-image: url("/flex/icons/home-consult.svg"); }
    .enrollment-wrap .title.viv-consult {
      background-image: url("/flex/icons/viv-consult.svg"); }
    .enrollment-wrap .title.commercial {
      background-image: url("/flex/icons/commercial.svg"); }
    .enrollment-wrap .title.merchant-processing {
      background-image: url("/flex/icons/merchant-processing.svg"); }
    .enrollment-wrap .title.erc-audit {
      background-image: url("/flex/icons/erc-audit.svg"); }
    .enrollment-wrap .title.bill-audit {
      background-image: url("/flex/icons/bill-audit.svg"); }
    .enrollment-wrap .title.insurance {
      background-image: url("/flex/icons/insurance.svg");    }
    .enrollment-wrap .title.self-employment {
      background-image: url("/flex/icons/get-away.svg");    }
    .enrollment-wrap .title.viv-affiliate {
        background-image: url("/flex/icons/viv-affiliate.svg"); }      
    .enrollment-wrap .title.viv-fundraiser {
      background-image: url("/flex/icons/viv-fundraiser.svg"); } 
    .enrollment-wrap .title.viv {
      background-image: url("../icons/viv.svg");
      background-position: 0 3px;
      background-size: 60px auto;
      padding-left: 75px; }
    .enrollment-wrap .title.solar {
      background-image: url("/flex/icons/solar.svg"); }
    .enrollment-wrap .title.auto-pilot-gas {
      background-image: url("/flex/icons/auto-pilot-gas.svg"); }
      .enrollment-wrap .title.energy-efficiency {
        background-image: url("/flex/icons/energy-efficiency.svg"); }
  .enrollment-wrap .paragraph {
    color: var(--gray-dark); }
    .enrollment-wrap .paragraph.thanks {
      margin: 20px 0 0 50px; }
  .enrollment-wrap .list {
    list-style: none; }
  .enrollment-wrap .list-item {
    color: var(--gray-dark);
    margin: 8px 0;
    position: relative; }
    .enrollment-wrap .list-item:before {
      color: var(--primary);
      content: "+";
      font-size: 1.2rem;
      position: absolute;
      left: -18px;
      top: -2px; }
    .enrollment-wrap .list-item .coach-wrap {
      margin: 10px 0; }
    .enrollment-wrap .list-item .coach-info {
      color: var(--primary);
      font-weight: 800; }
      .enrollment-wrap .list-item .coach-info .label {
        color: var(--gray-dark);
        display: inline-block;
        font-size: inherit;
        font-weight: 400;
        width: 75px;
        text-transform: none; }
  .enrollment-wrap .personal-site {
    border: solid 1px var(--primary);
    color: var(--primary);
    display: inline-block;
    font-weight: 800;
    letter-spacing: .1em;
    margin: 10px 0 0 15px;
    padding: 15px;
    text-decoration: none; }
  
/*------------------------------------*\
            ¡ENROLLMENTS
\*------------------------------------*/
    
/* chevron pointing down */
.product-group-header .chevron:after {
  content: "\f078";   
}

/* chevron pointing right */
.product-group-header.collapsed .chevron:after {
  content: "\f054";   
} 

/* chevron pointing down */
.title .chevron:after {
  content: "\f078";   
}

/* chevron pointing right */
.title.collapsed .chevron:after {
  content: "\f054";   
} 

.footer {
  background: var(--light);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  margin-top: 50px; }

.footer-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1300px;
  margin: 0 auto;
  padding: 30px 20px 0; }
  @media (max-width: 991.98px) {
    .footer-wrap {
      flex-direction: column; } }
  .footer-wrap .column-wrap {
    display: flex; }
    .footer-wrap .column-wrap .column:first-child {
      margin-right: 75px; }
      @media (max-width: 767.98px) {
        .footer-wrap .column-wrap .column:first-child {
          margin-right: 35px; } }
  .footer-wrap .column {
    text-align: left;
    padding: 0 10px;
    margin-bottom: 20px; }
    .footer-wrap .column .footer-logo {
      width: 100px;
      margin: 0 0 25px 0;
      padding-top: 0; }
    .footer-wrap .column .address {
      font-size: 12px;
      line-height: 2em;
      padding-bottom: 20px;
      border-bottom: solid 2px var(--gray-light); }
    .footer-wrap .column .footer-title {
      color: var(--gray);
      text-transform: uppercase;
      font-family: "Raleway", sans-serif;
      font-size: 14px;
      font-weight: 800;
      letter-spacing: 1px;
      margin-bottom: 10px; }
    .footer-wrap .column .contact-method {
      color: var(--primary);
      padding-bottom: 0; }
      .footer-wrap .column .contact-method:first-of-type {
        margin-top: 20px; }
      .footer-wrap .column .contact-method .method-label {
        display: inline-block;
        width: 55px; }
      .footer-wrap .column .contact-method strong {
        font-weight: 800; }
      .footer-wrap .column .contact-method .hours {
        color: var(--gray-medium);
        font-size: 12px; }
    .footer-wrap .column .policy {
      padding-bottom: 0;
      font-size: 12px; }
      .footer-wrap .column .policy a {
        text-decoration: underline;
        color: var(--gray-medium); }
    .footer-wrap .column ul {
      list-style: none;
      padding: 0; }
      .footer-wrap .column ul li {
        font-size: 12px;
        padding: 0;
        font-weight: 300; }
        .footer-wrap .column ul li a {
          color: var(--gray);
          display: inline-block;
          padding: 6px 0; }

    .footer-footer {
      background: var(--gray-medium);
      padding: 20px 0; }
      .footer-footer .paragraph {
        color: var(--text-over-primary);
        margin: 0 5%;
        text-align: center;
        font-size: 12px; }          

.linkbutton {
   border: 1px solid;
   padding: 3px;
}        
/*# sourceMappingURL=custom.css.map */        

/* pactsafe */
.ps-contract-scroll::-webkit-scrollbar {
    width: 1em;
    background-color: #F5F5F5;
}

.ps-contract-scroll::-webkit-scrollbar-track {
  background-color: #F5F5F5;
}

.ps-contract-scroll::-webkit-scrollbar-thumb {
  background-color: #aaaaaa;
}

.ps-contract-scroll{
  overflow-y: scroll; /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
}

/* vertical spacer helpers */
.m-t--25 { margin-top: -25px; }
.m-t--20 { margin-top: -20px; }
.m-t--10 { margin-top: -10px; } 
.m-t-5 { margin-top: 5px; }
.m-t-10 { margin-top: 10px; }
.m-t-15 { margin-top: 15px; }
.m-t-20 { margin-top: 20px; }
.m-t-25 { margin-top: 25px; }
.m-t-30 { margin-top: 30px; }
.m-t-35 { margin-top: 35px; }

.m-b--20 { margin-bottom: -20px; }
.m-b--10 { margin-bottom: -10px; } 
.m-b-5 { margin-bottom: 5px; }
.m-b-10 { margin-bottom: 10px; }
.m-b-15 { margin-bottom: 15px; }
.m-b-20 { margin-bottom: 20px; }

/* horizontal spacer helpers */
.m-l-5 { margin-left: 5px; }
.m-l-10 { margin-left: 10px; }
.m-l-15 { margin-left: 15px; }
.m-l-20 { margin-left: 20px; }

.m-r--5 { margin-left: -5px; }
.m-r--10 { margin-left: -10px; }
.m-r--15 { margin-left: -15px; }
.m-r--20 { margin-left: -20px; }

.p-b-10 { padding-bottom: 10px; }
.p-b-15 { padding-bottom: 15px; }
.p-b-20 { padding-bottom: 20px; }

/*------------------------------------*\
            ¡PROMO REDEEM
\*------------------------------------*/

.gate-text1 {
  flex: 1 1 auto;
  margin-bottom: 0.5rem;
  font-family: archer_medium;
  line-height: 1.2;
  color: yellow;
  text-align: left;
  display: block;
  font-weight: 400;
  text-align: left;
  padding: 0.375rem 0.75rem;
  font-size: 1.2rem;
}
@media (max-width: 767.98px){
  .gate-text1 {
      margin: 10px 0;
      max-width: 350px;
      min-width: auto;
      width: 100%;
  }
}
  .gate-text2 {
      margin-bottom: 0.5rem;
      font-family: archer_medium;
      font-size: 1.2rem;
      line-height: 1.2;
      color: var(--text-over-primary);
      text-align: left;
      display: block;
      font-weight: 400;
      text-align: left;
      padding: 0.375rem 0.75rem;
  }
@media (max-width: 767.98px) {
  .gate-text2 {
      margin: 10px 0;
      max-width: 350px;
      min-width: auto;
      width: 100%;
  }
}

  .promo-card-wrap {
      display: unset;
  }

  .overlay .action-group {
      margin-top: 3em !important;
  }
  @media (max-width: 767.98px) {
    .overlay .action-group {
      margin-top: 1em !important;
    }
  }
  #idRedeemCode {
      border-color: var(--primary);
  }

  .promo-text {
      padding-bottom: 10px;
      font-family: archer_medium;
      font-size: 1.2rem;
  }

  .promo-wrap {
      margin: auto;
  }

  .itemsequencenum {
    background: var(--primary);
    color: var(--text-over-primary);
    display: inline-block;
    font-weight: bold;
    line-height: 1.2em;
    text-align: center;
    width: 1.2em; 
    position: relative;
    top:-1.0em;
    left:-3.2em;
    right:0px;
    bottom:0px;
    /*padding-top:2px;*/
    padding-bottom:2px;
  }

/*------------------------------------*\
    Checkout arrows
\*------------------------------------*/

 ul.arrow {
 background-color: var(--gray-light);
 list-style-type: none;
 padding: 0;
}

 li.arrow {
  background: url("/flex/icons/arrow-right-primary.svg");
  background-repeat: no-repeat;
  background-size: 20px;
  padding-left: 25px;
  font-weight: 700;
  padding-bottom: 15px;
 }

  #copy-btn {
    margin:10px;
  } 

/*------------------------------------*\
    VIV-SEALS; i.e., assets under cart
\*------------------------------------*/

.viv-seals {
 display: flex;
 justify-content: space-evenly;
 align-self: center;
 align-items: center;
} 

.viv-seals img {
 height: auto;
 max-width: 20%;
 align-self: center;
}

.viv-seals a {
 display: contents;
}

#cert {
 max-width: 30% !important;
}

/*------------------------------------*\
    Company Brandish Copy
\*------------------------------------*/

#brandish {
 margin-top:2em;
 background-color: #E6E6E6;
 border-color: #FFF;
}

#brandish h5 {
  text-transform: uppercase; 
  color:var(--primary); 
  font-weight:1000;
}

/*------------------------------------*\
    Shop Qty Spans
\*------------------------------------*/

#qty {
 display: flex;
 flex-direction: row;
 justify-content: right;
 align-self: center;
 align-items: baseline;
 cursor: pointer;
 width: 35%;
}

.item-qty-wrap {
  width: 3em;
  justify-content: space-between;
  display: flex;
  margin-right: 1em;
}

@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 667px)
  and (-webkit-min-device-pixel-ratio: 2) {
	#qty {
		display: flex;
		width: 100%;
	}
}

/*------------------------------------*\
    Video Section
\*------------------------------------*/

#video-section {
 max-width: 1235px;
 margin: auto;
 margin-top: 1em;
}

#video {
 border-radius: 3em;
 width: 30em;
 position: relative;
 display: block;
 top: -100%;
 left: 0;
 bottom: 0;
 right: 0;
}

.video-tagline-list {
  list-style: none;
  margin: 1.3em;
 }
.video-tagline-list li:first-child {
  background: url("../icons/cloud-upload.svg");
  background-repeat: no-repeat;
  background-size: 5em;
  padding-left: 5.1em;
  position: relative;
  left: -3em;
}
.video-tagline-list li:nth-child(2) {
  background: url("../icons/chat-bubbles.svg");
  background-repeat: no-repeat;
  background-size: 5em;
  padding-left: 5.1em;
  position: relative;
  left: -3em;
}
.video-tagline-list li:nth-child(3) {
  background: url("../icons/money-in-hand.svg");
  background-repeat: no-repeat;
  background-size: 5em;
  padding-left: 5.1em;
  position: relative;
  left: -3em;
}

#play-button {
 color: var(--text-over-primary-inv);
 position: absolute;
 left: 40%;
 top: 50%;
 transform: translateY(-50%);
 background: var(--primary-inv);
 border-radius: 3em;
 cursor: pointer;
}

.tagline-header {
 color: var(--gradient6);
 font-weight: 1000;
}

#gmo-cert img {
 max-width: 100% !important; 
}

.video-row {
 display: grid;
 grid-template-columns: 2fr 1fr;
 grid-gap: 1em;
 margin-top: 2em;
 padding: 2em;
 background-color: var(--primary-inv);
}

.embed-container { 
position: relative; 
padding-bottom: 56.25%; 
height: 0; 
overflow: hidden; 
max-width: 100%; 
bottom: 50em;} 
.embed-container iframe, .embed-container object, .embed-container embed { 
position: absolute; 
top: 0; 
left: 0; 
width: 100%; 
height: 100%; }

/* Small devices (landscape phones, 576px and up) */
@media only screen
and (min-width: 493px)
and (max-width: 768px) {
	.video-row {
		display: flex;
		flex-direction: column;
	}
	.embed-container {
		bottom: 0;
	}
}

/* Medium devices (tablets, 768px and up) */
@media only screen
and (min-width: 768px) 
and (max-width: 1187px) {
	.video-row {
		display: flex;
		flex-direction: column;
	}
	.embed-container {
		bottom: 0;
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
}

#pills-tab {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1em;
	text-align: center;
}
#pills-cc {
	margin-top: 2em;
}
#pills-cc-tab {
	background: linear-gradient(to right, var(--gradient1), var(--gradient2));
	color: var(--text-over-primary);
}
#pills-ach-tab {
	background: linear-gradient(to right, var(--gradient1), var(--gradient2));
	color: var(--text-over-primary);
}


/* New bundle slider */
#bundle-slider {
  position:relative;
  height:52px;
  overflow:hidden;
}

#bundle-slider-background {
  width:100%;
  background-color:var(--gray-light);
  height:12px;
  position:absolute;
  top:10px;
  left:0px;
}

#bundle-slider-fill {
  width:100%;
  background-color:var(--primary);
  height:12px;
  position:absolute;
  top:10px;
  left:-100%;
  z-index:2
}

#bundle-slider-fill.bundle-slider-fill-10 {
  left: calc(-100% + 33px);
}

#bundle-slider-fill.bundle-slider-fill-30 {
  left:-70%;
}

#bundle-slider-fill.bundle-slider-fill-50 {
  left:-50%;
}

#bundle-slider-fill.bundle-slider-fill-70 {
  left:-30%;
}

#bundle-slider-fill.bundle-slider-fill-100 {
  left:0;
}

.btn.bundle-handle {
  position: absolute;
  top: 0;
  height: 32px;
  padding: 0 0 0 4px;
  background-image: url(/flex/icons/circle-gray.svg);
  background-repeat: no-repeat;
  background-position: center 0;
  z-index: 3;
  background-size: 30px;
  width: 66px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 24px;
}

/* TODO: Remove this hack when we use a font that doesn't move some numbers around on the baseline. */
.btn.bundle-handle#bundle-handle_savingsbundle_jumbo {
  padding-top: 4px;
  height: 36px;
}

.btn.bundle-handle.is-selected {
  background-image: url(/flex/icons/circle-pink.svg);
  color: var(--text-over-primary);
}

.btn.bundle-handle.is-included {
  background-image: url(/flex/icons/circle-pink.svg);
  color: var(--text-over-primary);
}

.bundle-handle-left {
  left: 0;
}

.bundle-handle-middle {
  left:calc(50% - 33px);
}

.bundle-handle-right {
  right: 0;
}

.text-btn {
  color: var(--primary);
  cursor: pointer;
}

.card-wrap-header {
  margin-top: 20px;
  margin-bottom: 20px
}

.card-wrap-header h4 {
  color: var(--gray-dark);
  font-size: 1.2rem;
}
.video-section{
  background-color: var(--primary-inv);
}
.video-section iframe{
  width: 100%;
  height: 433px;
}

/* navbar mobile */
@media(max-width:768px) {
  .cont-label-viv .header-top-section {
    flex-direction: inherit;
    align-items: center;
  }

  .cont-label-viv .header-top-section .social-wrap {
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0;
  }

  .cont-label-viv .navbar {
    padding-top: 15px;
    padding-right: 20px !important
  }

  .cont-label-viv .header .navbar a {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
  }

  .cont-label-viv .social-wrap .contact a {
    position: relative;
    text-indent: -99999px;
    display: inline-block;
  }

  .cont-label-viv .social-wrap .contact :after {
    background: url("/flex/icons/phone-email.svg") no-repeat top right;
    content: "";
    height: 16px;
    width: 23px;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
  }

  .viv-progress-labels span {
    text-indent: -9999px;
    display: inline-block;
    position: relative;
    width: 90px;
  }

  .viv-progress-labels span:after {
    text-indent: 1px;
    position: absolute;
    top: 0;
    left: 0;
  }

  .viv-progress-labels span:first-child:after {
    content: "PRODUCTS";
  }

  .viv-progress-labels span:nth-child(2):after {
    content: "INFORMATION";
  }

  .viv-progress-labels span:last-child:after {
    content: "CONFIRMATION";
  }
  .cart-sidebar-popup{
    position: fixed;
    z-index: 9;
    height: 100vh;
    top: 0;
    background: #00000069;
    right: -1000px;
    width: 100%;
    box-shadow: 1px 1px 16px 6px #00000054;
  }
  .close-action{
    width: 20%;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
  }
  .content{
    background: white;
    width: 80%;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    padding: 20px 10px;
  }
  .cart-sidebar-popup.open{
    right:0;
    transition: right .3s ease-in-out;
  }
  .cart-sidebar-popup .product-info{
    flex-direction: row;
  }
  .cart-sidebar-popup .product-info-left .title{
    font-size:1rem;
    letter-spacing: 1px;
  }
  .cart-sidebar-popup .product{
    padding: 0 8px;
  }
  .close-popup{
    text-align:right;
    span{
      font-size: 20px;
      cursor: pointer;
    }
  }
  .product-info .product-info-left {
    align-items: flex-start;
    width: 100%;
  }
  .product-info .product-info-right {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
  }
  .product-info .product-info-right {
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    margin-top: 10px;
    width: 100%;
  }
  .card-products #form{
    width:100%;
  }
  .card-products #form label{
    display:none;
  }
  .card-products #form .dropdown{
    width:100%;
  }
  .card-products #form .action-group{
    flex-direction: row;
  }
  .card-products .card-top{
    padding-bottom:0;
  }
  .cont-label-viv .video-row{
    display:block;
    padding: 15px;
  }
  .video-section iframe{
    height: 233px;
  }
}