* {
  margin: 0;
  padding: 0; }

body {
  font-family: 'Open Sans', sans-serif;
  background-color: #d5cfbe; }

h2 {
  padding-bottom: 10px; }

ul {
  list-style-type: none; }

.bold {
  font-weight: bold; }

.header {
  margin: -20px !important;
  padding: 20px;
  background-color: #fffdb3;
  margin-bottom: 20px !important;
  color: #670000;
  border-bottom: 1px solid #670000; }

.header .text {
  margin-top: 10px; }

.header img {
  height: auto;
  max-height: 70px; }

.header.admin img {
  max-width: 100%;
  max-height: 100px; }

#master_container {
  max-width: 800px;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
  background-color: #ffffff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }

#container {
  padding: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow-x: scroll; }

.header.admin {
  list-style-type: none;
  width: auto;
  margin: 0 auto;
  margin-bottom: 10px;
  height: auto; }

.header.admin li {
  float: left;
  display: block;
  height: 30px;
  margin: 5px; }

.header.admin li:first-child {
  height: auto;
  margin-right: 10px; }

.header.admin li a {
  padding: 5px 10px;
  border: 1px solid #670000;
  text-decoration: none;
  border-radius: 5px;
  background-color: #670000;
  color: #ffffff; }

.header.admin li a:hover {
  background-color: #ffffff;
  color: #670000; }

.table {
  width: 100%;
  text-align: center;
  background-color: #e8e8e8;
  padding: 5px;
  border-radius: 5px; }

.table tr {
  line-height: 40px; }

.table tr.highlight {
  background-color: #ddd; }

.table tr.disabled, .table tr.disabled:hover {
  background-color: #6f6f6f;
  color: #ffffff; }

.table tr:hover {
  background-color: #670000 !important;
  color: #ffffff; }

.table tr:hover > td {
  background-color: #670000; }

.table tr td, .table tr th {
  border-radius: 5px;
  padding: 0 10px; }

.table tr th {
  background-color: #670000;
  color: #ffffff;
  border-radius: 5px; }

.clear {
  clear: both; }

form.form .form_row {
  display: block;
  height: auto;
  margin-top: 20px; }

form.form .form_row .label {
  /*margin-bottom: 10px;*/ }

form.form .form_row .input input,
form.form .form_row .input button.primary,
form.form .form_row .input select,
form.form .form_row .input textarea {
  font-size: medium;
  border-radius: 5px;
  border: 1px solid gray;
  padding: 10px !important;
  width: 100%;
  box-sizing: border-box; }

form.form .form_row.checkbox {
  display: flex; }

form.form .form_row.checkbox .label {
  float: right; }

form.form .form_row.checkbox .input {
  float: left;
  margin-left: 10px; }

form.form .form_row.checkbox .input input {
  width: inherit;
  margin-right: 10px; }

button.primary, input[type=submit].primary {
  background-color: #670000;
  color: #ffffff; }

input[type=submit].primary:active {
  background: #670000; }

form.form .form_row .input select {
  height: 40px;
  /*width: 320px;*/ }

form.form .form_row .input textarea {
  height: 100px; }

button.action {
  border: none;
  color: #FFF;
  border-radius: 60px;
  padding: 8px 11px;
  padding-top: 6px;
  font-size: 15px;
  margin-top: 2px;
  outline: none;
  width: auto; }

button.action.plus_button {
  background-color: #228B22; }

button.action.remove_button {
  background-color: #D50000;
  /*width: 30px;*/
  font-size: small;
  height: 30px; }

button.action.plus_button:hover {
  background-color: limegreen; }

button.action.remove_button:hover {
  background-color: #ff0000; }

button.action:active {
  -webkit-box-shadow: inset 0px 1px 3px 2px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: inset 0px 1px 3px 2px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0px 1px 3px 2px rgba(0, 0, 0, 0.4); }

#modules_container {
  width: 100%; }

.list.modules div.module {
  margin-top: 30px;
  border: 1px dotted #808080;
  padding: 10px;
  padding-top: 20px; }

.list.modules div.module div.module {
  margin-top: 0; }

#booking {
  width: 450px; }

.ui-widget {
  padding: inherit; }

.ui-widget-content {
  font-size: 16px; }

.ui-widget-content .ui-state-focus {
  font-weight: inherit !important; }

.ui-widget-header {
  background: none !important;
  background-color: #670000 !important;
  border: none !important; }

#booking-trip-date .ui-datepicker {
  width: 98.8% !important; }

#booking-trip-date .ui-datepicker-calendar tbody tr td a {
  text-align: center !important; }

.ticket_row, .gift_row {
  width: auto;
  margin-bottom: 10px;
  display: flex;
  display: -webkit-flex; }

.ticket_row select {
  float: left; }

.gift_row input, .gift_row select {
  float: left;
  margin-right: 10px;
  width: 100px !important; }

.plus_button {
  padding: 10px;
  border: 1px solid gray;
  border-radius: 5px;
  font-size: medium; }

.success {
  padding: 10px;
  color: white;
  background-color: green;
  border-radius: 5px; }

.errors, .error {
  padding: 10px;
  color: white;
  background-color: #D04437;
  border-radius: 5px;
  list-style-type: none; }

.errors li {
  margin: 5px; }

.errors li::before {
  content: "- "; }

.left {
  float: left;
  width: 40%; }

.column.left {
  width: 48%; }

.right {
  float: right;
  width: 40%; }

.column.right {
  width: 48%; }

.table {
  width: 100%; }

.search_form {
  padding-bottom: 10px;
  padding-left: 10px;
  padding-top: 10px;
  margin-bottom: 20px;
  border-radius: 5px;
  border: 1px solid #670000; }

td.green {
  background-color: #14892C;
  color: white;
  border-radius: 5px; }

td.orange {
  background-color: orange;
  color: white;
  border-radius: 5px; }

td.red {
  background-color: #D04437;
  color: white;
  border-radius: 5px; }

td.danger {
  background-color: #D04437;
  color: white;
  font-style: underline; }

td.phone {
  background-color: #6F6F6F;
  color: #FFF200;
  border-radius: 5px; }

td.full {
  background-color: #6f6f6f;
  color: #ffffff;
  border-radius: 5px; }

td select,
td button {
  height: 103%;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 14px; }

form#login img {
  float: left;
  margin-right: 10px;
  width: 10%; }

form#login h1 {
  padding-top: 10px; }

form#login p {
  margin-top: 20px; }

.column#left {
  width: 60%;
  float: left; }

.column#right {
  width: 40%;
  float: right; }

div#booking_total {
  background-color: #FFC500;
  padding: 40px;
  float: right !important;
  margin-right: 20px;
  color: #ffffff;
  border-radius: 100px;
  margin-top: -10px; }

#booking_total h1#booking_total {
  width: auto;
  max-width: 200px;
  overflow: hidden;
  margin-right: 0px;
  text-align: center;
  margin-top: 10px; }

#booking_total h3 {
  color: #eeeeee; }

hr {
  margin-bottom: 20px; }

span.step_badge {
  background-color: #FFFCB7;
  padding: 7px 11px;
  border-radius: 56px;
  margin-right: 10px;
  padding-top: 8px;
  color: #5F1A1A;
  border: 1px solid;
  word-wrap: break-word;
  display: inline-block;
  margin-bottom: 10px; }

span.step_badge.module {
  border-radius: 0; }

input[type=radio] {
  padding: 5px;
  display: inline-block; }

table.report {
  table-layout: fixed;
  width: auto; }

table.report tr th, table.report tr td {
  padding: 10px; }

table.report tr td {
  width: 150px; }

table.report tr td.date {
  width: auto; }

table.report tr td.empty {
  background-color: grey;
  color: grey; }

table.report tr td.date, table.report tr th.date {
  overflow: hidden !important; }

.border-bottom {
  padding-bottom: 10px;
  border-bottom: 2px solid #670000;
  margin-bottom: 10px; }

table.status-audit {
  border: 1px solid #6a676b; }

table.status-audit td {
  padding: 10px; }

table.status-audit tr td:first-of-type {
  color: #ffffff; }

.form_spacer {
  margin-top: 40px; }

.booking-confirmation h1, .booking-confirmation h2, .booking-confirmation h3, .booking-confirmation ul {
  margin-bottom: 20px; }

.booking-confirmation h1 {
  color: green; }

.booking-confirmation h2 {
  padding-bottom: 0px; }

.booking-confirmation img {
  margin-top: -50px; }

span.badge {
  -webkit-border-radius: 30px;
  /*-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7);*/
  background-color: #DC0D17;
  background-image: -webkit-gradient(linear, center top, center bottom, from(#FA3C45), to(#DC0D17));
  background-image: -webkit-linear-gradient(#FA3C45, #DC0D17);
  color: #FFF;
  padding: 1px 7px;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
  /*-webkit-background-clip: padding-box;*/
  display: inline-block;
  font-family: 'helvetica neue', helvetica, arial, sans-serif;
  font-size: 10px;
  -webkit-font-smoothing: subpixel-antialiased;
  line-height: normal;
  font-size: 12px; }

/*#select_trips_table input[type=radio]*/
/*{*/
/*border: 2px red;*/
/*}*/
.loading-overlay {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: #000;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.loading-overlay .center {
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%; }

.loading-overlay .center .fa-spin {
  font-size: 100px;
  margin: -100px 0 0 -50px; }

.loading-overlay .center p {
  margin: 20px 0 0 -160px; }

a.tel {
  color: inherit;
  text-decoration: none; }

a.print {
  color: inherit;
  text-decoration: none;
  padding: 5px; }

a.print:hover {
  cursor: hand;
  color: gold; }

html, body {
  height: 100%; }

/* Back-office styling */
#master_container.back-office .header.admin li {
  float: none; }

#master_container.admin {
  width: 1200px;
  max-width: none; }

#master_container.admin .header.admin {
  float: left;
  width: 21%;
  margin: 0 !important;
  padding: 0;
  height: 100%; }

#master_container.admin .header.admin ul {
  border-right: 1px solid #670000;
  padding: 10px; }

#master_container.admin #container_wrapper {
  float: right;
  width: 79%;
  margin: 0;
  padding: 0; }

#master_container.admin .header.title {
  padding: -10px; }

.footer {
  padding: 10px;
  background-color: #fffdb3;
  border-top: 1px solid #670000;
  font-size: small; }

.footer .right {
  width: auto; }

.footer .right .fa {
  font-size: large; }

.comiseo-daterangepicker {
  margin-top: 10px !important; }

form.form .form_row .input_row.ticket_row .label {
  background-color: #f7f7f9;
  border: 1px solid #808080;
  margin-left: 0;
  width: 50%;
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px;
  padding: 10px; }

form.form .form_row .input_row.ticket_row input.ticket_count {
  margin-left: 0;
  width: 50%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0; }

div.tablet, span.tablet {
  border-radius: 5px;
  background-color: #808080;
  color: #ffffff;
  padding: 5px;
  width: auto; }

.tablet.danger {
  font-size: small;
  background-color: #D04437; }

* {
  margin: 0; }

.ui-datepicker table {
  border-collapse: inherit; }

.ui-datepicker .ui-datepicker-header {
  margin: 5px; }

.comiseo-daterangepicker-triggerbutton.ui-button {
  padding: 10px;
  text-align: center; }

@media only screen and (max-width: 500px) {
  body {
    background-color: #ffffff; }

  #master_container {
    margin: 0;
    box-shadow: none; }

  div.header.title {
    padding: 10px; }

  div.header img {
    display: none; }

  div.column#left, div.column#right {
    width: 100%;
    float: none; }

  .ticket_row {
    width: 100%; }

  .ticket_row span {
    float: left;
    width: 50%; }

  .ticket_row .ticket_count {
    float: right;
    width: 50%; }

  span.step_badge {
    width: 100%; }

  form.form .form_row .label {
    margin-right: 20px; }

  div#booking_total {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    margin-top: 20px;
    max-width: none; }

  .header .text {
    margin: 0 auto; }

  .remove_button {
    content: 'x' !important; }

  #booking_total h1#booking_total {
    max-width: none; }

  #booking_total h5 {
    max-width: none;
    text-align: center; }

  form.form .form_row .input_row.ticket_row .label {
    margin-right: 0; } }

/*# sourceMappingURL=main.css.map */
