* {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Allerta", sans-serif;
  font-weight: 400;
  font-style: normal;
}

header.site-header {
  display: flex;
  justify-content: space-around;
  padding: 1rem 0;
  background-color: #181a1b;
  color: white;
}
header.site-header a {
  font-size: 1.5rem;
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  background-color: #0073aa;
  transition: background-color 0.3s;
}

main.site-main {
  padding: 1rem 0;
  background-color: gray;
}

:root {
  --vh: 100%;
}

#root {
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
}

#map {
  height: 100%;
}

.user-marker {
  height: 30px;
}

.user-popup {
  border: white 2px solid;
  border-radius: 1rem;
  text-align: center;
  height: 30px;
  width: 100px;
}
.user-popup p {
  margin-top: 6px;
}

.event-popup {
  height: 250px;
  width: 200px;
  border-radius: 0.5rem;
  background-color: black;
  color: white;
  border: white 2px solid;
  overflow-y: scroll;
}
.event-popup header {
  display: flex;
  justify-content: space-around;
  margin-bottom: 1rem;
  background-color: black;
}
.event-popup header .inactive {
  background-color: #0073aa;
}
.event-popup header .popup-header-event {
  flex: 1 0;
  text-align: center;
  padding: 1rem 0;
  cursor: pointer;
  border-top-left-radius: 0.5rem;
}
.event-popup header .popup-header-venue {
  flex: 1 0;
  text-align: center;
  padding: 1rem 0;
  cursor: pointer;
  border-top-right-radius: 0.5rem;
}
.event-popup .popup-events {
  display: flex;
  flex-direction: column;
  padding: 0 10px;
  gap: 10px;
}
.event-popup .popup-events .directions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.event-popup .popup-events .directions a {
  color: hotpink;
}
.event-popup .popup-events .event-card {
  border-radius: 2px;
  padding: 2px;
  background-color: #0073aa;
  color: white;
  text-decoration: none;
}
.event-popup .popup-events .venue-wrapper {
  margin-top: 8px;
}
.event-popup .popup-events .venue-wrapper .venue-title {
  font-size: 1rem;
  text-align: center;
  background-color: #0073aa;
  border: white 3px solid;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.event-popup .popup-events .venue-wrapper .inner-card {
  background-color: #0073aa;
  padding: 3px;
  border-left: white 3px solid;
  border-right: white 3px solid;
  border-bottom: white 3px solid;
}
.event-popup .popup-events .venue-wrapper .inner-card:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.event-popup .popup-venue {
  display: flex;
  flex-direction: column;
  padding: 0 10px;
  gap: 10px;
  display: none;
}
.event-popup .popup-venue .directions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.event-popup .popup-venue .directions a {
  color: hotpink;
}

.cluster-popup {
  border: none;
}

.filter-wrapper {
  position: absolute;
  z-index: 1500;
  top: 0;
  left: 0;
  height: 3rem;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}
.filter-wrapper #week_days {
  margin: 0 5px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
.filter-wrapper #week_days .day-wrapper {
  flex: 0 1 40px;
  border: solid 2px white;
  background-color: #0073aa;
  user-select: none;
  border-radius: 8px;
}
.filter-wrapper #week_days .day-wrapper .day {
  padding: 3px;
  font-size: small;
  font-weight: light;
  text-align: center;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.filter-wrapper #week_days .day-wrapper .date {
  background-color: white;
  color: black;
  text-align: center;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.filter-wrapper #week_days .active {
  background-color: white;
  color: #0073aa;
}
.filter-wrapper #week_days .today {
  border-color: #DAA520;
}

.bottom-panel {
  position: absolute;
  z-index: 1500;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  padding: 10px 0;
  background: linear-gradient(rgba(0, 0, 0, 0.3333333333), black);
  border-top: #aaa 2px solid;
}
.bottom-panel .map-submit-event {
  height: 53px;
  font-size: 1.5rem;
  background-color: #0073aa;
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 5px;
}
.bottom-panel #calendar_icon {
  height: 53px;
  width: auto;
  cursor: pointer;
}
.bottom-panel .day-wrapper {
  height: 45px;
  width: 45px;
  border: solid 2px white;
  background-color: #0073aa;
  user-select: none;
  border-radius: 8px;
}
.bottom-panel .day-wrapper .day {
  padding: 3px;
  font-size: small;
  font-weight: light;
  text-align: center;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  color: white;
}
.bottom-panel .day-wrapper .date {
  background-color: white;
  color: black;
  text-align: center;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  height: 26px;
  font-size: 20px;
}

.leaflet-layer,
.leaflet-control-zoom-in,
.leaflet-control-zoom-out,
.leaflet-control-attribution {
  filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);
}

.leaflet-container {
  background: #000;
}

.leaflet-popup-content-wrapper {
  background-color: #1e1e25;
  color: white;
}

.leaflet-popup-content {
  margin: 0;
}

.form-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.form-container form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 600px;
  padding: 2rem 1rem;
  border-radius: 1rem;
  font-size: 1.5rem;
  background-color: black;
  color: white;
}
@media (max-width: 600px) {
  .form-container form {
    width: 350px;
    padding: 1rem;
  }
}
.form-container form h1 {
  text-align: center;
  align-self: center;
}
.form-container form p {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
}
.form-container form p input, .form-container form p select {
  font-size: 2rem;
}
.form-container form p textarea {
  font-size: 1.5rem;
  height: 120px;
}
.form-container form p:has(#id_new_venue_city), .form-container form p:has(#id_new_venue_state) {
  width: 80%;
  align-self: flex-end;
}
.form-container form input, .form-container form textarea {
  background-color: #181a1b;
  color: white;
}
.form-container form input:disabled {
  background-color: black;
}
.form-container form button {
  align-self: center;
  width: 300px;
  font-size: 2rem;
  background-color: #0073aa;
  color: white;
  border: white 2px solid;
  border-radius: 5px;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.4s;
  cursor: pointer;
}
.form-container form button:hover {
  background-color: green;
  color: white;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: #181a1b;
  color: white;
  font-size: 2rem;
}

/* Match the normal select/input look */
.select2-container .select2-selection {
  background-color: #181a1b;
  color: white;
  font-size: 2rem;
  border: 1px solid #555;
  border-radius: 6px;
  height: auto; /* let padding set height */
  padding: 6px 12px;
  display: flex;
  align-items: center;
}

/* The text inside */
.select2-container .select2-selection__rendered {
  color: white;
}

/* The dropdown arrow */
.select2-container .select2-selection__arrow {
  height: 100%;
}

/* Dropdown panel */
.select2-dropdown {
  background-color: #181a1b;
  border: 1px solid #555;
  border-radius: 6px;
  color: white;
  font-size: 1.5rem;
}

/* Each option in the dropdown */
.select2-results__option {
  padding: 8px 12px;
  color: white;
}

/* Highlighted option on hover */
.select2-results__option--highlighted {
  background-color: #0073aa;
  color: white;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  background-color: #181a1b;
  color: white;
  font-size: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  background-color: #181a1b;
  color: white;
  font-size: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}

main.calendar-main {
  background-color: white;
}

.modal-wrapper {
  position: absolute;
  z-index: 2000;
  height: calc(var(--vh, 1vh) * 100);
  overflow-y: scroll;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: black;
}
.modal-wrapper #modal_close_btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 1px 5px;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: bolder;
  background-color: white;
  cursor: pointer;
}
.modal-wrapper .modal-target {
  margin-top: 4rem;
}

.htmx-indicator {
  display: none;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.htmx-request {
  display: block;
}

.success {
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
}

.form-container-spa {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.form-container-spa form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 2rem;
  width: 100%;
  max-width: 500px;
  font-size: 1.5rem;
  color: white;
}
.form-container-spa form input, .form-container-spa form select {
  font-size: 2rem;
}
.form-container-spa form .venue-section .clear-wrapper {
  position: relative;
  width: 100%;
}
.form-container-spa form .venue-section .clear-wrapper input {
  width: 95%;
  margin-left: 10px;
}
.form-container-spa form .venue-section .clear-wrapper .clear {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}
.form-container-spa form .venue-section #venue_results {
  position: relative;
}
.form-container-spa form .venue-section #venue_results .venue-results-list {
  transition: height 0.3s ease;
  height: 0;
  max-height: 300px;
  overflow-y: scroll;
  scroll-behavior: smooth;
  padding: 0 10px;
  margin-right: 10px;
  scrollbar-width: none;
}
.form-container-spa form .venue-section #venue_results .venue-results-list::-webkit-scrollbar {
  display: none;
}
.form-container-spa form .venue-section #venue_results .venue-results-list li {
  display: grid;
  place-content: center;
  height: 80px;
  border-top: black 2px solid;
  height: 80px;
  background-color: #0073aa;
  border-radius: 3px;
  text-align: center;
  cursor: pointer;
}
.form-container-spa form .venue-section #venue_results .venue-results-list .highlighted {
  background-color: rgb(0, 166.75, 246.5);
}
.form-container-spa form .venue-section #venue_results .expanded {
  height: 300px;
}
.form-container-spa form .venue-section #venue_results .venue-scrollbar {
  position: absolute;
  top: 0;
  right: 8px;
  width: 8px;
  height: 100%;
  background-color: gray;
  border-radius: 4px;
}
.form-container-spa form .venue-section #venue_results .venue-scrollbar .venue-scrollbar-thumb {
  width: 100%;
  height: 0;
  transition: height 0.1s ease;
  background: white;
  border-radius: 4px;
  cursor: pointer;
  position: absolute;
  top: 0;
}
.form-container-spa form .venue-section button {
  padding: 4px;
  font-size: 1.5rem;
  border: none;
  border-radius: 4px;
  margin-left: 10px;
  margin-top: 10px;
  background-color: #0073aa;
  color: white;
}
.form-container-spa form .venue-section .new-venue-section {
  display: flex;
  flex-direction: column;
}
.form-container-spa form h1 {
  text-align: center;
  align-self: center;
}
.form-container-spa form p {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
}
.form-container-spa form p textarea {
  font-size: 1.5rem;
  height: 120px;
}
.form-container-spa form p:has(#id_new_venue_city), .form-container-spa form p:has(#id_new_venue_state) {
  width: 80%;
  align-self: flex-end;
}
.form-container-spa form input, .form-container-spa form textarea {
  box-sizing: border-box;
  background-color: #181a1b;
  color: white;
  border-radius: 10px;
  border: 1px white solid;
  padding: 5px;
}
.form-container-spa form input:active, .form-container-spa form input:focus, .form-container-spa form textarea:active, .form-container-spa form textarea:focus {
  outline: none;
  border: 1px white solid;
}
.form-container-spa form input:disabled {
  background-color: #444444;
}
.form-container-spa form .g-recaptcha {
  display: flex;
  justify-content: center;
}
.form-container-spa form button[type=submit] {
  align-self: center;
  width: 300px;
  font-size: 2rem;
  background-color: #0073aa;
  color: white;
  border: white 2px solid;
  border-radius: 5px;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.4s;
  cursor: pointer;
}
.form-container-spa form button[type=submit]:hover {
  background-color: green;
  color: white;
}

.calendar-spa {
  background-color: #cccccc;
  padding: 1rem;
}
.calendar-spa .fc-header-toolbar {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.calendar-help {
  display: grid;
  gap: 10px;
  place-content: center;
  background-color: #cccccc;
  padding-bottom: 5px;
  font-size: 20px;
}
.calendar-help .dot {
  height: 15px;
  width: 15px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}
.calendar-help .green {
  display: flex;
}
.calendar-help .green .dot {
  background-color: green;
}
.calendar-help .red {
  display: flex;
}
.calendar-help .red .dot {
  background-color: red;
}

.fc .fc-list-sticky .fc-list-day > * {
  position: unset;
}

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