/* Malli: @include icon($facebook)*/
.module-huonevaraus {
  border-bottom: 0.0625rem solid #c3cdd8; }

body.home .module-huonevaraus .hotel-reservation-wrapper .hotel-reservation-title {
  display: none; }

.hotel-reservation-wrapper {
  position: relative; }
  .hotel-reservation-wrapper .hotel-reservation-title {
    margin-top: 0; }
  @media screen and (max-width: 31.1875em) {
    .hotel-reservation-wrapper .hotel-reservation-container .cell {
      padding: 0; } }
  .hotel-reservation-wrapper .hotel-reservation-container input[type="text"] {
    border: none !important;
    width: 100%;
    color: #294465 !important;
    font-size: 1.0625rem !important;
    font-weight: 500 !important;
    margin: 0 !important; }
  @media screen and (max-width: 31.1875em) {
    .hotel-reservation-wrapper .hotel-reservation-container input[type="text"] {
      font-size: 0.8125rem !important;
      padding: 0 !important;
      min-width: initial !important; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding-bottom: 3.75rem; }
  @media screen and (max-width: 63.9375em) {
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper {
      display: block;
      align-items: initial;
      justify-content: initial;
      padding-bottom: 0; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-hotel {
    width: 17%; }
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-hotel .select2 {
      margin: 0;
      min-width: 9.375rem; }
    @media screen and (max-width: 63.9375em) {
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-hotel {
        width: 15.625rem;
        margin-bottom: 0.9375rem; } }
  @media screen and (max-width: 31.1875em) {
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-hotel {
      width: 13.125rem; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-datepicker {
    padding-left: 1.5625rem;
    display: flex;
    align-items: center; }
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-datepicker:before {
      font-family: 'hoyryicon';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: "\e9ab"; }
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-datepicker:before {
      color: #e62000;
      font-size: 1.375rem;
      margin-right: 0.75rem; }
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-datepicker input {
      min-width: 20rem; }
    @media screen and (max-width: 63.9375em) {
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-datepicker {
        padding-left: 0;
        margin-bottom: 0.625rem; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details {
    padding-left: 1.5625rem; }
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details .hotel-reservation-detailspicker {
      display: flex;
      align-items: center; }
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details .hotel-reservation-detailspicker:before {
        font-family: 'hoyryicon';
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e9b3"; }
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details .hotel-reservation-detailspicker:before {
        color: #e62000;
        font-size: 1.1875rem;
        margin-right: 0.875rem;
        margin-left: 0.0625rem; }
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details .hotel-reservation-detailspicker input {
        min-width: 18.75rem;
        cursor: pointer; }
    @media screen and (max-width: 63.9375em) {
      .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-details {
        padding-left: 0;
        margin-bottom: 0.3125rem; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit {
    padding-left: 1.5625rem; }
  @media screen and (max-width: 63.9375em) {
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit {
      padding-left: 0; } }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit button[type="submit"] {
    width: 10.625rem;
    white-space: nowrap;
    margin-left: auto; }
  @media screen and (max-width: 79.9375em) {
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit button[type="submit"] {
      width: 6.25rem; } }
@media screen and (max-width: 63.9375em) {
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit button[type="submit"] {
    width: 10.625rem;
    margin-left: 0; } }
@media screen and (max-width: 31.1875em) {
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-submit button[type="submit"] {
    width: 100%; } }
.hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-promo {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 17%; }
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-promo #promocode {
    padding-left: 0;
    border-bottom: 0.0625rem solid #707070 !important;
    text-transform: uppercase; }
  @media screen and (max-width: 63.9375em) {
    .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-promo {
      position: initial;
      left: initial;
      bottom: initial;
      width: 15.625rem;
      margin-bottom: 1.875rem; } }
@media screen and (max-width: 31.1875em) {
  .hotel-reservation-wrapper .hotel-reservation-container .hotel-reservation-fields-wrapper .hotel-reservation-promo {
    width: 100%; } }
.hotel-reservation-wrapper .hotel-reservation-container .modal {
  box-shadow: 0 0.0625rem 1rem rgba(0, 0, 0, 0.28);
  margin-top: 0.875rem;
  position: absolute;
  display: none;
  z-index: 101;
  border-radius: 0.125rem; }
  .hotel-reservation-wrapper .hotel-reservation-container .modal:before {
    position: absolute !important;
    top: -0.625rem !important;
    left: 2.5rem !important;
    right: initial !important;
    margin: 0 auto !important;
    content: '' !important;
    display: block !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    transform: rotate(45deg) !important;
    background-color: #fff !important;
    box-shadow: 0 0.0625rem 0.75rem rgba(0, 0, 0, 0.15) !important;
    z-index: -1; }
  .hotel-reservation-wrapper .hotel-reservation-container .modal .modal-container {
    background-color: #ffffff;
    border-radius: 0.125rem;
    padding: 0.625rem 0.9375rem 1.5625rem 0.9375rem; }
  .hotel-reservation-wrapper .hotel-reservation-container .modal p {
    margin: 0 0 0.3125rem 0; }
  .hotel-reservation-wrapper .hotel-reservation-container .modal input, .hotel-reservation-wrapper .hotel-reservation-container .modal button {
    margin: 0 !important; }
  .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper {
    display: block;
    padding: 0.625rem 0.625rem 0 0.625rem; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input-buttons-wrapper {
      display: none !important; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input.quantity:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]):not([type=reset]):not([type=hidden]):not([type=file]):not(.cur-year).valid, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input.quantity:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]):not([type=reset]):not([type=hidden]):not([type=file]):not(.cur-year).parsley-success, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input.quantity:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]):not([type=reset]):not([type=hidden]):not([type=file]):not(.cur-year):valid, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input.quantity:not([type=submit]):not([type=button]):not([type=radio]):not([type=checkbox]):not([type=reset]):not([type=hidden]):not([type=file]):not(.cur-year)[type="number"], .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input.quantity {
      border: 0.0625rem solid #cfcfcf !important;
      border-radius: 0 !important; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input[type="number"] {
      -webkit-appearance: textfield;
      -moz-appearance: textfield;
      appearance: textfield;
      padding-left: 1.0625rem !important;
      padding-right: 1.0625rem !important;
      line-height: initial !important; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input[type=number]::-webkit-inner-spin-button, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper input[type=number]::-webkit-outer-spin-button {
      -webkit-appearance: none; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input {
      display: inline-flex; }
      .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input input.quantity {
        height: 2.3125rem !important;
        width: 3.75rem !important; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input * {
      box-sizing: border-box; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input button {
      outline: none;
      -webkit-appearance: none;
      background-color: transparent;
      border: none;
      align-items: center;
      justify-content: center;
      width: 3rem;
      height: 2.3125rem;
      cursor: pointer;
      margin: 0;
      position: relative;
      border-radius: 0.0625rem;
      border: 0.0625rem solid #cfcfcf; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper button.plus {
      border-left: 0;
      border-radius: 0px 0.3125rem 0.3125rem 0px; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper button.minus {
      border-right: 0;
      border-radius: 0.3125rem 0px 0px 0.3125rem; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input button:before, .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input button:after {
      display: inline-block;
      position: absolute; }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input button.minus:after {
      font-family: 'hoyryicon';
      content: "\e927";
      transform: translate(-50%, -50%) rotate(180deg); }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input button.plus:after {
      font-family: 'hoyryicon';
      content: "\e927";
      transform: translate(-50%, -50%); }
    .hotel-reservation-wrapper .hotel-reservation-container .modal .number-input-wrapper .number-input input[type=number] {
      font-family: sans-serif;
      max-width: 5rem;
      padding: 0.5rem;
      border: solid #ddd;
      border-width: 0 0.125rem;
      font-size: 2rem;
      height: 3rem;
      font-weight: bold;
      text-align: center; }

.flatpickr-calendar {
  background-color: #ffffff !important;
  border-radius: 0.125rem !important;
  box-shadow: 0 0.0625rem 1rem rgba(0, 0, 0, 0.28) !important;
  border: none !important;
  margin-top: -1.25rem !important; }
@media screen and (max-width: 47.9375em) {
  .flatpickr-calendar {
    margin-top: -2.1875rem !important; } }
.flatpickr-calendar:before {
  display: none !important; }
.flatpickr-calendar:after {
  position: absolute !important;
  top: -0.625rem !important;
  left: 2.5rem !important;
  right: initial !important;
  margin: 0 auto !important;
  content: '' !important;
  display: block !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  transform: rotate(45deg) !important;
  background-color: #fff !important;
  box-shadow: 0 0.0625rem 0.75rem rgba(0, 0, 0, 0.15) !important;
  z-index: -1; }
.flatpickr-calendar .flatpickr-months {
  background-color: #ffffff; }
  .flatpickr-calendar .flatpickr-months .flatpickr-month {
    height: 4.0625rem; }
    .flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .cur-month {
      position: relative;
      top: 0.125rem; }
    .flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper {
      margin-left: 0.3125rem;
      width: 5rem; }
      .flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper .numInput {
        border-width: 0 !important; }
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer span.flatpickr-day {
  line-height: 2.375rem; }
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer span.flatpickr-day.startRange {
  background: #e62000 !important;
  border-color: #e62000 !important;
  color: #ffffff !important; }
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer span.flatpickr-day.inRange {
  background: #e62000 !important;
  border-color: #e62000 !important;
  color: #ffffff !important;
  box-shadow: -5px 0 0 #e62000, 5px 0 0 #e62000; }
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer span.flatpickr-day.selected {
  background: #e62000;
  border-color: #e62000;
  color: #ffffff !important; }
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer span.flatpickr-day.endRange {
  background: #e62000 !important;
  border-color: #e62000 !important;
  box-shadow: -0.625rem 0 0 #e62000 !important;
  color: #ffffff !important; }
