.occupation-bar {
  display: block;
  position: absolute;
  bottom: 0;
  height: 3px;
  background: #88e;
  transition: max-width 300ms ease-in;
  max-width: 0%;
  width: 100%; }

.full .occupation-bar {
  background: #33e; }

.overbooking .occupation-bar {
  background: #e33; }

li.full {
  background: #f8f8fe; }

li.cancelled span.event-info {
  text-decoration: line-through; }

li.new-report {
  font-weight: bold; }

li span.duration {
  font-size: 80%; }

li span.identifier {
  font-size: 80%;
  opacity: 0.6; }

h2 span.identifier {
  font-size: 1rem;
  opacity: 0.6; }

.time-only-picker thead {
  display: none; }

.time-only-picker tbody td {
  width: 200px; }

.timeperiods {
  display: flex;
  flex-wrap: wrap; }

.timeperiods .timeperiod {
  flex: 1 0 auto;
  width: 18%;
  margin-right: 10px;
  margin-bottom: 10px;
  position: relative; }

.timeperiods .timeperiod h4 {
  margin-top: 0; }

.timeperiods .timeperiod a.add::before {
  content: "\f055";
  /* plus-circle */
  font-family: FontAwesome;
  padding-right: 1ex; }

a.timeperiod-list-all {
  font-style: italic; }

.link-action-icon.settings::before {
  content: "\f0ad";
  /* wrench */ }

.openevents .section h4:first-child {
  margin-top: 0; }

table.agenda-table {
  margin-top: 1em;
  border-spacing: 0.5vw 0;
  table-layout: fixed;
  background-color: white;
  padding: 0.5em 0;
  padding-bottom: 2em; }

.agenda-table thead th {
  padding-bottom: 1ex;
  font-weight: normal;
  word-break: break-word; }

.agenda-table {
  width: 100%; }
  .agenda-table.desks-1 thead th {
    width: 99%; }
  .agenda-table.desks-2 thead th {
    width: 49%; }
  .agenda-table.desks-3 thead th {
    width: 32.3333333333%; }
  .agenda-table.desks-4 thead th {
    width: 24%; }
  .agenda-table.desks-5 thead th {
    width: 19%; }
  .agenda-table.desks-6 thead th {
    width: 15.6666666667%; }
  .agenda-table.desks-7 thead th {
    width: 13.2857142857%; }

.agenda-table tbody tr th {
  box-sizing: border-box;
  padding: 1.2ex 2ex;
  vertical-align: top;
  font-weight: normal; }
  .agenda-table tbody tr th.hour {
    text-align: left; }
  .agenda-table tbody tr th.weeknum {
    text-align: left;
    padding-top: 3rem; }
  .agenda-table tbody tr th a {
    color: #000;
    border: 0; }
  .agenda-table tbody tr th.weekday {
    padding-top: 3rem; }
    .agenda-table tbody tr th.weekday.today {
      font-weight: bold; }

.agenda-table tbody tr:first-child th.weekday,
.agenda-table tbody tr:first-child th.weeknum {
  padding-top: 1ex; }

.agenda-table thead tr:first-child td:first-child,
.agenda-table tbody tr:first-child th:not(.weekday) {
  width: 6em; }

.agenda-table tbody tr.odd th.hour,
.agenda-table tbody tr.odd td {
  background-color: #f5f5f5; }
  @media print {
    .agenda-table tbody tr.odd th.hour,
    .agenda-table tbody tr.odd td {
      border-top: 1px solid #aaa; } }
.agenda-table tbody tr.odd td.other-month {
  background: transparent; }

.agenda-table tbody td {
  padding: 0 1ex;
  vertical-align: top;
  position: relative;
  border: 0; }

table.hourspan-1 tbody th {
  height: calc(1 * 2.5em); }

table.hourspan-2 tbody th {
  height: calc(2 * 2.5em); }

table.hourspan-3 tbody th {
  height: calc(3 * 2.5em); }

table.hourspan-4 tbody th {
  height: calc(4 * 2.5em); }

table.hourspan-5 tbody th {
  height: calc(5 * 2.5em); }

table.hourspan-6 tbody th {
  height: calc(6 * 2.5em); }

table.hourspan-7 tbody th {
  height: calc(7 * 2.5em); }

table.hourspan-8 tbody th {
  height: calc(8 * 2.5em); }

table.hourspan-9 tbody th {
  height: calc(9 * 2.5em); }

table.hourspan-10 tbody th {
  height: calc(10 * 2.5em); }

table.hourspan-11 tbody th {
  height: calc(11 * 2.5em); }

table.hourspan-12 tbody th {
  height: calc(12 * 2.5em); }

table.hourspan-13 tbody th {
  height: calc(13 * 2.5em); }

table.hourspan-14 tbody th {
  height: calc(14 * 2.5em); }

table.hourspan-15 tbody th {
  height: calc(15 * 2.5em); }

table.hourspan-16 tbody th {
  height: calc(16 * 2.5em); }

table.hourspan-17 tbody th {
  height: calc(17 * 2.5em); }

table.hourspan-18 tbody th {
  height: calc(18 * 2.5em); }

table.hourspan-19 tbody th {
  height: calc(19 * 2.5em); }

table.hourspan-20 tbody th {
  height: calc(20 * 2.5em); }

table.hourspan-21 tbody th {
  height: calc(21 * 2.5em); }

table.hourspan-22 tbody th {
  height: calc(22 * 2.5em); }

table.hourspan-23 tbody th {
  height: calc(23 * 2.5em); }

table.hourspan-24 tbody th {
  height: calc(24 * 2.5em); }

table.hourspan-25 tbody th {
  height: calc(25 * 2.5em); }

table.hourspan-26 tbody th {
  height: calc(26 * 2.5em); }

table.hourspan-27 tbody th {
  height: calc(27 * 2.5em); }

table.hourspan-28 tbody th {
  height: calc(28 * 2.5em); }

table.hourspan-29 tbody th {
  height: calc(29 * 2.5em); }

table.hourspan-30 tbody th {
  height: calc(30 * 2.5em); }

table.hourspan-31 tbody th {
  height: calc(31 * 2.5em); }

table.hourspan-32 tbody th {
  height: calc(32 * 2.5em); }

table.hourspan-33 tbody th {
  height: calc(33 * 2.5em); }

table.hourspan-34 tbody th {
  height: calc(34 * 2.5em); }

table.hourspan-35 tbody th {
  height: calc(35 * 2.5em); }

table.hourspan-36 tbody th {
  height: calc(36 * 2.5em); }

table.hourspan-37 tbody th {
  height: calc(37 * 2.5em); }

table.hourspan-38 tbody th {
  height: calc(38 * 2.5em); }

table.hourspan-39 tbody th {
  height: calc(39 * 2.5em); }

table.hourspan-40 tbody th {
  height: calc(40 * 2.5em); }

table.hourspan-41 tbody th {
  height: calc(41 * 2.5em); }

table.hourspan-42 tbody th {
  height: calc(42 * 2.5em); }

table.hourspan-43 tbody th {
  height: calc(43 * 2.5em); }

table.hourspan-44 tbody th {
  height: calc(44 * 2.5em); }

table.hourspan-45 tbody th {
  height: calc(45 * 2.5em); }

table.hourspan-46 tbody th {
  height: calc(46 * 2.5em); }

table.hourspan-47 tbody th {
  height: calc(47 * 2.5em); }

table.hourspan-48 tbody th {
  height: calc(48 * 2.5em); }

table.hourspan-49 tbody th {
  height: calc(49 * 2.5em); }

table.hourspan-50 tbody th {
  height: calc(50 * 2.5em); }

table.hourspan-51 tbody th {
  height: calc(51 * 2.5em); }

table.hourspan-52 tbody th {
  height: calc(52 * 2.5em); }

table.hourspan-53 tbody th {
  height: calc(53 * 2.5em); }

table.hourspan-54 tbody th {
  height: calc(54 * 2.5em); }

table.hourspan-55 tbody th {
  height: calc(55 * 2.5em); }

table.hourspan-56 tbody th {
  height: calc(56 * 2.5em); }

table.hourspan-57 tbody th {
  height: calc(57 * 2.5em); }

table.hourspan-58 tbody th {
  height: calc(58 * 2.5em); }

table.hourspan-59 tbody th {
  height: calc(59 * 2.5em); }

table.hourspan-60 tbody th {
  height: calc(60 * 2.5em); }

.agenda-table tbody td .opening-hours, .agenda-table tbody td .exception-hours, .agenda-table tbody td .booking {
  box-sizing: border-box;
  position: absolute;
  overflow: hidden; }

.agenda-table tbody td .opening-hours, .agenda-table tbody td .exception-hours {
  z-index: 1;
  background: linear-gradient(135deg, rgba(248, 250, 230, 0.4) 20%, rgba(244, 246, 223, 0.7) 70%, #f0f2d9 90%) fixed;
  left: 0;
  width: 100%; }

.agenda-table tbody td .opening-hours {
  border-left: 0.5em solid #e2dc74;
  display: grid;
  grid-template-rows: repeat(auto-fit, var(--step)); }

.agenda-table tbody td .exception-hours {
  background: repeating-linear-gradient(135deg, rgba(198, 187, 185, 0.7) 0, rgba(209, 201, 199, 0.55) 10px, transparent 11px, transparent 20px);
  text-align: center; }

.agenda-table tbody td .booking {
  display: flex;
  gap: 1ex;
  left: 0;
  color: #1066bc;
  padding: 1ex;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.65) 100%) currentColor;
  width: 100%;
  border-color: currentColor;
  border-left: .5em solid;
  border-top: 1px solid;
  box-shadow: 0 0 0 0 #888, 0 -1px 1px 1px white;
  transition: width 150ms ease-in, min-width 150ms ease-in, left 150ms ease-in, right 150ms ease-in, padding 150ms ease-in, box-shadow 250ms ease-in;
  z-index: 2; }
  .agenda-table tbody td .booking.lease {
    background: repeating-linear-gradient(135deg, rgba(198, 187, 185, 0.7) 0, rgba(209, 201, 199, 0.55) 10px, transparent 11px, transparent 20px);
    color: rgba(0, 0, 0, 0.7); }
  .agenda-table tbody td .booking > * {
    color: rgba(0, 0, 0, 0.7); }
  .agenda-table tbody td .booking--label {
    color: rgba(0, 0, 0, 0.75);
    transition: 0.3s color; }
  .agenda-table tbody td .booking--infos {
    margin: 0;
    flex-grow: 1; }
  .agenda-table tbody td .booking--info-link {
    display: block;
    color: inherit;
    border: none; }
    .agenda-table tbody td .booking--info-link::after {
      content: "\f14c";
      font-family: fontAwesome;
      color: black;
      opacity: 0;
      transition: 0.4s 0.2s opacity; }
    .agenda-table tbody td .booking--info-link:hover::after {
      opacity: 1; }
    .agenda-table tbody td .booking--info-link:hover .booking--label {
      color: black; }
  .agenda-table tbody td .booking--actions-bar {
    visibility: hidden; }
  .agenda-table tbody td .booking--action {
    --button-size: 20px;
    --button-padding: 3px;
    box-sizing: border-box;
    display: block;
    color: inherit;
    border: none;
    width: var(--button-size);
    height: var(--button-size);
    padding: var(--button-padding);
    border-radius: var(--button-padding);
    font-size: calc( var(--button-size) - ((var(--button-padding) * 2) ));
    line-height: 1;
    text-align: center; }
    .agenda-table tbody td .booking--action::before {
      content: var(--button-icon);
      font-family: fontAwesome; }
    .agenda-table tbody td .booking--action .action-label {
      display: none; }
    .agenda-table tbody td .booking--action:hover, .agenda-table tbody td .booking--action:focus {
      color: var(--hover-color, black);
      outline: 1px solid; }
    .agenda-table tbody td .booking--action.cancel {
      --button-icon: "\f1f8"; }
  .agenda-table tbody td .booking:hover, .agenda-table tbody td .booking:focus-within {
    z-index: 10;
    height: auto !important;
    box-shadow: 0 0 1em 0 #888; }
    .agenda-table tbody td .booking:hover .booking--actions-bar, .agenda-table tbody td .booking:focus-within .booking--actions-bar {
      visibility: visible; }

.agenda-table tbody td .add-booking-on-time {
  all: unset;
  display: block;
  color: transparent;
  white-space: nowrap; }
  .agenda-table tbody td .add-booking-on-time::before {
    content: "\f271";
    font-family: FontAwesome;
    margin: 0 .5em; }
  .agenda-table tbody td .add-booking-on-time:hover, .agenda-table tbody td .add-booking-on-time.visible {
    color: var(--link-hover-color);
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer; }
  .agenda-table tbody td .add-booking-on-time[disabled] {
    visibility: hidden; }

.agenda-table tbody tr td.guardian {
  vertical-align: middle;
  background-image: linear-gradient(110deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.65) 100%); }
  .agenda-table tbody tr td.guardian.first-guardian {
    background-color: #eb7500; }
  .agenda-table tbody tr td.guardian.second-guardian {
    background-color: #268c26; }

.agenda-table tbody {
  position: relative; }

.agenda-table .agenda-table--hour-indicator {
  position: absolute;
  display: block;
  padding: 0;
  top: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: var(--red);
  z-index: 10; }

.weekview tbody td div.booking,
.monthview tbody td div.booking {
  flex-direction: column; }
  .weekview tbody td div.booking:hover, .weekview tbody td div.booking:focus-within,
  .monthview tbody td div.booking:hover,
  .monthview tbody td div.booking:focus-within {
    text-indent: 0;
    left: 0% !important;
    width: auto !important;
    min-width: 100%; }

.monthview tbody td div.booking {
  text-indent: -9999px; }
  .monthview tbody td div.booking:not(:hover) {
    padding-top: 0;
    padding-bottom: 0; }
  .monthview tbody td div.booking:hover {
    text-indent: 0; }
  .monthview tbody td div.booking span.desk {
    display: block; }

.monthview table.single-desk tbody td div.booking {
  text-indent: 0; }

.day-view.agenda-table {
  width: auto;
  min-width: 100%; }
  .day-view.agenda-table thead th {
    min-width: 25px; }
  .day-view.agenda-table thead td,
  .day-view.agenda-table tbody th {
    position: sticky;
    left: 0;
    z-index: 3;
    background-color: white; }
  .day-view.agenda-table .booking {
    min-width: 0;
    right: 0;
    left: auto; }
    .day-view.agenda-table .booking:hover {
      right: 0;
      min-width: 8.5em; }

span.start-time {
  font-size: 80%; }

.date-title {
  cursor: pointer; }

span.buttons-group {
  display: inline-flex; }
  span.buttons-group .date-prev {
    margin-left: 0; }

div#appbar > h2.date-nav {
  font-size: 100%;
  position: static; }
  div#appbar > h2.date-nav .date-title {
    font-size: 200%;
    position: relative;
    top: 4px;
    margin-left: 0.5em;
    margin-right: 0.5em; }

.date-prev::after, .date-next::after, .date-picker-opener::after {
  font-weight: normal;
  font-size: 1rem;
  font-family: FontAwesome; }

.date-prev::after {
  content: "\f053"; }

/* chevron-left */
.date-next::after {
  content: "\f054"; }

/* chevron-right */
.date-picker-opener::after {
  content: "\f073"; }

/* calendar */
.date-picker {
  position: absolute;
  background: #FAFAFA;
  border: 1px solid #d0d0d0;
  box-shadow: 0px 1px 1px 2px rgba(0, 0, 0, 0.04);
  padding: 1ex 4ex;
  left: 0;
  top: 6ex;
  z-index: 100; }
  .date-picker button, .date-picker select {
    font-size: 1rem; }
  .date-picker::before {
    position: absolute;
    content: "";
    display: block;
    width: 1ex;
    height: 1ex;
    border: 1px solid #d0d0d0;
    border-width: 1px 0 0 1px;
    top: -0.6ex;
    left: 9rem;
    background: #FAFAFA;
    transform: rotate(45deg); }

ul#id_weekdays {
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 42em; }
  ul#id_weekdays li {
    margin: 0;
    padding: 0;
    display: inline-block;
    width: 10em; }

ul.objects-list.single-links li a.link-action-icon.refresh {
  margin-right: 3em; }
  ul.objects-list.single-links li a.link-action-icon.refresh::before {
    content: "\f021";
    /* refresh */ }

ul.objects-list.single-links li a.link-action-icon.duplicate {
  margin-right: 3em; }
  ul.objects-list.single-links li a.link-action-icon.duplicate::before {
    content: "\f24d";
    /* clone */ }

ul.objects-list.single-links li a.link-action-icon.move-up::before {
  content: "\f062";
  /* move up */ }

ul.objects-list.single-links.agendas-archived li a span.badge {
  right: 6ex; }

ul.objects-list.single-links.agendas-archived li a.link-action-icon.unarchive::before {
  content: "\f0e2";
  /* undo */ }

ul.objects-list li.custom-color {
  position: relative; }
  ul.objects-list li.custom-color::before {
    width: 0.5ex;
    left: 0;
    top: 0;
    bottom: 0;
    content: "";
    position: absolute;
    background: var(--event-color); }

ul.objects-list.single-links.events-list li a:first-child span.event-title {
  font-weight: 600; }

ul.objects-list.single-links.events-list li a:first-child span.tags span.tag {
  left: 0; }

ul.objects-list.single-links.events-list .event-info {
  display: inline-block;
  padding-right: 6em; }

div.event-title-meta span.tag {
  box-sizing: border-box;
  margin-left: 1em;
  border-radius: 1ex;
  padding: 0 1ex;
  background: #386ede;
  color: white; }

div.ui-dialog form p span.datetime input,
div.ui-dialog form input[type=time] {
  width: auto; }

p.email-subject {
  text-align: center; }

table.check-bookings td.booking-username {
  border-left: 10px solid transparent;
  width: 30%; }

table.check-bookings td.booking-status {
  width: 20%; }

table.check-bookings td.booking-actions form {
  display: inline-block; }

table.check-bookings td.booking-username.booking-presence {
  border-left: 10px solid var(--green-dark); }

table.check-bookings td.booking-username.booking-absence {
  border-left: 10px solid var(--red); }

form.check-bookings-filters li {
  display: inline;
  margin-right: 10px; }

.check-bookings-filters--filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 2em;
  margin-bottom: 1em; }
  .check-bookings-filters--filters div.widget {
    margin-bottom: 0; }
  @media (max-width: 760px) {
    .check-bookings-filters--filters {
      flex-direction: column; } }
div.booking-meta-counters p.booking-meta-counters--deprecated-message {
  display: none; }

div.booking-meta-counters.deprecated {
  color: grey; }
  div.booking-meta-counters.deprecated p.booking-meta-counters--deprecated-message {
    display: block; }

.booking-colors {
  margin-top: 1.5rem; }

.booking-color-label {
  padding: .33em .66em;
  border-radius: 0.33em;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: bold;
  font-size: .65em; }

.agenda-table tbody td div.booking-color-0 {
  color: #eb7500; }

.booking-bg-color-0 {
  background-color: #eb7500; }

.agenda-table tbody td div.booking-color-1 {
  color: #268c26; }

.booking-bg-color-1 {
  background-color: #268c26; }

.agenda-table tbody td div.booking-color-2 {
  color: #804db3; }

.booking-bg-color-2 {
  background-color: #804db3; }

.agenda-table tbody td div.booking-color-3 {
  color: #cf1726; }

.booking-bg-color-3 {
  background-color: #cf1726; }

.agenda-table tbody td div.booking-color-4 {
  color: #822917; }

.booking-bg-color-4 {
  background-color: #822917; }

.agenda-table tbody td div.booking-color-5 {
  color: #979702; }

.booking-bg-color-5 {
  background-color: #979702; }

.agenda-table tbody td div.booking-color-6 {
  color: #1b6440; }

.booking-bg-color-6 {
  background-color: #1b6440; }

.agenda-table tbody td div.booking-color-7 {
  color: #e052b1; }

.booking-bg-color-7 {
  background-color: #e052b1; }

form div.widget[id^=id_recurrence] {
  padding-left: 1em; }

.weekdays-buttons-group {
  display: table;
  border-collapse: collapse;
  font-size: 1.2em;
  margin: 0.2em 0px;
  overflow: hidden; }
  .weekdays-buttons-group input {
    display: none; }
  .weekdays-buttons-group label {
    display: table-cell;
    border: 1px solid #386ede;
    padding: 0.33em 0.66em;
    color: #386ede;
    cursor: pointer;
    font-weight: 500;
    line-height: 1; }
    .weekdays-buttons-group label:hover {
      background-color: #eee; }
  .weekdays-buttons-group input:checked + label {
    background-color: #386ede;
    color: white;
    border-color: #386ede white; }

div.ui-dialog div.widget .datetime input {
  width: auto; }

table.timesheet {
  width: auto; }
  table.timesheet th {
    padding: 0.5em 0.5ex;
    background: none;
    border: 1px solid #f3f3f3; }
    table.timesheet th.date {
      width: 20px;
      text-align: center; }
    table.timesheet th.date-event {
      width: 60px;
      text-align: center; }
  table.timesheet td {
    padding: 0.5em 0.5ex;
    border: 1px solid #f3f3f3; }
    table.timesheet td.date {
      text-align: center;
      padding: 0px;
      max-width: 2em; }

.page_break {
  height: 20px; }

div.agenda-settings .pk-tabs--container > div {
  padding: 1ex; }
  div.agenda-settings .pk-tabs--container > div .panel--buttons a.button {
    line-height: inherit; }

#event_details {
  margin: 1em 0; }
  #event_details .objects-list .lease {
    background: repeating-linear-gradient(135deg, rgba(198, 187, 185, 0.7) 0, rgba(209, 201, 199, 0.55) 10px, transparent 11px, transparent 20px); }
  #event_details .objects-list .lease span {
    padding: 0 0.5ex 0 2ex; }

@media print {
  #event_details a.delete,
  #event_details .infonotice {
    display: none; } }

span.togglable {
  padding: 1em 2ex;
  cursor: pointer; }

.untoggled span.togglable:after {
  font-family: FontAwesome;
  content: "\f107";
  /* angle-down */
  cursor: pointer; }

.toggled span.togglable:after {
  font-family: FontAwesome;
  content: "\f106";
  /* angle-up */
  cursor: pointer; }

.extra-user-block {
  padding-left: 2em; }

div#appbar a.active {
  background: #386ede;
  color: white; }

div#main-content.partial-booking-dayview {
  overflow: visible; }

.partial-booking {
  --registrant-name-width: 15rem;
  --zebra-color:  hsla(0,0%,0%,0.05);
  --separator-color: white;
  --separator-size: 2px;
  --padding: 0.5rem;
  position: relative;
  background: white;
  padding: var(--padding); }
  .partial-booking--hours-list {
    background: white;
    position: sticky;
    z-index: 2;
    top: 0;
    display: grid;
    grid-template-columns: repeat(var(--nb-hours), 1fr);
    font-size: 80%; }
    @media (min-width: 761px) {
      .partial-booking--hours-list {
        padding-left: var(--registrant-name-width); } }
  .partial-booking--hour {
    text-align: center;
    transform: translateX(-50%); }
    .partial-booking--hour:first-child {
      visibility: hidden; }
  .partial-booking--occupation-rate-list {
    position: static;
    display: grid;
    grid-template-rows: 40px auto;
    align-items: end;
    margin-top: 0.33rem;
    margin-bottom: 1rem;
    border-top: 3px solid var(--zebra-color);
    grid-template-columns: repeat(var(--nb-hours), 1fr); }
    @media (min-width: 761px) {
      .partial-booking--occupation-rate-list {
        grid-template-columns: var(--registrant-name-width) repeat(var(--nb-hours), 1fr); } }
  .partial-booking .occupation-rate-list--title {
    margin: 0;
    font-size: 1rem;
    font-weight: normal;
    justify-self: end;
    align-self: end;
    padding: .66rem;
    padding-bottom: 0; }
    @media (max-width: 760px) {
      .partial-booking .occupation-rate-list--title {
        grid-column: 1/-1;
        grid-row: 2/3; } }
  .partial-booking .occupation-rate {
    --hue: calc(-0.3 * var(--rate-percent) + 40);
    --saturation: calc(0.25% * var(--rate-percent) + 50%);
    --luminosity: calc(-0.15% * var(--rate-percent) + 65%);
    background-color: hsl(var(--hue), var(--saturation), var(--luminosity));
    height: calc(1% * var(--rate-percent));
    margin: 0;
    opacity: 80%;
    position: relative; }
    .partial-booking .occupation-rate--info {
      display: block;
      position: absolute;
      z-index: 5;
      padding: .33em .66em;
      text-align: center;
      background-color: var(--font-color);
      color: white;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      margin-top: .5em;
      font-weight: bold;
      filter: drop-shadow(0 0 3px white); }
      .partial-booking .occupation-rate--info::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        border: .5em solid transparent;
        border-bottom-color: var(--font-color); }
    .partial-booking .occupation-rate:not(:hover) .occupation-rate--info {
      display: none; }
    .partial-booking .occupation-rate:hover {
      opacity: 100%;
      z-index: 4; }
    .partial-booking .occupation-rate.overbooked {
      --hue: 0;
      --saturation: 95%;
      --luminosity: 40%; }
  .partial-booking--registrant-items {
    margin-top: 0.5rem;
    position: relative; }
  .partial-booking--registrant {
    display: flex;
    flex-wrap: wrap; }
    .partial-booking--registrant:nth-child(odd) {
      background-color: var(--zebra-color); }
    .partial-booking--registrant:nth-child(even) {
      --separator-color: var(--zebra-color); }
    .partial-booking--registrant span.togglable {
      margin: 0;
      font-size: 130%;
      padding: .66rem;
      color: #505050; }
    .partial-booking--registrant .registrant--name {
      box-sizing: border-box;
      margin: 0;
      padding: .66rem;
      font-size: 130%;
      color: #505050;
      font-weight: normal; }
      @media (min-width: 761px) {
        .partial-booking--registrant .registrant--name {
          flex: 0 0 var(--registrant-name-width);
          text-align: right; } }
    .partial-booking--registrant .registrant--extra-user-block {
      font-size: 75%; }
    .partial-booking--registrant .registrant--datas {
      box-sizing: border-box;
      flex: 1 0 100%;
      padding: .33rem 0;
      background: linear-gradient(to left, var(--separator-color) var(--separator-size), transparent var(--separator-size), transparent 100%);
      background-size: calc(100% / var(--nb-hours)) 100%; }
      @media (min-width: 761px) {
        .partial-booking--registrant .registrant--datas {
          flex-basis: auto; } }
      @media (min-width: 761px) {
        .partial-booking--registrant .registrant--datas {
          border-left: var(--separator-size) solid var(--separator-color); } }
    .partial-booking--registrant .registrant--bar-container {
      position: relative;
      margin: 0.33rem 0; }
    .partial-booking--registrant .registrant--bar {
      box-sizing: border-box;
      display: inline-block;
      margin: 0;
      position: relative;
      background-color: var(--bar-color);
      color: white;
      border: none; }
      .partial-booking--registrant .registrant--bar:not(:first-child) {
        position: absolute;
        top: 0; }
      .partial-booking--registrant .registrant--bar .start-time, .partial-booking--registrant .registrant--bar .end-time {
        display: inline-block;
        padding: 0.33em 0.66em; }
      .partial-booking--registrant .registrant--bar .end-time {
        float: right; }
      .partial-booking--registrant .registrant--bar.booking {
        --bar-color: #1066bc; }
        .partial-booking--registrant .registrant--bar.booking .occasional {
          font-style: italic;
          font-size: 90%; }
      .partial-booking--registrant .registrant--bar.check.present, .partial-booking--registrant .registrant--bar.computed.present {
        --bar-color: var(--green); }
      .partial-booking--registrant .registrant--bar.check.absent, .partial-booking--registrant .registrant--bar.computed.absent {
        --bar-color: var(--red); }
      .partial-booking--registrant .registrant--bar.computed {
        opacity: 0.6; }
      .partial-booking--registrant .registrant--bar.end-only, .partial-booking--registrant .registrant--bar.start-only {
        background-color: transparent; }
        .partial-booking--registrant .registrant--bar.end-only .end-time, .partial-booking--registrant .registrant--bar.end-only .start-time, .partial-booking--registrant .registrant--bar.start-only .end-time, .partial-booking--registrant .registrant--bar.start-only .start-time {
          background-color: var(--bar-color);
          position: relative; }
          .partial-booking--registrant .registrant--bar.end-only .end-time::before, .partial-booking--registrant .registrant--bar.end-only .start-time::before, .partial-booking--registrant .registrant--bar.start-only .end-time::before, .partial-booking--registrant .registrant--bar.start-only .start-time::before {
            content: "?";
            color: var(--bar-color);
            font-weight: 800;
            line-height: 0;
            position: absolute;
            border: 0.75em solid transparent;
            width: 0;
            height: 0;
            top: 0;
            bottom: 0;
            margin: auto; }
        .partial-booking--registrant .registrant--bar.end-only .start-time::before, .partial-booking--registrant .registrant--bar.start-only .start-time::before {
          left: 100%;
          border-left-color: var(--bar-color);
          text-indent: 0.25em; }
        .partial-booking--registrant .registrant--bar.end-only .end-time::before, .partial-booking--registrant .registrant--bar.start-only .end-time::before {
          right: 100%;
          border-right-color: var(--bar-color);
          text-indent: -0.75em; }
  .partial-booking--hour-indicator-wrapper {
    position: absolute;
    inset: 0 var(--padding) 0 var(--padding); }
    @media (min-width: 761px) {
      .partial-booking--hour-indicator-wrapper {
        margin-left: var(--registrant-name-width); } }
  .partial-booking--hour-indicator {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: var(--red);
    z-index: 3; }
  .partial-booking-month {
    width: 100%;
    border-spacing: 0; }
    .partial-booking-month col.we {
      background-color: var(--zebra-color); }
    .partial-booking-month col.today {
      background-image: linear-gradient(135deg, #f8fae6 20%, #f4f6df 70%, #f0f2d9 90%); }
    .partial-booking-month--day {
      padding: .33em; }
      .partial-booking-month--day a {
        color: var(--font-color);
        font-weight: normal;
        text-decoration: none; }
      .partial-booking-month--day.today a {
        font-weight: bold; }
    .partial-booking-month .registrant--name {
      box-sizing: border-box;
      text-align: right;
      padding: .66rem;
      font-size: 130%;
      color: #505050;
      font-weight: normal;
      width: var(--registrant-name-width); }
    .partial-booking-month .registrant--day-cell {
      border-left: var(--separator-size) solid var(--separator-color);
      text-align: center;
      vertical-align: middle;
      padding: .33em;
      line-height: 0; }
      .partial-booking-month .registrant--day-cell .booking {
        display: inline-block;
        width: Min(100%, 1.75em);
        height: 1.75em;
        --booking-color: #1066bc;
        background-color: var(--booking-color); }
        .partial-booking-month .registrant--day-cell .booking.present {
          background: var(--green); }
        .partial-booking-month .registrant--day-cell .booking.absent {
          background: var(--red); }
    .partial-booking-month--registrant:nth-child(odd) th, .partial-booking-month--registrant:nth-child(odd) td {
      background-color: var(--zebra-color); }
    .partial-booking-month--registrant:nth-child(even) th, .partial-booking-month--registrant:nth-child(even) td {
      --separator-color: var(--zebra-color); }

.partial-booking--check-icon {
  border: 0; }
  .partial-booking--check-icon::before {
    content: "\f017";
    /* clock */
    font-family: FontAwesome;
    padding-left: 1ex; }

/* ants-hub */
ul.objects-list.single-links li.ants-setting-not-configured a.edit {
  color: red; }

.ants-setting .meeting-type {
  vertical-align: top;
  text-align: center; }

.ants-setting ul.inline {
  display: flex;
  width: 40em;
  margin: 1ex;
  margin-block-start: 0em;
  padding-inline-start: 0em; }

.ants-setting ul.inline li {
  flex: 1;
  text-align: center;
  border: 1px solid grey;
  border-width: 1px 0px 1px 1px;
  list-style: none; }

.ants-setting ul.inline li:first-child {
  border-radius: 5px 0px 0px 5px; }

.ants-setting li label {
  width: 100%;
  display: inline-block; }

.ants-setting ul.inline li:last-child {
  border-radius: 0px 5px 5px 0px;
  border-width: 1px 1px 1px 1px; }

.ants-setting ul.inline input {
  display: none; }

.ants-setting label.checked {
  background: lightblue; }

/* used for the city-edit link */
.icon-edit::before {
  content: "\f044"; }

.application-logo, .application-icon {
  vertical-align: middle; }

.snapshots-list .collapsed {
  display: none; }

#chrono-reports-main {
  background: none bottom right no-repeat;
  background-image: url(reports_background.svg);
  background-size: 100vh auto;
  min-height: 80vh;
  width: 99%;
  height: 90%; }
  @media screen and (max-width: 760px) {
    #chrono-reports-main {
      background: none !important;
      min-height: 0;
      height: auto; } }
.formset--remove-button::before {
  content: "\f068";
  /* minus */
  font-family: FontAwesome; }

#event-form input[type="text"], #event-form textarea {
  width: 100%; }

table.audit-journal a.link-action-icon.link {
  width: 1em;
  display: block;
  padding: 0.5em 0.5ex 0.5em 2ex;
  border: none; }
  table.audit-journal a.link-action-icon.link::before {
    content: "\f08e";
    /* fa-external-link  */
    font-family: fontAwesome;
    padding-right: 3em; }
