/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/*******
    Bootstrap Nav Customization
******/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/* Nav */
.navbar {
  color: #333;
  margin-bottom: unset;
  height: 70px; }
  .navbar .nav {
    margin-right: 0; }
    .navbar .nav li {
      margin-left: 5px; }
      @media screen and (min-width: 980px) {
        .navbar .nav li:nth-last-child(-n+2) {
          border-right-style: none; } }
      .navbar .nav li > a,
      .navbar .nav li > a:hover,
      .navbar .nav li > a:visited {
        font-size: 16px;
        font-weight: bold;
        font-family: NouvelR-Bold;
        -webkit-text-shadow: none;
        text-shadow: none;
        height: 40px;
        color: #333;
        background-color: unset;
        margin-bottom: 0px;
        -webkit-border-radius: unset;
        -moz-border-radius: unset;
        border-radius: unset; }
      .navbar .nav li > a:hover {
        border-bottom: solid 5px #efdf00; }
      .navbar .nav li > a.selected {
        font-weight: bold;
        border-bottom: solid 5px #efdf00; }
  .navbar .btn-navbar {
    margin: 0px;
    padding: 20px 25px;
    box-sizing: border-box;
    border-radius: 0;
    background-color: unset;
    background-image: unset;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none; }
    .navbar .btn-navbar .aga-burger {
      width: 30px;
      height: 17px;
      background-repeat: no-repeat;
      background-size: auto;
      float: right; }
  .navbar .btn-navbar.collapsed .aga-burger {
    background-image: url("/Content/brand/img/menu_button_burger.svg"); }
  .navbar .btn-navbar:hover,
  .navbar .btn-navbar:active,
  .navbar .btn-navbar.active,
  .navbar .btn-navbar.disabled,
  .navbar .btn-navbar[disabled] {
    color: unset;
    background-color: unset; }
  .navbar .btn-navbar {
    position: relative; }
    .navbar .btn-navbar:not(.collapsed) {
      width: 100%;
      height: 70px;
      background-color: #FFF;
      z-index: 1000; }
      .navbar .btn-navbar:not(.collapsed) .aga-burger {
        /* when burger is opened make the burger menu full width and increase its z-index so it occludes logo */
        width: 100%;
        background-image: url("/Content/brand/img/menu_button_close.svg");
        background-position-x: calc(100% - 10px);
        height: 35px; }

@media only screen and (max-width: 979px) {
  .navbar {
    background-color: transparent;
    height: 70px;
     } }

.nav-collapse {
  float: right; }

@media only screen and (min-width: 1199px) {
  .nav-collapse {
    /*width: 720px;*/ } }

.titleBar {
  margin-top: 10px; }

.clearfix.navbar-wrap {
  display: block;
  clear: both; }

@media only screen and (max-width: 979px) {
  .nav-collapse {
    width: 100%; }
  .navbar {
    height: 70px; }
    .navbar .nav {
      margin-bottom: unset;
      margin-top: 0px; }
    .navbar .nav li {
      border-bottom: solid 1px #F1F1F1;
      background-color: #FFF;
      font-weight: bold; }
      .navbar .nav li > a,
      .navbar .nav li > a:hover,
      .navbar .nav li > a:visited {
        font-size: 93.8%;
        padding-left: 1em 1.1em; }
        .navbar .nav li > a.selected,
        .navbar .nav li > a:hover.selected,
        .navbar .nav li > a:visited.selected {
          border: none;
          background-color: #efdf00; } }

@media only screen and (max-width: 480px) {
  .navbar .nav li > a,
  .navbar .nav li > a:hover,
  .navbar .nav li > a:visited {
    line-height: 40px; }
    .navbar .nav li > a.selected,
    .navbar .nav li > a:hover.selected,
    .navbar .nav li > a:visited.selected {
      padding-left: 1em 1.5em; } }

/* Nav END */
@font-face {
    font-family: 'NouvelR-Regular';
    src: url(/Content/brand/fonts/NouvelR-Regular.otf) format('opentype');
    font-weight: normal;
}

@font-face {
    font-family: 'NouvelR-Bold';
    src: url(/Content/brand/fonts/NouvelR-Bold.otf) format('opentype');
    font-weight: bold;
}

h1, h2, h3, h4, h5, h6, legend, .btn, a.btn {
  font-family: NouvelR-Bold;
  color: #333; }

h2 {
  text-transform: uppercase; }

label {
  color: #333; }

@media screen and (min-width: 1200px) {
  .container {
    width: 1170px; } }

/*  Styling of span tags across the site - STARTS */
form {
  margin: 0;
  padding: 0;
  outline: none; }
  form span {
    font-weight: bold; }

label > span {
  font-weight: bold; }

.cb-label > span {
  font-weight: normal; }

.control-group span {
  font-weight: bold; }

/* Styling of span tags across the site - ENDS */
html {
  overflow: auto; }

body {
  font-size: 14px;
  font-weight: normal;
  font-family: NouvelR-Regular;
  font-style: normal;
  color: #333;
  width: 100%;
  height: 100%;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  line-height: 1.4;
  border: 0;
  background-attachment: fixed;
  background-color: #FFF; }

a, a:hover, a:visited, a:focus {
  text-decoration: underline;
  color: #333; }

p > a, p > a:hover, p > a:visited, p > a:focus {
  font-size: 100%; }

h1, h2, h3, h4, h5, h6, legend {
  margin: 0;
  border: none;
  font-weight: normal; }

h1 {
  font-size: 125%;
  padding-left: 10px;
  margin-top: -2px;
  padding-bottom: 4px; }

h2 {
  font-size: 22px;
  margin-bottom: 12px; }

h3 {
  font-size: 100%;
  line-height: 1.4;
  margin-bottom: 12px; }

h4 {
  font-size: 14px; }

label, p, div > span {
  font-size: 14px; }

label {
  margin-bottom: 10px; }

select {
  width: 211px;
  font-size: 14px;
  font-size: 14px;
  font-weight: normal;
  font-family: NouvelR-Regular;
  font-style: normal;
  color: #333; }

input, input[type="text"], input[type="password"],
input[type="datetime"], input[type="datetime-local"],
input[type="date"], input[type="month"], input[type="time"],
input[type="week"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], input[type="tel"],
input[type="color"] {
  box-sizing: border-box;
  height: 2.5em;
  width: 100%;
  font-size: 14px;
  font-weight: normal;
  font-family: NouvelR-Regular;
  font-style: normal;
  color: #333;
  -webkit-border-radius: unset;
  -moz-border-radius: unset;
  border-radius: unset; }
  input.validationElement, input[type="text"].validationElement, input[type="password"].validationElement,
  input[type="datetime"].validationElement, input[type="datetime-local"].validationElement,
  input[type="date"].validationElement, input[type="month"].validationElement, input[type="time"].validationElement,
  input[type="week"].validationElement, input[type="number"].validationElement, input[type="email"].validationElement,
  input[type="url"].validationElement, input[type="search"].validationElement, input[type="tel"].validationElement,
  input[type="color"].validationElement {
    border: 1px solid red; }
  input:focus, input[type="text"]:focus, input[type="password"]:focus,
  input[type="datetime"]:focus, input[type="datetime-local"]:focus,
  input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus,
  input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus,
  input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
  input[type="color"]:focus {
    border: 1px solid #efdf00; }

input[type=number]::-webkit-inner-adjust-hue-button,
input[type=number]::-webkit-outer-adjust-hue-button {
  -webkit-appearance: none;
  margin: 0; }

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  box-shadow: none; }

input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] {
  background-color: #F4F4F4;
  border-color: #cdcdcd; }

.btn, a.btn, .btn:active, a.btn:active, .btn:hover, .btn:hover {
  text-decoration: none;
  line-height: 21px;
  background-image: none;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 300px;
  -webkit-text-shadow: none;
  text-shadow: none;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  font-weight: bold;
  font-size: 18px;
  box-shadow: none;
  text-transform: uppercase; }
  @media only screen and (max-width: 480px) {
    .btn, a.btn, .btn:active, a.btn:active, .btn:hover, .btn:hover {
      width: 100%;
      max-width: none;
      box-sizing: border-box; } }

.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  outline-style: none;
  background-color: #efdf00;
  color: #fff; }

/* workaround unusual css specificity rule*/
a.btn-secondary,
a.btn-secondary:hover,
a.btn-secondary:active,
a.btn-secondary.active,
a.btn-secondary.disabled,
a.btn-secondary[disabled] {
  background: #797979;
  color: #fff; }

.btn-secondary,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary.disabled,
.btn-secondary[disabled] {
  background: #BEC0BF;
  color: #333; }
  .btn-secondary.btn-secondary:hover,
  .btn-secondary:active.btn-secondary:hover,
  .btn-secondary.active.btn-secondary:hover,
  .btn-secondary.disabled.btn-secondary:hover,
  .btn-secondary[disabled].btn-secondary:hover {
    background: #808080;
    color: #333; }
  @media screen and (min-width: 980px) {
    .btn-secondary,
    .btn-secondary:active,
    .btn-secondary.active,
    .btn-secondary.disabled,
    .btn-secondary[disabled] {
      min-width: 190px; } }

.btn-tertiary,
.btn-tertiary:hover,
.btn-tertiary:active,
.btn-tertiary.active,
.btn-tertiary.disabled,
.btn-tertiary[disabled] {
  background: #FFF;
  color: #333;
  border-bottom: none;
  border-top: none;
  border-right: none;
  border-left: none;
  border: 1px solid #e5e5e5; }
  .btn-tertiary:hover,
  .btn-tertiary:hover:hover,
  .btn-tertiary:active:hover,
  .btn-tertiary.active:hover,
  .btn-tertiary.disabled:hover,
  .btn-tertiary[disabled]:hover {
    background: #BEC0BF;
    color: #333;
    border-bottom: none;
    border-top: none;
    border-right: none;
    border-left: none;
    border: 1px solid #e5e5e5; }

.btn-primary, a.btn-primary {
    background: #EFDF00;
    color: #333;
    border: none; }
  .btn-primary:hover, a.btn-primary:hover {
    background-color: #FFC400;
    color: #333; }

.btn-large, a.btn-large, .btn-group > .btn-large {
  font-size: 18px;
  line-height: 21px;
  min-width: 190px; }
  .btn-large:not(a), a.btn-large:not(a), .btn-group > .btn-large:not(a) {
    height: 50px; }

a.btn-large {
  padding-top: 14px;
  padding-bottom: 13px; }

.btn-medium, .btn-medium:hover, .btn-medium:active {
  /* 44px high */
  font-size: 18px;
  line-height: 21px;
  padding: 12px 14px; }

.btn-small, a.btn-small, .btn-group > .btn-small,
.btn-small:hover, a.btn-small:hover, .btn-group > .btn-small:hover,
.btn-small:active, a.btn-small:active, .btn-group > .btn-small:active {
  font-size: 14px;
  line-height: 18px; }
  @media only screen and (max-width: 480px) {
    .btn-small, a.btn-small, .btn-group > .btn-small,
    .btn-small:hover, a.btn-small:hover, .btn-group > .btn-small:hover,
    .btn-small:active, a.btn-small:active, .btn-group > .btn-small:active {
      font-size: 16px; } }

img {
  margin: 0; }

.btn-group > .btn:first-child {
  -webkit-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
  -moz-border-radius-bottomleft: 0px;
  -moz-border-radius-topleft: 0px; }

.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -webkit-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  -moz-border-radius-bottomright: 0px; }

.no-transition {
  -webkit-transition: height 0.001s;
  -moz-transition: height 0.001s;
  -ms-transition: height 0.001s;
  -o-transition: height 0.001s;
  transition: height 0.001s; }

/*Knockout validation END*/
/* global media query rules */
@media screen and (max-width: 480px) {
  input {
    box-sizing: border-box; }
  select {
    width: inherit; } }

@media screen and (max-width: 480px) {
  form label {
    /*display: none;*/ } }

.accordion-group {
  -webkit-border-radius: unset;
  -moz-border-radius: unset;
  border-radius: unset;
  border-style: none;
  border-bottom: 1px solid #DCDCDC;
  margin-bottom: 5px; }
  .accordion-group .accordion-heading {
    padding-top: 15px; }
    .accordion-group .accordion-heading .accordion-toggle {
      background-image: url("/Content/brand/img/chev.svg");
      background-repeat: no-repeat;
      background-position: center;
      padding: 0px 15px;
      margin-bottom: 10px; }
    .accordion-group .accordion-heading.collapsed .accordion-toggle {
      background-image: url("/Content/brand/img/chev.svg"); }
  .accordion-group .accordion-inner {
    border-top: 0 none;
    padding-left: 45px; }

.modal {
  border-radius: 0; }

.close {
  color: #efdf00;
  opacity: initial;
  text-shadow: unset; }

/*these are not used in Roadcare Website. just to keep Bootstrap look consistent*/
.input-append .add-on, .input-prepend .add-on {
  box-sizing: border-box;
  border-style: none;
  background-color: #efdf00;
  height: 2.5em; }

.tabbable {
  background-color: rgba(255, 255, 255, 0.1); }

.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
  background-color: #c3d5dd; }

.panel {
  padding: 15px;
  margin-bottom: 20px;
  background-color: #ffffff;
  outline: 1px solid #DCDCDC; }
  @media (max-width: 480px) {
    .panel {
      outline: 1px solid transparent; } }

.panel-heading {
  padding: 10px 15px;
  margin: -15px -15px 15px;
  font-size: 17.5px;
  font-weight: 600;
  background-color: #F9F9F9; }

.panel-footer {
  padding: 10px 15px;
  margin: 15px -15px -15px;
  background-color: #ffffff; }

.panel-primary {
  border-color: #428bca; }

.panel-primary .panel-heading {
  color: #ffffff;
  background-color: #428bca;
  border-color: #428bca; }

.panel-success {
  border-color: #d6e9c6; }

.panel-success .panel-heading {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6; }

.panel-warning {
  border-color: #fbeed5; }

.panel-warning .panel-heading {
  color: #c09853;
  background-color: #fcf8e3;
  border-color: #fbeed5; }

.panel-danger {
  border-color: #eed3d7; }

.panel-danger .panel-heading {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7; }

.panel-info {
  border-color: #bce8f1; }

.panel-info .panel-heading {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1; }

hr {
  border-bottom-style: none; }

.popover {
  background-color: #c3d5dd; }

/**
Using pattern from
https://medium.freecodecamp.org/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c
    for footer normal-flow align to bottom.
*/
body {
  position: relative;
  min-height: 100vh; }

.content-wrap {
  padding-bottom: 170px; }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
footer {
  font-size: 14px;
  font-weight: normal;
  font-family: NouvelR-Regular;
  font-style: normal;
  color: #333;
  color: #333; }
  footer .termsCondition {
    color: #333; }

.footer {
  background-color: #303030;
  padding-bottom: 71px;
  padding-top: 50px;
  margin-top: 50px;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 70px;
  /* footer END */
  /* header END*/
  /* footer */ }
  .footer ul.footer-links {
    margin: 0; }
    .footer ul.footer-links li {
      font-size: 14px;
      font-weight: bold;
      font-family: NouvelR-Bold;
      float: left;
      list-style: none outside none;
      margin-right: 5px;
      line-height: 17px; }
      .footer ul.footer-links li.link {
        list-style-type: none; }
        .footer ul.footer-links li.link a {
          text-decoration: none;
          color: #ffffff; }
          .footer ul.footer-links li.link a:hover {
            text-decoration: underline; }
  @media only screen and (max-width: 979px) {
    .footer footer {
      padding-left: 10px;
      padding-right: 10px; } }
  @media only screen and (max-width: 480px) {
    .footer ul.footer-links {
      /* arrange links vertically and hide vertical bar */ }
        .footer ul.footer-links li {
            font-size: 11px;
            font-weight: bold;
            font-family: NouvelR-Bold;
            float: left;
            list-style: none outside none;
            margin-right: 3px;
            line-height: 17px;
        }
       .footer ul.footer-links li.link {
        
        padding-bottom: 8px; }
        .footer ul.footer-links li.link .link-separator {
         } }
  .footer .footer-content {
    margin-bottom: 20px;
    color: #FFF; }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.navigation-secondary {
  height: 30px;
  background-color: #FFF;
  /* this background is invisible on tablet and smaller */ }
  @media screen and (max-width: 979px) {
    .navigation-secondary {
      height: unset; } }

.navigation-primary {
  background-color: #FFF;
  padding-bottom: 15px;
   }
  @media screen and (max-width: 979px) {
    .navigation-primary {
      background-color: #ffffff;
      padding: 0; } }
  .navigation-primary .container {
    position: relative; }

header {
  padding-top:-35px;
  color: #333;
  background-color: #FFF;
  margin-bottom: 14px;
  padding-top: 10px;
  /* phone section*/ }
  header .logoBox {
    position: absolute;
    left: 0; }
    header .logoImg {
        margin-top: -35px;
        margin-left: -24px;
        width: 400px;
        height: 114px;
        display: inline-block;
        background-image: url(/Content/brand/img/logo-small.svg);
        background-repeat: no-repeat;
    }
    header .logoImgNew {
        margin-left: -24px;
        width: 400px;
        height: 114px;
        display: inline-block;
        background-image: url(/Content/brand/img/logo.svg);
        background-repeat: no-repeat;
    }
  @media only screen and (min-width: 979px) and (max-width: 1199px) {
    header .logoImg {
      background-size: contain;
      width: 120px; } }
  header .brand-name {
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 100%; }
header .header-toll-free-row .header-toll-free {
    display: block;
    visibility: visible;
}
    @media only screen and (min-width: 979px)  {
      header .header-toll-free-row .header-toll-free {
        display: none;
        visibility: hidden; }
        .page-content.page-home .home-feature-text {
            margin: 20px;
            display: none;
            visibility: hidden;
        }

    }
  header .header-toll-free {
    float: right;
    text-align: right;
    padding-right: 4px;
    margin-top: 8px;
    margin-bottom: 22px;
    margin-left: 15px; }
    header .header-toll-free .brand-name {
      color: #333; }
    header .header-toll-free p {
      margin: 0px;
      font-size: 18px; }
    @media only screen and (max-width: 979px) {
      header .header-toll-free {
        font-size: smaller;
        margin-bottom: 0px;
        top: 0;
        color: #333; } }
@media only screen and (min-width: 979px) and (max-width: 1195px) {
    header .header-toll-free {
        TOP: 10PX;
        right: 70PX;
        position: absolute;
    }
}
  header .phone-number {
    font-size: 26px;
    font-weight: bold; }
  header .phone-number a, header .phone-number a:hover, header .phone-number a:visited, header .phone-number a:focus {
    color: #333;
    text-decoration: none; }
  header .shortcut-section {
    float: right;
    text-align: right;
    display: block; }
    header .shortcut-section .buttons {
      /* buttons inside are styled as inline blocks and are spaced apart. Setting 0px removes this */
      font-size: 0px; }
      header .shortcut-section .buttons .btn {
        height: 35px;
        margin: 0;
        line-height: 30px;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 14px;
        margin-left: 5px; }
        header .shortcut-section .buttons .btn:hover {
          background: #ffbf00; }
        header .shortcut-section .buttons .btn:active {
          background: #efdf00; }
      header .shortcut-section .buttons a.my-account-btn {
        border: solid 1px red;
        line-height: 35px;
        width: 130px;
        min-width: 130px;
        min-height: 35px;
        padding: 0;
        margin: 0;
        border: none; }
    @media only screen and (max-width: 979px) {
      header .shortcut-section {
        display: none; } }

/* phone mode logo space is larger to not scale logo too much */
@media only screen and (max-width: 979px) {
  header {
    padding-top: 0; }
    header .container {
      width: auto; }
    header .header-toll-free {
        TOP: 10PX;
        right: 70PX;
        position: absolute;
    }
    header .logoBox {
      top: 0; }
    header .logoImg {
      margin: 10px;
      margin-left: 20px;
      width: 50px;
      display: inline-block;
      background-size: contain;
      background-image: url(/Content/brand/img/logo-small.svg);
      background-repeat: no-repeat; }
    header .brand-name {
      display: none; }
    header img.phone-image {
      display: inline;
      position: relative;
      top: -2px; }
    header .phone-number a, header .phone-number a:hover, header .phone-number a:visited, header .phone-number a:focus {
      color: #333; } }

/* to fit the phone details to the right of logo */
@media screen and (max-width: 480px) {
  header {
    background-color: #ffffff;
    color: #333;
    margin-bottom: 0; }
    header .header-toll-free {
      margin: 3px 44px; }
      header .header-toll-free.with-nav-collapsed {
        margin: 3px; }
    header .logoImg {
      margin-left: 10px;
      background-image: url(/Content/brand/img/logo-small.svg);
      background-repeat: no-repeat; }
    header .phone-number a, header .phone-number a:hover, header .phone-number a:visited, header .phone-number a:focus {
      font-size: 1rem; } }

.darkClass {
  background-color: #efefef;
  filter: alpha(opacity=50);
  /* IE */
  opacity: 0.5;
  /* Safari, Opera */
  -moz-opacity: 0.50;
  /* FireFox */
  z-index: 20;
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0px;
  left: 0px; }

@media only screen and (max-width: 979px) {
  header .nav li.menu-home {
    display: block; }
  header .nav li.menu-login {
    display: block;
    background-color: #efdf00;
    width: 100%;
    text-align: center;
    padding: 0; }
  header .shortcut-section {
    display: none; } }

.menu-login {
  display: none; }

.menu-home {
  display: none; }

.accountLinks {
  float: right;
  padding-right: 5px; }

/* login bar END */
@media only screen and (max-width: 979px) {
  .shortcut-section {
    float: left;
    margin-top: -40px; } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
div.banner {
  height: 250px;
  background-repeat: no-repeat;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: 50%;
  margin-bottom: 20px;
  /***************************** Page *****************************/ }
  div.banner > div {
    width: 100%;
    box-sizing: border-box;
    color: #FFF;
    padding: 0 20px;
    position: relative;
    top: 50%;
    transform: translateY(-50%); }
    div.banner > div h2 {
      font-weight: bold;
      text-transform: uppercase;
      color: #FFF; }
  div.banner p {
    font-size: 14px;
    font-weight: normal;
    font-family: NouvelR-Regular;
    font-style: normal;
    color: #333;
    font-weight: normal; }
  div.banner p.intro-copy {
    color: #FFF; }
  @media screen and (min-width: 980px) {
    div.banner {
      min-height: 250px;
      margin-bottom: 10px; }
      div.banner h2 {
        font-size: 2em;
        text-transform: uppercase; }
      div.banner p {
        font-size: 16px; } }
  @media screen and (max-width: 480px) {
    div.banner {
      background-image: none;
      height: auto;
      margin-bottom: 0; }
      div.banner > div {
        position: relative;
        top: 0%;
        transform: translateY(0%);
        padding: 0; }
        div.banner > div div.banner-heading {
          display: table;
          height: 100%; }
        div.banner > div h2 {
          display: table-cell;
          vertical-align: middle; }
      div.banner .row-fluid:first-child {
        height: 108px;
        -moz-background-size: cover;
        -o-background-size: cover;
        -webkit-background-size: cover;
        background-size: cover;
        margin-bottom: 20px; }
      div.banner h2 {
        padding-left: 15px;
        /* vertically align heading in banner */
        vertical-align: middle; }
      div.banner p {
        padding-left: 10px;
        padding-right: 10px; }
      div.banner p.intro-copy {
        color: #333; }
      div.banner .row-banner-ptext {
        padding-top: 0.6em; } }

.darkner {
  background-color: rgba(0, 0, 0, 0.5); }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.page-login .banner {
  background-image: url("/Content/brand/img/banners/login-banner.jpg"); }

.page-login .row-fluid.padded-phone {
  padding-bottom: 20px; }
  .page-login .row-fluid.padded-phone h2 {
    visibility: hidden;
    height: 10px; }

.page-login span {
  font-weight: bold; }

@media only screen and (max-device-width: 979px) {
  .page-login {
    /* line up login button side by side */ }
    .page-login .btn-large {
      width: 48%;
      min-width: unset; } }

@media only screen and (max-device-width: 480px) {
  .page-login .banner {
    background-image: none; }
    .page-login .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/login-banner-m.jpg"); } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Page: Payment *****************************/
.span11:last-child {
  margin-bottom: 15px; }

.terms:first-of-type {
  margin-top: 20px;
  background-color: red; }

.terms:last-of-type {
  margin-bottom: 20px; }

.card-image {
  margin-bottom: 5px; }

.card-type-label {
  margin-top: 5px; }

.payment-total {
  color: #efdf00; }

.floatLabel {
  float: left; }

.middleFloatLabel {
  margin: 0px,3px; }

/***************************** Page: Payment END *****************************/
.psHostedField {
  background-color: #f9f9f9;
  border: 1px solid #CCCCCC;
  border-radius: 3px; }

.psHostedField iframe {
  height: 30px;
  border: none; }

.psHostedField.psGraceEnded.psInvalid,
.psHostedField.psGraceEnded.psEmpty {
  border-color: red;
  background-color: #FFF5F5; }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.page-content.myaccount-page .btn {
  margin-left: 24px; }
  .page-content.myaccount-page .btn:hover {
    padding-right: 20px;
    padding-left: 20px; }

@media only screen and (max-width: 480px) {
  .page-content.myaccount-page .page-sub-title {
    margin-left: 10px; }
  .page-content.myaccount-page .btn {
    margin-left: 0; }
  .page-content.myaccount-page .myaccount-footer {
    /* line up with .panel-footer */
    padding: 15px; } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/*Vehicle Search page*/
.page-content.page-vehiclesearch .banner {
  background-image: url("/Content/brand/img/banners/find-my-vehicle-banner.jpg"); }

@media screen and (max-width: 480px) {
  .page-content.page-vehiclesearch .banner {
    background-image: none; }
    .page-content.page-vehiclesearch .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/find-my-vehicle-banner-m.jpg"); }
  .page-content.page-vehiclesearch > .row-fluid:not(.banner) {
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px; }
  .page-content.page-vehiclesearch .vehicle-search-section .loginToolTip {
    width: unset;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #cccccc; } }

/*Vehicle Search page END*/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Page: Home *****************************/
.page-content.page-home {
  /* show small price for two decimal values*/ }
  .page-content.page-home .homepage-home-content div.container {
    margin-top: 15px; }
  .page-content.page-home .home-secondary-box > img, .page-content.page-home .home-secondary-box > h4,
  .page-content.page-home .home-secondary-box > p {
    margin-bottom: 12px; }
  .page-content.page-home .home-secondary-box a.btn {
    text-transform: none; }
  .page-content.page-home .greyFeatureText {
    color: black;
    font-weight: bold; }
  .page-content.page-home .home-plan-box {
    color: #333;
    width: 60%;
    height: 100%;
    float: right;
    overflow: hidden;
    /* renew now should be a bolded link */ }
    .page-content.page-home .home-plan-box .home-descriptions h2 {
      letter-spacing: -0.8px;
      line-height: 26px;
      font-size: 22px;
      font-weight: bold;
      text-transform: none; }
    .page-content.page-home .home-plan-box > div {
      padding: 40px 20px 28px 40px; }
    .page-content.page-home .home-plan-box h4 {
      margin-bottom: 10px; }
    .page-content.page-home .home-plan-box ul {
      /*text-indent: -4px;*/
      margin-left: 17px;
      font-size: 14px;
      -ms-word-wrap: break-word;
      word-wrap: break-word;
      box-sizing: border-box; }
    .page-content.page-home .home-plan-box .already-member-link a, .page-content.page-home .home-plan-box .already-member-link a:hover, .page-content.page-home .home-plan-box .already-member-link a:visited, .page-content.page-home .home-plan-box .already-member-link a:focus {
      font-weight: bold; }
  .page-content.page-home .home-primary {
    background-image: url("/Content/brand/img/banners/home-hero.jpg");
    background-repeat: no-repeat; }
    @media screen and (min-width: 980px) and (max-width: 1195px) {
      .page-content.page-home .home-primary {
        background-size: contain; } }
  .page-content.page-home .home-logo {
    position: relative; }
    .page-content.page-home .home-logo::after {
      content: " ";
      display: block;
      clear: both; }
  .page-content.page-home .home-feature-box {
    width: 50%;
    float: left;
    text-transform: uppercase;
    line-height: 37px; }
    @media screen and (min-width: 980px) {
      .page-content.page-home .home-feature-box {
        position: absolute;
        top: 20px;
        left: 20px; } }
  .page-content.page-home .home-feature-text {
    margin: 20px; 
    display:block;
    text-align:center
  }
    .page-content.page-home .home-feature-text h1 {
      padding: 0;
      font-size: 32px;
      font-weight: bold;
      letter-spacing: -0.8px;
      line-height: 37px;
      margin: 0; }
    .page-content.page-home .home-feature-text p {
      font-size: 28px;
      /*@include boldText;*/ }
    @media screen and (max-width: 979px) {
      .page-content.page-home .home-feature-text h1 {
        font-size: 24px;
        letter-spacing: -0.5px;
        line-height: 23px; }
      .page-content.page-home .home-feature-text p {
        font-size: 14px;
        font-weight: normal; }
        .page-content.page-home .home-buynow {
            font-size: 14px;
            font-weight: normal;
        }
    }
  .page-content.page-home .home-buynow {
    margin-top: 20px;
    padding-top: 0; }
    .page-content.page-home .home-buynow .home-buynow-inner {
        clear: both;
        width: 92%;
        margin: 0 auto;
        overflow: auto; }
    .page-content.page-home .home-buynow .termsCondition {
      margin-right: 5px;
      padding-left: 1px; }    
    .page-content.page-home .home-buynow a.btn-container {
        display: block;
        float: left;
        width: 50%;
        margin: 0;
        padding: 0; }
@media screen and (max-width: 1200px) {
    .page-content.page-home .home-buynow a.btn-container {
        justify-content: center;
        align-items: center;
        display: flex;
        float: right;
        width: 100%;
        margin: 5px;
        padding: 0;

        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; 

    }
    .btn-group.productbox div.btn {
        margin:5px; }  }
    .page-content.page-home .home-buynow a {
      font-size: 100%; }
      .page-content.page-home .home-buynow a:hover {
        color: #333; }
    .page-content.page-home .home-buynow p {
      font-size: 14px; }
    .page-content.page-home .home-buynow .home-plan-duration {
      font-size: 14px; }
    .page-content.page-home .home-buynow .already-member-link {
      text-align: center;
      margin-top: 20px;
      font-size: 24px;
      font-weight: bold;
      font-family: NouvelR-Bold; }
    .page-content.page-home .home-buynow p > a,
    .page-content.page-home .home-buynow p > a:hover, .page-content.page-home .home-buynow p > a:visited {
      display: inline;
      margin: 0; }
    .page-content.page-home .home-buynow .btn-primary {
      margin: 20px auto;
      text-align: center;
      width: 330px;
      display: table; }
      .page-content.page-home .home-buynow .btn-primary span {
        font-size: 26px;
        text-transform: uppercase;
        font-weight: bold;
        line-height: 48px;
        margin: 0 auto;
        color: #333;
        display: inline-block; }
    .page-content.page-home .home-buynow .buynow-button {
      border-radius: 4px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 2px;
      color: #efdf00;
      text-align: center;
      font-weight: normal;
      height: 46px;
      font-size: 1em; }
      .page-content.page-home .home-buynow .buynow-button span {
        border-bottom-width: 0;
        color: red; }
    .page-content.page-home .home-buynow p.buynow-button-actiontext {
      color: #fff;
      font-size: 125%;
      margin-bottom: 1px;
      margin-top: 4px;
      text-transform: uppercase;
      font-weight: bold; }
    .page-content.page-home .home-buynow p.buynow-button-detailtext {
      color: #fff;
      font-size: 14px;
      text-transform: none; }
    .page-content.page-home .home-buynow div.buynow-button-text {
      width: 120px;
      margin: 0 auto; }
  .page-content.page-home .carousel {
    line-height: 18px;
    color: black; }
  .page-content.page-home .testimonials {
    position: relative; }
  .page-content.page-home .testimonialHeading {
    position: absolute;
    top: 105px; }
  .page-content.page-home #testimonialCarousel {
    height: 240px;
    margin-bottom: 15px; }
    .page-content.page-home #testimonialCarousel div.carousel-inner div.item p {
      margin-top: 12px;
      margin-bottom: 0px;
      height: 114px;
      overflow-y: hidden; }
  .page-content.page-home #carouselNav div {
    text-align: center; }
  .page-content.page-home #carouselNav ul {
    list-style: none;
    margin: 0;
    vertical-align: top;
    display: inline-block; }
    .page-content.page-home #carouselNav ul li {
      float: left;
      margin-left: 10px; }
      .page-content.page-home #carouselNav ul li i {
        width: 16px;
        height: 16px;
        display: inline-block;
        background: url("/Content/base/img/carousel-unsel.png") no-repeat; }
  .page-content.page-home .home-plan-duration {
    margin-bottom: 5px; }
  .page-content.page-home .activeCarouselNav {
    background: url("/Content/base/img/carousel-sel.png") no-repeat !important; }
  .page-content.page-home .font-normal {
    font-size: 81.3% !important; }
  .page-content.page-home .priceInclGST {
    display: block;
    font-size: 14px;
    text-transform: none; }
  .page-content.page-home .productprice {
    margin-top: 5px;
    margin-bottom: 5px;
    margin: 0;
    font-size: 36px;
    font-weight: bold; }
  .page-content.page-home .feature-icon-list {
    /* special case for IE9 - render as table */
    margin-top: 25px;
    margin-bottom: 25px; }
    .page-content.page-home .feature-icon-list.msie9 {
      display: table;
      border-collapse: separate;
      border-spacing: 4px;
      width: 100%; }
      .page-content.page-home .feature-icon-list.msie9 .flex-grid {
        display: table-row; }
        .page-content.page-home .feature-icon-list.msie9 .flex-grid .feature-icon {
          display: table-cell;
          width: 14%; }
    .page-content.page-home .feature-icon-list div.flex-grid {
      margin: -5px;
      display: inline-block;
      display: flex;
      display: -ms-flexbox;
      flex-flow: row wrap; }
      .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon {
        display: block;
        flex: 1;
        margin: 5px;
        font-weight: 100;
        text-decoration: none;
        overflow: hidden;
        border-style: solid;
        border-width: 1px;
        border-color: #e5e5e5;
        background-color: #F9F9F9;
        color: #333;
        text-align: center;
        position: relative; }

@keyframes swipeout {
  0% {
    transform: translateY(0%); }
  100% {
    transform: translateY(-100%); } }

@keyframes swipein {
  0% {
    top: 150%; }
  100% {
    top: 50%; } }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--default {
          transform: translateY(0%); }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon:hover > .feature-icon--default {
          transform: translateY(-100%);
          animation: swipeout 300ms ease-in; }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--hover {
          top: 150%; }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon:hover > .feature-icon--hover {
          top: 50%;
          animation: swipein 300ms ease-in; }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--default {
          padding-top: 15px;
          box-sizing: border-box;
          height: 100%; }
          .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--default .feature-icon--label {
            font-size: 12px;
            font-weight: bold;
            margin: auto;
            margin-top: 5px;
            margin-bottom: 5px; }
          .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--default img {
            height: 44px; }
        .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--hover {
          white-space: nowrap;
          position: absolute;
          font-size: 14px;
          left: 50%;
          transform: translate(-50%, -50%); }
          .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--hover::after {
            padding-left: 10px;
            position: relative;
            top: 5px;
            content: url("/Content/brand/img/arrow-right-mid.svg"); }
          @media screen and (max-width: 979px) and (min-width: 480px) {
            .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--hover {
              font-size: 13px; }
              .page-content.page-home .feature-icon-list div.flex-grid > .feature-icon > .feature-icon--hover::after {
                padding-left: 0px;
                margin-left: -2px;
                top: 6px; } }
      @media screen and (max-width: 979px) {
        .page-content.page-home .feature-icon-list div.flex-grid > div:first-child {
          flex: 2; } }
      .page-content.page-home .feature-icon-list div.flex-grid break {
        flex-basis: 100%;
        width: 0px;
        height: 0px;
        overflow: hidden; }
  @media screen and (max-width: 979px) {
    .page-content.page-home .home-feature-box {
      display: block;
      width: auto;
      height: auto; }
    .page-content.page-home .home-primary {
      background: none; }
    .page-content.page-home .home-feature-box {
        background-image: url("/Content/brand/img/banners/home-hero-m.jpg");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        float: none;
        height: 208px;
        line-height: 23px; }
        .page-content.page-home .home-feature-box .home-feature-text {
            /* vertically center */
            position: relative;
            top: 85%;
            text-align: center;
            transform: translateY(-50%);
            box-sizing: border-box;
            width: 100%;
            font-size: 22px;
            margin: 0;
            padding: 10px; }
    .page-content.page-home .home-plan-box {
      width: 100%;
      background-color: transparent; }
      .page-content.page-home .home-plan-box > div {
        padding: 0;
        
        flex-direction: column-reverse; }
    .page-content.page-home footer {
      padding: 0 10px; } }
  @media screen and (max-width: 480px) {
    .page-content.page-home .feature-icon-list {
      padding-left: 10px;
      padding-right: 10px; }
    .page-content.page-home .home-plan-box .home-descriptions {
      background-color: #ffffff;
      color: #333;
      text-shadow: none;
      padding: 10px; }
      .page-content.page-home .home-plan-box .home-descriptions h2 {
        font-size: 15px;
        font-weight: bold;
        line-height: 21px; }
    .page-content.page-home .home-plan-box .home-buynow {
      color: #333;
      text-shadow: none;
      width: 90%;
      margin-top: 12px;
      margin: 0 auto; }
      .page-content.page-home .home-plan-box .home-buynow .plan-type {
        font-size: 12px; } }
  .page-content.page-home i.aga-icon-arrow-right {
    display: inline-block !important; }

/***************************** Page: Home END *****************************/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.page-content.page-gethelp .banner {
  background-image: url("/Content/brand/img/banners/get-help-banner.jpg"); }

@media only screen and (max-device-width: 480px) {
  .page-content.page-gethelp .banner {
    background-image: none; }
    .page-content.page-gethelp .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/get-help-banner-m.jpg"); } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.benefitPlusMinus {
  width: 45px;
  line-height: 30px;
  float: right;
  text-align: center;
  transform: translateY(-5px); }
  .benefitPlusMinus a {
    /* Hide the text. */
    text-indent: 100%;
    color: transparent;
    white-space: nowrap;
    overflow: hidden; }

.page-content.page-benefits {
  /***************************** Page: Benefits *****************************/ }
  .page-content.page-benefits .introText {
    border-bottom: #EBEBEB; }
    .page-content.page-benefits .introText h2 {
      text-transform: uppercase;
      letter-spacing: -0.8px;
      font-size: 26px;
      text-transform: none;
      font-weight: bold; }
  .page-content.page-benefits .benefit-headline {
    margin-left: 20px;
    font-weight: bold; }
  .page-content.page-benefits .accordion-body {
    clear: left; }
    .page-content.page-benefits .accordion-body.in.collapse {
      background-color: transparent; }
  .page-content.page-benefits .accordion-group .accordion-inner {
    padding-left: 35px; }
  .page-content.page-benefits .banner {
    background-image: url("/Content/brand/img/banners/benefits-desktop.jpg"); }
  .page-content.page-benefits div.accordion-heading {
    cursor: pointer;
    padding-bottom: 15px; }
    .page-content.page-benefits div.accordion-heading:not(.collapsed) {
      background-color: transparent; }

/***************************** Page: Benefits END *****************************/
@media only screen and (max-width: 979px) {
  .page-content.page-benefits {
    /* override accordion from bootstrap */ }
    .page-content.page-benefits .accordion {
      margin-bottom: 0; }
    .page-content.page-benefits .introText {
      padding: 10px; }
      .page-content.page-benefits .introText > h2 {
        margin: 0;
        line-height: 26px;
        margin: 20px 0;
        font-size: 22px; } }

@media only screen and (max-width: 480px) {
  .page-content.page-benefits .benefitPlusMinus {
    padding-left: 10px; }
  .page-content.page-benefits .benefit-headline {
    margin-left: 10px; }
  .page-content.page-benefits .accordion-group .accordion-inner {
    padding-left: 10px;
    padding-right: 0;
    margin-right: 0; }
  .page-content.page-benefits .banner {
    background-image: none; }
    .page-content.page-benefits .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/benefits-m.jpg"); }
  .page-content.page-benefits .disclaimer {
    padding-left: 10px; } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Plan Template *****************************/
#planList .disclaimer {
  text-align: center; }

#planList .plan-benefit-header {
  text-align: center; }
  #planList .plan-benefit-header h3 {
    color: #FFF;
    background-color: #333;
    -webkit-border-radius: 0px 0px 0 0;
    -moz-border-radius: 0px 0px 0 0;
    border-radius: 0px 0px 0 0;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    padding: 4px;
    margin-bottom: 0px;
    font-size: 112%;
    font-weight: 600;
    line-height: 45px;
    height: 46px;
    overflow: hidden; }
  #planList .plan-benefit-header .plan-price {
    margin-bottom: 0;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #efefef;
    line-height: 1; }
    #planList .plan-benefit-header .plan-price .price-value {
      padding-top: 15px;
      padding-bottom: 10px; }
    #planList .plan-benefit-header .plan-price .price-value > span {
      font-size: 48px;
      font-weight: bold; }
    #planList .plan-benefit-header .plan-price .price-terms > span {
      font-size: 14px; }

#planList .plan-benefit-content {
  border: 1px solid #efefef;
  padding-top: 10px;
  padding-bottom: 20px; }
  #planList .plan-benefit-content h3 {
    margin: 12px 0 6px 0;
    padding: 9px 0 9px 20px;
    background: #F9F9F9;
    font-size: 100%;
    font-weight: bold; }
  #planList .plan-benefit-content .plan-benefit-content-list {
    margin: 0 0 0 20px; }
  #planList .plan-benefit-content .benefit-content-container, #planList .plan-benefit-content .sub-benefit-content-container {
    list-style: none;
    background: url(/Content/brand/img/tick.svg) no-repeat 0 16px;
    padding-left: 32px;
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    padding-top: 12px; }
    #planList .plan-benefit-content .benefit-content-container > div, #planList .plan-benefit-content .sub-benefit-content-container > div {
      display: inline-block; }
    #planList .plan-benefit-content .benefit-content-container .benefit-content, #planList .plan-benefit-content .sub-benefit-content-container .benefit-content {
      font-weight: bold; }
    #planList .plan-benefit-content .benefit-content-container a, #planList .plan-benefit-content .benefit-content-container a:hover, #planList .plan-benefit-content .benefit-content-container a:visited, #planList .plan-benefit-content .sub-benefit-content-container a, #planList .plan-benefit-content .sub-benefit-content-container a:hover, #planList .plan-benefit-content .sub-benefit-content-container a:visited {
      text-decoration: none;
      color: black;
      font-weight: normal;
      width: 100%; }
  #planList .plan-benefit-content .sub-benefit-content-container {
    background: none; }

#planList .plan-benefit-footer {
  margin-bottom: 40px; }
  #planList .plan-benefit-footer button {
    height: 76px;
    width: 100%;
    font-size: 28px;
    max-width: none;
    border-right: none;
    border-left: none;
    -webkit-border-radius: 0 0 0px 0px;
    -moz-border-radius: 0 0 0px 0px;
    border-radius: 0 0 0px 0px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box; }

@media screen and (min-width: 980px) {
  .plan-benefit-footer {
    margin-bottom: 20px; }
  #planList .plan-list-col.single-plan {
    width: 420px;
    margin: auto; } }

@media (max-width: 480px) {
  #planList {
    margin-top: -20px; }
    #planList .plan-detail-container-featuredtop h3 {
      /* bump size lower and don't wrap */
      white-space: nowrap;
      font-size: 12px; } }

@media (min-width: 481px) and (max-width: 780px) {
  #planList {
    margin-top: -35px; } }

/***************************** Plan Template END *****************************/
.page-content.page-plans .plan-list-container {
  margin-bottom: 40px; }

@media screen and (min-width: 481px) {
  .page-content.page-plans .plan-list-container {
    display: flex; }
    .page-content.page-plans .plan-list-container .plan-list-col {
      display: flex;
      flex-direction: column; }
      .page-content.page-plans .plan-list-container .plan-list-col .plan-benefit-content {
        flex-grow: 1; } }

@media screen and (max-width: 480px) {
  .page-content.page-plans .plan-list-container {
    margin-bottom: 0px; } }

.page-content.page-plans i.aga-icon-arrow-right {
  display: inline-block !important; }

.page-content.page-plans div.simple-page > .pageText {
  padding: 10px; }

.popover {
  /* required for the Plans page */ }
  .popover li {
    list-style-type: disc; }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.page-content.page-contact .banner {
  background-image: url("/Content/brand/img/banners/contact-banner.jpg"); }

@media only screen and (min-width: 980px) {
  .page-content.page-contact {
    padding-bottom: 30px; } }

.page-content.page-contact h4 {
  font-size: 93.8%;
  margin-bottom: 1rem;
  font-weight: bold; }

@media only screen and (max-width: 480px) {
  .page-content.page-contact .banner {
    background-image: none; }
    .page-content.page-contact .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/contact-banner-m.jpg"); } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Page: Personal Detail *****************************/
.personal-detail-contact-areaCode {
  float: left;
  width: 15%; }

.personal-detail-contact-phoneNumber {
  float: left;
  width: 85%; }

@media only screen and (max-width: 480px) {
  .personal-detail-contact-areaCode {
    float: left;
    width: 12%; }
  .personal-detail-contact-phoneNumber {
    float: left;
    width: 88%; } }

#homePhoneAreaInput, #workPhoneAreaInput {
  max-width: 40px; }

/* set plan block empty initially*/
.purchase-plan {
  display: none; }

/* set customer detail block empty initially*/
.purchase-customer-detail {
  display: none; }

.name-popover {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: none;
  display: block;
  position: relative;
  margin-left: 0px !important;
  margin-top: 10%; }

.phone-popover {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  display: block;
  position: relative;
  margin-left: 0px !important;
  margin-top: 10%; }

.loginToolTip {
  display: block;
  position: relative;
  width: 230px;
  float: right; }
  .loginToolTip .popover-content {
    background: none; }

.receiveEmailCheckbox {
  min-width: 285px;
  margin-top: -15px; }

.receiveEmailCheckbox-input {
  margin-top: 0px !important; }

/***************************** Page: Personal Detail END *****************************/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Page: Receipt *****************************/
.purchase-receipt .content-subtitle {
  text-transform: none; }

/* set customer detail block empty initially*/
.purchase-receipt {
  display: none; }

.banner-receipt > div:first-of-type {
  position: relative;
  padding: 0; }

.banner-receipt div.contentIndent {
  position: absolute;
  top: 40px; }

.receipt-logo-title {
  color: #333;
  font-size: xx-large; }

.receipt-logo-content {
  color: black;
  font-size: x-large; }

.receipt-content-bold {
  color: #333;
  font-weight: bold; }

.receipt-content-bold-confirm {
  color: black;
  font-weight: bold; }

.receipt-content-list {
  list-style-image: url("/Content/base/img/benefit-available.png");
  font-size: 14px; }

.receipt-checklist {
  list-style-type: disc;
  font-size: 14px; }

.receipt-phone-tipbox {
  background: #FFF;
  border: 1px solid #e5e5e5;
  display: inline-flex;
  padding: .5em 1.5em; }
  .receipt-phone-tipbox img {
    width: 110px;
    padding-right: 1em; }
  .receipt-phone-tipbox div p {
    margin-bottom: 0px;
    font-size: 125%;
    color: #333; }
  .receipt-phone-tipbox .phoneText a {
    color: #333;
    text-decoration: none; }
  .receipt-phone-tipbox .phoneText .contactNumber {
    white-space: nowrap; }

/* set customer detail block empty initially*/
.purchase-payment-detail {
  display: none; }
  .purchase-payment-detail .payment-total > label.total-price {
    font-weight: bold; }
  .purchase-payment-detail .terms {
    margin-bottom: 10px; }
    .purchase-payment-detail .terms:last-of-type {
      margin-bottom: 20px; }
  .purchase-payment-detail select {
    width: 85px; }

@media screen and (min-width: 481px) and (max-width: 979px) {
  .receipt-membership-number {
    margin-left: 15px; } }

@media screen and (max-width: 480px) {
  .purchase-payment-detail select {
    width: 100%; }
  .receipt-logo-title {
    color: black; }
  .receipt-logo-content {
    color: black; }
  .receipt-logo {
    background: none;
    width: 100%;
    height: 100%; }
  .banner-receipt div.contentIndent {
    position: relative;
    top: 0; } }

/***************************** Page: Receipt END *****************************/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/* lightbox/popover */
.lightBox-title {
  font-weight: bold;
  text-align: center;
  /*display: none;*/ }

#lightBox-close {
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  margin: 0 -5px;
  /* used to override the padding on bootstrap responsive */
  background-repeat: no-repeat;
  background-image: url(/Content/brand/img/menu_button_close_black.svg); }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/* Marketing box */
.marketingBox {
  display: block;
  position: relative;
  width: 230px;
  float: right;
  clear: both; }
  .marketingBox .marketingBox-container {
    margin: 5px; }
  .marketingBox .popover-content {
    background: none;
    color: black; }
  .marketingBox .popover-title {
    background: none;
    color: black; }

.popover-title {
  /*@include boldText;*/
  padding-bottom: 2px;
  background: #c3d5dd; }

/*  Marketing box END */
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Plan Template *****************************/
#planList .disclaimer {
  text-align: center; }

#planList .plan-benefit-header {
  text-align: center; }
  #planList .plan-benefit-header h3 {
    color: #FFF;
    background-color: #333;
    -webkit-border-radius: 0px 0px 0 0;
    -moz-border-radius: 0px 0px 0 0;
    border-radius: 0px 0px 0 0;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    padding: 4px;
    margin-bottom: 0px;
    font-size: 112%;
    font-weight: 600;
    line-height: 45px;
    height: 46px;
    overflow: hidden; }
  #planList .plan-benefit-header .plan-price {
    margin-bottom: 0;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #efefef;
    line-height: 1; }
    #planList .plan-benefit-header .plan-price .price-value {
      padding-top: 15px;
      padding-bottom: 10px; }
    #planList .plan-benefit-header .plan-price .price-value > span {
      font-size: 48px;
      font-weight: bold; }
    #planList .plan-benefit-header .plan-price .price-terms > span {
      font-size: 14px; }

#planList .plan-benefit-content {
  border: 1px solid #efefef;
  padding-top: 10px;
  padding-bottom: 20px; }
  #planList .plan-benefit-content h3 {
    margin: 12px 0 6px 0;
    padding: 9px 0 9px 20px;
    background: #F9F9F9;
    font-size: 100%;
    font-weight: bold; }
  #planList .plan-benefit-content .plan-benefit-content-list {
    margin: 0 0 0 20px; }
  #planList .plan-benefit-content .benefit-content-container, #planList .plan-benefit-content .sub-benefit-content-container {
    list-style: none;
    background: url(/Content/brand/img/tick.svg) no-repeat 0 16px;
    padding-left: 32px;
    width: 100%;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    padding-top: 12px; }
    #planList .plan-benefit-content .benefit-content-container > div, #planList .plan-benefit-content .sub-benefit-content-container > div {
      display: inline-block; }
    #planList .plan-benefit-content .benefit-content-container .benefit-content, #planList .plan-benefit-content .sub-benefit-content-container .benefit-content {
      font-weight: bold; }
    #planList .plan-benefit-content .benefit-content-container a, #planList .plan-benefit-content .benefit-content-container a:hover, #planList .plan-benefit-content .benefit-content-container a:visited, #planList .plan-benefit-content .sub-benefit-content-container a, #planList .plan-benefit-content .sub-benefit-content-container a:hover, #planList .plan-benefit-content .sub-benefit-content-container a:visited {
      text-decoration: none;
      color: black;
      font-weight: normal;
      width: 100%; }
  #planList .plan-benefit-content .sub-benefit-content-container {
    background: none; }

#planList .plan-benefit-footer {
  margin-bottom: 40px; }
  #planList .plan-benefit-footer button {
    height: 76px;
    width: 100%;
    font-size: 28px;
    max-width: none;
    border-right: none;
    border-left: none;
    -webkit-border-radius: 0 0 0px 0px;
    -moz-border-radius: 0 0 0px 0px;
    border-radius: 0 0 0px 0px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box; }

@media screen and (min-width: 980px) {
  .plan-benefit-footer {
    margin-bottom: 20px; }
  #planList .plan-list-col.single-plan {
    width: 420px;
    margin: auto; } }

@media (max-width: 480px) {
  #planList {
    margin-top: -20px; }
    #planList .plan-detail-container-featuredtop h3 {
      /* bump size lower and don't wrap */
      white-space: nowrap;
      font-size: 12px; } }

@media (min-width: 481px) and (max-width: 780px) {
  #planList {
    margin-top: -35px; } }

/***************************** Plan Template END *****************************/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/* progress bar */
/* base styles */
.plan-navigation {
  display: none; }

.progress-new {
  width: 100%;
  height: 45px;
  float: left;
  margin-left: 0px;
  margin-top: 5px;
  margin-bottom: 24px;
  font-size: 100%;
  color: #333;
  text-transform: uppercase;
  font-weight: bold; }
  .progress-new table {
    margin-top: 4px; }
  .progress-new .selected {
    float: left;
    color: white; }
  .progress-new .header, .progress-new .footer, .progress-new .button, .progress-new .divider {
    float: left;
    background: url(/Content/brand/img/checkoutnav.png);
    background-size: 30px 417px;
    height: 45px; }
  .progress-new .header {
    width: 1%; }
  .progress-new .footer {
    padding: 0px;
    width: 1%;
    background-repeat: no-repeat; }
  .progress-new .button {
    width: 23%; }
    .progress-new .button div:first-child {
      display: table;
      margin-left: auto;
      margin-right: auto;
      line-height: 45px; }
  .progress-new div .step-num {
    font-size: 14px;
    vertical-align: middle;
    padding-left: 3px;
    display: table-cell; }
  .progress-new .step-desc {
    padding-left: 3px;
    font-size: 14px;
    overflow: hidden;
    display: table-cell;
    vertical-align: middle; }
  .progress-new .divider {
    width: 1.8%; }

.progress-new {
  /*.button.home {
        width: 4%;
        background-position: -2px -369px;
    }

    .button.selected.home {
        background-position: -2px -410px;
    }*/ }
  .progress-new .header {
    background-position: 0 0px; }
  .progress-new .footer {
    background-position: 0px -46.5px; }
  .progress-new .header.selected {
    background-position: 0 -93px; }
  .progress-new .footer.selected {
    background-position: -23px -139.5px; }
  .progress-new .button {
    background-position: 0 -186px; }
  .progress-new .button.selected {
    background-position: 0 -232.5px; }
  .progress-new .divider.nextselected {
    background-position: 0 -279px; }
  .progress-new .divider {
    background-position: 0 -325.5px; }
  .progress-new .divider.selected {
    background-position: 0 -372px; }

.progress-new.twostep .button {
  width: 48.00%; }

.progress-new.threestep .button {
  width: 31.46%; }

.progress-new.fourstep .button {
  width: 23.15%; }

@media only screen and (max-width: 480px) {
  .button.home {
    width: 9% !important; }
  .divider {
    width: 5% !important; }
  .progress-new .button {
    width: 11% !important; }
  .progress-new.twostep .button {
    width: 44.5% !important; }
  .progress-new.threestep .button {
    width: 27.3385% !important; }
  .progress-new.fourstep .button {
    width: 19.75% !important; }
  .progress-new .header {
    width: 3%; }
  .progress-new .footer {
    width: 3%; }
  .step-desc {
    display: none !important; } }

.greyout {
  color: #333; }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.receipt-detail p {
  margin-bottom: 16px; }

.receipt-detail .banner {
  background-image: url("/Content/brand/img/banners/receipt-banner.jpg"); }

@media (max-width: 480px) {
  .receipt-detail .banner {
    background-image: none; }
    .receipt-detail .banner .row-fluid:first-child {
      background-image: url("/Content/brand/img/banners/receipt-banner-m.jpg"); } }

/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/***************************** Page: Login *****************************/
.bubble {
  left: 0px;
  top: 0px;
  display: table; }

.bubble p {
  display: table-cell;
  vertical-align: middle;
  padding-top: 0; }

.tollfreenumber-text {
  display: none;
  color: #efdf00;
  text-align: center; }

.phoneContainer {
  position: relative;
  padding: 10px; }

div.tipBox p, div.tipBox span {
  font-size: 14px; }

div.tipBox {
  outline: 1px solid #DCDCDC;
  width: 230px;
  float: right;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box; }
  div.tipBox a {
    text-decoration: none; }
  div.tipBox .tipBox-container {
    padding: 10px; }
  div.tipBox .tipBox-phoneContainer {
    background-color: #333; }
    div.tipBox .tipBox-phoneContainer a, div.tipBox .tipBox-phoneContainer a:hover, div.tipBox .tipBox-phoneContainer a:visited, div.tipBox .tipBox-phoneContainer a:focus {
      font-size: 21px;
      color: #FFF;
      letter-spacing: -0.5px;
      line-height: 24px; }
  div.tipBox h4 {
    font-size: 16px;
    font-weight: bold;
    font-family: NouvelR-Bold; }

div.tipBox p:last-child {
  padding-bottom: 0px;
  margin-bottom: 0; }

div.tipBox img {
  padding: 3px 12px 0 4px;
  vertical-align: top;
  float: left; }

div.tipBox span {
  font-size: inherit;
  font-weight: bold; }

@media screen and (max-width: 480px) {
  div.tipBox {
    float: inherit; } }

/***************************** Page: Login END *****************************/
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
.btn-group.productbox .btn-large {
  font-size: 26px;
  min-width: unset; }

.btn-group.productbox div.btn {
    line-height: normal;
    box-sizing: border-box;
    width: 90%;
    background-color: #EFDF00;
    border: solid 1px #e5e5e5;
    padding: 0;
    margin: 0;
    color: #333;
    border-radius: 25px;
    /*&:first-child { // this first button. we need to set background for NO JOINING FEE text
            @include gradient(bottom, #efefef, #efefef);
            background-color: #dddbdb;
            background-position-y: -30px;
            color: rgb(51, 51, 51);
           

            span:first-child {
                
            }

            span:nth-child(2) {
               
            }

            span.productbox-bottom {
               
            }
        }

        &:last-child {
            line-height: 96px;
            text-transform: uppercase;

            @media screen and (max-width: $width-phone) {
                font-size: 16px;
            }
        }*/
}

@media screen and (max-width: 1200px) {
    .btn-group.productbox div.btn {
        line-height: normal;
        box-sizing: border-box;
        width: 100%;
        background-color: #EFDF00;
        border: solid 1px #e5e5e5;
        padding: 0;
        margin: 0;
        color: #333;
        border-radius: 25px;
       
    }
}
  .btn-group.productbox div.btn:hover {
    color: #333; }
  .btn-group.productbox div.btn .btn-header {
    background-color: #333; }
    .btn-group.productbox div.btn .plan-type {
        margin-left: 10px;
        margin-right: 10px;
        margin-top: 15px;
        display: block;
        padding: 15px;
        font-size: 16px;
        font-weight: bold;
        font-family: NouvelR-Bold;
        color: #FFF;
        background-color: #333;
        text-transform: none; }
  .btn-group.productbox div.btn .price-info {
    padding: 15px; }
    .btn-group.productbox div.btn .price-info:hover {
      color: #333; }
.btn-group.productbox div.btn .buy-now {
    border-radius: 10px;
    margin-left: 64px;
    margin-right: 64px;
    margin-bottom: 11px;
    display: block;
    padding: 15px;
    font-size: 20px;
    font-weight: bold;
    font-family: NouvelR-Bold;
    color: #ffffff;
    background-color: #333;
    text-transform: none;
}
/**********************
       CONSTANTS
***********************/
/* palette */
/* MAIN COLORS */
/*   NEW COLOUR VARIABLES -- START */
/*   NEW COLOUR VARIABLES -- END */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- START OF BLOCK */
/*  BELOW colour variables need to be phased out or removed IF they are not used -- END OF BLOCK*/
/* fonts */
/* 10px */
/* 11px */
/* 15px */
/* 16px */
/* 18px */
/* 20px */
/* 30px */
/*screen widths*/
/**********************
        MIXINS
***********************/
.box-shadow-none {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.text-shadow-none {
  -webkit-text-shadow: none;
  text-shadow: none; }

.boldText {
  font-weight: bold; }

/* End Mixins Styles */
/* PUT Brand Specific Mixes here*/
/**********************
         STYLES
***********************/
.button-sub-section {
  float: right;
  margin-top: 10px; }

.sectionlabel > label {
  font-size: 16px;
  font-weight: bold;
  font-family: NouvelR-Bold; }

.emailLabel {
  width: 100%;
  -ms-word-wrap: break-word;
  word-wrap: break-word; }

.btn-move-right {
  margin-right: 1px;
  float: right; }

@media screen and (max-width: 480px) {
  .btn-move-right {
    float: inherit; } }

.question-hover-icon {
  margin-top: -12px; }

/* Buttons END */
/* Forms */
form .row-fluid {
  margin-bottom: 10px; }

form span {
  line-height: 24px; }

form .span-.centered {
  /* vertically align OR label in Login screen */
  line-height: 35px; }

/* Forms END */
.content-title {
  color: black; }

.content-subtitle {
  font-size: 16px;
  font-weight: bold;
  font-family: NouvelR-Bold; }
  .content-subtitle:first-of-type {
    margin-top: 5px; }
  @media screen and (min-width: 980px) {
    .content-subtitle {
      margin-top: 30px;
      margin-bottom: 14px; } }
  @media screen and (max-width: 979px) {
    .content-subtitle {
      margin-top: 15px;
      margin-bottom: 5px; } }

/* End Title Section */
.controls span.tooltip-image {
  display: inline; }

/* progress bar END */
.popover {
  font-size: 11px; }

.popover-link {
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding-top: 12px; }

.popover-title {
  background-color: #d5d5d5;
  color: #434343;
  font-weight: bold;
  text-align: center; }

.popover-content {
  max-height: 600px;
  overflow-y: auto;
  background-color: #efefef;
  color: #434343; }

.popover.top .arrow {
  border-top-color: #51555a; }

.popover.right .arrow {
  left: -8px;
  border-right-color: #efefef; }

@media screen and (min-width: 481px) and (max-width: 979px) {
  .popover-content {
    max-height: 400px; }
  .modal-body {
    max-height: 400px; }
  .modal {
    max-width: 80%; } }

@media screen and (max-width: 480px) {
  .popover-content {
    max-height: 200px; }
  .modal-body {
    max-height: 200px; }
  .modal {
    max-width: 100%; }
  .popover {
    left: 0px !important; }
  .popover-link {
    display: inline-block;
    position: relative;
    padding-top: 0; } }

span.phoneText {
  font-weight: bold; }

/* lightbox/popover END */
.pageText {
  padding-left: 4px;
  padding-right: 70px; }

/* for any content section on page*/
.content {
  background-color: #efefef;
  padding: 0 10px 0 10px; }

/* for the whole page content */
.page-content {
  margin-bottom: 14px; }
  .page-content .page-sub-title {
    text-transform: uppercase;
    margin-left: 10px; }
  .page-content ul {
    font-size: 14px; }
  .page-content div.simple-page > .pageText {
    padding: 10px 250px 20px 30px; }
  @media screen and (max-width: 979px) {
    .page-content > div.banner {
      width: unset; }
    .page-content div.simple-page > .pageText {
      padding: 10px; } }
  @media screen and (max-width: 480px) {
    .page-content div.simple-page > .pageText {
      padding: 10px; } }

.contentIndent {
  padding-left: 30px; }

/* boostrap doesn't provide inline switching, added in */
.hidden-phone-inline {
  display: inline !important;
  white-space: nowrap; }

.visible-phone-inline {
  display: none !important;
  white-space: nowrap; }

@media screen and (max-width: 979px) {
  .padded-tablet {
    padding-left: 15px;
    padding-right: 15px; } }

@media screen and (max-width: 480px) {
  .padded-phone {
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px; }
  .contentIndent {
    padding: 0 10px; }
  .pageText {
    padding-left: 0;
    padding-right: 0; }
  /* remove all padding on phone */
  .content {
    background-color: #efefef;
    padding: 0 0px 0 0px; }
  .hidden-phone-inline {
    display: none !important; }
  .visible-phone-inline {
    display: inline !important; } }

/***************************** Page END *****************************/
/***************************** Page: My Account *****************************/
@media screen and (max-width: 480px) {
  .button-sub-section {
    float: none; }
  .button-sub-section > div.span12 {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 10px; }
    .button-sub-section > div.span12 .pull-left, .button-sub-section > div.span12 .pull-right {
      float: none; }
      .button-sub-section > div.span12 .pull-left button, .button-sub-section > div.span12 .pull-right button {
        max-width: unset;
        width: 100%;
        height: 50px; }
  .button-sub-section button.btn-small {
    max-width: unset;
    width: 100%;
    height: 44px; }
  .button-sub-section button {
    max-width: unset;
    width: 100%;
    height: 50px; }
  .button-sub-section a, .button-sub-section a:visited, .button-sub-section a:hover, .button-sub-section a:active {
    display: block;
    margin-top: 10px; }
  .button-sub-section a:not(.btn-large), .button-sub-section a:visited:not(.btn-large), .button-sub-section a:hover:not(.btn-large), .button-sub-section a:active:not(.btn-large) {
    line-height: 22px;
    padding-top: 10px;
    padding-bottom: 10px; } }

.button-sub-section button {
  margin-top: 10px; }

.myaccountsection {
  margin-bottom: 15px; }
  .myaccountsection .information {
    margin-bottom: 10px; }

.myaccountsection:last-of-type {
  margin-bottom: inherit; }

.myaccount-page h3 > span {
  font-size: inherit; }

.address-sub-section .control-group {
  margin-bottom: 0; }

@media screen and (max-width: 480px) {
  .address-sub-section .control-group {
    margin-bottom: 10px; }
  .information .span4, .information .span5 {
    width: 100%;
    float: left; }
  .information .span4:last-child, .information .span7:last-child {
    width: 100%;
    float: right; } }

/***************************** Page: My Account END *****************************/
/***************************** Page: Vehicle detail *****************************/
.purchase-vehicle-detail {
  display: none; }

/*.vehicle-span {
    margin-top: 4.5px;
    margin-bottom: 4.5px;
}*/
.hideDiv {
  display: none; }

/***************************** Page: Vehicle detail END *****************************/
/*input.span12 {
    border: solid 1px $color-border-a;
    box-shadow: none;
}*/
/* Overriding border and border shadow END*/
/* Overriding border and border shadow on Focusing action END*/
/* Overriding border and border shadow on Drop and Active action */
.select2-drop.select2-drop-active, .select2-container-active .select2-choice, .select2-container-multi.select2-container-active .select2-choices {
  border: solid 1px #ccc;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

.select2-drop-active {
  border: solid 1px black;
  border-top: none; }

/* Overriding border and border shadow on Drop and Active action END*/
a.btn.btn-move-right.btn-primary {
  margin-top: 10px; }

/*
a.download-certificate-button.btn.btn-move-right.btn-secondary,
a.download-certificate-button.btn.btn-move-right.btn-secondary:hover,
a.download-certificate-button.btn.btn-move-right.btn-secondary:focus,
a.btn.btn-move-right.btn-primary {
    width: 190px;
    box-shadow: none;
    outline-offset: unset;
    border: none;
}*/
.centered {
  text-align: center; }

.text-align-right {
  text-align: right; }

i[class^="aga-icon-"] {
  vertical-align: middle;
  display: inline-block;
  background-repeat: no-repeat; }

.btn.btn-primary i.aga-icon-arrow-right {
  width: 10px;
  height: 18px;
  background-image: url("/Content/brand/img/arrow-right-mid.png");
  background-size: 10px 16px;
  margin-left: 5px;
  display: none; }

.btn.btn-primary.btn-large i.aga-icon-arrow-right {
  width: 16px;
  height: 27px;
  background-image: url("/Content/brand/img/arrow-right-large.svg");
  background-size: 16px 23px;
  margin-left: 10px;
  display: none; }

span[class*='aga-icon-'] {
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px; }

span.aga-icon-user {
  background-image: url("/Content/brand/img/icon-user.svg"); }

span.aga-icon-car {
  background-image: url("/Content/brand/img/icon-car.svg"); }

span.aga-icon-card {
  background-image: url("/Content/brand/img/icon-card.svg"); }

span.aga-icon-list {
  background-image: url("/Content/brand/img/icon-list.svg"); }

.hidden-field {
  visibility: hidden;
  position: absolute; }

label.cb-label {
  display: inline; }

.margined {
  margin: 10px; }

#spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.btn-update-details {
  border: none;
  height: 35px;
  font-weight: bold;
  background-color: #BEC0BF;
  color: #333; }
  .btn-update-details:hover, .btn-update-details:active {
    background-color: #535353; }
  @media only screen and (max-width: 480px) {
    .btn-update-details {
      height: 44px; } }

input[type=checkbox] {
  margin: 0;
  height: initial; }

.page li {
  list-style-type: disc; }

textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
  box-shadow: none;
  color: #262626;
  border-color: #DCDCDC; }

@media only screen and (max-width: 979px) {
  /*.hidden-tablet {
            display: none !important;
        }*/ }

@media screen and (min-width: 980px) {
  .mx0\:d {
    margin-left: 0 !important;
    margin-right: 0 !important; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiQ29udGVudC9icmFuZC9jc3MvYnJhbmQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJDb250ZW50L2JyYW5kL2Nzcy9icmFuZC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvYm9vdHN0cmFwLWN1c3RvbS5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvYnJvd3Nlci1leHQtbWl4ZXMuc2NzcyIsCgkJIkNvbnRlbnQvYmFzZS9jc3MvYnJvd3Nlci1leHQtbWl4ZXMuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL3BhbGV0dGUuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL25hdi5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvQ29tbW9uL1Jvb3Quc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0NvbW1vbi9Gb290ZXIuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0NvbW1vbi9IZWFkZXIuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0NvbW1vbi9CYW5uZXIuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0N1c3RvbWVyL19Mb2dpbi5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvQ3VzdG9tZXIvX1BheW1lbnREZXRhaWwuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0N1c3RvbWVyL015QWNjb3VudC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvQ3VzdG9tZXIvVmVoaWNsZVNlYXJjaC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvSG9tZS9fSG9tZUNvbnRlbnQuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0hvbWUvX0dldEhlbHAuc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL0hvbWUvX0JlbmVmaXRzLnNjc3MiLAoJCSJDb250ZW50L2JyYW5kL2Nzcy9WaWV3cy9Ib21lL19QbGFucy5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvU2hhcmVkL19QbGFuTGlzdC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvSG9tZS9fQ29udGFjdFVzLnNjc3MiLAoJCSJDb250ZW50L2JyYW5kL2Nzcy9WaWV3cy9QdXJjaGFzZS9QZXJzb25hbERldGFpbC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvUHVyY2hhc2UvUmVjZWlwdC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvU2hhcmVkL19MaWdodEJveC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvU2hhcmVkL19NYXJrZXRpbmdCb3guc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL1NoYXJlZC9fUGxhbk5hdmlnYXRpb24uc2NzcyIsCgkJIkNvbnRlbnQvYnJhbmQvY3NzL1ZpZXdzL1NoYXJlZC9fUmVjZWlwdERldGFpbC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvVmlld3MvU2hhcmVkL1RpcEJveC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvcHJvZHVjdGJveC5zY3NzIiwKCQkiQ29udGVudC9icmFuZC9jc3MvY3VzdG9tLWdsb2JhbC1zdHlsZXMuc2NzcyIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICJBSUNBOzt3QkFFd0I7QUFDeEIsYUFBYTtBQUNiLGlCQUFpQjtBQUlqQixxQ0FBcUM7QUF1Q3JDLG1DQUFtQztBQUduQyxxR0FBcUc7QUE0QnJHLGtHQUFrRztBQUtsRyxXQUFXO0FBQ2MsVUFBVTtBQUNiLFVBQVU7QUFFTixVQUFVO0FBQ2hCLFVBQVU7QUFDTCxVQUFVO0FBQ2hCLFVBQVU7QUFDUCxVQUFVO0FBSWhDLGlCQUFpQjtBRDFGakI7O3dCQUV3QjtBQThMeEIsQUFBQSxnQkFBZ0IsQ0FBQztFQUxiLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZUFBZSxFQUFFLElBQUk7RUFDckIsVUFBVSxFQUFFLElBQUksR0FL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 */