.input-range__slider {
  appearance: none;
  background: #3f51b5;
  border: 1px solid #3f51b5;
  border-radius: 100%;
  cursor: pointer;
  display: block;
  height: 1rem;
  margin-left: -0.5rem;
  margin-top: -0.65rem;
  outline: none;
  position: absolute;
  top: 50%;
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
  width: 1rem; }
  .input-range__slider:active {
    transform: scale(1.3); }
  .input-range__slider:focus {
    box-shadow: 0 0 0 5px rgba(63, 81, 181, 0.2); }
  .input-range--disabled .input-range__slider {
    background: #cccccc;
    border: 1px solid #cccccc;
    box-shadow: none;
    transform: none; }

.input-range__slider-container {
  transition: left 0.3s ease-out; }

.input-range__label {
  color: #aaaaaa;
  font-family: "Helvetica Neue", san-serif;
  font-size: 0.8rem;
  transform: translateZ(0);
  white-space: nowrap; }

.input-range__label--min,
.input-range__label--max {
  bottom: -1.4rem;
  position: absolute; }

.input-range__label--min {
  left: 0; }

.input-range__label--max {
  right: 0; }

.input-range__label--value {
  position: absolute;
  top: -1.8rem; }

.input-range__label-container {
  left: -50%;
  position: relative; }
  .input-range__label--max .input-range__label-container {
    left: 50%; }

.input-range__track {
  background: #eeeeee;
  border-radius: 0.3rem;
  cursor: pointer;
  display: block;
  height: 0.3rem;
  position: relative;
  transition: left 0.3s ease-out, width 0.3s ease-out; }
  .input-range--disabled .input-range__track {
    background: #eeeeee; }

.input-range__track--background {
  left: 0;
  margin-top: -0.15rem;
  position: absolute;
  right: 0;
  top: 50%; }

.input-range__track--active {
  background: #3f51b5; }

.input-range {
  height: 1rem;
  position: relative;
  width: 100%; }

label,
input[type='text'] {
  display: block;
  width: 100%;
  outline: none; }

.generic-webform__format label {
  margin-bottom: 1rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-weight: 300; }
  .generic-webform__format label textarea {
    display: block;
    width: 100%; }
  .generic-webform__format label input {
    display: block;
    color: #b41a83; }
  .generic-webform__format label input[type='email'] {
    border-top: none;
    border-left: none;
    border-right: none; }
  .generic-webform__format label input[type='submit'] {
    border-radius: 20rem;
    padding: 0.5rem 2rem;
    color: #b41a83;
    border: 1px solid #b41a83;
    cursor: pointer; }
    .generic-webform__format label input[type='submit']:hover {
      background-color: #b41a83;
      color: #fff; }

input[type='text'],
input[type='password'],
input[type='tel'],
input[type='email'] {
  outline: none;
  position: relative;
  background-color: transparent;
  font-family: inherit;
  border: none;
  border-bottom: 1px solid #000;
  box-shadow: none;
  color: #b41a83;
  font-size: 1em;
  margin: 0;
  padding: 0.5em 0;
  box-sizing: border-box;
  transition: box-shadow 0.45s, border-color 0.45s ease-in-out;
  width: 100%; }

input[type='checkbox'] + label {
  position: relative;
  display: block;
  color: #000;
  font-weight: 300;
  margin: 0 0 0.1875em;
  padding-right: 4px;
  cursor: pointer;
  padding-left: 28px; }

input[type='checkbox'] + label::before {
  content: '';
  width: 17px;
  height: 17px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 1px;
  left: 0; }

input[type='checkbox'] {
  opacity: 0; }

input[type='checkbox']:checked + label::after {
  content: '';
  width: 19px;
  height: 19px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  position: absolute;
  background: #b41a83;
  top: 1px;
  left: 0; }

select {
  margin: 0;
  border: 0;
  text-align: left;
  font-size: 1em;
  border-bottom: 1px solid #000;
  background: transparent url("/assets/images/select-arrow.png") no-repeat;
  background-size: 16px;
  background-position: right 0 center;
  padding: 6px 20px 5px 15px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-apperance: none;
  border-radius: 0;
  display: block;
  width: 100%; }

.date-picker input,
.date-picker + label {
  display: none; }

.date-picker button.ui.button {
  background-color: #fff;
  border: 0;
  outline: none;
  width: 100%;
  border-bottom: 1px solid #000;
  text-align: left;
  border-radius: 0;
  padding: 10px 0; }

.upload {
  border-top: 1px solid #000; }
  .upload + label {
    display: none; }
  .upload .description {
    color: #999; }
  .upload p {
    padding: 0;
    margin: 0; }

.input-range__slider,
.input-range__track--active {
  background-color: #b41a83;
  border-color: #b41a83; }

span.input-range__label.input-range__label--max,
span.input-range__label.input-range__label--min {
  display: none; }

.input-range__slider-container .input-range__label-container {
  background: #b41a83;
  padding: 10px;
  color: #fff; }

.input-range__slider-container .input-range__label-container:after {
  content: '';
  display: block;
  height: 0;
  position: absolute;
  right: 0;
  width: 0; }

.input-range__slider-container .input-range__label--value {
  pointer-events: none;
  top: 22px;
  left: 22px; }
  .input-range__slider-container .input-range__label--value .input-range__label-container:after {
    bottom: 32px;
    border: 5px solid transparent;
    border-left-color: #b41a83;
    right: calc(100% - 10px);
    border-bottom-color: #b41a83; }

.input-range__slider-container + .input-range__slider-container .input-range__label--value {
  top: -46px;
  left: -20px; }
  .input-range__slider-container + .input-range__slider-container .input-range__label--value .input-range__label-container:after {
    bottom: -10px;
    right: 0%;
    border: 5px solid transparent;
    border-right-color: #b41a83;
    border-top-color: #b41a83; }

.ph-btn {
  border: 1px solid #fff;
  background: #757575;
  padding: 8px 20px;
  border-radius: 24px;
  display: inline-block;
  min-width: 90px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  min-width: 125px; }
  .ph-btn:hover {
    color: #fff;
    opacity: 0.8; }
  .ph-btn--outline {
    color: #666;
    background-color: transparent;
    border-color: #666; }
    .ph-btn--outline:hover {
      color: #666; }

.disabled-booking-button {
  display: none; }

.ph-btn:hover {
  cursor: pointer; }

.btn-pink {
  border: 1px solid #b41a83;
  background: #fff;
  color: #b41a83; }

.btn-pink:hover {
  color: #b41a83 !important; }

.ph-btn:hover {
  cursor: pointer; }

.btn-pink {
  border: 1px solid #b41a83;
  background: #fff;
  color: #b41a83; }

.btn-pink:hover {
  color: #b41a83 !important; }

