.login-screen-bg {
  background: #90c7ff;
  background: -moz-linear-gradient(top, #90c7ff 0%, #dadada 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #90c7ff),
    color-stop(100%, #dadada)
  );
  background: -webkit-linear-gradient(top, #90c7ff 0%, #dadada 100%);
  background: -o-linear-gradient(top, #90c7ff 0%, #dadada 100%);
  background: -ms-linear-gradient(top, #90c7ff 0%, #dadada 100%);
  background: linear-gradient(to bottom, #90c7ff 0%, #dadada 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#90c7ff', endColorstr='#dadada',GradientType=0 );

  height: 100%;
  width: 100%;
  z-index: -1;
  top: 0;
  position: fixed;
}
.login-screen-bg img.grass {
  position: fixed;
  bottom: 0;
  width: 100%;
}
.login-screen-bg object {
  position: fixed;
  top: 0;
  width: 100%;
}
.form-signin {
  max-width: 435px;
  padding: 15px;
  margin: 40px auto 25px auto;

  border: 10px solid #d8d6d6;
  border-radius: 25px;
  box-shadow: 0 14px 37px -7px #000;
  background: #e0e0e0;
  background: -moz-radial-gradient(
    center,
    ellipse cover,
    #e0e0e0 0%,
    #bdbdbd 100%
  );
  background: -webkit-gradient(
    radial,
    center center,
    0,
    center center,
    100%,
    color-stop(0%, #e0e0e0),
    color-stop(100%, #bdbdbd)
  );
  background: -webkit-radial-gradient(
    center,
    ellipse cover,
    #e0e0e0 0%,
    #bdbdbd 100%
  );
  background: -o-radial-gradient(
    center,
    ellipse cover,
    #e0e0e0 0%,
    #bdbdbd 100%
  );
  background: -ms-radial-gradient(
    center,
    ellipse cover,
    #e0e0e0 0%,
    #bdbdbd 100%
  );
  background: radial-gradient(ellipse at center, #e0e0e0 0%, #bdbdbd 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', endColorstr='#bdbdbd',GradientType=1 );
}

.form-signin img.logo {
  max-width: 170px;
  margin: -63px auto -40px auto;
  display: block;
}
.form-signin .form-signin-heading {
  margin-bottom: 15px;
  color: #fff;
  text-shadow: 0 3px 6px #555;
}
.form-signin .checkbox {
  font-weight: normal;
}
.form-signin .input-group {
  margin: 2px 30px;
}
.form-signin .input-group.margin-bottom {
  margin-bottom: 10px;
}
.form-signin .form-control:focus {
  z-index: 2;
}
.form-signin input[type='text'] {
  /*     chromeIPass adds an extra element so we need to re-apply border radii */
  /*     Adding this is probably just me being obsessive */
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}

.form-signin button {
  padding: 10px 0;
  margin: 0;
  box-shadow: 0 8px 28px -6px #000;
}
#authy_token_form,
#otp_grid_form,
#otp_grid_add_dialog {
  display: none;
}
#otp_grid_form .control-label,
#otp_grid_add_form .control-label {
  text-align: center;
}
#otp_grid_form .otp_grid_message.alert {
  margin: 15px;
}
.otp_grid_input_container {
  text-align: center;
}
.otp_grid_input {
  display: inline-block;
}
#authy_dialog {
  display: none;
}
#ban_countdown {
  font-weight: bold;
}
#forgot_pass_container,
#user_create_container,
.lostTwoFactor,
#lost_two_factor_form {
  display: none;
}
#cur_time {
  font-weight: bold;
}

/* zxcvbn password meter */
.password-input-meter {
  position: relative;
  max-width: 300px;
  min-width: 100px;
  left: 0px;
  top: -32px;
}
.password-input-meter .password-input-inner {
  position: absolute;
  right: 0;
  padding: 4px 5px;
  margin-right: 5px;
}
.password-input-meter .password-input-dot {
  height: 3px;
  width: 12px;
  margin: 2px;
  background-color: #b9c8d5;
}
.password-input-meter .password-input-dot-selected-four {
  background-color: #2895f1;
  box-shadow: 0px 0px 8px 1px #28e9f1;
}
.password-input-meter .password-input-dot-selected-three {
  background-color: #00ff51;
}
.password-input-meter .password-input-dot-selected-two {
  background-color: #f1b128;
}
.password-input-meter .password-input-dot-selected-one {
  background-color: #f12828;
}

/* General stuff */

td {
  text-align: center;
}
table {
  empty-cells: show;
}
table#sortable thead td {
  cursor: s-resize;
}

ul.list-arrows li:before {
  content: '\0BB \020 \0000a0';
  margin-left: -19px;
}
ul.list-arrows {
  list-style: none;
}
.row {
  max-width: 100%;
  padding: 0 15px;
  margin: 0;
}
.alert.margin {
  margin: 30px;
}

fieldset.search_legend {
  border: 1px solid #aaa;
  border-radius: 10px;
  padding: 8px 25px 25px 15px;
  margin: 30px;
}
fieldset.search_legend legend {
  width: inherit;
  border-bottom: none;
  margin-bottom: 0;
  padding: 5px;
}
fieldset.search_legend span {
  padding: 10px;
  margin: 0 5px;
  border-radius: 10px;
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.5);
}
.here_past {
  background-color: #ffdff9;
  background: linear-gradient(to bottom, #fadfff 0%, #dab4e2 100%);
  color: #bf47bd;
}
.out_today {
  background-color: #ffdfe0;
  background: linear-gradient(to bottom, #ffe0df 0%, #e2b5b4 100%);
  color: #bf474c;
}
.in_today {
  background-color: #dfffe0;
  background: linear-gradient(to bottom, #e0ffdf 0%, #b5e2b4 100%);
  color: #1a8f1f;
}
.here_today {
  background-color: #cfe0ff;
  background: linear-gradient(to bottom, #dfecff 0%, #b4c6e2 100%);
  color: #477ebf;
}
.here_future {
  background-color: #ffffdf;
  background: linear-gradient(to bottom, #ffffdf 0%, #e2e2b3 100%);
  color: #858f1a;
}

.btn {
  margin: 1px;
}

.valign-outer {
  display: table;
  position: absolute;
  height: 100%;
  width: 100%;
}
.valign-inner {
  display: table-cell;
  vertical-align: middle;
}

.form-control {
  color: #3c84bd;
}
.form-horizontal .form-group {
  margin-right: 0;
}
.has-feedback.feedback-left .form-control {
  padding-left: 35px;
  padding-right: 0;
}
.has-feedback.feedback-left .form-control-feedback {
  right: inherit;
}

/* glyphicon glyphicon-new-window */
a[target='_blank']:after {
  margin-left: 2px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\e164';
  font-size: 10px;
  vertical-align: top;
}

.header-question {
  color: #75a8f0;
  cursor: pointer;
}

::-webkit-input-placeholder {
  font-style: italic;
}
:-ms-input-placeholder {
  font-style: italic;
}
::-moz-placeholder {
  font-style: italic;
}

textarea {
  min-height: 100px;
}
input.form-control,
select.form-control {
  max-width: 300px;
  min-width: 100px;
  padding: 6px;
}

input.input-inline,
select.input-inline {
  display: inline !important;
}

input.input-small-width,
select.input-small-width {
  max-width: 50px;
  min-width: 50px;
}

input.input-medium-width,
select.input-medium-width {
  max-width: 100px;
  min-width: 75px;
}

input.input-large-width,
select.input-large-width {
  width: 150px;
}
input.input-initial-width,
select.input-initial-width {
  width: initial;
}

input.plus-minus-input {
  vertical-align: middle;
  display: inline;
  text-align: center;
  border-radius: 0;
}
.plus-minus-wrapper {
  display: inline-block;
  white-space: nowrap;
  margin: 0 5px;
}
.plus-minus-button {
  top: 0;
  vertical-align: middle;
  border: 1px solid #ccc;
  background: linear-gradient(to bottom, #eee 0%, #ddd 100%);
  height: 34px;
  width: 34px;
  padding: 0;
  display: inline-block;
  text-align: center;
  line-height: 32px;
  margin: 0;
  /* Prevent double clicking from selecting text */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  color: #777;
  transition: box-shadow 0.3s ease-in-out 0s;
  transition: border-color 0.3s ease-in-out 0s;
}
.plus-minus-button:hover {
  background: linear-gradient(
    to bottom,
    #ebf1f6 0%,
    #abd3ee 50%,
    #89c3eb 51%,
    #d5ebfb 100%
  );
  color: #eee;
}
.plus-minus-button:active {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(102, 175, 233, 0.6);
  border-color: #66afe9;
}

.plus-minus-button.minus {
  border-top-left-radius: 34px;
  border-bottom-left-radius: 34px;
  border-right: none;
}
.plus-minus-button.plus {
  border-top-right-radius: 34px;
  border-bottom-right-radius: 34px;
  border-left: none;
}
input.plus-minus-input[value='0'] {
  color: #ffcf87;
}
​ ::-webkit-input-placeholder {
  /* WebKit browsers */
  font-style: italic;
  font-size: 11px;
  margin-top: 5px;
  vertical-align: middle;
  line-height: 20px;
  opacity: 1;
  color: #ccc !important;
}
:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  font-style: italic;
  font-size: 11px;
  margin-top: 5px;
  vertical-align: middle;
  line-height: 20px;
  opacity: 1;
  color: #ccc !important;
}
::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  font-style: italic;
  font-size: 11px;
  margin-top: 5px;
  vertical-align: middle;
  line-height: 20px;
  opacity: 1;
  color: #ccc !important;
}
:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  font-style: italic;
  font-size: 11px;
  margin-top: 5px;
  vertical-align: middle;
  line-height: 20px;
  opacity: 1;
  color: #ccc !important;
}
table.table td {
  vertical-align: middle !important;
}
table.table th:not(.text-right) {
  text-align: center;
}
.drag-handle {
  cursor: move;
}
td.delete-row span.glyphicon-trash {
  cursor: pointer;
}
td.delete-row span.glyphicon-ban-circle {
  cursor: not-allowed;
}
#ajaxStart {
  display: none;
  position: fixed;
  z-index: 2000;
  top: 50%;
  left: 50%;
  font-size: 400%;
  width: 100px;
  text-align: center;
  margin-left: -50px;
  background-color: #ddd;
  border-radius: 25px;
  box-shadow: 0px 3px 5px #aaa;
  color: #555;
  opacity: 0.7;
}

/* Two-factor authentication page */
#authy_first_token {
  display: none;
}
.qr_container {
  text-align: center;
}
.qr-helper-class {
  color: #777;
  font-size: 80%;
}
#google_token_form {
  display: none;
}
#google_auth_dialog {
  display: none;
}
#yubikey_token_form {
  display: none;
}
#yubikey_dialog {
  display: none;
}
#u2f_token_form {
  display: none;
}
#u2f_dialog {
  display: none;
}
.ui-dialog-buttonset .btn-success {
  background-image: -webkit-linear-gradient(top, #5cb85c 0, #419641 100%);
  background-image: -o-linear-gradient(top, #5cb85c 0, #419641 100%);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#5cb85c),
    to(#419641)
  );
  background-image: linear-gradient(to bottom, #5cb85c 0, #419641 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  background-repeat: repeat-x;
  border-color: #3e8f3e;
  color: #fff;
}

.ui-dialog-buttonset .btn-danger {
  background-image: -webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);
  background-image: -o-linear-gradient(top, #d9534f 0, #c12e2a 100%);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#d9534f),
    to(#c12e2a)
  );
  background-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  background-repeat: repeat-x;
  border-color: #b92c28;
  color: #fff;
}

.ui-dialog-buttonset .btn-primary {
  background-image: -webkit-linear-gradient(top, #337ab7 0, #265a88 100%);
  background-image: -o-linear-gradient(top, #337ab7 0, #265a88 100%);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#337ab7),
    to(#265a88)
  );
  background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  background-repeat: repeat-x;
  border-color: #245580;
}

.ui-dialog-buttonset .btn-default {
  color: #333;
  text-shadow: 0 1px 0 #fff;
  background-color: #e0e0e0;
  background-image: -webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);
  background-image: -o-linear-gradient(top, #fff 0, #e0e0e0 100%);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fff),
    to(#e0e0e0)
  );
  background-image: linear-gradient(to bottom, #fff 0, #e0e0e0 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  background-repeat: repeat-x;
  border-color: #ccc;
}

.ui-dialog-buttonset .btn-info {
  background-image: -webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);
  background-image: -o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#5bc0de),
    to(#2aabd2)
  );
  background-image: linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  background-repeat: repeat-x;
  border-color: #28a4c9;
  color: #fff;
}

div.alert.alert-inline-block {
  display: inline-block;
}

/* Search page */

.search_match_chooser {
  padding: 7px;
  margin: 7px;
  background-color: #eff6ff;
  border: 1px solid #9bbfec;
  width: 250px;
}
.search_criteria {
  padding: 14px;
  margin: 7px;
  background-color: #f0f0f0;
  border: 1px solid #d2d2d2;
  float: left;
}
.cancelled_res {
  text-decoration: line-through;
}

/* jQueryUI changes */

.ui-dialog-warning .ui-dialog-titlebar {
  background: linear-gradient(
    to bottom,
    #fceabb 0%,
    #fccd4d 50%,
    #f8b500 51%,
    #fbdf93 100%
  );
  border: 1px solid #f8b500;
}
.ui-dialog-error .ui-dialog-titlebar {
  background: linear-gradient(
    to bottom,
    #fcc3bc 0%,
    #fc654e 50%,
    #f82100 51%,
    #fba193 100%
  );
  border: 1px solid #f82100;
}
.ui-dialog-success .ui-dialog-titlebar {
  background: linear-gradient(
    to bottom,
    #d0f6c2 0%,
    #82ec5e 50%,
    #4ae117 51%,
    #b2f19d 100%
  );
  border: 1px solid #4ae117;
}
.ui-state-highlight td {
  padding: 15px !important;
}
.ui-front {
  z-index: 1050;
}
.popover {
  max-width: 550px;
  color: #000;
}
.popover-title {
  text-align: center;
  font-size: 21px;
}
/*.ui-widget {
    position: absolute;
}*/
.ui-widget-overlay {
  background: inherit;
  background-color: #444;
  opacity: 0.5;
  z-index: 1040;
}
.ui-widget-content a {
  color: #428bca;
}
.ui-dialog-no-titlebar .ui-dialog-titlebar {
  display: none;
}
.ui-dialog {
  max-width: 90%;
  box-shadow: 3px 3px 17px 2px #666;
  border: 2px solid #a6c9e2;
}
.ui-dialog .page-header {
  margin: 15px 10px;
}
.ui-datepicker {
  box-shadow: 0px 5px 12px #444;
}
.ui-datepicker-title select {
  color: #555;
}

/* Container for modal timeout pop up to be added to */
#modalTimeout {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.modalBackground {
  opacity: 0.8;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  z-index: 5000;
  top: 0;
  left: 0;
  position: fixed;
}
.modalContainer {
  position: absolute;
  width: 500px;
  left: 50%;
  top: 50%;
  margin-top: -100px;
  z-index: 5001;
  position: fixed;
  background: linear-gradient(to bottom, #ffafaf 0%, #fec8c8 55%, #ffdddd 100%);
  padding: 10px;
  text-align: center;
  margin-left: -250px;
  border-radius: 19px;
  border: 10px solid rgba(128, 128, 128, 0.5);
  background-clip: padding-box;
}
.modalContainer h1 {
  border-bottom: 1px dotted;
  color: #d42626;
  font-weight: bold;
}
#seconds_left {
  font-weight: bold;
  font-size: 120%;
  color: #d42626;
}

/* Main menu */
#top-nav {
  position: sticky;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background: linear-gradient(to bottom, #90c7f4 0%, #477eb1 100%);
  color: #fff;
}
.navbar .input-append input[type='text'] {
  background-color: #313146;
  display: inline-block;
  border: none;
  font-size: 25px;
  color: #eee;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin: 0;
  box-shadow: 0 0;
  height: 35px;
  vertical-align: middle;
  width: 185px;
}
.navbar form {
  padding: 8px 15px;
}
.navbar .btn {
  background-color: #535368;
  background-image: none;
  border: none;
  color: #e6e6e6;
  text-shadow: 0 0 0;
  box-shadow: 0 0 0;
  padding: 0 10px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  height: 35px;
  vertical-align: middle;
  display: inline-block;
  margin: 0;
}

.navbar .btn:hover {
  color: #f2f2f2;
  background-color: #313146;
}
.navbar .breadcrumb_separator {
  float: left;
  color: #777;
}
.navbar-brand {
  line-height: 24px;
}
.navbar .navbar-brand.breadcrumb_separator:hover,
.navbar .navbar-brand.breadcrumb_separator:focus {
  color: #777;
}
.navbar .badge {
  background-color: #ca4949;
}

#validateresult span {
  font-size: 40px !important;
  position: relative;
  bottom: -9px;
}
#validateresult .fa.wait {
  color: #bbb;
}
#validateresult .fa.valid {
  color: #4bdd52;
}
#validateresult .fa.invalid {
  color: #ff7373;
}

/* User approve */
#new_users_approve_container {
  display: none;
}
#new_users_approve_list {
  display: table;
  padding-left: 0;
  width: 100%;
}
#new_users_approve_list li {
  list-style-type: none;
  display: table-row;
  background-color: #cee8f0;
}
#new_users_approve_list li:nth-child(odd) {
  background-color: #ebebeb;
}
#new_users_approve_list li .user-info,
#new_users_approve_list li .btn {
  display: table-cell;
}
#new_users_approve_list li .user-info {
  padding: 10px;
  color: #444;
}
#new_users_role_container {
  display: none;
}
#new_user_name {
  font-weight: bold;
}

/* Changes */

span.comment_change {
  color: #71751c;
  font-style: italic;
  background: none repeat scroll 0 0 #fdffd1;
}
span.comment_change_info {
  color: #3c84bd;
  cursor: pointer;
}

del {
  background: none repeat scroll 0 0 #ffdddd;
  color: red;
  text-decoration: line-through;
  font-style: normal;
}

ins {
  background: none repeat scroll 0 0 #ddffdd;
  color: green;
  text-decoration: none;
  font-style: normal;
}

/* Reservation edit default page */
#card_count.no_cards {
  display: none;
}
#cc_modal {
  display: none;
}
#cc_modal ul {
  list-style-type: square;
}
#cc_modal ul li {
  background-color: #cee8f0;
  padding: 5px;
  margin: 5px;
  margin-left: -15px;
  color: #aaa;
}
#cc_modal ul li:nth-child(odd) {
  background-color: #ebebeb;
}
#cc_modal ul .cc_controls {
  display: inline-block;
}
#cc_modal .cc_num_hidden,
#cc_modal .cc_expiry {
  color: #666;
  padding: 6px;
  margin: 0 6px;
}

.card-number-hidden {
  font-weight: bold;
  color: #333;
}
.has-small-iframe iframe {
  width: 100%;
  max-width: 300px;
  min-width: 100px;
  height: 40px;
}
.card_number_show #hide_countdown {
  color: #888;
  text-align: right;
  margin-top: 15px;
}
.add-card {
  margin-top: 18px;
}
#add_and_edit_cc_modal {
  display: none;
}
#no_card_warning.has_cards {
  display: none;
}
#no_card_warning.no_cards {
  display: block;
}
.res_comment {
  font-weight: bold;
  color: #747bcf;
  background-color: #feffbf;
}
.children {
  color: blue;
}
.young_children {
  color: orange;
}
.pets {
  color: green;
}
.num_rooms {
  color: #557ca6;
}
.tax_included {
  color: red;
}
.has_promo {
  color: #c253b9;
}
.other_reservations {
  cursor: pointer;
}
#show_other_reservations {
  display: none;
  margin: 20px;
}
#change_password_controls {
  display: none;
}
#password_valid,
#password2_valid {
  /*     display: inline-block; */
  color: rgb(255, 110, 110);
  background-color: rgb(255, 239, 239);
  padding: 8px;
  border: 1px solid rgb(255, 110, 110);
  margin: 5px 0;
  display: none;
}

/* Edit user details */
.user_perm_list {
  display: inline-block;
  margin: 5px;
  border: 1px solid #ccc;
  padding: 9px;
  border-radius: 4px;
  font-size: 14px;
}
.rolename {
  background-color: #ddefff;
  border: 1px solid #337ab7;
  padding: 7px;
  font-weight: bold;
  border-radius: 6px;
  color: #337ab7;
}
.user_perm_list.user_perm_enabled {
  background: linear-gradient(to bottom, #e7ffe4 0%, #b5e4b6 100%);
  color: #3e6b38;
}
.user_perm_list.user_perm_disabled {
  background: linear-gradient(to bottom, #ffeded 0%, #edabab 100%);
  color: #9d4e4e;
}
.user_perm_list .glyphicon-ok {
  color: rgb(68, 190, 68);
}
.user_perm_list .glyphicon-remove {
  color: rgb(213, 106, 106);
}
.password_invalid {
  background-color: #ffdbdb;
}
#current_pass_form,
#phone_verify_form,
#add_phone_form {
  display: none;
}

/* Access control */

.ip_is_mine {
  background-color: #c0e6bc;
  border-radius: 6px;
  margin: 10px 0;
  padding: 3px 0;
}
.ip_is_mine span.ip_is_mine_text {
  color: green;
  font-weight: bold;
}

/* Admin section */

/* Edit users */
/*#user_table_wrapper {
    overflow: auto;
    float: left;
    padding: 0 20px;
    max-height: calc(100vh - 200px);
    min-height: 200px;
}*/
#user_edit_table tr:nth-child(odd) {
  background-color: #cee8f0;
}
#user_edit_table td {
  padding: 5px;
}
.edit-user {
  color: #fff;
  background: linear-gradient(to bottom, #7abcff 0%, #4096ee 100%);
  border-radius: 50%;
  padding: 5px;
  cursor: pointer;
  box-shadow: 2px 2px 5px -1px #284e80;
}

#edit_user_form .glyphicon.glyphicon-ok-sign {
  color: #47cf40;
  cursor: pointer;
}
#edit_user_form .glyphicon.glyphicon-remove-sign {
  color: #cf4040;
  cursor: pointer;
}
#edit_user_form,
#edit_user_form p.edit {
  display: none;
}
#otp_info {
  display: none;
}
table.otp_grid {
  border-collapse: collapse;
  font-family: sans-serif;
  /*                -webkit-box-shadow: 5px 5px 17px -5px rgba(0,0,0,1);
    -moz-box-shadow: 5px 5px 17px -5px rgba(0,0,0,1);
    box-shadow: 5px 5px 17px -5px rgba(0,0,0,1);*/
  font-weight: bold;
  color: #333;
}
table.otp_grid td {
  text-align: center;
  padding: 5px;
  border: 2px solid #aaa;
  min-width: 30px;
}
table.otp_grid thead td,
table.otp_grid tbody td:first-child {
  background-color: #bbb;
  color: #fff;
}

table.otp_grid thead td:first-child {
  background-color: #8cb4f0;
}
div.otp_grid_footer {
  font-family: sans-serif;
  margin: 0 8px;
  font-size: 12px;
  float: left;
}

.custom_date {
  margin-top: 15px;
}
.config-room-container {
  overflow: auto;
}
div.config-room {
  width: 400px;
  margin: 0 30px 0 10px;
  float: left;
}
ul.config-room-ul {
  list-style-type: none;
  min-height: 40px;
  min-width: 200px;
  background: #eee;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 4px 4px 9px 0 #aaa;
}
ul.config-room-ul li {
  white-space: nowrap;
  font-size: 1.2em;
}
ul.config-room-ul li div.tooltip {
  white-space: initial;
}
.config-room li.room-inactive input,
.config-room li.room-inactive select,
.config-room li.room-inactive span.glyphicon {
  color: #aaa;
}
div.config-room span.glyphicon-eye-open,
div.config-room span.glyphicon-eye-close,
div.config-room span.glyphicon-trash {
  cursor: pointer;
}
.ajax_save_confirm,
.ajax_error_popup {
  position: fixed;
  bottom: 0;
  margin: 0;
  left: 50%;
  z-index: 5000;
}
.ajax_save_confirm {
  text-align: center;
  width: 250px;
  margin-left: -125px;
  font-size: 20px;
}
.ajax_error_popup {
  width: 400px;
  margin-left: -200px;
}

/* Edit roles */
#user_perms_table {
  width: auto;
}
#user_perms_table tbody tr:nth-child(odd) {
  background-color: #cee8f0;
}
#user_perms_table tbody td:first-child {
  /*     font-weight: bold; */
  color: #2879a8;
}
#user_perms_table thead tr,
#user_perms_table tfoot tr {
  background-color: #7484c7;
  background: linear-gradient(to bottom, #9cc5e5 0%, #7484c7 100%);
  text-shadow: 1px 1px 3px #333;
  color: #fff;
  font-weight: bold;
}
.role-delete,
.edit_role_name {
  cursor: pointer;
}

#add_new_role_form,
#edit_role_name_form {
  display: none;
}

/* Edit rooms hidden info bubbles */
#room_types_info,
#calendar_groups_info,
#config_rooms_info {
  display: none;
}

/* Edit rooms hidden forms */
#add_room_type_form,
#add_calendar_group_form,
#add_config_room_form {
  display: none;
}

/* Edit users */
#user_edit_table tr.user_disabled {
  opacity: 0.6;
  text-decoration: line-through;
}
#user_edit_table tr.current_user {
  background-color: #f0f0ce;
  font-weight: bold;
}

/* Edit rates */
.rate_name {
  white-space: nowrap;
}
.rate_weekday_checkbox:checked + label,
.max_nights_infinity:checked + label,
.add_promo_codes:checked + label {
  font-weight: bold;
}
.rate_error_div {
  display: none;
}
#rate_add_form {
  display: none;
}
.room_type form.edit-rates-form {
  border: 3px solid #b6cab4;
  border-radius: 20px;
  margin: 20px;
  padding: 10px;
}

/* Promos */
.dropdown-menu {
  min-width: 200px;
}

.promo_table {
  margin: 30px;
}
.promo_table thead {
  background-color: #668ac2;
  color: #fff;
  font-weight: bold;
  text-shadow: 1px 1px #777;
}
.promo_table td {
  padding: 5px;
  border: 1px solid #ccc;
}
.promo_table .fa {
  font-size: 30px;
  margin: 1px;
}
.promo_table .fa.fa-minus {
  color: #ff8989;
}
.promo_table .fa.fa-plus {
  color: #4fe55c;
}
.promo_table .fa.fa-eye {
  color: #666;
}
.promo_table .fa.fa-eye-slash {
  color: #bbb;
}
.promo_table .fa.fa-money {
  color: #4c9054;
}
.promo_table .fa.fa-warning {
  color: #d5c629;
}
.promo_table .fa.fa-lock {
  color: #5469be;
}

.slider_1 {
  background: #cc0000;
}
.slider_1 ~ .slider-label,
.slider_1 {
  color: #fff;
}
.slider_2 {
  background: #cc6600;
  color: #fff;
}
.slider_2 ~ .slider-label,
.slider_2 {
  color: #fff;
}
.slider_3 {
  background: #cccc00;
  color: #666621;
}
.slider_4 {
  background: #66cc00;
  color: #3c5e1a;
}
.slider_5 {
  background: #00cc00;
}

/* Room fill order */
#room-fill-range-slider {
  position: relative;
  width: 50%;
}
#room-fill-num-people-text {
  border: 0;
  color: #f6931f;
  font-weight: bold;
}
#add_room_fill_range_form {
  display: none;
}
.room_fill_order {
  border: 3px solid #ccc;
  border-radius: 10px;
  margin: 15px;
}
.room_fill_sortable li {
  cursor: move;
}

/* Pop-up calendar */

.calendaricon {
  display: inline;
}

#container {
  overflow: hidden;
  height: 100px;
  font: 8pt arial;
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  -moz-box-shadow: 3px 3px 20px 0 #999;
  -webkit-box-shadow: 3px 3px 20px 0 #999;
  box-shadow: 3px 3px 20px 0 #999;
  z-index: 1000;
}

#calendardiv {
  width: 600px;
}

#button_left,
#button_right {
  position: absolute;
  top: 0;
  margin-top: 4px;
  height: 15px;
  width: 15px;
  padding: 4px;
  z-index: 1001;
  background-color: #7694bf;
  background-repeat: no-repeat;
  background-position: center center;
}

#button_left {
  background-image: url('../images/button_left2.gif');
  left: 0;
}

#button_right {
  background-image: url('../images/button_right2.gif');
  margin-left: -15px;
}

.main {
  display: inline-block;
  position: relative;
  border-bottom: 1px solid #dbe4ec;
  margin: 0;
  padding: 0;
}

* html .main {
  display: inline;
}

.month {
  background-color: #7694bf;
  color: white;
  padding: 5px;
  font-weight: bold;
}

.daysofweek {
  font-weight: bold;
  color: #336699;
  padding-top: 5px;
  padding-bottom: 3px;
}

.days {
  color: black;
  padding: 4px;
  font-weight: bold;
  cursor: default;
}

.today {
  color: #336699;
  font-weight: bold;
}

td.days.current:hover {
  background-color: #ffdd99;
  cursor: pointer;
}

.borderright {
  border-right: 1px solid #dbe4ec;
  padding-right: 15px;
}
.borderleft {
  padding-left: 15px;
}

.expired {
  color: #d6d6d6;
}
.day_selected {
  color: red !important;
  background-color: #ffdd99;
}

/* Calendar view */

#calendartable {
  /* Prevent text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
#calendartable td.droptarget {
  height: 24px;
}
#calendartable .room .room-close-clicker,
#calendartable .room .room-open-clicker {
  height: 100%;
}

#calendartable .room.closed .room-close-clicker,
#calendartable .room.full .room-close-clicker,
#calendartable .room.full .room-open-clicker,
#calendartable .room.empty .room-open-clicker {
  display: none !important;
}

#calendartable .open_close_indicator {
  border: 1px solid #29b8e5;
  height: 34px;
  opacity: 0.6;
  background: linear-gradient(to bottom, #b3dced 0%, #29b8e5 50%, #bce0ee 100%);
  border-radius: 6px;
}

#calendartable .res_button {
  line-height: 24px;
  display: inline;
  cursor: pointer;
}
.room_name {
  background-color: #7896af;
  background: linear-gradient(to right, #7896af 0%, #90add1 100%);
  color: #eff8ff;
  font-weight: bold;
}
.date_header {
  background-color: #dff1ff;
  background: linear-gradient(to bottom, #f0f9ff 0%, #cbebff 47%, #a1dbff 100%);
  color: #4c83af;
  font-weight: bold;
  font-size: 12px;
  padding: 0 4px;
}
.right_border {
  border-right: 3px solid #225b6f !important;
}
.left_border {
  border-left: 3px solid #225b6f !important;
}
.room_header {
  background-color: #acc8e5;
  background: linear-gradient(to bottom, #cbdfef 0%, #90b3dc 100%);
  color: #5379a5;
  font-weight: bold;
  padding: 3px;
}
.footer_rooms span {
  font-size: 50%;
}
.weekday {
  font-size: 55%;
  letter-spacing: 3px;
}
.weekend {
  background-color: #eff9ff;
}
.closed {
  background-image: url('../images/closed.gif');
  background-position: bottom center;
  background-repeat: no-repeat;
  height: 35px;
}
.date_today {
  background-color: #fad38a;
  background: linear-gradient(to bottom, #fad38a 0%, #f9ae53 100%);
  color: #4c83af;
  font-weight: bold;
}
/* For changing room numbers of an existing reservation */
.date_taken {
  background-color: #e3e3e3;
  color: #426eb1;
}
.current_date {
  background-color: #ffe59f;
  color: #9f6231;
  font-weight: bold;
}
#close_room_form .other-reason {
  display: none;
}

/* Edit room details */
.room_details_table {
  margin: 15px;
  border: 1px solid #a25746;
  float: left;
}
.room_details_header {
  background-color: #ffe3ae;
  color: #7168a2;
  font-weight: bold;
}
.room_date {
  background-color: #fff2e2;
  color: #865b3f;
}
.room_different {
  background-color: #dfedf9;
  color: #002c5b;
}
.simple_room_edit td {
  padding: 3px 10px 3px 10px;
}
.res_field_different {
  color: #d40000;
  font-weight: bold;
}
.res_field_different select {
  background-color: #f9dfdf;
  color: #4065a9;
}

/* Tours */
#no-sortable {
  display: none;
}
#sortable td.sorting_asc {
  background-color: #c3ffc8;
}
#sortable td.sorting_desc {
  background-color: #ffc3c3;
}
label.tour_col_toggle {
  padding: 2px;
}
label.tour_col_toggle:hover {
  background: #eee;
  cursor: pointer;
  border: 1px solid #aaa;
  padding: 1px;
}
.paid_to_staff {
  text-decoration: line-through;
}
.tour_hover:hover {
  background-color: #aef5ab;
  color: #22781f;
  cursor: pointer;
}

.tour_selected {
  background-color: #ffc573 !important;
  color: #b57419 !important;
  border-bottom: 1px dotted #fff;
}

.tour_added {
  color: #e1f5e6 !important;
  background-color: #3ead5a !important;
  font-weight: bold;
}
.tour_added input {
  color: #347343;
  background-color: #c1e8ca;
  border: 1px solid #347343;
}
.select-tour-container.selected .unselected {
  display: none;
}
.select-tour-container.unselected .selected {
  display: none;
}
.tour-table-warning {
  background-color: #ffdddd;
  color: red;
  font-weight: bold;
}

/* Availability calendar */
.avail_cal_wrapper {
  position: relative;
  height: 460px;
  float: left;
  margin: 30px;
}
table.avail_cal {
  box-shadow: 4px 4px 10px #888;
}
table.avail_cal thead th {
  padding: 20px;
  vertical-align: top;
  border-top: 1px solid #ddd;
  text-align: center;
}
table.avail_cal .month_header {
  background-color: #3d6cff;
  color: #fff;
  font-size: 130%;
}
table.avail_cal .weekday_header {
  background-color: #a6bcff;
  color: #3a4e8b;
}
table.avail_cal td {
  position: relative;
  height: 50px;
  width: 75px;
}

table.avail_cal .day_num {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  color: #888;
  width: 20px;
  height: 20px;
  font-size: 12px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  box-shadow: 1px 1px 1px #777;
}
table.avail_cal td.today .day_num {
  background-color: #ffcb00;
  color: #fff;
  font-weight: bold;
  border: none;
}
table.avail_cal td.today {
  border: 3px solid #ffcb00;
}
table.avail_cal .empty_rooms {
  font-size: 150%;
  padding: 10px;
}

/* Admin section from Adventure Inn */

div.tour_main form label {
  width: 100px;
}

.meta_description_error {
  display: none;
}

.original_sort_position {
  background: #ffcfcf;
  color: #912c2c;
}

.red_highlight {
  color: red;
}

.ui-button .ui-button-text {
  display: inline-block;
  font-size: 17px;
}
.slider-range {
  height: 48px;
  width: 100%;
  -webkit-transition: background-color 0.5s linear;
  -moz-transition: background-color 0.5s linear;
  -o-transition: background-color 0.5s linear;
  transition: background-color 0.5s linear;
}
.slider-label {
  -webkit-transition: color 0.5s linear;
  -moz-transition: color 0.5s linear;
  -o-transition: color 0.5s linear;
  transition: color 0.5s linear;
}

.slider-wrapper {
  position: relative;
}

.slider-wrapper .ui-slider .ui-slider-handle {
  cursor: pointer;
  height: 54px;
  position: absolute;
  width: 40px;
  z-index: 2;
  background: #003580;
  border: 1px solid #003580;
  z-index: 3;
}
.slider-wrapper .slider-label {
  position: absolute;
  color: #333;
  top: 14px;
  left: 12px;
}
.slider-wrapper .end {
  right: 12px;
  left: auto;
}

.slider_1 {
  background: #cc0000;
}
.slider_1 ~ .slider-label,
.slider_1 {
  color: #fff;
}
.slider_2 {
  background: #cc6600;
  color: #fff;
}
.slider_2 ~ .slider-label,
.slider_2 {
  color: #fff;
}
.slider_3 {
  background: #cccc00;
}
.slider_4 {
  background: #66cc00;
}
.slider_5 {
  background: #00cc00;
}

.discount_input input.input_percent {
  height: 1.5em;
  font-size: 36px;
  width: 85px;
  text-align: right;
  background: transparent;
  border: none;
  box-shadow: none;
}

.discount_input {
  font-size: 36px;
}

.ui-state-highlight {
  border: 0 !important;
  background: transparent !important;
}
.ui-datepicker {
  margin: auto;
}
.ui-state-highlight a {
  background: #fad42e !important;
}
.ui-datepicker-today {
  border: 2px solid #ff9100 !important;
}
.dp-mouseover-add a {
  background: #b1fca9 !important;
  color: #156628 !important;
}
.ui-datepicker-current-day.dp-mouseover-remove a,
.ui-state-highlight.dp-mouseover-remove a {
  background: #fca9a9 !important;
  color: #912727 !important;
}

/* Flot stuff */
#tooltip {
  margin-left: 15px;
  margin-top: 15px;
}

/* css for timepicker */
.ui-timepicker-div .ui-widget-header {
  margin-bottom: 8px;
}
.ui-timepicker-div dl {
  text-align: left;
}
.ui-timepicker-div dl dt {
  float: left;
  clear: left;
  padding: 0 0 0 5px;
}
.ui-timepicker-div dl dd {
  margin: 0 10px 10px 45%;
}
.ui-timepicker-div td {
  font-size: 90%;
}
.ui-tpicker-grid-label {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
}

.ui-timepicker-rtl {
  direction: rtl;
}
.ui-timepicker-rtl dl {
  text-align: right;
  padding: 0 5px 0 0;
}
.ui-timepicker-rtl dl dt {
  float: right;
  clear: right;
}
.ui-timepicker-rtl dl dd {
  margin: 0 45% 10px 10px;
}

/* End admin section from Adventure Inn */

/* Shuttle section */
.shuttle-list .cancelled {
  text-decoration: line-through;
  color: #aaa;
}

.shuttle-list .cancel-button {
  display: inline;
}
.shuttle-list .uncancel-button {
  display: none;
}
.shuttle-list .cancelled .cancel-button {
  display: none;
}
.shuttle-list .cancelled .uncancel-button {
  display: inline;
}

/* <dialog> elements */
body:has(dialog[open]) {
  overflow: hidden;
}
dialog {
  border: none;
  box-shadow: #00000066 0 0 20px 2px;
  border-radius: 8px;
  width: max(80vw, 350px);
}

dialog::backdrop {
  background-color: #0000002e;
}

dialog[open], .dialog[open]::backdrop {
  animation: showDialog 0.3s ease normal;
}
dialog.hiddenDialog, dialog.hiddenDialog::backdrop {
  animation: hideDialog 0.3s ease normal;
}
@keyframes showDialog {
  from {
    opacity: 0;
    transform: translateY(-3%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes hideDialog {
  to {
    opacity: 0;
    transform: translateY(3%);
  }
}

.promo-type-label {
  padding: 0 2em;
}
.promo_table tbody tr {
  cursor: pointer;
}

.promo_table tbody tr:hover td {
    position: relative;
}
.promo_table tbody tr:hover td:before {
    background-color: #00000009;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

/* Input range elements */
input[type="range"] {
  width: calc(100% - 70px);
  display: inline-block;
}

input[type="range"] + span.range-value {
  margin-right: -50px;
  padding-left: 10px;
  font-weight: bold;
  color: #0075ff;
  font-size: 1.5em;
}

input[type="range"].colored {
  accent-color: currentColor;
}
input[type="range"].colored::after {
  color: currentColor;
}

input[type=range]::-webkit-slider-thumb {
  cursor: ew-resize;
}

#promoEditorDialog .invisible {
  overflow: hidden;
  height: 0;
  opacity: 0;
  margin: 0;
  transition: height 0ms 400ms, opacity 400ms 0ms;
}
#promoEditorDialog .visible {
  height: auto;
  opacity: 1;
  transition: height 0ms 0ms, opacity 600ms 0ms;
}