/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.home .button-host {
  padding: 20px; }

.home .home-button {
  padding: 20px;
  background: #876d4f;
  text-align: center;
  height: 180px;
  line-height: 140px;
  background-size: cover;
  text-transform: uppercase;
  color: white;
  font-size: 1.8em;
  background-position: center; }
  .home .home-button span {
    display: inline-block;
    vertical-align: middle;
    line-height: 36px; }

.home .button-host.unavailable {
  opacity: 0.5; }

.home #disabled-home-button {
  padding: 0px; }

.home #disabled {
  background-color: rgba(127, 127, 127, 0.8);
  width: 100%;
  height: 100%; }

.home #span-padding {
  padding: 20px; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.hero-zone {
  width: 100%;
  background: url(/images/hero.jpg) no-repeat;
  background-size: 100% auto;
  min-height: 600px; }
  .hero-zone .hero-text {
    padding-top: 100px;
    color: white;
    font-size: 1.3em; }
    .hero-zone .hero-text .hero-title {
      font-size: 1.6em; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.guest-selection .selectable-guest {
  background: lightgrey;
  padding: 20px;
  font-size: 1.6em; }

.guest-selection .selectable-guest:hover {
  cursor: pointer; }

.guest-selection .selected {
  background: #c69c6c;
  color: white; }

.dining-menu .menu-item img {
  width: 100px;
  height: 100px;
  border-radius: 50%; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.day-select .selectable {
  display: inline-block;
  background: lightgrey;
  padding: 8px;
  color: black;
  margin: 0 5px;
  text-align: center;
  vertical-align: top;
  min-width: 50px; }
  .day-select .selectable .ordinal {
    font-size: 0.5em;
    vertical-align: text-top; }
  .day-select .selectable .departure {
    display: inline-block;
    margin-left: 10px; }
  .day-select .selectable .arrival {
    display: inline-block;
    margin-right: 10px; }

.day-select .selectable:hover {
  cursor: pointer; }

.day-select .selected {
  background: #c69c6c;
  color: white; }

.day-select .arrow-down {
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 25px solid #c69c6c;
  font-size: 0;
  line-height: 0; }

.day-select .change-day {
  display: inline-block; }
  .day-select .change-day img {
    display: block;
    margin-bottom: 15px; }
  .day-select .change-day.next {
    float: right; }
  .day-select .change-day.previous {
    float: left; }

.day-select .change-day:hover {
  cursor: pointer; }

.day-select .day-mobile-view {
  display: none; }

.day-select .day-mobile-view select {
  width: 100%;
  padding: 15px;
  border: 1px solid lightgrey; }

@media (max-width: 1040px) {
  .day-select .day-mobile-view {
    display: block; }
  .day-select .day-regular-view {
    display: none; } }

.dining-list .menu {
  border: 1px solid lightgrey;
  margin-bottom: 10px;
  padding: 10px; }
  .dining-list .menu .title {
    font-size: 1.6em;
    margin: 10px 0; }
  .dining-list .menu .price {
    float: right;
    font-size: 1.6em; }

.input-bar .addon-error {
  background-image: linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%) !important;
  border-color: #dca7a7 !important;
  color: #a94442 !important; }

.input-bar .addon-consistent {
  width: 180px;
  text-align: right; }

.form-group-inline {
  display: inline; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.signature {
  width: 600px; }
  .signature .signature-pad {
    border: 2px solid #c69c6d;
    box-sizing: border-box; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
.booking-create .activity {
  border: 1px solid lightgrey;
  margin-bottom: 20px; }

.booking-create .occurrence {
  padding: 10px;
  border: 1px solid lightgrey;
  margin-bottom: 20px; }

.booking-create .occurrence:hover {
  cursor: pointer; }

.booking-create .occurrence.selected {
  border-color: green; }

.booking-create .occurrence-time, .booking-create .occurrence-detail {
  height: 40px; }

.booking-create .occurrence-detail {
  text-align: right;
  display: inline-block;
  padding-top: 8px; }

.booking-create .space-available {
  vertical-align: middle; }

.booking-create .price-row {
  padding: 15px; }


.search-bar .stylish-input-group .input-group-addon {
  background: white !important; }

.search-bar .stylish-input-group .form-control {
  border-right: 0;
  box-shadow: 0 0 0;
  border-color: #ccc; }

.search-bar .stylish-input-group button {
  border: 0;
  background: transparent; }

.activity-list .activity {
  border: 1px solid lightgrey;
  margin-bottom: 10px;
  padding: 10px; }
  .activity-list .activity .title {
    font-size: 1.6em;
    margin: 10px 0; }
  .activity-list .activity .book-zone {
    float: right; }
  .activity-list .activity .price {
    margin-top: 10px;
    font-size: 1.4em;
    text-align: right; }

.schedule-guest .schedule-date {
  font-size: 1.6em;
  margin-bottom: 20px; }

.schedule-guest .group-filter:hover {
  cursor: pointer; }

.schedule-guest .group-filter-parent {
  text-align: right;
  position: relative; }

.schedule-guest .group-filter {
  padding: 10px;
  display: inline-block;
  border: 1px solid lightgrey; }

.schedule-guest .group-filter-panel {
  position: absolute;
  padding: 20px;
  border: 1px solid lightgrey;
  background: white;
  width: 300px;
  right: 0;
  top: 40px;
  text-align: left;
  display: inline-block; }

.schedule-guest .occurrence {
  padding: 10px;
  border: 1px solid lightgrey;
  margin-bottom: 20px; }

.schedule-guest .occurrence-detail {
  text-align: right; }

.reservation-list .reservation {
  border: 1px solid lightgrey;
  margin: 20px 0px;
  padding: 20px; }
  .reservation-list .reservation .title {
    font-size: 1.6em;
    margin: 10px 0; }
  .reservation-list .reservation .button-zone {
    float: right; }

.schedule-weekly .activity {
  border: 1px solid lightgrey;
  margin-bottom: 10px;
  padding: 10px; }
  .schedule-weekly .activity .title {
    font-size: 1.6em;
    margin: 10px 0; }
  .schedule-weekly .activity .book-zone {
    float: right; }
  .schedule-weekly .activity .activity-image:hover {
    cursor: pointer; }

.spa .therapist {
  border: 1px solid lightgrey;
  padding: 10px;
  margin: 20px 0; }
  .spa .therapist .profile-image {
    width: 160px;
    height: 160px;
    margin: 10px;
    border-radius: 80px;
    background-size: cover; }

.spa .therapist:hover {
  cursor: pointer; }

.weight-input select {
  width: 20%;
  display: inline; }

.weight-input input {
  width: 80%;
  display: inline; }

.weight-input input.half-size {
  width: 40%;
  display: inline; }

.weight-input .inline-form-control {
  display: inline; }

.weight-input .inline-form-control > div {
  display: inline; }

.height-input select {
  width: 20%;
  display: inline; }

.height-input input {
  width: 40%;
  display: inline; }

.height-input .inline-form-control {
  display: inline; }

.height-input .inline-form-control > div {
  display: inline; }

.checkbox {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  text-align: center;
  background-color: #DCDCDC;
  cursor: pointer; }

.guest {
  border: 1px solid lightgrey;
  margin-bottom: 10px;
  padding: 10px; }
  .guest .title {
    font-size: 1.6em;
    margin: 10px 0; }
  .guest .waiver-zone {
    float: right; }
  .guest .image:hover {
    cursor: pointer; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
footer {
  height: 80px;
  margin-top: -80px;
  background: #876d4f;
  width: 100%;
  box-sizing: border-box;
  color: white; }
  footer a {
    color: white;
    text-decoration: underline; }
  footer a:hover {
    text-decoration: none; }
  footer .row {
    padding-top: 20px; }

@media (max-width: 991px) {
  footer .row {
    padding-top: 0px; } }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
header {
  background: #876d4f;
  height: 90px;
  color: white; }
  header .iconbox {
    float: right;
    padding-left: 40px;
    padding-right: 20px; }
  header .weather {
    margin-left: 10px;
    margin-top: 15px;
    width: 50px;
    text-align: center; }
  header .group {
    float: right;
    padding: 33px 0px; }
  header .price {
    float: left;
    margin-top: 15px;
    width: 50px;
    text-align: center; }
  header .header-menus, header .header-right, header .logo-zone, header .weather {
    display: inline-block;
    vertical-align: top; }
  header .header-right {
    float: right; }
  header .logo-small {
    display: none; }
  header .header-menus, header .header-right {
    width: calc((100% - 150px) / 2); }
  header .logo-zone {
    width: 150px; }
  header .upperline {
    height: 4px;
    background: #c69c6d; }
  header .menu-button:hover {
    cursor: pointer; }
  header .menu-dropdown {
    position: absolute;
    z-index: 100;
    background: white;
    border: 1px solid #876d4f;
    border-top: none; }
  header .menu-dropdown > div {
    margin: 20px;
    min-width: 300px; }
    header .menu-dropdown > div i {
      color: lightgrey;
      margin-right: 20px; }
  header .menu-dropdown a {
    color: black !important; }
  header .menu-button {
    color: white !important;
    text-transform: uppercase;
    display: inline-block;
    padding: 29px 16px;
    font-size: 1.2em;
    border-bottom: 4px solid transparent; }
  header .menu-button.underlined {
    border-bottom: 4px solid #c69c6d; }
  header .menu-button.highlighted {
    background: #c69c6d;
    border-bottom: 4px solid #c69c6d; }
  header .fa-chevron-down {
    margin-left: 10px; }

@media (max-width: 720px) {
  header .logo-small {
    display: inline-block; }
  header .logo-zone {
    display: none; }
  header .header-menus {
    width: calc(100% - 300px); } }

@media (max-width: 650px) {
  header .header-menus {
    width: 100%; }
  header .menu-button {
    padding: 29px 7px; }
  header .weather {
    display: none; }
  header .price {
    display: none; } }

.date-input-field select {
  width: 33.3%;
  display: inline-block; }

.charges .schedule-date {
  font-size: 1.6em;
  margin-bottom: 20px; }

.charges .group-filter:hover {
  cursor: pointer; }

.charges .group-filter-parent {
  text-align: right;
  position: relative; }

.charges .group-filter {
  padding: 10px;
  display: inline-block;
  border: 1px solid lightgrey; }

.charges .group-filter-panel {
  position: absolute;
  padding: 20px;
  border: 1px solid lightgrey;
  background: white;
  width: 300px;
  right: 0;
  top: 40px;
  text-align: left;
  display: inline-block; }

.charges .occurrence {
  padding: 10px;
  border: 1px solid lightgrey;
  border-right: 0px;
  border-left: 0px;
  border-top: 0px;
  margin-bottom: 20px; }

.charges .occurrence-detail {
  text-align: right; }

/* 
	Globally useful CSS variables
*/
/*
	The brown highlight colors
*/
/*
	Global style (fonts, body/ html etc).
*/
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: normal;
  src: local("Lato"), local("Lato-Regular"), url([object Module]) format("truetype"); }

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: normal;
  src: local("Lato"), local("Lato-Italic"), url([object Module]) format("truetype"); }

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: bold;
  src: local("Lato"), local("Lato-Regular"), url([object Module]) format("truetype"); }

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: bold;
  src: local("Lato"), local("Lato-Italic"), url([object Module]) format("truetype"); }

@-webkit-keyframes fadezoom-animation {
  0% {
    -webkit-transform: scale(0.8);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@-moz-keyframes fadezoom-animation {
  0% {
    -moz-transform: scale(0.8);
    opacity: 0; }
  100% {
    -moz-transform: scale(1);
    opacity: 1; } }

@keyframes fadezoom-animation {
  0% {
    transform: scale(0.8);
    opacity: 0; }
  100% {
    transform: scale(1);
    opacity: 1; } }

input[type="checkbox"].form-control {
  width: 20px; }

.fadezoom {
  opacity: 0;
  -webkit-transform: scale(0.8);
  -webkit-animation: fadezoom-animation 1s cubic-bezier(0.19, 1, 0.22, 1) 0s 1 forwards;
  -moz-transform: scale(0.8);
  -moz-animation: fadezoom-animation 1s cubic-bezier(0.19, 1, 0.22, 1) 0s 1 forwards;
  transform: scale(0.8);
  animation: fadezoom-animation 1s cubic-bezier(0.19, 1, 0.22, 1) 0s 1 forwards; }

.fadezoom-late {
  animation-delay: 0.1s; }

.fadezoom-late-2x {
  animation-delay: 0.2s; }

.page-panel-wide {
  background: white;
  box-sizing: border-box;
  margin: 20px 0 10px 0;
  padding: 20px;
  vertical-align: top; }

.page-panel {
  background: white;
  box-sizing: border-box;
  margin: 10px 0px;
  padding: 20px;
  vertical-align: top; }

.panel-container {
  margin: 0px -10px; }

.light {
  font-weight: 300; }

.button:hover {
  cursor: pointer; }

body {
  background: #f3f3f3; }

.panel {
  margin: 20px 0px;
  background: white;
  padding: 20px; }

body, html, #content-root, #react-root {
  height: 100%;
  width: 100%;
  margin: 0;
  font-family: "Lato", Helvetica; }

.non-selectable {
  -webkit-user-select: none;
  /* Chrome all / Safari all */
  -moz-user-select: none;
  /* Firefox all */
  -ms-user-select: none;
  /* IE 10+ */
  user-select: none;
  /* Likely future */ }

.text-middle {
  vertical-align: middle; }

#react-root, #content-root, #content-page {
  min-height: 100%; }

#content-page {
  padding-bottom: 220px; }

@keyframes collapse {
  0% {
    width: 10%;
    font-size: 100%; }
  100% {
    width: 0%;
    font-size: 0%; } }

@keyframes expand {
  0% {
    width: 0%;
    font-size: 0%; }
  100% {
    width: 100%;
    font-size: 100%; } }

.data-list {
  font-size: 1.2em; }

/* === Colours === */
.underlined-title {
  margin: 10px 0;
  padding-bottom: 10px;
  text-transform: uppercase;
  border-bottom: 1px solid #c69c6d; }

/* === Spacing === */
.uppercase {
  text-transform: uppercase; }

.pad20 {
  padding: 20px; }

.space50 {
  margin-top: 50px; }

.space20 {
  margin-top: 20px; }

.space10 {
  margin-top: 10px; }

.margin-y-20 {
  margin: 20px 0px; }

.float-right {
  float: right; }

.float-left {
  float: left; }

.clear {
  clear: both; }

.grid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.gutter-8 {
  margin-right: -23px;
  margin-left: -23px; }
  .gutter-8 > .col,
  .gutter-8 > [class*="col-"] {
    border: 8px solid white; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.primary-button {
  padding: 10px 40px 10px 10px;
  border: none;
  border-radius: initial;
  font-size: 1.2em;
  display: inline-block;
  background: #3eb93a url(/images/arrow_right.png) no-repeat center right 10px;
  color: white; }

.primary-button:hover {
  color: white;
  background-color: #4bcc47; }

.secondary-button {
  padding: 10px 40px 10px 10px;
  border: none;
  border-radius: initial;
  font-size: 1.2em;
  display: inline-block;
  background: #1b32ff url(/images/arrow_right.png) no-repeat center right 10px;
  color: white; }

.secondary-button:hover {
  color: white;
  background-color: #495bff; }

.gray-button {
  padding: 10px 10px 10px 10px;
  border: none;
  border-radius: initial;
  font-size: 1.2em;
  display: inline-block;
  background: #bdbdbd;
  color: white; }

