.pac-container {
  box-shadow: none;
  background-color: #FCFCFC;
  border: 1px solid #ECECEC;
  border-top: none;
  color: #5F5B67;
  margin-left: 1px;
  z-index: 9999; }

.load_modal_form {
  cursor: pointer; }

.quote_generator {
  overflow-y: auto;
  height: 100%;
  left: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%; }
  .quote_generator,
  .quote_generator * {
    box-sizing: border-box; }
  .quote_generator h2 {
    font-size: 1.75em;
    letter-spacing: 0.25px; }
  .quote_generator h2,
  .quote_generator a {
    color: #4CA39C; }
  .quote_generator a {
    transition: color ease-in-out 0.3s; }
  .quote_generator a,
  .quote_generator a:hover,
  .quote_generator a:focus,
  .quote_generator a:active {
    text-decoration: none; }
  .quote_generator a:hover,
  .quote_generator a:active,
  .quote_generator a:focus {
    color: #BDE2E1; }
  .quote_generator p {
    color: #5F5B67;
    line-height: 1.5;
    letter-spacing: 0.25px;
    margin: 16px 0; }
    .quote_generator p strong {
      color: #111; }
  .quote_generator input[type="text"],
  .quote_generator input[type="email"],
  .quote_generator textarea {
    background-color: #FCFCFC;
    border-color: #ECECEC;
    color: #5F5B67;
    border-radius: 3px;
    line-height: 1;
    font-size: 1em;
    padding: 12px 12px 8px 12px; }
    .quote_generator input[type="text"].input-large,
    .quote_generator input[type="email"].input-large,
    .quote_generator textarea.input-large {
      width: 100%; }
      @media screen and (min-width: 480px) {
        .quote_generator input[type="text"].input-large,
        .quote_generator input[type="email"].input-large,
        .quote_generator textarea.input-large {
          max-width: 50%; } }
  .quote_generator input[type="checkbox"] {
    margin: 0 8px 0;
    vertical-align: middle; }
  .quote_generator .checkbox-label {
    font-size: 1em;
    vertical-align: -1px; }
  .quote_generator label {
    margin: 0; }
  .quote_generator label.spacious {
    margin: 24px 0; }
  .quote_generator .centered {
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    width: 100%; }
    @media screen and (min-width: 480px) {
      .quote_generator .centered {
        max-width: 80%; } }
    @media screen and (min-width: 768px) {
      .quote_generator .centered {
        max-width: 60%; } }

html.js {
  margin-top: 0 !important; }

.quote_generator__background {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.8;
  z-index: 9997; }

.quote_generator__modal {
  position: absolute;
  padding: 5%;
  top: 46px !important;
  left: 5%;
  right: 5%;
  max-width: 90%;
  margin: 5% 0;
  opacity: 1;
  width: 100%;
  z-index: 9998;
  overflow: auto; }
  @media screen and (min-width: 480px) {
    .quote_generator__modal {
      padding: 5%;
      top: 0;
      left: 10%;
      max-width: 85%;
      right: 10%; } }
  @media screen and (min-width: 768px) {
    .quote_generator__modal {
      padding: 3%;
      max-width: 73%;
      left: 15%;
      right: 15%; } }
  @media screen and (min-width: 1024px) {
    .quote_generator__modal {
      padding: 2%;
      max-width: 62%;
      left: 20%;
      right: 20%; } }
  .quote_generator__modal form {
    margin-bottom: 0;
    margin-top: 0; }
  .quote_generator__modal__close {
    display: inline;
    font-size: inherit;
    font-weight: inherit;
    background: none;
    border: none;
    margin: 0px;
    padding: 0px;
    position: absolute;
    top: -20px;
    right: -20px; }
  .quote_generator__modal__close:hover {
    background: none;
    border: none; }
    .quote_generator__modal__close:hover svg {
      opacity: 0.8; }

.quote_generator__modal__inner {
  position: relative;
  background: white;
  padding: 30px 20px 20px;
  width: 100%; }
  @media screen and (min-width: 480px) {
    .quote_generator__modal__inner {
      padding: 40px; } }
  @media screen and (min-width: 768px) {
    .quote_generator__modal__inner {
      padding: 60px; } }
  .quote_generator__modal__inner section > :first-child {
    margin-top: 0; }
  .quote_generator__modal__inner > section > :last-child {
    margin-bottom: 0; }

.quote_generator .modal-navigation {
  margin-top: 20px;
  padding: 0px; }
  @media screen and (min-width: 480px) {
    .quote_generator .modal-navigation {
      margin-top: 40px; } }
  @media screen and (min-width: 768px) {
    .quote_generator .modal-navigation {
      margin-top: 60px; } }
  .quote_generator .modal-navigation button {
    cursor: pointer;
    font-weight: 400;
    height: 42px;
    margin-bottom: 0;
    margin-top: 0;
    letter-spacing: 0.25px;
    line-height: 1;
    padding: 10px 20px;
    transition: background-color ease-in-out 0.3s, color ease-in-out 0.3s; }
    .quote_generator .modal-navigation button.move-backward {
      background-color: transparent;
      border: none;
      color: #5F5B67;
      text-transform: none; }
      .quote_generator .modal-navigation button.move-backward:hover, .quote_generator .modal-navigation button.move-backward:active, .quote_generator .modal-navigation button.move-backward:focus {
        color: #4CA39C; }
    .quote_generator .modal-navigation button.disabled {
      background-color: #5F5B67;
      cursor: not-allowed; }

.quote_generator .icon-next {
  background-image: url("../img/arrow-right.svg");
  background-size: 20px 20px;
  display: inline-block;
  height: 20px;
  vertical-align: -4px;
  width: 20px; }

.quote_generator .select-bandwidths {
  margin-bottom: 40px; }

.quote_generator .step-notes {
  font-size: 0.875em;
  font-style: italic; }

.quote_generator .step-spinner {
  background-image: url("../img/spinner.gif");
  background-size: 150px 150px;
  display: inline-block;
  height: 150px;
  width: 150px; }

.quote_generator .step-loading {
  text-align: center; }
  .quote_generator .step-loading p {
    color: #5F5B67; }

.quote_generator .contact-preference {
  margin-top: 20px; }
  .quote_generator .contact-preference label {
    font-weight: 400; }
  .quote_generator .contact-preference input[type="text"],
  .quote_generator .contact-preference input[type="email"] {
    width: 100%; }
  .quote_generator .contact-preference .indent {
    padding-left: 28px; }

.quote_generator .contact-preference-option + .contact-preference-option {
  margin-top: 10px; }

.quote_generator .price-estimates {
  margin: 40px 0;
  overflow: hidden;
  text-align: center; }
  .quote_generator .price-estimates label {
    display: inline-block; }

.quote_generator .package-price {
  cursor: pointer;
  clear: none;
  text-align: center;
  width: 32.5%; }
  .quote_generator .package-price input[type="radio"] {
    position: absolute !important; }
  .quote_generator .package-price input[type="radio"]:checked + .description {
    color: #C82D2D; }
  .quote_generator .package-price span {
    display: block; }
  .quote_generator .package-price .description {
    color: #4CA39C;
    font-size: 1.75em;
    line-height: 1.5;
    transition: color ease-in-out 0.3s; }
  .quote_generator .package-price .installation {
    font-weight: normal;
    color: #5F5B67; }
  .quote_generator .package-price .price {
    color: #111;
    font-weight: bold; }
  .quote_generator .package-price .select {
    font-weight: normal;
    text-decoration: underline; }

.quote_generator .progress-bar {
  background-color: #BDE2E1;
  height: 40px;
  margin-bottom: 20px;
  padding: 0px; }
  @media screen and (min-width: 480px) {
    .quote_generator .progress-bar {
      margin-bottom: 30px; } }
  @media screen and (min-width: 768px) {
    .quote_generator .progress-bar {
      margin-bottom: 40px; } }

.quote_generator .progress-indicator {
  background-color: #4CA39C;
  height: 40px;
  position: relative;
  width: 0%; }
  .quote_generator .progress-indicator span {
    line-height: 1;
    font-weight: bold;
    font-size: 12px;
    color: #4CA39C;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-block;
    line-height: 1;
    position: absolute;
    right: -2px;
    top: -15px; }
  .quote_generator .progress-indicator.percent-one-quarter {
    width: 25%; }
  .quote_generator .progress-indicator.percent-one-third {
    width: 33.3333333333%; }
  .quote_generator .progress-indicator.percent-half {
    width: 50%; }
  .quote_generator .progress-indicator.percent-two-thirds {
    width: 66.6666666667%; }
  .quote_generator .progress-indicator.percent-three-quarters {
    width: 75%; }
  .quote_generator .progress-indicator.percent-five-sixths {
    width: 83.3333333333%; }
  .quote_generator .progress-indicator.percent-full {
    width: 100%; }
  .quote_generator .progress-indicator.percent-one-quarter, .quote_generator .progress-indicator.percent-one-third, .quote_generator .progress-indicator.percent-half, .quote_generator .progress-indicator.percent-two-thirds, .quote_generator .progress-indicator.percent-three-quarters, .quote_generator .progress-indicator.percent-five-sixths {
    border-right: 4px solid #fff; }

.quote_generator .step-final__user_details,
.quote_generator .step-final__user_detail {
  display: none; }

.quote_generator .step-final__user_detail {
  color: #5F5B67;
  line-height: 1.5;
  letter-spacing: 0.25px;
  margin: 0px; }
  .quote_generator .step-final__user_detail strong {
    color: #111; }

.quote_generator .quote_generator__additional {
  width: 100%;
  display: block;
  overflow: hidden; }
  @media screen and (min-width: 670px) {
    .quote_generator .quote_generator__additional .quote_generator__additional_details {
      padding-right: 1em;
      width: 50%;
      float: left; } }
  .quote_generator .quote_generator__additional .quote_generator__additional_details textarea,
  .quote_generator .quote_generator__additional .quote_generator__additional_details input {
    max-width: 100%; }
  @media screen and (min-width: 670px) {
    .quote_generator .quote_generator__additional .quote_generator__additional_summary {
      padding-left: 1em;
      width: 50%;
      float: right; } }
  .quote_generator .quote_generator__additional .quote_generator__additional_summary .summary {
    margin-top: 1.5em;
    border: 1px solid #e1f1f1;
    background: #f2f9f9;
    padding: 1em; }
    .quote_generator .quote_generator__additional .quote_generator__additional_summary .summary p {
      color: #5F5B67;
      line-height: 1.5;
      letter-spacing: 0.25px;
      margin: 16px 0; }
    .quote_generator .quote_generator__additional .quote_generator__additional_summary .summary p:first-child {
      margin-top: 0px; }
    .quote_generator .quote_generator__additional .quote_generator__additional_summary .summary p:last-child {
      margin-bottom: 0px; }

/**
 * HACKS
 *
 * For some reason these have to be manually added to the Customizer.
 **/
.pac-container {
  margin-top: 0px; }

.quote_generator__modal__inner {
  height: auto; }

.quote_generator__modal {
  height: 80%; }

@media screen and (min-width: 480px) {
  .quote_generator__modal {
    top: 0;
    left: 10%;
    max-width: 80%;
    right: 10%; } }

.quote_generator__modal {
  max-width: 85%;
  width: 85%;
  left: 5%;
  right: 5%; }

@media screen and (min-width: 768px) {
  .quote_generator__modal {
    max-width: 80%;
    width: 80%;
    left: 15%;
    right: 15%; } }

@media screen and (min-width: 1024px) {
  .quote_generator__modal {
    max-width: 60%;
    left: 20%;
    right: 20%; } }

@media screen and (min-width: 480px) {
  .quote_generator__modal__inner {
    padding: 40px; } }

@media screen and (min-width: 768px) {
  .quote_generator__modal__inner {
    padding: 60px; } }

@media screen and (min-width: 480px) {
  .quote_generator {
    margin-top: 40px; } }

@media screen and (min-width: 768px) {
  .quote_generator {
    margin-top: 60px; } }

@media screen and (min-width: 480px) {
  .quote_generator .centered {
    max-width: 80%; } }

@media screen and (min-width: 768px) {
  .quote_generator .centered {
    max-width: 60%; } }

.quote_generator__modal {
  overflow: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important; }

/*# sourceMappingURL=plugin.css.map */