/**
 * Materialize Stepper - A little plugin that implements a stepper to Materializecss framework.
 * @version v3.1.0
 * @author Igor Marcossi (Kinark) <igormarcossi@gmail.com>.
 * @link https://github.com/Kinark/Materialize-stepper
 * 
 * Licensed under the MIT License (https://github.com/Kinark/Materialize-stepper/blob/master/LICENSE).
 */

.card-content ul.stepper {
  margin: 1em -24px;
  padding: 0 24px; }
  @media only screen and (min-width: 993px) {
    .card-content ul.stepper.horizontal {
      margin-left: -24px;
      margin-right: -24px;
      padding-left: 24px;
      padding-right: 24px; }
      .card-content ul.stepper.horizontal:first-child {
        margin-top: -24px; }
      .card-content ul.stepper.horizontal .step.step-content {
        padding-left: 40px;
        padding-right: 40px; }
        .card-content ul.stepper.horizontal .step.step-content .step-actions {
          padding-left: 40px;
          padding-right: 40px; } }

ul.stepper {
  counter-reset: section;
  overflow-y: auto;
  overflow-x: hidden; }
  ul.stepper .wait-feedback {
    left: 0;
    right: 0;
    top: 0;
    z-index: 2;
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center; }
  ul.stepper .step {
    position: relative;
    transition: height 400ms cubic-bezier(0.4, 0, 0.2, 1), padding-bottom 400ms cubic-bezier(0.4, 0, 0.2, 1); }
    ul.stepper .step .step-title {
      margin: 0 -24px;
      cursor: pointer;
      padding: 15.5px 44px 24px 64px;
      display: block; }
      ul.stepper .step .step-title:hover {
        background-color: rgba(0, 0, 0, 0.06); }
      ul.stepper .step .step-title::after {
        content: attr(data-step-label);
        display: block;
        position: absolute;
        font-size: 12.8px;
        font-size: 0.8rem;
        color: #424242;
        font-weight: 400; }
    ul.stepper .step .step-content {
      position: relative;
      display: none;
      height: 0;
      transition: height 400ms cubic-bezier(0.4, 0, 0.2, 1);
      width: inherit;
      overflow: visible;
      margin-left: 41px;
      margin-right: 24px; }
      ul.stepper .step .step-content .step-actions {
        padding-top: 16px;
        padding-bottom: 4px;
        display: flex;
        justify-content: flex-start; }
        ul.stepper .step .step-content .step-actions .btn:not(:last-child), ul.stepper .step .step-content .step-actions .btn-flat:not(:last-child), ul.stepper .step .step-content .step-actions .btn-large:not(:last-child) {
          margin-right: 5px; }
      ul.stepper .step .step-content .row {
        margin-bottom: 7px; }
    ul.stepper .step::before {
      position: absolute;
      counter-increment: section;
      content: counter(section);
      height: 26px;
      width: 26px;
      color: white;
      background-color: #B2B2B2;
      border-radius: 50%;
      text-align: center;
      line-height: 26px;
      font-weight: 400;
      transition: background-color 400ms cubic-bezier(0.4, 0, 0.2, 1);
      font-size: 14px;
      left: 1px;
      top: 13px; }
    ul.stepper .step.active .step-title {
      font-weight: 500; }
    ul.stepper .step.active .step-content {
      height: auto;
      display: block; }
    ul.stepper .step.active::before, ul.stepper .step.done::before {
      background-color: #2196f3; }
    ul.stepper .step.done::before {
      content: '\e5ca';
      font-size: 16px;
      font-family: 'Material Icons'; }
    ul.stepper .step.wrong::before {
      content: '\e001';
      font-size: 24px;
      font-family: 'Material Icons';
      background-color: red; }
    ul.stepper .step.feedbacking .step-content > *:not(.wait-feedback) {
      opacity: 0.1; }
    ul.stepper .step:not(:last-of-type)::after {
      content: '';
      position: absolute;
      top: 52px;
      left: 13.5px;
      width: 1px;
      height: 40%;
      height: calc(100% - 52px);
      background-color: rgba(0, 0, 0, 0.1);
      transition: height 400ms cubic-bezier(0.4, 0, 0.2, 1); }
    ul.stepper .step:not(:last-of-type).active {
      padding-bottom: 36px; }
  ul.stepper > li:not(:last-of-type) {
    padding-bottom: 10px; }
  @media only screen and (min-width: 993px) {
    ul.stepper.horizontal {
      position: relative;
      display: flex;
      justify-content: space-between;
      min-height: 458px;
      overflow: hidden; }
      ul.stepper.horizontal::before {
        content: '';
        background-color: transparent;
        width: 100%;
        min-height: 84px;
        box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
        position: absolute;
        left: 0; }
      ul.stepper.horizontal .step {
        position: static;
        padding: 0 !important;
        width: 100%;
        display: flex;
        align-items: center;
        height: 84px; }
        ul.stepper.horizontal .step::before {
          content: none; }
        ul.stepper.horizontal .step:last-of-type {
          width: auto !important; }
        ul.stepper.horizontal .step:not(:last-of-type)::after, ul.stepper.horizontal .step.active:not(:last-of-type)::after {
          content: '';
          position: static;
          display: inline-block;
          width: 100%;
          height: 1px; }
        ul.stepper.horizontal .step .step-title {
          line-height: 84px;
          height: 84px;
          margin: 0;
          padding: 0 25px 0 65px;
          display: inline-block;
          max-width: 220px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          flex-shrink: 0; }
          ul.stepper.horizontal .step .step-title::before {
            position: absolute;
            counter-increment: section;
            content: counter(section);
            height: 26px;
            width: 26px;
            color: white;
            background-color: #B2B2B2;
            border-radius: 50%;
            text-align: center;
            line-height: 26px;
            font-weight: 400;
            transition: background-color 400ms cubic-bezier(0.4, 0, 0.2, 1);
            font-size: 14px;
            left: 1px;
            top: 28.5px;
            left: 19px; }
          ul.stepper.horizontal .step .step-title::after {
            top: 15px; }
        ul.stepper.horizontal .step.active ~ .step .step-content {
          left: 100%; }
        ul.stepper.horizontal .step.active .step-content {
          left: 0 !important; }
        ul.stepper.horizontal .step.active .step-title::before, ul.stepper.horizontal .step.done .step-title::before {
          background-color: #2196f3; }
        ul.stepper.horizontal .step.done .step-title::before {
          content: '\e5ca';
          font-size: 16px;
          font-family: 'Material Icons'; }
        ul.stepper.horizontal .step.wrong .step-title::before {
          content: '\e001';
          font-size: 24px;
          font-family: 'Material Icons';
          background-color: red; }
        ul.stepper.horizontal .step .step-content {
          position: absolute;
          height: calc(100% - 84px);
          top: 84px;
          display: block;
          left: -100%;
          width: 100%;
          overflow-y: auto;
          overflow-x: hidden;
          margin: 0;
          padding: 20px 20px 76px 20px;
          transition: left 400ms cubic-bezier(0.4, 0, 0.2, 1); }
          ul.stepper.horizontal .step .step-content .step-actions {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 20px;
            background-color: transparent;
            flex-direction: row-reverse; }
            ul.stepper.horizontal .step .step-content .step-actions .btn:not(:last-child), ul.stepper.horizontal .step .step-content .step-actions .btn-flat:not(:last-child), ul.stepper.horizontal .step .step-content .step-actions .btn-large:not(:last-child) {
              margin-left: 5px;
              margin-right: 0; } }
