:root {
  --happyforms-color-progress-bar-primary: #e6e6e6;
  --happyforms-color-progress-bar-primary-bg: #ffffff;
  --happyforms-color-progress-bar-secondary: #18c855;
  --happyforms-color-progress-bar-text-primary: #ababab;
  --happyforms-color-progress-bar-text-secondary: #fff;
  --happyforms-color-multistep-previous-background: #dfdfdf;
  --happyforms-color-multistep-previous-background-hover: #cdcdcd;
  --happyforms-color-multistep-previous-text: #000;
  --happyforms-color-multistep-previous-text-hover: #000;
}

.happyforms-form-progress {
  position: relative;
  width: 100%;
  margin: 0 -1%;
  padding: 0 1%;
}
ul.happyforms-form-progress__steps {
  list-style: none;
  list-style-type: none;
  margin: 30px 0 -30px;
  padding: 20px 0 0;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  box-shadow: none;
}
.happyforms-form-progress__track-item:last-child {
  justify-self: flex-end;
}
.happyforms-form-progress__step {
  position: relative;
  flex: auto;
  height: 40px;
  margin-bottom: 20px;
}
.happyforms-form-progress__step:after {
  content: '';
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  background-color: var(--happyforms-color-progress-bar-primary);
}
.happyforms-form-progress__step:last-child {
  flex-grow: 0;
}
.happyforms-form-progress__step-label {
  position: relative;
  top: -20px;
  display: inline-flex;
  align-items: center;
  z-index: 10;
  padding: 5px 15px;
  border-radius: 6px;
  border: 1px solid #e6e6e6;
  border-color: var(--happyforms-color-progress-bar-primary);
  color: #ABABAB;
  color: var(--happyforms-color-progress-bar-text-primary);
  background-color: #fff;
  background-color: var(--happyforms-color-progress-bar-primary-bg);
  text-shadow: none;
  box-shadow: none;
}
.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-form-progress__step-label {
  border-radius: 0;
}
.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-form-progress__step-label {
  border-radius: 25px;
}
.happyforms-form-progress__step.completed:after {
  background-color: #37C460;
  background-color: var(--happyforms-color-progress-bar-secondary);
}
.happyforms-form-progress__step.current .happyforms-form-progress__step-label,
.happyforms-form-progress__step.completed .happyforms-form-progress__step-label {
  border-color: #37C460;
  border-color: var(--happyforms-color-progress-bar-secondary);
  color: #fff;
  color: var(--happyforms-color-progress-bar-text-secondary);
  background-color: #37C460;
  background-color: var(--happyforms-color-progress-bar-secondary);
}
.happyforms-form-progress__step-title {
  display: inline-block;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.happyforms-form-progress__step-number {
  margin-right: 3px;
}
.happyforms-form-progress__step-number,
.happyforms-form-progress__step-fullstop {
  display: none;
}
.happyforms-form--progress-bar-type-full .happyforms-form-progress__step-number,
.happyforms-form--progress-bar-type-numbers-only .happyforms-form-progress__step-number {
  display: inline-block;
}
.happyforms-form--progress-bar-type-numbers-only .happyforms-form-progress__step-title {
  display: none;
}
.happyforms-form--progress-bar-type-full .happyforms-form-progress__step-fullstop {
  display: inline-block;
}
.happyforms-step {
  display: flex;
  flex-flow: row wrap;
}
.happyforms-step,
.happyforms-step-preview {
  width: 100%;
  margin-bottom: 20px;
}
.happyforms-step-preview {
  position: relative;
  padding: 0 1%;
}
.happyforms-step-preview a.submit {
  position: absolute;
  top: 10px;
  right: 20px;
}
.happyforms-form--hide-progress-bar .happyforms-form-progress {
  display: none;
}
.happyforms-form--hide-progress-bar.progressed .happyforms-form-progress {
  display: block;
}
@media (max-width: 800px) {
  .happyforms-form-progress__step {
    display: none;
  }
  .happyforms-form-progress__step:last-child {
    flex-grow: 1;
  }
  .happyforms-form-progress__step.current {
    display: block;
  }
  .happyforms-form-progress__step-label {
    display: flex;
    justify-content: center;
  }
  .happyforms-form-progress__step:after {
    display: none !important;
  }
}
.happyforms-part.happyforms-part--page_break {
  flex: 0 0 100%;
  margin: 0;
  padding: 0 1%;
}
.happyforms-part.happyforms-part--page_break.page-break-preview {
  margin-bottom: 20px;
}
.happyforms-styles a.happyforms-previous-step {
  display: block;
  height: auto;
  padding: 15px 30px;
  border-radius: 4px;
  border: 1px solid transparent !important;
  font-weight: bold;
  font-style: normal;
  font-size: 16px;
  font-size: var(--happyforms-submit-button-font-size);
  color: #000;
  color: var(--happyforms-color-multistep-previous-text);
  background-color: #dbdbdb;
  background-color: var(--happyforms-color-multistep-previous-background);
  background: #dbdbdb;
  background: var(--happyforms-color-multistep-previous-background);
  text-transform: none;
  transition-property: all;
  transition-duration: 0.25s;
  transition-duration: var(--happyforms-transition-duration);
  transition-timing-function: ease-in;
}
.happyforms-styles a.happyforms-previous-step:hover,
.happyforms-styles a.happyforms-previous-step:focus {
  border-radius: 4px;
  text-transform: none;
  text-decoration: none;
  background-color: #cdcdcd;
  background-color: var(--happyforms-color-multistep-previous-background-hover);
  background: #cdcdcd;
  background: var(--happyforms-color-multistep-previous-background-hover);
  color: #000;
  color: var(--happyforms-color-multistep-previous-text-hover);
}
.happyforms-styles.happyforms-form--submit-button-padding-narrow a.happyforms-previous-step {
  padding: 10px 20px;
}
.happyforms-styles.happyforms-form--submit-button-padding-wide a.happyforms-previous-step {
  padding: 20px 50px;
}
.happyforms-styles.happyforms-form--submit-button-fullwidth a.happyforms-previous-step {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
.happyforms-styles.happyforms-form--submit-button-border-hide a.happyforms-previous-step {
  border-width: 0 !important;
}
.happyforms-styles.happyforms-form--submit-button-border-radius-square a.happyforms-previous-step,
.happyforms-styles.happyforms-form--submit-button-border-radius-square a.happyforms-previous-step:hover {
  border-radius: 0;
}

.happyforms-styles.happyforms-form--submit-button-border-radius-pill a.happyforms-previous-step,
.happyforms-styles.happyforms-form--submit-button-border-radius-pill a.happyforms-previous-step:hover {
  border-radius: 60px;
}
@media (max-width: 600px) {
  .happyforms-styles .happyforms-part--submit {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .happyforms-styles .happyforms-part--submit > * {
    margin-right: 0;
    padding: 15px 25px !important;
  }
}
