.Tx-Formhandler .row {
  clear: both; }

.formhandler-ajax-validation-result, .Tx-Formhandler .loading {
  display: none !important; }

input[type="text"], input[type="number"], input[type="email"], input[type="phone"], select, textarea {
  display: block;
  border-radius: 0px;
  -webkit-appearance: none; }

input:focus {
  outline: none; }

form {
  padding: 0;
  margin: 0;
  /***** INPUT TYPE NUMBER ******/
  /***** VISIBILITY OF DATE FIELD ******/
  /***** HONEYPOT *******/ }
  form:after {
    content: "";
    display: block;
    height: 0;
    width: 100%;
    clear: both; }
  form fieldset {
    float: left;
    position: relative;
    width: 100%;
    margin: 0 0 1.5rem 0;
    padding: 0px;
    border: none; }
  form .required {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 2px;
    text-indent: -999em;
    background: #abb4bc; }
  form .success .required {
    background-color: #26c281; }
  form .error .required {
    width: 44px;
    height: 44px;
    background-color: #eb6c62;
    cursor: pointer; }
    form .error .required:before {
      content: "\3f";
      font-size: 13px;
      color: #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      margin: 0;
      font-family: 'default';
      font-weight: normal;
      text-indent: 0;
      font-style: normal;
      speak: none;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      text-indent: 0;
      -moz-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  form .input, form .textarea, form .select, form .checkbox, form .radio, form .submit {
    position: relative;
    margin: 0px 0px 10px 0px;
    padding: 0; }
  form .row > div > .form-inline > .input, .frame form .row > div > .form-inline > .input, form .row > div > .form-inline > .textarea, .frame form .row > div > .form-inline > .textarea, form .row > div > .form-inline > .select, .frame form .row > div > .form-inline > .select, form .row > div > .form-inline > .checkbox, .frame form .row > div > .form-inline > .checkbox, form .row > div > .form-inline > .radio, .frame form .row > div > .form-inline > .radio, form .row > div > .form-inline > .submit, .frame form .row > div > .form-inline > .submit {
    margin-bottom: 10px !important; }
  form .select.error.focus:before {
    border-color: #eb6c62; }
  form .input:focus, form .textarea:focus, form .select:focus {
    border-color: #abb4bc; }
    form .input .label, form .textarea .label, form .select .label {
      position: absolute;
      left: 0px;
      top: 0px;
      padding: 0 10px;
      pointer-events: none; }
    form .input .label label, form .textarea .label label, form .select .label label {
      line-height: 44px;
      height: 44px;
      display: inline-block;
      color: #a0abb4; }
    form .input input, form .textarea input, form .select input, form .input textarea, form .textarea textarea, form .select textarea, form .input select, form .textarea select, form .select select {
      width: 100%;
      border: 1px solid #e1e6e8;
      margin: 0;
      padding: 0 10px;
      background: #f9fafb;
      font-size: 1em;
      height: 44px;
      line-height: 44px;
      color: #000; }
    form .input.error, form .textarea.error, form .select.error {
      border: none; }
    form .input.error .label, form .textarea.error .label, form .select.error .label {
      padding-left: 54px; }
      form .input.error .label label, form .textarea.error .label label, form .select.error .label label {
        color: #eb6c62; }
    form .input.error input, form .textarea.error input, form .select.error input, form .input.error textarea, form .textarea.error textarea, form .select.error textarea, form .input.error select, form .textarea.error select, form .select.error select {
      padding-left: 54px;
      border-color: #fbe2e0;
      background-color: #fcedeb; }
      form .input.error input:focus, form .textarea.error input:focus, form .select.error input:focus, form .input.error textarea:focus, form .textarea.error textarea:focus, form .select.error textarea:focus, form .input.error select:focus, form .textarea.error select:focus, form .select.error select:focus {
        border-color: #eb6c62; }
    form .input.success, form .textarea.success, form .select.success {
      border: none; }
    form .input.hasValue .label, form .textarea.hasValue .label, form .select.hasValue .label {
      right: 0px;
      bottom: 0px;
      left: auto;
      top: auto;
      font-size: 0.65rem;
      opacity: 0.5; }
      form .input.hasValue .label label, form .textarea.hasValue .label label, form .select.hasValue .label label {
        height: auto;
        line-height: 2.5em;
        margin: 0; }
    form .input.hasValue.date .label, form .textarea.hasValue.date .label, form .select.hasValue.date .label {
      right: 30px; }
  form .textarea textarea {
    min-height: 99px;
    overflow: auto;
    max-width: 100%;
    min-width: 100%;
    line-height: 22px;
    padding-top: 11px;
    padding-bottom: 11px;
    display: block; }
  form .input.date:after {
    content: "\1f4c5";
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -8px;
    pointer-events: none;
    font-family: 'default';
    font-weight: normal;
    text-indent: 0;
    font-style: normal;
    speak: none;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    text-indent: 0;
    font-size: 18px;
    color: #abb4bc; }
  form .input span.help-block, form .textarea span.help-block, form .select span.help-block, form .checkbox span.help-block, form .radio span.help-block {
    display: none; }
    form .input span.error, form .textarea span.error, form .select span.error, form .checkbox span.error, form .radio span.error {
      position: absolute;
      left: 0;
      top: 0;
      display: inline-block;
      line-height: 70px;
      padding: 0 20px;
      background: #eb6c62;
      margin: -80px 0 0 -10px;
      color: #fff;
      font-style: italic;
      -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
      -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
      display: none;
      height: auto;
      white-space: nowrap;
      z-index: 1; }
      form .input span.error.on, form .textarea span.error.on, form .select span.error.on, form .checkbox span.error.on, form .radio span.error.on {
        display: block; }
      form .input span.error:before, form .textarea span.error:before, form .select span.error:before, form .checkbox span.error:before, form .radio span.error:before {
        content: "";
        position: absolute;
        left: 22px;
        bottom: -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 10px 0 10px;
        border-color: #eb6c62 transparent transparent transparent; }
  form .checkbox:hover label:before {
    border-color: #abb4bc; }
    form .checkbox > * {
      min-height: 44px;
      width: 100%;
      line-height: 44px;
      vertical-align: middle;
      display: inline-block;
      position: relative; }
    form .checkbox.field-newsletter label span {
      line-height: 2em;
      font-size: 0.8em; }
    form .checkbox > small {
      line-height: 2em; }
    form .checkbox.error label:before {
      border-color: #fbe2e0;
      background-color: #fcedeb; }
    form .checkbox input {
      height: 20px;
      margin-right: 10px;
      margin-top: 10px;
      opacity: 0;
      vertical-align: top;
      width: 20px;
      position: relative;
      z-index: 100; }
    form .checkbox input:checked + span:before {
      border-color: #abb4bc; }
    form .checkbox input:checked + span:after {
      width: 20px;
      height: 20px;
      content: "\1f5f8";
      position: absolute;
      left: 5px;
      top: 24px;
      margin-top: -12px;
      cursor: pointer;
      font-family: 'default';
      font-weight: normal;
      text-indent: 0;
      font-style: normal;
      speak: none;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      font-size: 20px;
      color: #26c281; }
    form .checkbox label {
      margin-bottom: 0; }
    form .checkbox label span {
      display: inline-block;
      line-height: 1.5em;
      padding-top: 9px;
      width: 70%; }
    form .checkbox label:before {
      width: 20px;
      height: 20px;
      border: 1px solid #e1e6e8;
      background: #f9fafb;
      content: "";
      position: absolute;
      left: 0;
      top: 20px;
      margin-top: -10px;
      cursor: pointer; }
  form .radio.error, form .radio.success {
    background: none; }
    form .radio > * {
      height: 44px;
      line-height: 44px;
      vertical-align: middle;
      display: inline-block;
      position: relative; }
    form .radio input {
      width: 20px;
      opacity: 0;
      margin-right: 0px;
      height: auto; }
    form .radio span {
      color: #9fabb3;
      margin-right: 10px; }
    form .radio span label:before {
      width: 20px;
      height: 20px;
      border: 1px solid #e1e6e8;
      background: #f9fafb;
      content: "";
      position: absolute;
      left: 0px;
      top: 50%;
      margin-top: -10px;
      cursor: pointer;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      border-radius: 100%; }
    form .radio span input:checked + label:before {
      border-color: #abb4bc; }
    form .radio span input:checked + label:after {
      width: 10px;
      height: 10px;
      background: #26c281;
      content: "";
      position: absolute;
      left: 5px;
      top: 50%;
      margin-top: -5px;
      cursor: pointer;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      border-radius: 100%; }
    form .radio span.error span label:before {
      border-color: #fbe2e0;
      background-color: #fcedeb; }
    form .radio span:hover label:before {
      border-color: #abb4bc; }
  form .select:before {
    content: "";
    width: 50px;
    height: 44px;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    background: #f9fafb;
    z-index: 10;
    border: 1px solid #e1e6e8;
    border-left: none;
    pointer-events: none; }
    form .select.focus:before {
      border-color: #abb4bc; }
    form .select.error:before {
      border-color: #fbe2e0;
      background-color: #fcedeb; }
    form .select:after {
      content: "\2304";
      width: 12px;
      height: 12px;
      position: absolute;
      right: 15px;
      top: 50%;
      margin-top: -6px;
      z-index: 15;
      pointer-events: none;
      font-family: 'default';
      font-weight: normal;
      text-indent: 0;
      font-style: normal;
      speak: none;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      font-size: 12px;
      color: #abb4bc; }
    form .select.hasValue label {
      display: none; }
  form .radio .required, form .checkbox .required, form .radio .error, form .checkbox .error {
    display: none; }
    form .radio.error .required, form .checkbox.error .required {
      display: inline-block;
      width: 20px;
      height: 20px;
      background: #eb6c62;
      cursor: pointer; }
  form .submit .button {
    width: 100%;
    height: 44px;
    line-height: 44px; }
    form .submit .button:hover {
      opacity: 0.8; }
  form .select.hasValue .required {
    background: #26c281; }
  form .input.quantity input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
    text-align: center;
    padding-bottom: 10px; }
    form .input.quantity input[type=number]::-webkit-inner-spin-button, form .input.quantity input[type=number]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0; }
    form .input.quantity .label {
      text-align: center;
      width: 100%; }
    form .input.quantity.hasValue .label {
      width: 100%;
      text-align: center;
      right: 0; }
      form .input.quantity.hasValue .label label {
        position: relative;
        top: 4px; }
    form .input.quantity .quantity-button {
      width: 18px;
      height: 18px;
      line-height: 18px;
      text-align: center;
      position: absolute;
      left: 15px;
      top: 50%;
      margin-top: -9px;
      font-size: 18px;
      cursor: pointer;
      font-family: 'default';
      font-weight: normal;
      text-indent: 0;
      font-style: normal;
      color: #abb4bc;
      -ms-user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none; }
    form .input.quantity .quantity-up {
      left: auto;
      right: 15px; }
  form .dateField {
    display: block; }
  .js form .dateField {
    display: none; }
  .js form .dateField.hasDatepicker {
    display: block; }
  form .row {
    margin-left: -5px;
    margin-right: -5px; }
    form .row > *[class*="col"] {
      padding-left: 5px;
      padding-right: 5px; }
  .js form .input.nickname {
    display: none; }

#quickform-form .input.date:after {
  content: "\2304";
  right: 35px;
  margin-top: -33px;
  font-size: 0.625rem;
  color: #abb4bc; }

#quickform_date_arrival_alt, #quickform_date_departure_alt {
  border: medium none;
  display: block !important;
  height: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 35px;
  visibility: hidden; }

optgroup option {
  display: block !important; }
