* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}
button {
  border: none;
  outline: none;
}
@font-face {
  font-family: 'core-icons';
  src: url('./hfp/fonts/hfp-icons.eot?63758021');
  src: url('./hfp/fonts/hfp-icons.eot?63758021#iefix') format('embedded-opentype'), url('./hfp/fonts/hfp-icons.woff2?63758021') format('woff2'), url('./hfp/fonts/hfp-icons.woff?63758021') format('woff'), url('./hfp/fonts/hfp-icons.ttf?63758021') format('truetype'), url('./hfp/fonts/hfp-icons.svg?63758021#core-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="i-"]:before,
[class*=" i-"]:before,
[class^="i-"]:after,
[class*=" i-"]:after {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.fontIcons:before,
.fontIcons:after {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.i-ok:before {
  content: '\e800';
}
/* '' */
.i-cancel:before {
  content: '\e801';
}
/* '' */
.i-arrow-down:before {
  content: '\e802';
}
/* '' */
.i-arrow-left:before {
  content: '\e803';
}
/* '' */
.i-arrow-up:before {
  content: '\e804';
}
/* '' */
.i-arrow-right:before {
  content: '\e805';
}
/* '' */
.i-switch:before {
  content: '\e806';
}
/* '' */
.i-after-ok:after {
  content: '\e800';
}
.i-after-cancel:after {
  content: '\e801';
}
.i-after-arrow-down:after {
  content: '\e802';
}
.i-after-arrow-left:after {
  content: '\e803';
}
.i-after-arrow-up:after {
  content: '\e804';
}
.i-after-arrow-right:after {
  content: '\e805';
}
.i-after-switch:after {
  content: '\e806';
}
html {
  font-size: 55%;
}
@media (max-width: 1600px) {
  html {
    font-size: 55%;
  }
}
@media (max-width: 1440px) {
  html {
    font-size: 51%;
  }
}
@media (max-width: 1200px) {
  html {
    font-size: 48%;
  }
}
body {
  font-family: "Poppins", "Open Sans";
  font-weight: 400;
  color: #3c5570;
  font-size: 1.6rem;
  background: #fff;
  line-height: 1.5;
}
.button {
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 0.35rem;
  font-weight: 500;
  position: relative;
  padding: 2.8rem 4rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, from(#d3b998), to(rgba(255, 255, 255, 0.75))), #d3b998;
  background: -webkit-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.75) 100%), #d3b998;
  background: -moz-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.75) 100%), #d3b998;
  background: -o-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.75) 100%), #d3b998;
  background: linear-gradient(90deg, #d3b998 0%, rgba(255, 255, 255, 0.75) 100%), #d3b998;
  -webkit-box-shadow: 0 1.5rem 2.9rem rgba(0, 0, 0, 0.05);
     -moz-box-shadow: 0 1.5rem 2.9rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 1.5rem 2.9rem rgba(0, 0, 0, 0.05);
  font-size: 12px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  overflow: hidden;
  cursor: pointer;
  white-space: nowrap;
}
.button * {
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.button span {
  position: relative;
  z-index: 1;
}
.button i {
  margin-left: 4.5rem;
  color: #ffffff;
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: 22px;
  z-index: 1;
}
.button:before {
  content: "";
  left: 0.5rem;
  top: 0.5rem;
  position: absolute;
  width: -webkit-calc(100% - 1rem);
  width: -moz-calc(100% - 1rem);
  width: calc(100% - 1rem);
  height: -webkit-calc(100% - 1rem);
  height: -moz-calc(100% - 1rem);
  height: calc(100% - 1rem);
  background: -webkit-gradient(linear, left top, right top, from(#d3b998), to(rgba(255, 255, 255, 0.5))), #d3b998;
  background: -webkit-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.5) 100%), #d3b998;
  background: -moz-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.5) 100%), #d3b998;
  background: -o-linear-gradient(left, #d3b998 0%, rgba(255, 255, 255, 0.5) 100%), #d3b998;
  background: linear-gradient(90deg, #d3b998 0%, rgba(255, 255, 255, 0.5) 100%), #d3b998;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.button:after {
  content: "";
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #d3b998), color-stop(60%, #e6d6c4), to(transparent));
  background: -webkit-linear-gradient(left, #d3b998 10%, #e6d6c4 60%, transparent 100%);
  background: -moz-linear-gradient(left, #d3b998 10%, #e6d6c4 60%, transparent 100%);
  background: -o-linear-gradient(left, #d3b998 10%, #e6d6c4 60%, transparent 100%);
  background: linear-gradient(90deg, #d3b998 10%, #e6d6c4 60%, transparent 100%);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.button:hover {
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
  -webkit-transform: scale(0.98);
     -moz-transform: scale(0.98);
      -ms-transform: scale(0.98);
       -o-transform: scale(0.98);
          transform: scale(0.98);
}
.button:hover:after {
  opacity: 1;
}
.button:hover:before {
  background: #d3b998;
}
.button:hover i {
  -webkit-transform: translateX(50%);
     -moz-transform: translateX(50%);
      -ms-transform: translateX(50%);
       -o-transform: translateX(50%);
          transform: translateX(50%);
}
.button--end-section {
  -webkit-transform: translateY(50%);
     -moz-transform: translateY(50%);
      -ms-transform: translateY(50%);
       -o-transform: translateY(50%);
          transform: translateY(50%);
}
.button--end-section:hover {
  -webkit-transform: translateY(50%) scale(0.98);
     -moz-transform: translateY(50%) scale(0.98);
      -ms-transform: translateY(50%) scale(0.98);
       -o-transform: translateY(50%) scale(0.98);
          transform: translateY(50%) scale(0.98);
}
.button--header {
  font-size: 9px;
  height: 5rem;
  padding: 1rem 4rem;
  min-width: 18rem;
}
.button--header:before {
  left: 0.3rem;
  top: 0.3rem;
  width: -webkit-calc(100% - 0.6rem);
  width: -moz-calc(100% - 0.6rem);
  width: calc(100% - 0.6rem);
  height: -webkit-calc(100% - 0.6rem);
  height: -moz-calc(100% - 0.6rem);
  height: calc(100% - 0.6rem);
}
.button--black {
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(rgba(255, 255, 255, 0.2))), #9c9c9c;
  background: -webkit-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #9c9c9c;
  background: -moz-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #9c9c9c;
  background: -o-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #9c9c9c;
  background: linear-gradient(90deg, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #9c9c9c;
}
.button--black:before {
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(rgba(255, 255, 255, 0.2))), #3a3a3a;
  background: -webkit-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #3a3a3a;
  background: -moz-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #3a3a3a;
  background: -o-linear-gradient(left, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #3a3a3a;
  background: linear-gradient(90deg, #000000 0%, rgba(255, 255, 255, 0.2) 100%), #3a3a3a;
  left: 0;
  top: 1px;
  width: -webkit-calc(100% - 1px);
  width: -moz-calc(100% - 1px);
  width: calc(100% - 1px);
  height: -webkit-calc(100% - 2px);
  height: -moz-calc(100% - 2px);
  height: calc(100% - 2px);
}
.button--black:after {
  background: -webkit-gradient(linear, left top, right top, from(#3a3a3a), color-stop(50%, #3a3a3a), to(transparent));
  background: -webkit-linear-gradient(left, #3a3a3a 0%, #3a3a3a 50%, transparent 100%);
  background: -moz-linear-gradient(left, #3a3a3a 0%, #3a3a3a 50%, transparent 100%);
  background: -o-linear-gradient(left, #3a3a3a 0%, #3a3a3a 50%, transparent 100%);
  background: linear-gradient(90deg, #3a3a3a 0%, #3a3a3a 50%, transparent 100%);
}
.button--black:hover:before {
  background: #000000;
}
.button--dark-green {
  background: -webkit-gradient(linear, left top, right top, from(#424c4e), to(rgba(255, 255, 255, 0.75))), #b8bbbc;
  background: -webkit-linear-gradient(left, #424c4e 0%, rgba(255, 255, 255, 0.75) 100%), #b8bbbc;
  background: -moz-linear-gradient(left, #424c4e 0%, rgba(255, 255, 255, 0.75) 100%), #b8bbbc;
  background: -o-linear-gradient(left, #424c4e 0%, rgba(255, 255, 255, 0.75) 100%), #b8bbbc;
  background: linear-gradient(90deg, #424c4e 0%, rgba(255, 255, 255, 0.75) 100%), #b8bbbc;
}
.button--dark-green:before {
  background: -webkit-gradient(linear, left top, right top, from(#414b4d), to(rgba(255, 255, 255, 0.5))), #71787a;
  background: -webkit-linear-gradient(left, #414b4d 0%, rgba(255, 255, 255, 0.5) 100%), #71787a;
  background: -moz-linear-gradient(left, #414b4d 0%, rgba(255, 255, 255, 0.5) 100%), #71787a;
  background: -o-linear-gradient(left, #414b4d 0%, rgba(255, 255, 255, 0.5) 100%), #71787a;
  background: linear-gradient(90deg, #414b4d 0%, rgba(255, 255, 255, 0.5) 100%), #71787a;
}
.button--dark-green:after {
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #6f7d7f), color-stop(60%, #71787a), to(transparent));
  background: -webkit-linear-gradient(left, #6f7d7f 10%, #71787a 60%, transparent 100%);
  background: -moz-linear-gradient(left, #6f7d7f 10%, #71787a 60%, transparent 100%);
  background: -o-linear-gradient(left, #6f7d7f 10%, #71787a 60%, transparent 100%);
  background: linear-gradient(90deg, #6f7d7f 10%, #71787a 60%, transparent 100%);
}
.button--dark-green:hover:before {
  background: #4d5a5c;
}
.button--white {
  background: #ffffff;
  color: #d3b998;
}
.button--white i {
  color: #d3b998;
}
.button--white:after,
.button--white:before {
  display: none;
}
.button--arrow-down i {
  font-size: 15px;
}
.button.secondary {
  background: -webkit-gradient(linear, left top, right top, from(#dfabc1), to(rgba(255, 255, 255, 0.75))), #dfabc1;
  background: -webkit-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: -moz-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: -o-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: linear-gradient(90deg, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
}
.button.secondary:before {
  background: -webkit-gradient(linear, left top, right top, from(#dfabc1), to(rgba(255, 255, 255, 0.5))), #dfabc1;
  background: -webkit-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: -moz-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: -o-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: linear-gradient(90deg, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
}
.button.secondary:after {
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #dfabc1), color-stop(60%, #efd5e0), to(transparent));
  background: -webkit-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: -moz-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: -o-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: linear-gradient(90deg, #dfabc1 10%, #efd5e0 60%, transparent 100%);
}
.button.secondary:hover:before {
  background: #dfabc1;
}
.button.small {
  padding: 1.4rem 2rem;
}
.button.small:hover i {
  -webkit-transform: translateX(25%);
     -moz-transform: translateX(25%);
      -ms-transform: translateX(25%);
       -o-transform: translateX(25%);
          transform: translateX(25%);
}
.button.back {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.button.back i {
  margin-right: 4.5rem;
  margin-left: 0;
}
.button.back i:before {
  content: '\e803';
}
.button.back:hover i {
  -webkit-transform: translateX(-50%);
     -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
       -o-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 500px) {
  .button {
    font-size: 9px;
  }
  .button i {
    font-size: 18px;
    margin-left: 20px;
  }
}
.text-block p {
  font-weight: 300;
}
.text-block p:not(:last-of-type) {
  margin-bottom: 1rem;
}
/*
 * ==========================================================================================================
 * FORMS
 * ==========================================================================================================
 */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="range"],
input[type="date"],
input[type="password"],
textarea,
select,
button,
label {
  font-family: "Poppins", "Open Sans";
  font-size: 1.6rem;
  font-weight: 400;
  color: #3c5570;
  line-height: inherit;
}
.form .errors .input_error {
  font-size: 1em;
}
.group {
  position: relative;
  margin-top: 5rem;
  margin-bottom: 2rem;
}
.group .label {
  color: #a1b2cb;
  font-size: 12px;
  letter-spacing: 0.1rem;
  font-weight: normal;
  position: absolute;
  pointer-events: none;
  left: 2rem;
  top: 5px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.group .label img {
  margin-right: 3rem;
}
.group .label > * {
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
     -moz-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.group .label .req {
  display: inline-block;
  color: #d3b998;
  padding-left: 5px;
}
.group .button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 0;
}
.group .input_error {
  display: inline-block !important;
  bottom: 0;
  font-size: 11px;
  color: #d85959;
  margin-top: 5px;
}
.group .input_error ~ .bar {
  position: relative;
  bottom: 20px;
}
.group .input_error ~ .placeholder {
  bottom: 4rem;
}
.group [id*="message"] {
  display: none;
}
.group .input.used ~ label {
  top: -20px;
  left: 2rem;
  font-size: 11px;
  color: #d3dae4;
}
.group .textarea.used ~ label {
  top: -20px;
  left: 2rem;
  font-size: 11px;
  color: #d3dae4;
}
.group input::-webkit-input-placeholder {
  color: transparent;
  opacity: 0;
}
.group input:-moz-placeholder {
  color: transparent;
  opacity: 0;
}
.group input::-moz-placeholder {
  color: transparent;
  opacity: 0;
}
.group input:-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}
.group input::-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}
.group input::placeholder {
  color: transparent;
  opacity: 0;
}
.group .input,
.group .textarea {
  font-size: 12px;
  padding: 10px 10px 10px 5px;
  -webkit-appearance: none;
  display: block;
  color: #a1b2cb;
  width: 100%;
  padding-left: 3.6rem;
  border: none;
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
  letter-spacing: 0.1rem;
  border-bottom: 1px solid #d3dae4;
  outline: none;
}
.group .input:not(:-moz-read-only):focus,
.group .textarea:not(:-moz-read-only):focus {
  border-bottom: 1px solid transparent;
}
.group .input:not(:read-only):focus,
.group .textarea:not(:read-only):focus {
  border-bottom: 1px solid transparent;
}
.group .input:not(:-moz-read-only):focus ~ label,
.group .textarea:not(:-moz-read-only):focus ~ label,
.group .input:not(:-moz-read-only):focus input.used ~ label,
.group .textarea:not(:-moz-read-only):focus input.used ~ label {
  top: -20px;
  left: 2rem;
  font-size: 11px;
  color: #d3dae4;
}
.group .input:not(:read-only):focus ~ label,
.group .textarea:not(:read-only):focus ~ label,
.group .input:not(:read-only):focus input.used ~ label,
.group .textarea:not(:read-only):focus input.used ~ label {
  top: -20px;
  left: 2rem;
  font-size: 11px;
  color: #d3dae4;
}
.group .input:not(:-moz-read-only):focus ~ .bar:before,
.group .textarea:not(:-moz-read-only):focus ~ .bar:before,
.group .input:not(:-moz-read-only):focus ~ .bar:after,
.group .textarea:not(:-moz-read-only):focus ~ .bar:after {
  width: 50%;
}
.group .input:not(:read-only):focus ~ .bar:before,
.group .textarea:not(:read-only):focus ~ .bar:before,
.group .input:not(:read-only):focus ~ .bar:after,
.group .textarea:not(:read-only):focus ~ .bar:after {
  width: 50%;
}
.group .input:not(:-moz-read-only):focus ~ .highlight,
.group .textarea:not(:-moz-read-only):focus ~ .highlight {
  -moz-animation: inputHighlighter 0.3s ease;
       animation: inputHighlighter 0.3s ease;
}
.group .input:not(:read-only):focus ~ .highlight,
.group .textarea:not(:read-only):focus ~ .highlight {
  -webkit-animation: inputHighlighter 0.3s ease;
     -moz-animation: inputHighlighter 0.3s ease;
       -o-animation: inputHighlighter 0.3s ease;
          animation: inputHighlighter 0.3s ease;
}
@media screen and (max-width: 500px) {
  .group .input:focus ~ label,
  .group .textarea:focus ~ label,
  .group .input:focus input.used ~ label,
  .group .textarea:focus input.used ~ label {
    top: -10px;
  }
}
.group .bar {
  position: relative;
  display: block;
  width: 100%;
}
.group .bar:before,
.group .bar:after {
  content: "";
  height: 2px;
  width: 0;
  bottom: 1px;
  position: absolute;
  background: #d3b998;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.group .bar:before {
  left: 50%;
}
.group .bar:after {
  right: 50%;
}
.list-group > ul {
  list-style-type: none;
  margin-left: -15px;
}
.list-group > ul > li {
  padding: 5px;
  margin: 10px 30px 10px 10px;
}
.list-group .group-label {
  padding-left: 52px;
  font-size: 2.2rem;
  color: #dfabc1;
  letter-spacing: 0.1em;
}
.list-group label.radio [type="radio"] + .custom-checkbox .text,
.list-group label.checkbox [type="checkbox"] + .custom-checkbox .text {
  font-size: 1.2em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.list-group label.radio [type="radio"] + .custom-checkbox .text .detail,
.list-group label.checkbox [type="checkbox"] + .custom-checkbox .text .detail {
  font-size: 0.8em;
  letter-spacing: 0;
  text-transform: none;
}
.list-group label.radio [type="radio"]:checked + .custom-checkbox .text,
.list-group label.checkbox [type="checkbox"]:checked + .custom-checkbox .text {
  color: #dfabc1;
}
.highlight {
  position: absolute;
  height: 60%;
  width: 100px;
  top: 25%;
  left: 0;
  pointer-events: none;
  opacity: 0.5;
}
.placeholder {
  position: absolute;
  bottom: 2rem;
  width: 100%;
  text-align: center;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #a1b2cb;
  opacity: 0.5;
  font-size: 12px;
}
.form-send {
  color: #d3b998;
}
.form-send p {
  font-size: 2.8rem;
  font-weight: bold;
}
@-webkit-keyframes inputHighlighter {
  from {
    background: #d3b998;
  }
  to {
    width: 0;
    background: transparent;
  }
}
@-moz-keyframes inputHighlighter {
  from {
    background: #d3b998;
  }
  to {
    width: 0;
    background: transparent;
  }
}
@-o-keyframes inputHighlighter {
  from {
    background: #d3b998;
  }
  to {
    width: 0;
    background: transparent;
  }
}
@keyframes inputHighlighter {
  from {
    background: #d3b998;
  }
  to {
    width: 0;
    background: transparent;
  }
}
.textarea {
  font-size: 12px;
  -webkit-appearance: none;
  display: block;
  color: #a1b2cb;
  width: 100%;
  padding-left: 3.6rem;
  border: none;
  letter-spacing: 0.1rem;
  border-bottom: 1px solid #d3dae4;
  resize: none;
}
.form_error ~ .form {
  padding-top: 30px;
}
label.radio [type="radio"] {
  display: none;
}
label.radio [type="radio"] + .custom-checkbox {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
label.radio [type="radio"] + .custom-checkbox .checkbox {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
     -moz-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 22px;
  height: 22px;
  margin-right: 30px;
  background-color: #efd5e0;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
label.radio [type="radio"] + .custom-checkbox .checkbox:after {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
  position: relative;
  font-size: 12px;
  color: transparent;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.radio [type="radio"] + .custom-checkbox .checkbox:after {
  content: '\e800';
}
label.radio [type="radio"] + .custom-checkbox .text .detail {
  display: block;
  color: #d3dae4;
}
@media (max-width: 1440px) {
  label.radio [type="radio"] + .custom-checkbox .text {
    margin-top: 1px;
  }
}
@media (max-width: 1200px) {
  label.radio [type="radio"] + .custom-checkbox .text {
    margin-top: 2px;
  }
}
@media (max-width: 992px) {
  label.radio [type="radio"] + .custom-checkbox .text {
    margin-top: 3px;
  }
}
label.radio [type="radio"]:checked + .custom-checkbox .checkbox {
  background-color: #dfabc1;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.radio [type="radio"]:checked + .custom-checkbox .checkbox:after {
  color: #fff;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.radio [type="radio"]:disabled + .custom-checkbox {
  opacity: 0.5;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
}
label.radio [type="radio"]:disabled + .custom-checkbox .checkbox {
  cursor: default;
}
label.radio [type="radio"] + .custom-checkbox .text {
  cursor: pointer;
}
label.checkbox [type="checkbox"] {
  display: none;
}
label.checkbox [type="checkbox"] + .custom-checkbox {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
label.checkbox [type="checkbox"] + .custom-checkbox .checkbox {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
     -moz-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 22px;
  height: 22px;
  margin-right: 30px;
  background-color: #efd5e0;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
}
label.checkbox [type="checkbox"] + .custom-checkbox .checkbox:after {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
  position: relative;
  font-size: 12px;
  color: transparent;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.checkbox [type="checkbox"] + .custom-checkbox .checkbox:after {
  content: '\e800';
}
label.checkbox [type="checkbox"] + .custom-checkbox .text .detail {
  display: block;
  color: #d3dae4;
}
@media (max-width: 1440px) {
  label.checkbox [type="checkbox"] + .custom-checkbox .text {
    margin-top: 1px;
  }
}
@media (max-width: 1200px) {
  label.checkbox [type="checkbox"] + .custom-checkbox .text {
    margin-top: 2px;
  }
}
@media (max-width: 992px) {
  label.checkbox [type="checkbox"] + .custom-checkbox .text {
    margin-top: 3px;
  }
}
label.checkbox [type="checkbox"]:checked + .custom-checkbox .checkbox {
  background-color: #dfabc1;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.checkbox [type="checkbox"]:checked + .custom-checkbox .checkbox:after {
  color: #fff;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
label.checkbox [type="checkbox"]:disabled + .custom-checkbox {
  opacity: 0.5;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
      -ms-user-select: none !important;
          user-select: none !important;
}
label.checkbox [type="checkbox"]:disabled + .custom-checkbox .checkbox {
  cursor: default;
}
/*
 * ==========================================================================================================
 * MAIN CONTENT
 * ==========================================================================================================
 */
.top-section .top-header,
.top-section .top_nav,
.main-content {
  display: block;
  max-width: 800px;
  padding: 0 60px;
  margin: 0 auto;
}
@media screen and (max-width: 500px) {
  .top-section .top-header,
  .top-section .top_nav,
  .main-content {
    padding: 0 30px;
  }
}
body.hfp .main-content .section {
  margin-bottom: 10rem;
}
@media screen and (max-width: 500px) {
  body.hfp .main-content .section {
    margin-bottom: 5rem;
  }
}
.top-section {
  padding-top: 30px;
  padding-bottom: 60px;
  margin-bottom: 90px;
  -webkit-box-shadow: 0 0.8rem 4.6rem 2.3rem rgba(161, 178, 203, 0.1);
     -moz-box-shadow: 0 0.8rem 4.6rem 2.3rem rgba(161, 178, 203, 0.1);
          box-shadow: 0 0.8rem 4.6rem 2.3rem rgba(161, 178, 203, 0.1);
}
.top-section .top_nav {
  margin-bottom: 60px;
  color: #d3dae4;
}
.top-section .top-header {
  text-align: center;
}
.top-section .top-header .section_title {
  margin-bottom: 0;
}
.top-section .top-header .salon-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1em;
}
.top-section .top-header .salon-name a {
  color: #d3b998;
  padding: 3px;
  margin-left: 10px;
}
.top-section .top-header .reservation-info {
  font-size: 1.4rem;
  margin-top: 2em;
}
/*
 * ==========================================================================================================
 * MISC
 * ==========================================================================================================
 */
/*
 * -----------------------------------------------------------------------------
 * Table form
 * -----------------------------------------------------------------------------
 */
.table-form {
  text-align: left;
}
.table-form > table {
  width: 100%;
}
/* datepicker */
.ui-datepicker {
  font-family: "Poppins", "Open Sans";
  font-size: 1.6rem;
  font-weight: 400;
  color: #3c5570;
  margin: 10px 0;
  font-size: 1em;
}
.ui-datepicker .ui-datepicker-header {
  margin-bottom: 15px;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
  color: #dfabc1;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  font-size: 1.5em;
  text-transform: uppercase;
  color: #dfabc1;
  letter-spacing: 0.1em;
}
.ui-datepicker .ui-datepicker-calendar {
  margin: 0 auto;
}
.ui-datepicker .ui-datepicker-calendar th,
.ui-datepicker .ui-datepicker-calendar td {
  font-weight: normal;
  padding: 7px 18px;
  text-align: center;
  letter-spacing: 0.1em;
  vertical-align: top;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable .ui-state-default {
  color: #d2dbe4;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default {
  position: relative;
  color: #221e29;
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default:not(.ui-state-active).ui-state-hover {
  color: #d3b998;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.available:after {
  content: " ";
  display: block;
  margin-left: 2px;
  width: 5px;
  height: 5px;
  background: #d3b998;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active {
  color: white;
  z-index: 1;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active:before {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 26px;
  top: -2px;
  left: -7px;
  background: #d3b998;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: -1;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active:after {
  visibility: hidden;
}
/* select2 */
select.select2 {
  width: 100%;
}
select.select2 + .select2-container {
  position: relative;
  width: 100% !important;
}
select.select2 + .select2-container:after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e4e7ec;
}
select.select2 + .select2-container .selection .select2-selection {
  border: none;
  outline: none;
  height: auto;
}
select.select2 + .select2-container .selection .select2-selection .select2-selection__rendered {
  padding: 10px 70px 10px 30px;
}
select.select2 + .select2-container .selection .select2-selection .select2-selection__arrow {
  height: auto;
  width: auto;
  top: 10px;
  right: 30px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  -moz-transition: transform 0.3s ease, -moz-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -moz-transform 0.3s ease, -o-transform 0.3s ease;
}
select.select2 + .select2-container .selection .select2-selection .select2-selection__arrow:before {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
  font-size: 28px;
  color: #e4e7ec;
}
select.select2 + .select2-container .selection .select2-selection .select2-selection__arrow:before {
  content: '\e805';
}
select.select2 + .select2-container .selection .select2-selection .select2-selection__arrow b {
  display: none;
}
select.select2 + .select2-container.select2-container--open .selection .select2-selection .select2-selection__arrow {
  -webkit-transform: translateX(30px);
     -moz-transform: translateX(30px);
      -ms-transform: translateX(30px);
       -o-transform: translateX(30px);
          transform: translateX(30px);
}
select.select2 + .select2-container.select2-container--open:after {
  height: 2px;
  background-color: #dfabc1;
}
.select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted {
  color: #3c5570;
  background-color: #efd5e0;
}
.select2-dropdown .select2-results__options .select2-results__option[aria-selected="true"] {
  background-color: #e4e7ec;
}
.select2-dropdown .select2-search__field:focus {
  outline: 2px solid #dfabc1;
}
body {
  height: auto;
  padding-bottom: 65px;
}
.section_title {
  font-size: 6rem;
  color: #3c5570;
  font-family: Cormorant, serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1em;
  margin-top: 0.7rem;
  margin-bottom: 2.2rem;
}
@media (max-width: 667px) {
  .section_title {
    font-size: 40px;
    margin-top: 0.5rem;
  }
}
.dbwitches {
  position: absolute;
  top: 2px;
  right: 2px;
}
/*
 * -----------------------------------------------------------------------------
 * Header
 * -----------------------------------------------------------------------------
 */
.top_nav {
  display: inline-block;
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
  vertical-align: middle;
}
.top_nav ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.top_nav ul li {
  display: inline-block;
  margin: 0 8px;
  vertical-align: middle;
}
.top_nav ul li .top_nav_item {
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  line-height: 1em;
  margin-top: 4px;
  text-decoration: none;
  -webkit-transition: all 0.15s linear;
  -o-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
.top_nav ul li .top_nav_item:hover {
  color: #d3b998;
}
/*
 * -----------------------------------------------------------------------------
 * Content
 * -----------------------------------------------------------------------------
 */
.main-content {
  position: relative;
  margin: 0 auto;
  clear: both;
}
.main-content .section {
  margin-bottom: 45px;
}
.main-content .section .section-header {
  font-size: 6rem;
  color: #3c5570;
  font-family: Cormorant, serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1em;
  margin-top: 0.7rem;
  margin-bottom: 2.2rem;
}
@media (max-width: 667px) {
  .main-content .section .section-header {
    font-size: 40px;
    margin-top: 0.5rem;
  }
}
.main-content .form:not(.table-form) {
  display: block;
}
.main-content .form:not(.table-form).text-left {
  text-align: left;
}
.main-content .form:not(.table-form).text-left .input {
  margin: 0;
  /*margin-left: @marginBase;*/
}
.main-content .form:not(.table-form) .req {
  color: #d85959;
}
.main-content .form:not(.table-form) .controls {
  text-align: center;
}
.main-content .link {
  color: #d3b998;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all 0.15s linear;
  -o-transition: all 0.15s linear;
  -moz-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
.main-content .link:hover {
  text-decoration: underline;
}
.main-content .link[type="submit"] {
  cursor: pointer;
  background: transparent;
  border: 0;
}
.main-content .center_div_text {
  display: table;
  margin: 0 auto;
  text-align: middle;
}
.main-content .tablebordered-wrapper {
  width: 100%;
  overflow-x: auto;
}
.main-content .tablebordered {
  overflow-x: auto;
  border-collapse: collapse;
}
.main-content .tablebordered.full-width {
  width: 100%;
}
.main-content .tablebordered tr:nth-of-type(odd) td {
  background: transparent;
}
.main-content .tablebordered tr:nth-of-type(even) td {
  background: transparent;
}
.main-content .tablebordered tr th {
  font-family: bellfort;
  font-weight: normal;
  font-size: 18px;
  text-align: center;
  padding: 5px;
  background: transparent;
  color: #d3b998;
  border: 1px solid #e0e0e0;
  border-bottom: 1px solid #d3b998;
}
.main-content .tablebordered tr td {
  font-size: 12px;
  text-align: center;
  vertical-align: top;
  padding: 5px;
  border: 1px solid #e0e0e0;
}
.main-content .tablebordered tr td.date {
  width: 50px;
}
.main-content .tablebordered tr td.time {
  width: 50px;
}
.main-content .tablebordered tr td.name {
  width: 100px;
}
.main-content .tablebordered tr td.stylist {
  width: 100px;
}
.main-content .tablebordered tr td.services {
  width: 130px;
}
.main-content .tablebordered tr td.price {
  width: 50px;
}
.main-content .tablebordered tr td.points {
  width: 30px;
}
.main-content .tablebordered tr td.controls {
  width: 50px;
}
.main-content .error_div,
.main-content .ok_div,
.main-content .info_div {
  text-align: center;
  padding: 10px;
  color: #d85959;
}
.main-content .ok_div {
  color: #221e29;
}
.main-content .info_div {
  color: #3c5570;
  background-color: #d2dbe4;
}
.main-content .form_error,
.main-content .input_error {
  color: #d85959;
}
.main-content .info,
.main-content .form_ok {
  text-align: center;
  margin: 10px 0;
}
.main-content .form_error,
.main-content .error_div {
  display: block;
  margin: 10px auto;
  min-width: 180px;
  padding: 13px 22px 10px;
  line-height: 1.4em;
  text-decoration: none;
  text-align: center;
  color: white;
  text-transform: uppercase;
  background-color: #d85959;
}
.main-content .form_error a,
.main-content .error_div a {
  color: #fff;
  text-decoration: underline;
}
.main-content .form_ok,
.main-content .ok_div {
  display: block;
  margin: 10px auto;
  min-width: 180px;
  padding: 13px 22px 10px;
  line-height: 1.4em;
  text-decoration: none;
  text-align: center;
  color: white;
  text-transform: uppercase;
  background-color: #a1b2cb;
}
.main-content .form_ok a,
.main-content .ok_div a {
  color: #fff;
  text-decoration: underline;
}
.list-group {
  margin: 30px 0;
}
.list-group .group-label {
  display: block;
  text-transform: uppercase;
}
.list-group .group-label .req {
  display: inline-block;
  color: #3c5570;
  padding-left: 5px;
}
.list-group.in-row > ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.list-group table.input-list {
  width: 100%;
}
.list-group table.input-list tr td:not(:first-of-type) .group {
  padding-left: 10px;
}
.list-group [type="checkbox"]:not(:disabled) + .custom-checkbox .checkbox,
.list-group [type="checkbox"]:not(:disabled) + .custom-checkbox .text {
  cursor: pointer;
}
.form .form-controls {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
}
@media (max-width: 450px) {
  .form .form-controls {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 30px;
  }
  .form .form-controls > * {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    width: 100%;
  }
}
/*
 * -----------------------------------------------------------------------------
 * Login
 * -----------------------------------------------------------------------------
 */
/*
 * -----------------------------------------------------------------------------
 * Order online
 * -----------------------------------------------------------------------------
 */
.diamond-small {
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
  background: #d3b998;
}
/* datepicker */
.ui-datepicker {
  position: relative;
  display: inline-block;
  margin: 10px 0;
}
.ui-datepicker .ui-datepicker-header {
  margin-bottom: 15px;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
  position: absolute;
  line-height: 34px;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover {
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon:before,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon:before,
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon:after,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon:after {
  font-family: "core-icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;*/
  /*margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /*margin-left: .2em;*/
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
  left: 0;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon:before {
  content: '\e803';
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon:before {
  font-size: 28px;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
  right: 0;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon:before {
  content: '\e805';
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon:before {
  font-size: 28px;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  text-align: center;
}
.ui-datepicker .ui-datepicker-calendar {
  margin: 0 auto;
}
.ui-datepicker .ui-datepicker-calendar th,
.ui-datepicker .ui-datepicker-calendar td {
  font-weight: normal;
  padding: 7px 18px;
  text-align: center;
  letter-spacing: 0.1em;
  vertical-align: top;
}
.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable .ui-state-default {
  color: #d2dbe4;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default {
  position: relative;
  color: #221e29;
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default:not(.ui-state-active).ui-state-hover {
  color: #d3b998;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.available:after {
  content: " ";
  display: block;
  margin-left: 2px;
  width: 5px;
  height: 5px;
  background: #d3b998;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active {
  color: white;
  z-index: 1;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active:before {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 26px;
  top: -2px;
  left: -7px;
  background: #d3b998;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: -1;
}
.ui-datepicker .ui-datepicker-calendar td .ui-state-default.ui-state-active:after {
  visibility: hidden;
}
/* select2 */
.select2.select2-container {
  font-family: "Poppins", "Open Sans";
  font-size: 1.6rem;
  font-weight: 400;
  color: #3c5570;
}
.select2.select2-container .select2-selection {
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
}
.select2-container .select2-dropdown {
  -webkit-border-radius: 0;
     -moz-border-radius: 0;
          border-radius: 0;
}
@media screen and (max-width: 450px) {
  .ui-datepicker .ui-datepicker-calendar th,
  .ui-datepicker .ui-datepicker-calendar td {
    padding: 7px 5px;
  }
  .buttons .button {
    float: none;
    margin: 5px;
  }
}
body.registration .agreement {
  padding-bottom: 30px;
}
body.registration.bw .birth-date .input-list label {
  display: none;
}
body.registration.bw .label-td {
  white-space: nowrap;
}
body.registration.hfp .birth-date .list-group {
  margin-bottom: 0;
}
body.registration.hfp .resend-info {
  margin-top: 30px;
}
body.index.hfp form {
  margin-bottom: 30px;
}
body.data.bw .birth-date .input-list label {
  display: none;
}
body.data.bw .label-td {
  white-space: nowrap;
}
body.data.hfp hr {
  display: none;
}
body.data.hfp .remove-account-wrapper {
  margin-top: 5rem;
}
@media screen and (max-width: 500px) {
  body.data.hfp .remove-account-wrapper {
    margin-bottom: 3rem;
  }
}
body.data.hfp .remove-account-wrapper .section-header {
  text-align: left;
  font-size: 4rem;
}
body.data.hfp .remove-account-wrapper button {
  margin-top: 1rem;
}
body.my-orders .tablebordered .date,
body.my-orders .tablebordered .time,
body.my-orders .tablebordered .price {
  white-space: nowrap;
}
body.order-online .progress_bar {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-calc(100% - 80px);
  width: -moz-calc(100% - 80px);
  width: calc(100% - 80px);
  height: 20px;
  font-size: 0;
  line-height: 20px;
  margin: 120px auto 40px;
}
body.order-online .progress_bar .diamond-wrapper {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
     -moz-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 16px;
  height: 16px;
}
body.order-online .progress_bar .diamond-wrapper .diamond {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
     -moz-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #d2dbe4;
  background: #e4e7ec;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 999;
}
body.order-online .progress_bar .diamond-wrapper .title {
  position: relative;
  top: -5.5em;
  width: 6em;
  color: #d2dbe4;
  font-size: 12px;
  line-height: 1.5em;
  text-align: center;
}
body.order-online .progress_bar .diamond-wrapper.active .diamond,
body.order-online .progress_bar .diamond-wrapper.done .diamond {
  border: 1px solid #d3b998;
  background: #d3b998;
}
body.order-online .progress_bar .diamond-wrapper.active .title,
body.order-online .progress_bar .diamond-wrapper.done .title {
  color: #d3b998;
}
body.order-online .progress_bar .line {
  display: block;
  width: 33.33%;
  height: 1px;
  background: #d2dbe4;
}
body.order-online .progress_bar .line.active {
  border: 1px solid #d3b998;
  background: #d3b998;
}
@media screen and (max-width: 500px) {
  body.order-online .progress_bar {
    width: 100%;
    margin: 0 auto 40px;
  }
  body.order-online .progress_bar .diamond-wrapper .title {
    display: none;
  }
}
body.order-online .order-form .section.services .input_error {
  font-size: 2rem;
}
body.order-online .order-form .section.services .service-items {
  margin-bottom: 60px;
}
body.order-online .order-form .section.services .service-items .service-item.hidden {
  display: none;
}
body.order-online .order-form .section.services .service-items .service-item[data-requires_items='true']:not(.requirement-checked) {
  position: relative;
  opacity: 0.5;
}
body.order-online .order-form .section.services .service-items .service-item[data-requires_items='true']:not(.requirement-checked) input,
body.order-online .order-form .section.services .service-items .service-item[data-requires_items='true']:not(.requirement-checked) label {
  pointer-events: none;
}
body.order-online .order-form .section.services .service-items .service-item[data-requires_items='true']:not(.requirement-checked):after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.1);
}
body.order-online .order-form .select {
  min-width: 200px;
}
body.order-online .order-form #datetime_date_container {
  text-align: center;
}
body.order-online .order-form #date_from_picker {
  display: inline-block;
}
body.order-online .order-form #datetime_time_container .date-header {
  font-size: 6rem;
  color: #3c5570;
  font-family: Cormorant, serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1em;
  margin-top: 0.7rem;
  margin-bottom: 2.2rem;
  margin-bottom: 0;
  margin-top: 30px;
}
@media (max-width: 667px) {
  body.order-online .order-form #datetime_time_container .date-header {
    font-size: 40px;
    margin-top: 0.5rem;
  }
}
body.order-online .order-form #datetime_time_container .times-wrapper {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, 80px);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio {
  margin: 10px;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio .label {
  font-size: 18px;
  line-height: 18px;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio .label:hover {
  cursor: pointer;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio .label .custom-checkbox {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio .label .custom-checkbox .checkbox {
  margin-right: 0;
}
body.order-online .order-form #datetime_time_container .times-wrapper .time_radio.occupied {
  display: none;
}
@media all and (-ms-high-contrast: none) {
  body.order-online .order-form #datetime_time_container .times-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 450px) {
  body.order-online .order-form #datetime_time_container .times-wrapper {
    grid-template-columns: repeat(auto-fill, 50px);
  }
}
body.order-online .order-form .note {
  margin: 15px 0;
}
body.order-online .order-form .note .diamond-small {
  display: inline-block;
  margin-left: 2px;
  margin-top: -2px;
}
body.order-online .salon-info-panel {
  margin-bottom: 60px;
}
body.order-online.bw .order-form {
  text-align: left;
}
body.order-online.bw .order-form .section.person-sex .group-label {
  display: none;
}
body.order-online.bw .order-form #datetime_time_container .date-header {
  font-size: 18px;
}
body.order-online.bw #form_login {
  text-align: center;
}
body.order-online.hfp .progress_bar .diamond-wrapper .diamond {
  border: 1px solid #e4e7ec;
  background: #e4e7ec;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
}
body.order-online.hfp .progress_bar .diamond-wrapper .title {
  top: -5.5em;
  width: 6em;
  font-size: 1.5rem;
  line-height: 1.5em;
}
body.order-online.hfp .progress_bar .diamond-wrapper.active .diamond,
body.order-online.hfp .progress_bar .diamond-wrapper.done .diamond {
  border: 1px solid #dfabc1;
}
body.order-online.hfp .progress_bar .diamond-wrapper.active .title,
body.order-online.hfp .progress_bar .diamond-wrapper.done .title {
  color: #dfabc1;
}
body.order-online.hfp .progress_bar .diamond-wrapper.active .diamond {
  background: #dfabc1;
}
body.order-online.hfp .progress_bar .diamond-wrapper.done .diamond {
  background: transparent;
}
body.order-online.hfp .progress_bar .line.active {
  border: none;
  background: #dfabc1;
}
body.order-online.hfp .order-form .section-header {
  font-family: "Poppins", "Open Sans";
  font-size: 1.6rem;
  font-weight: 400;
  color: #3c5570;
  font-size: 2.2rem;
  color: #dfabc1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
}
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar th,
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar td {
  font-size: 2rem;
}
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar td .available:after {
  background: #dfabc1;
}
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar td.ui-datepicker-current-day a {
  color: #dfabc1;
  font-weight: 700;
}
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar td.ui-datepicker-current-day a:before,
body.order-online.hfp .order-form #datetime_date_container .ui-datepicker-calendar td.ui-datepicker-current-day a:after {
  display: none;
}
body.order-online.hfp .order-form #datetime_time_container .date-header {
  font-family: "Poppins", "Open Sans";
  font-size: 1.6rem;
  font-weight: 400;
  color: #3c5570;
  font-size: 2.2rem;
  text-transform: uppercase;
  text-align: left;
  color: #dfabc1;
  margin-bottom: 1rem;
}
body.order-online.hfp .order-form #datetime_time_container .times-wrapper .time_radio .label .custom-checkbox .checkbox {
  background-color: #e4e7ec;
}
body.order-online.hfp .order-form #datetime_time_container .times-wrapper .time_radio .label .custom-checkbox .text {
  font-size: 2rem;
  margin-top: 1rem;
}
body.order-online.hfp .order-form #datetime_time_container .times-wrapper .time_radio .label input:checked ~ .custom-checkbox .checkbox {
  background-color: #dfabc1;
}
body.order-online.hfp .order-form #datetime_time_container .times-wrapper .time_radio .label input:checked ~ .custom-checkbox .text {
  color: #dfabc1;
}
body.order-online.hfp .order-form .note .diamond-small {
  background-color: #dfabc1;
}
body.order-online.hfp .info {
  text-align: left;
}
body.order-online.hfp a {
  color: #d3b998;
}
body.order-online.hfp #form_login .not-registered {
  text-align: left;
  padding-bottom: 2em;
}
body.order-online.hfp #form_login #nologin_verification {
  padding-top: 2em;
}
body.order-online.hfp #form_deposit_voucher .input_error,
body.order-online.hfp #form_deposit_voucher .time-info {
  margin-top: 2em;
}
body.select-salon .salon-select-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body.select-salon .salon-select-wrapper a {
  width: 100%;
  margin: 10px;
}
body.select-salon.hfp .salon-select-wrapper a {
  text-decoration: none;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.select-salon.hfp .salon-select-wrapper a .text {
  text-align: left;
  white-space: normal;
}
body.select-salon.hfp .salon-select-wrapper a .text .name {
  font-weight: 700;
  font-size: 1.2em;
  line-height: 2em;
}
body.select-salon.hfp .salon-select-wrapper a:nth-of-type(2n) {
  background: -webkit-gradient(linear, left top, right top, from(#dfabc1), to(rgba(255, 255, 255, 0.75))), #dfabc1;
  background: -webkit-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: -moz-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: -o-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
  background: linear-gradient(90deg, #dfabc1 0%, rgba(255, 255, 255, 0.75) 100%), #dfabc1;
}
body.select-salon.hfp .salon-select-wrapper a:nth-of-type(2n):before {
  background: -webkit-gradient(linear, left top, right top, from(#dfabc1), to(rgba(255, 255, 255, 0.5))), #dfabc1;
  background: -webkit-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: -moz-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: -o-linear-gradient(left, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
  background: linear-gradient(90deg, #dfabc1 0%, rgba(255, 255, 255, 0.5) 100%), #dfabc1;
}
body.select-salon.hfp .salon-select-wrapper a:nth-of-type(2n):after {
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #dfabc1), color-stop(60%, #efd5e0), to(transparent));
  background: -webkit-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: -moz-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: -o-linear-gradient(left, #dfabc1 10%, #efd5e0 60%, transparent 100%);
  background: linear-gradient(90deg, #dfabc1 10%, #efd5e0 60%, transparent 100%);
}
body.select-salon.hfp .salon-select-wrapper a:nth-of-type(2n):hover:before {
  background: #dfabc1;
}
.button_centred {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: 20px;
}
.button_centred a.toOrder.button {
  color: white;
  text-decoration: none;
}
.error_div.custom {
  color: #d85959;
  border: 1px solid #d85959;
  background: none;
}
.ok_div.custom {
  color: #a1b2cb;
  border: 1px solid #a1b2cb;
  background: none;
}
.ok_div.custom a:hover {
  color: #3c5570;
}
.info-box {
  display: block;
  margin-top: 25px;
  margin-bottom: 35px;
  padding: 13px 22px 10px;
  color: inherit;
  text-transform: uppercase;
  line-height: 1.7em;
  font-size: 1em;
  text-align: center;
}
