.contact-us {
  min-height: 650px;
}

.contact-us p {
  font-size: 1.2em;
}

.m .contact-us p {
  font-size: 1em;
}

.contact-us a {
  font-weight: normal;
  color: #2b2b2b;
  text-decoration: underline;
}

.contact-us .contact-link {
  color: #777;
}

.type-customer .contact-link {
  margin-left: 0.5em;
}

.contact-form table {
  width: 99%;
}

.company-info {
  border-top: 1px solid #dedede;
  margin-top: 6em;
  padding-top: 1em;
}

.contact-buttons {
  margin-bottom: 2em;
}

.contact-buttons .button.large {
  font-weight: bold;
  font-size: 1.4em;
  margin: 0 0 1.5em 0;
  color: white;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.www .contact-buttons .button.large {
  font-size: 2em;
  margin: 0 1em 0 0;
}

.button.orange {
  background-color: #e28400;
  background-image: -moz-linear-gradient(top, #fbb450, #e28400);
  background-image: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    from(#fbb450),
    to(#e28400)
  );
  background-image: -webkit-linear-gradient(top, #fbb450, #e28400);
  background-image: -o-linear-gradient(top, #fbb450, #e28400);
  background-image: linear-gradient(to bottom, #fbb450, #e28400);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#ffE28400', GradientType=0);
  border-color: #f89406 #f89406 #ad6704;
}

.www .button.orange:hover,
.button.orange:active,
.button.orange.active,
.button.orange.disabled,
.button.orange[disabled] {
  color: #efefef;
  background-color: #e28400;
}

.button.info {
  background-color: #49afcd;
  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    from(#5bc0de),
    to(#2f96b4)
  );
  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
  background-repeat: repeat-x;
  border-color: #2f96b4 #2f96b4 #1f6377;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}
.www .button.info:hover,
.button.info:active,
.button.info.active,
.button.info.disabled,
.button.info[disabled] {
  color: #ffffff;
  background-color: #2f96b4;
}

.sprcell {
  width: 25px;
}

form.contact-form label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.3em;
}

.m .contact-form label {
  margin: 0;
}
.m .contact-form .ui-input-text {
  margin: 0 0 1em 0;
}
.m .contact-block {
  margin-top: 2em;
}
.m #contactus .errorlist {
  margin: -0.9em 0 0.9em 0;
}

.contactDemo.stage2 form.contact-form label {
  display: inline-block;
}

input.tt-query {
  width: 75%;
}

.contact-form tr td:last-of-type {
  width: 50%;
}

form.contact-form input,
form.contact-form select,
form.contact-form textarea {
  width: 100%;
  padding: 0.3em 0.8em;
  font-size: 1.25em;
}

form.contact-form select {
  font-size: 1.25em;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0.3em 1.5em 0.3em 0.8em;
  background: white
    url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+)
    no-repeat 100% 50%;
}

body[data-contact-type="customer"] .booking-ref-cell {
  padding-right: 0;
}

.www[data-contact-type="customer"] .booking-ref-input {
  width: calc(100% - 20px);
}

form.contact-form input.checkbox {
  width: auto;
}

form.contact-form input:focus,
form.contact-form textarea:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}

.error input,
.error select,
.error textarea,
.error .ui-input-text {
  border-color: #af1f1c !important;
  background-color: #ffeded;
}

.contact-block .errorlist {
  margin: 0 0 5px;
}

.faqs a {
  color: #2b2b2b;
}

.customer-type {
  font-style: italic;
  font-weight: bold;
}

.losenge {
  background: #dcf1ff;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
  padding: 1em 1em 0.5em;
  margin: 0 0 1em 0;
}

.title {
  font-size: 2em;
  line-height: 1.15em;
  color: #2b2b2b;
}

.m .contact-us .title {
  font-size: 1.5em;
  margin: 0;
}

.losenge.warning {
  background: #f9c1c1;
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
  padding: 1em;
}

.contact-block {
  padding: 1.5em 2em 2em;
  margin: 4em 0 0.3em 0;
}

.type-customer,
.type-manager,
.type-other {
  display: none;
}
/* hide /show certain parts based on customer type */
.contact-us.customer .type-customer,
.contact-us.manager .type-manager,
.contact-us.other .type-other {
  display: block !important;
}

/* hide intercom for all except managers section (both logged in and out users) */
#intercom-container {
  display: none !important;
}
body[data-contact-type="manager"] #intercom-container,
body:not([data-contact-type="manager"]).is-manager #intercom-container {
  display: inline-block !important;
}

.chat-with-us {
  box-shadow: 0 3px 11px rgba(0, 0, 0, 0.5);
  text-shadow: none;
  border: none;
  color: #222;
  font-size: 1.4em;
  line-height: 1.1;
  min-height: 4em;
  min-width: 270px;
  background-size: contain;
  text-align: left;
  font-weight: bold;
  padding: 1em;
  margin: 1em 0 0;
  border-radius: 12px;
  position: relative;
}

.chat-with-us:focus {
  outline: none;
}

.chat-with-us:active {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  transform: translateY(0.2em);
}

.chat-with-us-icon {
  display: inline-block;
  width: 50px;
  min-height: 37px;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  border-right: 1px solid #96cc9c;
  padding: 1em;
}

.chat-with-us-btn {
  background-color: #fd9933;
  color: #222;
  text-shadow: none;
  padding: 0.5em 1em;
  border-radius: 1em;
  white-space: nowrap;
  margin-left: 5em;
  position: relative;
  display: inline-block;
}

.contact_bookings .ui-select {
  max-width: 42vw;
}

@media screen and (max-width: 550px) {
  .contact-block {
    padding: 1em;
  }

  .contact-form-table td {
    width: 100%;
    display: block;
  }

  .contact-form tr td:last-of-type {
    width: 100%;
  }

  .contact_bookings .ui-select {
    width: calc(100vw - 4em);
    max-width: 100%;
  }

  .contact-form-table .sprcell {
    height: 0;
  }

  .booking-ref-cell {
    padding-bottom: 1em;
  }

  .chat-with-us {
    min-width: auto;
    text-overflow: unset;
    overflow: visible;
    white-space: normal;
    width: 100%;
    font-size: 1.2em;
  }

  .chat-with-us-btn {
    white-space: normal;
  }
}

.autocomplete-item a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 20px;
}
.autocomplete-item:hover a,
.autocomplete-item a:hover,
.autocomplete-item a:active {
  color: #fff !important;
  text-decoration: none;
  background-color: #0081c2;
  background-image: -moz-linear-gradient(top, #08c, #0077b3);
  background-image: -webkit-gradient(
    linear,
    0 0,
    0 100%,
    from(#08c),
    to(#0077b3)
  );
  background-image: -webkit-linear-gradient(top, #08c, #0077b3);
  background-image: -o-linear-gradient(top, #08c, #0077b3);
  background-image: linear-gradient(to bottom, #08c, #0077b3);
  background-repeat: repeat-x;
  outline: 0;
}

.yourlabs-autocomplete [data-value] {
  white-space: normal !important;
}
