/**
 * Mixin to clamp multiple lines of text using a fadeout and ellipsis.
 *
 * This approach works in a container of variable height with one caveat:
 * if the actual number of lines of text equals $max-lines, then the ellipsis always shows.
 */
/**
 * A second mixin to clamp multiple lines of text using a fadeout and ellipsis.
 * This approach requires that the containing element have a static height equal to
 * $max-lines * $line-height. The ellipsis only shows when appropriate.
 * http://dev.mobify.com/blog/multiline-ellipsis-in-pure-css/.
 */
/**
 * These variables are all crucial to making the fixed modal look correct. They're shared between
 * the different layers and versions of the request form/flow.
 */
/**
 * Adjust as needed to make sure everything that might go into the persistent header will fit.
 * This value was gotten from the current tallest configuration of the persistent header, the
 * 28px logo with 20px padding top/bottom.
 */
/**
 * Mixin to clamp multiple lines of text using a fadeout and ellipsis.
 *
 * This approach works in a container of variable height with one caveat:
 * if the actual number of lines of text equals $max-lines, then the ellipsis always shows.
 */
/**
 * A second mixin to clamp multiple lines of text using a fadeout and ellipsis.
 * This approach requires that the containing element have a static height equal to
 * $max-lines * $line-height. The ellipsis only shows when appropriate.
 * http://dev.mobify.com/blog/multiline-ellipsis-in-pure-css/.
 */
/**
 * These variables are all crucial to making the fixed modal look correct. They're shared between
 * the different layers and versions of the request form/flow.
 */
/**
 * Adjust as needed to make sure everything that might go into the persistent header will fit.
 * This value was gotten from the current tallest configuration of the persistent header, the
 * 28px logo with 20px padding top/bottom.
 */
.visual-selector {
  background: #ffffff;
  border: 1px solid #e6f0f2;
  cursor: pointer;
  display: block;
  border-radius: 4px;
  text-align: center;
  position: relative;
  width: 100%; }
  .visual-selector__input {
    opacity: 0;
    position: absolute; }
  .visual-selector__figure {
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    min-height: 80px; }
  .visual-selector__overlay {
    background-color: rgba(0, 0, 0, 0.6);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 350ms;
    transition: opacity 350ms;
    fill: #ffffff; }
  .visual-selector__image {
    display: block;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    width: 100%; }
  .visual-selector__text {
    display: block;
    padding: 8px 12px;
    -ms-flex-item-align: center;
        align-self: center; }
  .visual-selector__input:checked ~ .visual-selector__text::after {
    border: 4px solid #3f93f3;
    border-radius: 4px;
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .visual-selector__input:checked ~ .visual-selector__figure .visual-selector__overlay {
    opacity: 1; }

.request-form-two {
  /**
     * Note(bryan): This spits out a lot of styles that are crucial to the fixed modal look and feel
     * and need to be shared between the request form, request flow, and react request form.
     *
     * Styles created include:
     * &__progress-container {...}
     * &__close-modal {
     *     ...
     *     &__icon {
     *         ...
     *         &--branded {...}
     *     }
     * }
     * &__section-content {
     *     ...
     *     &__inner {...}
     * }
     * &__section-footer {
     *     ...
     *     &--branded {...}
     *     &__inner {...}
     *     &__skip-button,
     *     &__back-button {...}
     * }
     * &__contained-answers {...}
     * &__validation-error {...}
     */
  /**
     * TODO(bryan): Remove once the forms no longer have the intro screens
     * This outputs:
     * &__explanation {
     *     ...
     *     &__container {...}
     *     &__logo {...}
     *     &__pros {...}
     *     &__base {...}
     * }
     */
  position: relative;
  overflow: hidden;
  background-color: #fafafa; }
  .request-form-two__persistent-header {
    height: 60px; }
  .request-form-two__close-modal {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1; }
    .request-form-two__close-modal__icon {
      padding: 12px;
      fill: #e1e3e3; }
      .request-form-two__close-modal__icon--branded {
        fill: rgba(225, 227, 227, 0.5); }
  .request-form-two__progress-container {
    padding-top: 21px;
    margin: 0 auto;
    width: calc(100% - 96px); }
    @media only screen and (min-width: 768px) {
      .request-form-two__progress-container {
        width: calc(66.66667%); } }
  .request-form-two__section-content {
    -webkit-animation: fadeIn 1s ease-out, animateLeft 0.5s ease-out;
            animation: fadeIn 1s ease-out, animateLeft 0.5s ease-out;
    position: relative; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes animateLeft {
  from {
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes animateLeft {
  from {
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
    .request-form-two__section-content__inner {
      height: calc(100vh - 189px);
      min-height: 210px;
      overflow-y: auto;
      padding-bottom: 38px; }
      @media only screen and (min-width: 768px) {
        .request-form-two__section-content__inner {
          min-height: 240px;
          height: calc(90vh - 141px);
          max-height: calc(459px); } }
      .request-form-two__section-content__inner--ios {
        height: calc(100vh - (201px)); }
      .request-form-two__section-content__inner--centered {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
      .request-form-two__section-content__inner--no-bottom-padding {
        padding-bottom: 0; }
  .request-form-two__section-footer {
    background-color: white;
    border-top: 1px solid #e1e3e3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 12px 16px; }
    @media only screen and (min-width: 768px) {
      .request-form-two__section-footer {
        padding: 16px 16px; } }
    .request-form-two__section-footer--branded {
      background-color: transparent;
      border-color: transparent; }
    .request-form-two__section-footer__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      width: 100%; }
      @media only screen and (min-width: 768px) {
        .request-form-two__section-footer__inner {
          min-width: 50%;
          width: initial; } }
      .request-form-two__section-footer__inner__button {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
    .request-form-two__section-footer__skip-button, .request-form-two__section-footer__back-button {
      margin-right: 20px; }
    .request-form-two__section-footer:empty {
      height: 73px; }
      @media only screen and (min-width: 768px) {
        .request-form-two__section-footer:empty {
          height: 81px; } }
  .request-form-two__dummy-section-footer {
    height: 73px; }
    @media only screen and (min-width: 768px) {
      .request-form-two__dummy-section-footer {
        height: 81px; } }
  .request-form-two__contained-answers {
    margin: 0 20px;
    border-left: 1px solid #e1e3e3;
    border-right: 1px solid #e1e3e3;
    margin-bottom: 12px; }
  .request-form-two__validation-error {
    text-align: center;
    color: #ff4847;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 12px 0 6px;
    background-color: rgba(255, 255, 255, 0.9); }
  .request-form-two__explanation {
    padding-left: 20px;
    padding-right: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%; }
    @media only screen and (min-width: 480px) {
      .request-form-two__explanation {
        padding-left: 24px;
        padding-right: 24px; } }
    .request-form-two__explanation > * {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      max-width: 100%; }
    .request-form-two__explanation [tabindex] {
      outline: none; }
    .request-form-two__explanation__container {
      margin: 24px 0; }
      @media only screen and (min-width: 480px) {
        .request-form-two__explanation__container {
          margin: 24px; } }
    .request-form-two__explanation__logo {
      fill: #f0a86e;
      -webkit-transform: scale(0.85);
              transform: scale(0.85); }
      .request-form-two__explanation__logo--experimental {
        position: absolute;
        fill: #f27802;
        top: -32px; }
    .request-form-two__explanation__title {
      padding-top: 8px;
      padding-bottom: 20px;
      color: #ffffff;
      font-weight: 600;
      text-align: center; }
      .request-form-two__explanation__title--experimental {
        color: #333333;
        font-size: 20px;
        font-weight: 400; }
        @media (min-width: 482px) {
          .request-form-two__explanation__title--experimental {
            font-size: 24px; } }
    .request-form-two__explanation__subtitle {
      color: #ffffff;
      font-weight: 400;
      text-align: center; }
  .request-form-two.theme-branded {
    background-color: #f27802; }
  .request-form-two__section--hidden {
    display: none; }
  .request-form-two__section-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 16px 24px;
    min-height: 110px;
    width: 100%;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .request-form-two__section-header {
        min-height: 148px;
        width: 66.66667%;
        margin: 0 auto; } }
    .request-form-two__section-header [tabindex]:focus {
      outline: none;
      color: #312f2f;
      fill: #312f2f; }
    .request-form-two__section-header__sub-title {
      margin-top: 12px; }
  .request-form-two__legal-disclaimer {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    margin-bottom: 4px; }
    .request-form-two__legal-disclaimer-link {
      color: #8d9494;
      text-decoration: underline; }
  .request-form-two__input-container {
    padding: 0 24px; }
    .request-form-two__input-container.theme-standalone {
      padding-bottom: 20px; }
  .request-form-two__text-area {
    min-height: 120px;
    margin-top: 12px; }
  .request-form-two__single-line-text {
    width: 66.66667%;
    margin: 0 auto;
    padding-bottom: 20px; }
  .request-form-two__anything-else-text-container {
    margin: 12px 24px 0; }
    .request-form-two__anything-else-text-container__text {
      min-height: 120px; }
  .request-form-two__image-uploader-text-container {
    margin: 12px 24px 0; }
    .request-form-two__image-uploader-text-container__text {
      min-height: 120px; }
  .request-form-two__contact-info {
    padding: 0 24px; }
    .request-form-two__contact-info__sms-disclaimer {
      max-width: 424px; }
    .request-form-two__contact-info__text-input {
      margin-top: 8px; }
  .request-form-two__attachments {
    padding-top: 12px; }
  .request-form-two__attachment-box {
    border: solid 1px #e1e3e3;
    border-radius: 4px;
    position: relative; }
    .request-form-two__attachment-box__close {
      position: absolute;
      height: 24px;
      width: 24px;
      right: 8px;
      top: 8px;
      padding-left: 4px;
      padding-top: 4px;
      cursor: pointer;
      border-radius: 4px;
      background-color: rgba(49, 47, 47, 0.3);
      fill: white; }
  .request-form-two__attachment-preview__image {
    height: 260px;
    background-size: cover;
    background-position: center;
    border-radius: 4px 4px 0 0; }
    .request-form-two__attachment-preview__image.uploading {
      opacity: 0.3; }
  .request-form-two__attachment-preview__description {
    min-height: 49px;
    border: none;
    border-radius: 0 0 4px 4px;
    resize: none;
    overflow: hidden;
    word-wrap: break-word;
    vertical-align: top; }
    .request-form-two__attachment-preview__description:focus {
      outline: none;
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none; }
  .request-form-two__attachment-preview.is-focused {
    -webkit-box-shadow: 0 0 2px 0 rgba(63, 147, 243, 0.8);
            box-shadow: 0 0 2px 0 rgba(63, 147, 243, 0.8);
    border: solid 1px #3f93f3;
    border-radius: 4px; }
  .request-form-two__scheduling-timeslots-label {
    font-family: AvenirNext-Demi, AvenirNext-Regular, Arial, sans-serif;
    background-color: white;
    padding: 10px 20px;
    border-bottom: 1px solid #edeeee;
    text-transform: uppercase;
    letter-spacing: 1px; }
    .request-form-two__scheduling-timeslots-label--first {
      border-top: 1px solid #edeeee; }
  .request-form-two__attachment-error {
    height: 309px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    padding: 78px 30px 0 30px;
    background-color: white;
    border-radius: 4px; }
    .request-form-two__attachment-error__button {
      margin-top: 20px;
      width: 100%; }
    .request-form-two__attachment-error__icon {
      fill: #ff4847; }
    .request-form-two__attachment-error__title {
      padding-top: 10px;
      color: #ff4847; }
    .request-form-two__attachment-error__text {
      padding-top: 8px; }
  .request-form-two__image-loader {
    position: absolute;
    text-align: center;
    top: 100px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    -webkit-transform: scale(1.75);
            transform: scale(1.75); }
    .request-form-two__image-loader svg {
      fill: transparent;
      stroke: white; }
  .request-form-two__image-loader-react {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .request-form-two__add-photos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 12px; }
    .request-form-two__add-photos svg-icon {
      fill: #3f93f3;
      margin-right: 8px; }
  .request-form-two__add-photos-input {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1; }

.exit-confirmation {
  padding: 32px 0 40px 0; }
  @media (min-width: 482px) {
    .exit-confirmation {
      padding: 40px 0 48px 0; } }
  .exit-confirmation__close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    fill: #858b8c;
    padding: 12px; }
    .exit-confirmation__close__icon {
      background: none; }
  .exit-confirmation__header {
    background: #f7fafb;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    border-bottom: 1px solid #e6f0f2;
    padding: 24px 0; }
  .exit-confirmation__container {
    border-bottom: 1px solid #e6f0f2;
    background: #ffffff; }
  .exit-confirmation__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    padding: 12px 0; }

/**
 * The keyframe animations in this module are all expressed in percentages of the total animation
 * duration. This allows the overall animation to be repeated ad infinitum in case Agonas is slow.
 */
.find-pros-animation {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /**
     * Returns the input time as a percentage of the total animation duration.
     */
  /**
     * Ensure the animation takes up the total duration.
     */ }
  .find-pros-animation__stage {
    position: relative;
    padding: 16px 24px;
    margin-bottom: 24px;
    width: 276px;
    height: 268px; }
  .find-pros-animation--center {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

@-webkit-keyframes find-pros-animation__circle {
  0%, 8.33333% {
    opacity: 0; }
  28.33333%, 58.33333% {
    opacity: 1; }
  63.33333%, 100% {
    opacity: 0; } }

@keyframes find-pros-animation__circle {
  0%, 8.33333% {
    opacity: 0; }
  28.33333%, 58.33333% {
    opacity: 1; }
  63.33333%, 100% {
    opacity: 0; } }
  .find-pros-animation__circle1 {
    border-radius: 50%;
    background-color: #f0f1f1;
    width: 144px;
    height: 144px;
    opacity: 0;
    -webkit-animation-name: find-pros-animation__circle;
            animation-name: find-pros-animation__circle;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .find-pros-animation__circle2 {
    border-radius: 50%;
    background-color: #f5f5f5;
    width: 192px;
    height: 192px;
    opacity: 0;
    -webkit-animation-name: find-pros-animation__circle;
            animation-name: find-pros-animation__circle;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .find-pros-animation__circle3 {
    border-radius: 50%;
    background-color: #f7fafb;
    width: 240px;
    height: 240px;
    opacity: 0;
    -webkit-animation-name: find-pros-animation__circle;
            animation-name: find-pros-animation__circle;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .find-pros-animation__request-form-container {
    opacity: 0;
    -webkit-animation-name: find-pros-animation__request-form-container;
            animation-name: find-pros-animation__request-form-container;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__request-form-container {
  0%, 0% {
    opacity: 0; }
  10%, 58.33333% {
    opacity: 1; }
  63.33333%, 100% {
    opacity: 0; } }

@keyframes find-pros-animation__request-form-container {
  0%, 0% {
    opacity: 0; }
  10%, 58.33333% {
    opacity: 1; }
  63.33333%, 100% {
    opacity: 0; } }
  .find-pros-animation__request-form {
    width: 72px;
    height: 80px;
    border-radius: 8px;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
  .find-pros-animation__check {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    top: 24px;
    left: 24px;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
  .find-pros-animation__avatar1 {
    position: absolute;
    left: 160.8px;
    top: 8.8px;
    width: 50.4px;
    height: 50.4px;
    border-radius: 50%;
    -webkit-animation-name: find-pros-animation__avatar1;
            animation-name: find-pros-animation__avatar1;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__avatar1 {
  0%, 28.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  34.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-153px, 0) scale(0.83333);
            transform: translate(-153px, 0) scale(0.83333); } }

@keyframes find-pros-animation__avatar1 {
  0%, 28.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  34.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-153px, 0) scale(0.83333);
            transform: translate(-153px, 0) scale(0.83333); } }
  .find-pros-animation__avatar2 {
    position: absolute;
    left: 21px;
    top: 17.2px;
    width: 33.6px;
    height: 33.6px;
    border-radius: 50%;
    -webkit-animation-name: find-pros-animation__avatar2;
            animation-name: find-pros-animation__avatar2;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__avatar2 {
  0%, 33.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  37.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-4.8px, 0) scale(1.25);
            transform: translate(-4.8px, 0) scale(1.25); } }

@keyframes find-pros-animation__avatar2 {
  0%, 33.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  37.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-4.8px, 0) scale(1.25);
            transform: translate(-4.8px, 0) scale(1.25); } }
  .find-pros-animation__avatar3 {
    position: absolute;
    left: 165px;
    top: 13px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    -webkit-animation-name: find-pros-animation__avatar3;
            animation-name: find-pros-animation__avatar3;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__avatar3 {
  0%, 38.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  43.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-153px, 0) scale(1);
            transform: translate(-153px, 0) scale(1); } }

@keyframes find-pros-animation__avatar3 {
  0%, 38.33333% {
    -webkit-transform: scale(0.2);
            transform: scale(0.2);
    opacity: 0;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
            animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  43.33333%, 58.33333% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
    -webkit-animation-timing-function: initial;
            animation-timing-function: initial; }
  66.66667%, 100% {
    -webkit-transform: translate(-153px, 0) scale(1);
            transform: translate(-153px, 0) scale(1); } }
  .find-pros-animation__tile1 {
    position: absolute;
    height: 68px;
    width: 228px;
    top: 16px;
    left: 24px;
    -webkit-animation-name: find-pros-animation__tile1;
            animation-name: find-pros-animation__tile1;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__tile1 {
  0%, 85% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  90%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }

@keyframes find-pros-animation__tile1 {
  0%, 85% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  90%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }
  .find-pros-animation__tile2 {
    position: absolute;
    height: 68px;
    width: 228px;
    top: 100px;
    left: 24px;
    -webkit-animation-name: find-pros-animation__tile2;
            animation-name: find-pros-animation__tile2;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__tile2 {
  0%, 88.33333% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  93.33333%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }

@keyframes find-pros-animation__tile2 {
  0%, 88.33333% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  93.33333%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }
  .find-pros-animation__tile3 {
    position: absolute;
    height: 68px;
    width: 228px;
    top: 184px;
    left: 24px;
    -webkit-animation-name: find-pros-animation__tile3;
            animation-name: find-pros-animation__tile3;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__tile3 {
  0%, 91.66667% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  96.66667%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }

@keyframes find-pros-animation__tile3 {
  0%, 91.66667% {
    -webkit-transform: none;
            transform: none;
    opacity: 1; }
  96.66667%, 100% {
    -webkit-transform: translate(-200px, 0);
            transform: translate(-200px, 0);
    opacity: 0; } }
  .find-pros-animation__quote {
    position: absolute;
    height: 68px;
    width: 228px;
    border-radius: 8px;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    -webkit-animation-name: find-pros-animation__quote;
            animation-name: find-pros-animation__quote;
    -webkit-animation-duration: 6s;
            animation-duration: 6s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }

@-webkit-keyframes find-pros-animation__quote {
  0%, 63.33333% {
    opacity: 0; }
  73.33333%, 100% {
    opacity: 1; } }

@keyframes find-pros-animation__quote {
  0%, 63.33333% {
    opacity: 0; }
  73.33333%, 100% {
    opacity: 1; } }
  .find-pros-animation__text {
    text-align: center;
    padding-bottom: 24px;
    margin: 0 24px; }
    @media (min-width: 482px) {
      .find-pros-animation__text {
        margin: 0; } }

.experimental-pro-specific-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 28px; }
  @media (min-width: 482px) {
    .experimental-pro-specific-intro {
      padding-top: 40px; } }
  .experimental-pro-specific-intro__avatar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 16px; }
    .experimental-pro-specific-intro__avatar__img {
      border-radius: 50%;
      border: 2px solid white;
      -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15);
              box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15);
      height: 60px;
      width: 60px; }
      @media (min-width: 482px) {
        .experimental-pro-specific-intro__avatar__img {
          height: 80px;
          width: 80px; } }
  .experimental-pro-specific-intro__name {
    text-align: center; }

.Button.theme-empty-branded {
  color: white;
  background-color: transparent;
  border-color: #f0a86e; }
  .Button.theme-empty-branded:hover, .Button.theme-empty-branded.is-hovered, .Button.theme-empty-branded:focus {
    background-color: rgba(0, 0, 0, 0.025); }

.request-flow {
  /**
     * Note(bryan): This spits out a lot of styles that are crucial to the fixed modal look and feel
     * and need to be shared between the request form, request flow, and react request form.
     *
     * Styles created include:
     * &__persistent-header {...}
     * &__close-modal {
     *     ...
     *     &__icon {
     *         ...
     *         &--branded {...}
     *     }
     * }
     * &__progress-container {...}
     * &__section-content {
     *     ...
     *     &__inner {...}
     * }
     * &__section-footer {
     *     ...
     *     &--branded {...}
     *     &__inner {...}
     *     &__skip-button,
     *     &__back-button {...}
     * }
     * &__dummy-section-footer {...}
     * &__contained-answers {...}
     * &__validation-error {...}
     */
  /**
     * This outputs:
     * &__explanation {
     *     ...
     *     &__container {...}
     *     &__logo {...}
     *     &__pros {...}
     *     &__base {...}
     * }
     */
  position: relative;
  overflow: hidden;
  background-color: #fafafa; }
  .request-flow__persistent-header {
    height: 60px; }
  .request-flow__close-modal {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1; }
    .request-flow__close-modal__icon {
      padding: 12px;
      fill: #e1e3e3; }
      .request-flow__close-modal__icon--branded {
        fill: rgba(225, 227, 227, 0.5); }
  .request-flow__progress-container {
    padding-top: 21px;
    margin: 0 auto;
    width: calc(100% - 96px); }
    @media only screen and (min-width: 768px) {
      .request-flow__progress-container {
        width: calc(66.66667%); } }
  .request-flow__section-content {
    -webkit-animation: fadeIn 1s ease-out, animateLeft 0.5s ease-out;
            animation: fadeIn 1s ease-out, animateLeft 0.5s ease-out;
    position: relative; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes animateLeft {
  from {
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
    .request-flow__section-content__inner {
      height: calc(100vh - 189px);
      min-height: 210px;
      overflow-y: auto;
      padding-bottom: 38px; }
      @media only screen and (min-width: 768px) {
        .request-flow__section-content__inner {
          min-height: 240px;
          height: calc(90vh - 141px);
          max-height: calc(459px); } }
      .request-flow__section-content__inner--ios {
        height: calc(100vh - (201px)); }
      .request-flow__section-content__inner--centered {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
      .request-flow__section-content__inner--no-bottom-padding {
        padding-bottom: 0; }
  .request-flow__section-footer {
    background-color: white;
    border-top: 1px solid #e1e3e3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 12px 16px; }
    @media only screen and (min-width: 768px) {
      .request-flow__section-footer {
        padding: 16px 16px; } }
    .request-flow__section-footer--branded {
      background-color: transparent;
      border-color: transparent; }
    .request-flow__section-footer__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      width: 100%; }
      @media only screen and (min-width: 768px) {
        .request-flow__section-footer__inner {
          min-width: 50%;
          width: initial; } }
      .request-flow__section-footer__inner__button {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
    .request-flow__section-footer__skip-button, .request-flow__section-footer__back-button {
      margin-right: 20px; }
    .request-flow__section-footer:empty {
      height: 73px; }
      @media only screen and (min-width: 768px) {
        .request-flow__section-footer:empty {
          height: 81px; } }
  .request-flow__dummy-section-footer {
    height: 73px; }
    @media only screen and (min-width: 768px) {
      .request-flow__dummy-section-footer {
        height: 81px; } }
  .request-flow__contained-answers {
    margin: 0 20px;
    border-left: 1px solid #e1e3e3;
    border-right: 1px solid #e1e3e3;
    margin-bottom: 12px; }
  .request-flow__validation-error {
    text-align: center;
    color: #ff4847;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 12px 0 6px;
    background-color: rgba(255, 255, 255, 0.9); }
  .request-flow__explanation {
    padding-left: 20px;
    padding-right: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%; }
    @media only screen and (min-width: 480px) {
      .request-flow__explanation {
        padding-left: 24px;
        padding-right: 24px; } }
    .request-flow__explanation > * {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      max-width: 100%; }
    .request-flow__explanation [tabindex] {
      outline: none; }
    .request-flow__explanation__container {
      margin: 24px 0; }
      @media only screen and (min-width: 480px) {
        .request-flow__explanation__container {
          margin: 24px; } }
    .request-flow__explanation__logo {
      fill: #f0a86e;
      -webkit-transform: scale(0.85);
              transform: scale(0.85); }
      .request-flow__explanation__logo--experimental {
        position: absolute;
        fill: #f27802;
        top: -32px; }
    .request-flow__explanation__title {
      padding-top: 8px;
      padding-bottom: 20px;
      color: #ffffff;
      font-weight: 600;
      text-align: center; }
      .request-flow__explanation__title--experimental {
        color: #333333;
        font-size: 20px;
        font-weight: 400; }
        @media (min-width: 482px) {
          .request-flow__explanation__title--experimental {
            font-size: 24px; } }
    .request-flow__explanation__subtitle {
      color: #ffffff;
      font-weight: 400;
      text-align: center; }
  .request-flow--branded {
    background-color: #f27802; }
  .request-flow__section-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 16px 24px;
    min-height: 110px;
    width: 100%;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .request-flow__section-header {
        min-height: 148px;
        width: 66.66667%;
        margin: 0 auto; } }
    .request-flow__section-header--shorter {
      min-height: 0; }
    .request-flow__section-header__sub-title {
      margin-top: 12px; }
  .request-flow__input-container {
    padding: 0 24px; }
  .request-flow__chooser-descriptions-trigger {
    text-align: center;
    margin-bottom: 24px; }
    .request-flow__chooser-descriptions-trigger__button {
      cursor: pointer; }
  .request-flow__chooser-descriptions {
    margin: 0 24px 24px 24px;
    padding: 16px 24px;
    background-color: white;
    border-radius: 4px;
    border: 1px solid #e1e3e3;
    position: relative; }
    .request-flow__chooser-descriptions__close {
      position: absolute;
      top: 12px;
      right: 12px;
      cursor: pointer;
      fill: currentColor; }
      .request-flow__chooser-descriptions__close svg:only-child {
        display: block; }
    .request-flow__chooser-descriptions__entry {
      margin-bottom: 16px; }
      .request-flow__chooser-descriptions__entry__title {
        font-weight: 500; }
  .request-flow__no-results-message {
    margin-bottom: 16px;
    text-align: center;
    margin: 0 24px; }
