/* stylelint-disable value-keyword-case */
/* stylelint-enable value-keyword-case */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  overflow-y: scroll;
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background-color: hsl(210deg, 17%, 98%);
  color: hsl(210deg, 11%, 15%);
  line-height: 1.5;
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

img,
picture,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
}

select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url(/assets/icons/select-9c28125051d1f0acf910927b4a270df002bd343b99b8864b405cc6fd27d8657d.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 0.75rem) center;
  padding-right: 2.5rem;
}

input:focus,
textarea:focus,
select:focus {
  box-shadow: 0 0 0.5px 0.5px hsl(22deg, 90%, 39%) inset;
  border-color: hsl(22deg, 90%, 39%);
  outline: 0 none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: hsl(0deg, 0%, 15%);
  line-height: 1.1;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}

h4 {
  font-size: 1.125rem;
}

a {
  color: hsl(26deg, 88%, 46%);
  text-decoration: none;
  transition: color 200ms;
}

input[type=checkbox] {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.188rem;
  border: 0.188rem solid hsl(0deg, 0%, 64%);
}
input[type=checkbox]:focus {
  box-shadow: none;
}

input[type=checkbox]:after {
  content: "";
  background-color: hsl(22deg, 90%, 39%);
  display: inline-block;
  border-radius: 0.188rem;
}

input[type=checkbox]:checked:after {
  background-image: url(/assets/icons/check-mark-3e54ff2cf2e8f64b17c397bba9924248a723c01c051d31ddb9357cd51866365d.svg);
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-0.188rem, -0.188rem);
  border: 0.188rem solid hsl(22deg, 90%, 39%);
}

input[type=radio] {
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  background-color: transparent;
  background: transparent;
}
input[type=radio]:checked {
  background-image: url(/assets/icons/checked-b79166eb956a9cc279906b5fc3a7ae7380c5a225d711d6a1939f2842b58670d5.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.875rem 0.875rem;
}

@keyframes transform-scale-from-zero-to-one {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes transform-scale-from-one-to-zero {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes transform-and-translate {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(1.5rem, 0);
  }
}
.body-map {
  width: 60vw;
  display: flex;
  column-gap: 0.5rem;
  fill: hsl(0deg, 0%, 80%);
}
.body-map .active {
  fill: hsl(26deg, 88%, 46%);
}
.body-map .selected {
  fill: hsl(0deg, 0%, 60%);
}
.body-map .not-selected {
  opacity: 0.7;
}
.body-map__part {
  -webkit-transition: fill 0.3s ease;
  -moz-transition: fill 0.3s ease;
  -o-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.body-map__show {
  fill: hsl(0deg, 0%, 80%);
  -webkit-transition: fill 0.3s ease;
  -moz-transition: fill 0.3s ease;
  -o-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}

.body-map-highlight .body-map .not-selected {
  opacity: 1;
}

.bottom-navigation {
  position: fixed;
  bottom: 0;
  width: 100%;
}
.bottom-navigation__menu {
  display: flex;
  align-items: center;
  justify-content: space-around;
  font-size: 1rem;
  gap: 0.75rem;
  list-style: none;
  box-shadow: 2px 4px 10px hsla(0deg, 0%, 0%, 0.1);
  border-radius: 5rem;
  background-color: hsl(0deg, 0%, 100%);
  padding: 1rem;
  margin: 0 1rem 1.5rem 1rem;
}
@media (min-width: 40rem) {
  .bottom-navigation__menu {
    padding: 1.5rem;
  }
}
@media (min-width: 48rem) {
  .bottom-navigation__menu {
    margin: 0 1.5rem 2.5rem 1.5rem;
  }
}
.bottom-navigation__menu__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  color: hsl(32deg, 86%, 69%);
  font-weight: 700;
}
.bottom-navigation__menu__item--active {
  color: hsl(26deg, 88%, 46%);
}
.bottom-navigation__menu__item--active:hover {
  color: hsl(26deg, 88%, 46%);
  opacity: 0.9;
}

.customer {
  cursor: pointer;
  flex-grow: 1;
}
.customer__border {
  border-bottom-width: 0.25rem;
  border-color: hsl(0deg, 0%, 45%);
}
.customer__border.active, .customer__border[aria-selected=true], .customer__border:hover {
  border-color: hsl(26deg, 88%, 46%) !important;
  color: hsl(26deg, 88%, 46%) !important;
}
.customer__white-border {
  border: solid 1px hsl(0deg, 0%, 83%);
}
.customer__no-meeting-room svg {
  transform: scale(1.5);
}
.customer__usage-history svg {
  margin: auto;
}
.customer__usage-history tr:nth-child(even) > td:first-child {
  background-color: hsl(210deg, 20%, 98%);
}
.customer__usage-history tr:nth-child(odd) > td:first-child {
  background-color: hsl(0deg, 0%, 100%);
}

.daily-complete__fa-calendar {
  margin-left: -2rem;
  margin-top: 0.8rem;
}

.datepicker .disabled {
  color: hsl(0deg, 0%, 45%);
  opacity: 0.5;
  cursor: not-allowed;
}

.devise {
  display: grid;
  align-items: center;
  height: 100dvh;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.devise__body {
  margin: 0 2.25rem;
}
@media (min-width: 40rem) {
  .devise__body {
    margin: 0 5.25rem;
  }
}
.devise__logo {
  margin: 3.75rem auto 1.25rem;
}

.flash-message__success {
  background-color: hsl(140.6deg, 84.2%, 92.5%);
}
.flash-message__success__title {
  color: hsl(142.4deg, 71.8%, 29.2%);
}
.flash-message__success__button {
  background-color: hsl(140.6deg, 84.2%, 92.5%);
  color: hsl(142.4deg, 71.8%, 29.2%);
}
.flash-message__success__button:hover {
  background-color: hsl(141deg, 78.9%, 85.1%);
}
.flash-message__info, .flash-message__notice {
  background-color: hsl(214.3deg, 94.6%, 92.7%);
}
.flash-message__info__title, .flash-message__notice__title {
  color: hsl(224.3deg, 76.3%, 48%);
}
.flash-message__info__button, .flash-message__notice__button {
  background-color: hsl(214.3deg, 94.6%, 92.7%);
  color: hsl(224.3deg, 76.3%, 48%);
}
.flash-message__info__button:hover, .flash-message__notice__button:hover {
  background-color: hsl(213.3deg, 96.9%, 87.3%);
}
.flash-message__danger, .flash-message__alert {
  background-color: hsl(0deg, 93.3%, 94.1%);
}
.flash-message__danger__title, .flash-message__alert__title {
  color: hsl(0deg, 73.7%, 41.8%);
}
.flash-message__danger__button, .flash-message__alert__button {
  background-color: hsl(0deg, 93.3%, 94.1%);
  color: hsl(0deg, 73.7%, 41.8%);
}
.flash-message__danger__button:hover, .flash-message__alert__button:hover {
  background-color: hsl(0deg, 96.3%, 89.4%);
}
.flash-message__warning {
  background-color: hsl(54.9deg, 96.7%, 88%);
}
.flash-message__warning__title {
  color: hsl(35.5deg, 91.7%, 32.9%);
}
.flash-message__warning__button {
  background-color: hsl(54.9deg, 96.7%, 88%);
  color: hsl(35.5deg, 91.7%, 32.9%);
}
.flash-message__warning__button:hover {
  background-color: hsl(52.8deg, 98.3%, 76.9%);
}

.form__label {
  color: hsl(0deg, 0%, 32%);
  font-size: 1rem;
  display: block;
}
.form__label--invalid {
  color: hsl(0deg, 100%, 50%);
}
.form__input--invalid {
  border-color: hsl(0deg, 100%, 50%);
}
.form__input--invalid:focus {
  border-color: hsl(0deg, 100%, 50%);
  box-shadow: 0 0 0.5px 0.5px hsl(0deg, 100%, 50%) inset;
}
.form label abbr:where([title]) {
  text-decoration: none;
}

td.small-radio > input[type=radio] {
  width: 1.125rem;
  height: 1.125rem;
  background-size: 0.75rem 0.75rem;
}

input[type=checkbox].small-checkbox {
  --size: 1rem;
  width: var(--size);
  height: var(--size);
  border: 0.125rem solid hsl(0deg, 0%, 64%);
  border-radius: 0.125rem;
  color: hsl(22deg, 90%, 39%);
}
input[type=checkbox].small-checkbox:checked {
  border-color: hsl(22deg, 90%, 39%);
}
input[type=checkbox].small-checkbox:checked:after {
  width: var(--size);
  height: var(--size);
  border-radius: 0.125rem;
  transform: translate(-0.125rem, -0.25rem);
  background-size: 0.75rem 0.75rem;
}

.map__current-location {
  margin: 1.5rem 1.5rem;
  width: 62px;
  height: 62px;
  background-image: url(/assets/map/location-7e6ea9d3a19789fe59f74154093b71c3cb8ef917c6dde954170b67a505a8924f.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  cursor: pointer;
}
.map__info-window {
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  line-height: 150%;
}
.map__info-window__name {
  font-weight: 700;
  font-size: 0.875rem;
  color: hsl(0deg, 0%, 15%);
}
.map__info-window__status {
  font-weight: 400;
  font-size: 0.75rem;
  color: hsl(0deg, 0%, 0%);
}
.map__search {
  margin: 1.25rem 1rem;
  font-size: 0.75rem;
  line-height: 100%;
  align-items: center;
  color: hsl(0deg, 0%, 98%);
  padding: 0.5rem 0.75rem;
  background: hsl(22deg, 90%, 39%);
  border-radius: 0.25rem;
}

.gm-style-iw-tc {
  display: none;
}

.gm-style-iw-d {
  overflow: auto !important;
}

.gm-style-iw.gm-style-iw-c {
  padding-right: 12px !important;
  padding-bottom: 12px !important;
}

.navbar {
  height: 3.75rem;
  background-color: hsl(0deg, 0%, 100%);
  box-shadow: 2px 4px 10px hsla(0deg, 0%, 0%, 0.1);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.navbar__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.navbar__back {
  cursor: pointer;
  position: absolute;
  left: 1.5rem;
}
.navbar__back__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: hsl(210deg, 11%, 15%);
}
.navbar__back__link:hover, .navbar__back__link:focus, .navbar__back__link:active {
  color: hsl(0deg, 0%, 45%);
}

.pagy-nav {
  display: flex;
  justify-content: center;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  gap: 0.5rem;
  align-items: center;
}
.pagy-nav .page {
  background: hsl(0deg, 0%, 100%);
  font-family: Roboto, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.875rem;
  color: hsl(0deg, 0%, 83%);
  border: 1px solid hsl(0deg, 0%, 83%);
  border-radius: 0.125rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.pagy-nav .page a {
  padding: 0.25rem 0.75rem;
  color: hsl(0deg, 0%, 0%);
}
.pagy-nav .page.active {
  color: hsl(26deg, 88%, 46%);
  border: 1px solid hsl(26deg, 88%, 46%);
  border-radius: 0.125rem;
  padding: 0.25rem 0.75rem;
}
.pagy-nav .page.gap {
  border: 0;
  color: hsl(0deg, 0%, 0%);
  padding-bottom: auto;
  text-align: center;
}
.pagy-nav .page.prev a, .pagy-nav .page.next a {
  padding: 0;
}
.pagy-nav .page.prev.disabled, .pagy-nav .page.next.disabled {
  color: hsl(0deg, 0%, 83%);
}
.pagy-nav .page.prev.disabled,
.pagy-nav .page.prev a {
  padding-left: 5px;
  padding-right: 11px;
}
.pagy-nav .page.next.disabled,
.pagy-nav .page.next a {
  padding-left: 11px;
  padding-right: 5px;
}
.pagy-nav .page.disabled {
  color: hsl(0deg, 0%, 83%);
}

/* stylelint-disable no-descending-specificity */
@supports (-webkit-touch-callout: none) and (not (translate: none)) {
  .gap-2 > *:not(:last-child) {
    margin-right: 0.5rem;
  }
  .gap-3 > *:not(:last-child) {
    margin-right: 0.75rem;
  }
  .gap-5 > *:not(:last-child) {
    margin-right: 1.25rem;
  }
  .gap-6 > *:not(:last-child) {
    margin-right: 1.5rem;
  }
  .bottom-navigation__menu > *:not(:last-child) {
    margin-right: 0.75rem;
  }
  .bottom-navigation__menu__item > *:not(:last-child) {
    margin-right: 0.75rem;
  }
  .navbar__back__link > * {
    margin-right: 0.75rem;
  }
  .pagy-nav > * {
    margin-right: 0.5rem;
  }
}
/* stylelint-enable no-descending-specificity */
.drop-shadow__large {
  filter: drop-shadow(0 3px 4.65px hsla(0deg, 0%, 0%, 0.27));
}

.shadow-default {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.spinner {
  display: inline-block;
  position: relative;
  width: 5rem;
  height: 3rem;
}
.spinner div {
  position: absolute;
  top: 0.75rem;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: hsl(26deg, 88%, 46%);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.spinner div.bg-white {
  background: white;
}
.spinner div:nth-child(1) {
  left: 0.5rem;
  animation: transform-scale-from-zero-to-one 0.6s infinite;
}
.spinner div:nth-child(2) {
  left: 0.5rem;
  animation: transform-and-translate 0.6s infinite;
}
.spinner div:nth-child(3) {
  left: 2rem;
  animation: transform-and-translate 0.6s infinite;
}
.spinner div:nth-child(4) {
  left: 3.5rem;
  animation: transform-scale-from-one-to-zero 0.6s infinite;
}

.turbo-progress-bar {
  background: linear-gradient(to right, hsl(26deg, 88%, 46%), hsl(32deg, 86%, 69%));
}

.vertical-bar::before {
  display: inline-block;
  height: 2.4rem;
  width: 0.75rem;
  background: hsl(22deg, 90%, 39%);
  border-radius: 10px;
  margin-right: 0.75rem;
  content: " ";
  padding-left: 12px;
}

.container {
  min-width: 100%;
  padding: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 48rem) {
  .container {
    padding: 1.5rem;
    max-width: 60rem;
    min-width: unset;
  }
}
