.bg-success-subtle {
  background-color: #d1e7dd;
}

.bg-danger-subtle {
  background-color: #f8d7da;
}

.bg-gray1 {
  background-color: #f4f4f4;
}

.bg-gray2 {
  background-color: #e2e2e2;
}

.bg-gray3 {
  background-color: #bbb;
}

.bg-gray4 {
  background-color: #999;
}

.bg-gray5 {
  background-color: #666;
}

.text-gray1 {
  color: #f4f4f4;
}

.text-gray2 {
  color: #e2e2e2;
}

.text-gray3 {
  color: #bbb;
}

.text-gray4 {
  color: #999;
}

.text-gray5 {
  color: #666;
}

.site-header {
  background-color: #245d8d;
}

:target {
  scroll-margin-top: 4rem;
}

.btn-primary {
  color: #f4f4f4;
}
.btn-primary:hover {
  color: #f4f4f4;
}

.btn-outline-primary:hover {
  color: #f4f4f4;
}

.site-header a {
  color: #f4f4f4;
}
.site-header a:hover {
  color: #bbb;
}

#ui-datepicker-div {
  z-index: 1050 !important;
}

.popover.popover-danger .popover-body {
  color: var(--bs-danger);
}
.popover.popover-warn .popover-bodying {
  color: var(--bs-warning);
}
.popover.popover-success .popover-bodying {
  color: var(--bs-success);
}

.item-count i {
  cursor: default;
  color: #e2e2e2;
  display: inline-block;
  padding: 0 2px;
}
.item-count i.selectable {
  cursor: pointer;
  color: #bbb;
}
.item-count i.set {
  color: #666;
}
.item-count i.over {
  color: #ff6000;
}

@keyframes itemCountBlink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.item-count-override {
  animation: itemCountBlink 1.2s ease-in-out infinite;
}

.item-count-nr-input {
  width: 3.5em;
  text-align: center;
  font-size: inherit;
  padding: 0 2px;
  border: 1px solid #bbb;
  border-radius: 3px;
}

.item-count-overflow {
  margin-left: 4px;
}

.range .range-start,
.range .range-end {
  color: #999;
}
.range .range-value-start,
.range .range-value-end {
  font-weight: bold;
}

.tip-custom-value-container {
  width: 150px;
}

table.calendar td:first-child {
  position: sticky;
  left: -12px;
  background-color: #fff;
  z-index: 6;
}
table.calendar .time-col-th {
  width: 60px;
}
table.calendar .time-col {
  width: 60px;
  position: relative;
}
table.calendar .time-col .hour-marker {
  border-top: 1px solid #ff6000;
  width: 100%;
  position: absolute;
  text-align: center;
}
table.calendar .time-col .hour-marker .hour-text-container {
  position: relative;
}
table.calendar .time-col .hour-marker .hour-text-container .hour-text {
  background-color: #fff;
  width: 50px;
  position: absolute;
  top: -12px;
  text-align: right;
  padding-right: 5px;
}
table.calendar .time-col .hour-marker.current {
  color: #fff;
}
table.calendar .time-col .hour-marker.current .hour-text {
  background-color: #bbb;
  border-radius: 0.375rem;
}
table.calendar tr.main-row td {
  padding: 15px 0;
}
table.calendar .weekday-header-col {
  vertical-align: top;
}
table.calendar .weekday-header-col .weekday-header-container {
  text-align: center;
  border-radius: 0.375rem;
}
table.calendar .weekday-header-col .weekday-header-container.today {
  background-color: #e2e2e2;
}
table.calendar .weekday-header-col .weekday-header-container.hover {
  background-color: #bbb;
  color: #fff;
}
table.calendar .weekday-col .weekday-container {
  background-color: #f4f4f4;
  width: 100%;
  position: relative;
  border-right: 2px solid #666;
}
table.calendar .weekday-col .weekday-container.today {
  background-color: #e2e2e2;
}
table.calendar .weekday-col .weekday-container .my-availability-container {
  position: relative;
  width: 100%;
  margin: 0;
}
table.calendar .weekday-col .weekday-container .my-availability-container .availability {
  position: absolute;
  width: 100%;
  background-color: green;
  opacity: 0.3;
  z-index: 2;
}
table.calendar .weekday-col .weekday-container .my-availability-container a.availability:hover {
  opacity: 0.6;
}
table.calendar .weekday-col .weekday-container .my-extra-working-times-container {
  position: relative;
  width: 14px;
  margin: 0 1px 0 auto;
}
table.calendar .weekday-col .weekday-container .my-extra-working-times-container .extra-working-time {
  position: absolute;
  width: 100%;
  background-color: #e859ef;
  border: 1px solid rgb(223.7098901099, 29.167032967, 233.232967033);
  border-radius: 0.375rem;
  font-size: 0.6em;
  text-align: center;
  overflow: hidden;
  color: #fff;
  z-index: 3;
}
table.calendar .weekday-col .weekday-container .my-extra-working-times-container .extra-working-time:hover {
  background-color: rgb(236.6, 122.2, 242.2);
}
table.calendar .weekday-col .weekday-container .current-time-container {
  position: relative;
}
table.calendar .weekday-col .weekday-container .current-time-container .current-time {
  position: absolute;
  background-color: #ff6000;
  width: 100%;
  z-index: 4;
  opacity: 0.4;
}
table.calendar .weekday-col .weekday-container .rooms-container {
  height: 100%;
  padding: 0 0 0 16px;
  min-width: 130px;
}
table.calendar .weekday-col .weekday-container .rooms-container.with-extra-working-times {
  padding-right: 15px;
  min-width: 146px;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container {
  height: 100%;
  position: relative;
  overflow: hidden;
  float: left;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container {
  position: absolute;
  width: 100%;
  z-index: 3;
  padding-right: 1px;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container a {
  text-decoration: none;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot {
  width: 100%;
  height: 100%;
  background-color: #bbb;
  border: 1px solid rgb(149.6, 149.6, 149.6);
  border-radius: 0.375rem;
  font-size: 0.6em;
  text-align: center;
  overflow: hidden;
  color: #fff;
  font-weight: bold;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-notAvailable {
  background-color: #bbb;
  border-color: rgb(149.6, 149.6, 149.6);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-notAvailable:hover {
  background-color: rgb(200.6, 200.6, 200.6);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-available {
  background-color: #61BEFF;
  border-color: rgb(26.6, 161.0379746835, 255);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-available:hover {
  background-color: rgb(128.6, 203, 255);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-booked {
  background-color: #ff6000;
  border-color: rgb(204, 76.8, 0);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-booked:hover {
  background-color: rgb(255, 127.8, 51);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-booked.past {
  background-color: #999;
  border-color: rgb(122.4, 122.4, 122.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-booked.past:hover {
  background-color: rgb(173.4, 173.4, 173.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-noGameMaster {
  background-color: #D20009;
  border-color: rgb(168, 0, 7.2);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-noGameMaster:hover {
  background-color: rgb(255, 15, 25.2857142857);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-noGameMaster.past {
  background-color: #999;
  border-color: rgb(122.4, 122.4, 122.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-noGameMaster.past:hover {
  background-color: rgb(173.4, 173.4, 173.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-accepted, table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-acceptedByAdmin {
  background-color: #538C0D;
  border-color: rgb(66.4, 112, 10.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-accepted:hover, table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-acceptedByAdmin:hover {
  background-color: rgb(121.7333333333, 205.3333333333, 19.0666666667);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-acceptedByMe {
  background-color: #79c20d;
  border-color: rgb(96.8, 155.2, 10.4);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-acceptedByMe:hover {
  background-color: rgb(154.2927536232, 239.7768115942, 27.8231884058);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-disabled {
  background-color: #e2e2e2;
  border-color: rgb(180.8, 180.8, 180.8);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-disabled:hover {
  background-color: rgb(231.8, 231.8, 231.8);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-disabled {
  color: #999;
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-notEnoughGameMaster {
  background-color: #e2e2e2;
  border-color: rgb(180.8, 180.8, 180.8);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-notEnoughGameMaster:hover {
  background-color: rgb(231.8, 231.8, 231.8);
}
table.calendar .weekday-col .weekday-container .rooms-container .room-container .time-slot-container .time-slot.status-notEnoughGameMaster {
  color: #ff6000;
}

.booking-status-tag {
  padding: 0 0.375rem;
  border-radius: 0.375rem;
  border: 1px solid rgb(149.6, 149.6, 149.6);
  color: #fff;
  font-weight: bold;
  font-size: 0.9rem;
  text-transform: uppercase;
  display: inline-block;
  background-color: #bbb;
}
.booking-status-tag.status-notAvailable {
  background-color: #bbb;
  border-color: rgb(149.6, 149.6, 149.6);
}
.booking-status-tag.status-notAvailable:hover {
  background-color: rgb(200.6, 200.6, 200.6);
}
.booking-status-tag.status-available {
  background-color: #61BEFF;
  border-color: rgb(26.6, 161.0379746835, 255);
}
.booking-status-tag.status-available:hover {
  background-color: rgb(128.6, 203, 255);
}
.booking-status-tag.status-booked {
  background-color: #ff6000;
  border-color: rgb(204, 76.8, 0);
}
.booking-status-tag.status-booked:hover {
  background-color: rgb(255, 127.8, 51);
}
.booking-status-tag.status-booked.past {
  background-color: #999;
  border-color: rgb(122.4, 122.4, 122.4);
}
.booking-status-tag.status-booked.past:hover {
  background-color: rgb(173.4, 173.4, 173.4);
}
.booking-status-tag.status-noGameMaster {
  background-color: #D20009;
  border-color: rgb(168, 0, 7.2);
}
.booking-status-tag.status-noGameMaster:hover {
  background-color: rgb(255, 15, 25.2857142857);
}
.booking-status-tag.status-noGameMaster.past {
  background-color: #999;
  border-color: rgb(122.4, 122.4, 122.4);
}
.booking-status-tag.status-noGameMaster.past:hover {
  background-color: rgb(173.4, 173.4, 173.4);
}
.booking-status-tag.status-accepted, .booking-status-tag.status-acceptedByAdmin {
  background-color: #538C0D;
  border-color: rgb(66.4, 112, 10.4);
}
.booking-status-tag.status-accepted:hover, .booking-status-tag.status-acceptedByAdmin:hover {
  background-color: rgb(121.7333333333, 205.3333333333, 19.0666666667);
}
.booking-status-tag.status-acceptedByMe {
  background-color: #79c20d;
  border-color: rgb(96.8, 155.2, 10.4);
}
.booking-status-tag.status-acceptedByMe:hover {
  background-color: rgb(154.2927536232, 239.7768115942, 27.8231884058);
}
.booking-status-tag.status-disabled {
  background-color: #e2e2e2;
  border-color: rgb(180.8, 180.8, 180.8);
}
.booking-status-tag.status-disabled:hover {
  background-color: rgb(231.8, 231.8, 231.8);
}
.booking-status-tag.status-disabled {
  color: #999;
}
.booking-status-tag.status-notEnoughGameMaster {
  background-color: #e2e2e2;
  border-color: rgb(180.8, 180.8, 180.8);
}
.booking-status-tag.status-notEnoughGameMaster:hover {
  background-color: rgb(231.8, 231.8, 231.8);
}
.booking-status-tag.status-notEnoughGameMaster {
  color: #ff6000;
}

.gm-status-tag {
  padding: 0 0.375rem;
  border-radius: 0.375rem;
  border: 1px solid rgb(149.6, 149.6, 149.6);
  color: #fff;
  font-weight: bold;
  font-size: 0.9rem;
  text-transform: uppercase;
  display: inline-block;
  background-color: #bbb;
}
.gm-status-tag.gm-status-notAccessible {
  background-color: #e2e2e2;
  border-color: rgb(180.8, 180.8, 180.8);
}
.gm-status-tag.gm-status-notAccessible:hover {
  background-color: rgb(231.8, 231.8, 231.8);
}
.gm-status-tag.gm-status-notAccessible {
  color: #bbb;
}
.gm-status-tag.gm-status-notAvailable, .gm-status-tag.gm-status-timeout {
  background-color: #bbb;
  border-color: rgb(149.6, 149.6, 149.6);
}
.gm-status-tag.gm-status-notAvailable:hover, .gm-status-tag.gm-status-timeout:hover {
  background-color: rgb(200.6, 200.6, 200.6);
}
.gm-status-tag.gm-status-available {
  background-color: #61BEFF;
  border-color: rgb(26.6, 161.0379746835, 255);
}
.gm-status-tag.gm-status-available:hover {
  background-color: rgb(128.6, 203, 255);
}
.gm-status-tag.gm-status-pending {
  background-color: #ff6000;
  border-color: rgb(204, 76.8, 0);
}
.gm-status-tag.gm-status-pending:hover {
  background-color: rgb(255, 127.8, 51);
}
.gm-status-tag.gm-status-canBeTaken {
  background-color: #ff6000;
  border-color: rgb(204, 76.8, 0);
}
.gm-status-tag.gm-status-canBeTaken:hover {
  background-color: rgb(255, 127.8, 51);
}
.gm-status-tag.gm-status-accepted, .gm-status-tag.gm-status-acceptedByAdmin {
  background-color: #538C0D;
  border-color: rgb(66.4, 112, 10.4);
}
.gm-status-tag.gm-status-accepted:hover, .gm-status-tag.gm-status-acceptedByAdmin:hover {
  background-color: rgb(121.7333333333, 205.3333333333, 19.0666666667);
}
.gm-status-tag.gm-status-accepted.acceptedByMe, .gm-status-tag.gm-status-acceptedByAdmin.acceptedByMe {
  background-color: #79c20d;
  border-color: rgb(96.8, 155.2, 10.4);
}
.gm-status-tag.gm-status-accepted.acceptedByMe:hover, .gm-status-tag.gm-status-acceptedByAdmin.acceptedByMe:hover {
  background-color: rgb(154.2927536232, 239.7768115942, 27.8231884058);
}
.gm-status-tag.gm-status-declined {
  background-color: #D20009;
  border-color: rgb(168, 0, 7.2);
}
.gm-status-tag.gm-status-declined:hover {
  background-color: rgb(255, 15, 25.2857142857);
}
.gm-status-tag.gm-status-busy {
  background-color: #D20009;
  border-color: rgb(168, 0, 7.2);
}
.gm-status-tag.gm-status-busy:hover {
  background-color: rgb(255, 15, 25.2857142857);
}

.time-slot-details-modal .modal-header .room {
  font-weight: bold;
}
.time-slot-details-modal .modal-header .date {
  color: #999;
}
.time-slot-details-modal .modal-header .time {
  color: #5085b5;
}

.property-list-item {
  border-radius: 0.375rem;
}
.property-list-item:hover {
  background-color: #e2e2e2;
}
.property-list-item .property-list-label {
  font-weight: bold;
}

.gm-booking-list-item {
  border-radius: 0.375rem;
}
.gm-booking-list-item:hover {
  background-color: #e2e2e2;
}

.time-slot-icons {
  margin: 0 auto;
  padding: 0;
  max-width: 50px;
}
.time-slot-icons .time-slot-icon {
  display: inline;
}
.time-slot-icons .time-slot-icon-payment {
  opacity: 0.5;
}
.time-slot-icons .time-slot-icon-payment.paid {
  opacity: 1;
  color: #ffff00;
}
.time-slot-icons .time-slot-icon-payment.invoice-created {
  opacity: 1;
  color: #00e9ff;
}

.popover-title-separator {
  color: #61BEFF;
}

.popover-content-separator {
  color: #ff6000;
}

.fa-stack-fw {
  width: 1.25em !important;
}

.dashboard-page {
  min-width: 0;
}

.dashboard-chart-wrap {
  position: relative;
  height: 300px;
}
