﻿:root {
	--today-day-bg: rgb(from var(--cosBlue) r g b / 25%) !important;
	--selected-day-bg: rgb(from var(--cosBlue) r g b / 75%) !important;

	--red-category: rgb(255, 165.75, 165.75) !important;
	--orange-category: rgb(255, 223.5, 165.75) !important;
	--yellow-category: rgb(255, 255, 165.75) !important;
	--green-category: rgb(165.75, 210.55, 165.75) !important;
	--teal-category: rgb(165.75, 210.55, 210.55) !important;
	--cyan-category: rgb(165.75, 255, 255) !important;
	--blue-category: rgb(165.75, 165.75, 255) !important;
	--purple-category: rgb(210.55, 165.75, 210.55) !important;
	--pink-category: rgb(255, 232.95, 236.8) !important;
	--gray-category: rgb(210.55, 210.55, 210.55) !important;
}

.custom-calendar {
  table-layout: fixed !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}
.custom-calendar tbody tr {
  width: 100% !important;
  height: 100% !important;
}
.custom-calendar tbody tr:first-child td {
  padding: 0 !important;
}
.custom-calendar * > a {
  text-decoration: none !important;
}
.custom-calendar .otherMonthDayStyle a {
  color: rgba(from var(--bs-table-color) r g b/50%) !important;
}

.titleStyle {
  height: 100% !important;
  font-size: 1.5vw;
  font-weight: bold !important;
  background-color: var(--bs-secondary-bg) !important;
}

.titleStyle tbody tr {
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  padding: 0.5rem 0.75rem;
  width: 100% !important;
}
.titleStyle tbody tr td:first-child {
  order: 1 !important;
}
.titleStyle tbody tr td:nth-child(2) {
  flex: 1 1 0 !important;
  order: 0 !important;
  text-align: left !important;
  align-self: flex-end !important;
}
.titleStyle tbody tr td:last-child {
  order: 2 !important;
}
.titleStyle tbody tr td:first-child, .titleStyle tbody tr td:last-child {
  width: auto !important;
  margin: 0 0.25rem !important;
  align-self: flex-end !important;
  font-size: 30px !important;
}

.nextPrevStyle {
  font-family: "Font Awesome 6 Pro" !important;
  font-weight: 900 !important;
}
.nextPrevStyle a {
  color: var(--bs-table-color) !important;
}

.dayStyle, .todayDayStyle, .selectedDayStyle, .otherMonthDayStyle {
  text-align: left !important;
  vertical-align: top !important;
  position: relative !important;
}

.todayDayStyle {
  background-color: var(--today-day-bg) !important;
}

.selectedDayStyle {
  background-color: var(--selected-day-bg) !important;
  color: white !important;
}
.selectedDayStyle .more-link {
  color: var(--bs-body-color) !important;
}

.otherMonthDayStyle a {
  color: rgba(from var(--bs-table-color) r g b/50%) !important;
}

.calEvent {
  display: block !important;
  border-radius: 10px !important;
  width: 100% !important;
  padding: 0.25rem !important;
  margin: 0.25rem 0 !important;
  font-size: 0.5vw !important;
  text-overflow: ellipsis !important;
  text-wrap: nowrap !important;
  overflow: hidden !important;
  transition: border 0.3s ease;
  text-align: center !important;
  color: var(--bs-table-color) !important;
}
.calEvent.hidden {
  display: none !important;
}
.calEvent:hover {
  cursor: pointer !important;
  border: 1px solid var(--active-bg) !important;
}
.calEvent:focus {
  border: 1px solid var(--active-bg) !important;
}
.calEvent span[data-toggle=popover] {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.squareCell {
  display: block !important;
  width: 100% !important;
  z-index: 1 !important;
  margin-top: 2.5px !important;
}

.more-link {
  position: absolute !important;
  bottom: 2.5px !important;
  left: 5px !important;
  display: block;
  font-size: 0.6vw !important;
  cursor: pointer;
  white-space: nowrap;
  margin-top: auto !important;
  color: var(--cosOrange) !important;
}
.more-link.hidden {
  display: none !important;
}

.day-flex {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  overflow: hidden !important;
}
.day-flex > a {
  font-size: 0.75vw !important;
  color: var(--bs-table-color) !important;
}

.selectedDayStyle .day-flex > a {
	color: white !important;
}

.table-striped > tbody > tr:nth-of-type(even) .hiddenEvents {
	background-color: var(--bs-tertiary-bg) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) .hiddenEvents {
  background-color: var(--bs-body-bg) !important;
}

.hiddenEvents {
  display: none !important;
  position: absolute !important;
  z-index: 100 !important;
  top: 50% !important;
  left: 50% !important;
  opacity: 0;
  width: 100%;
  transform: translate(-50%, -50%) !important;
  aspect-ratio: 1/1 !important;
  padding: 20px 10px !important;
  background-color: inherit !important;
  border: 1px solid var(--bs-table-border-color) !important;
  offset-anchor: center !important;
  border-radius: 15px !important;
  transition: width 0.3s ease, opacity 0.3s ease !important;
}
.hiddenEvents.shown {
  display: block !important;
}
.hiddenEvents .closeHidden {
  position: absolute !important;
  border: none !important;
  top: -25px !important;
  right: -25px !important;
  font-size: xx-large;
}

.tooltip-inner:has(.evTitle) {
  text-align: start !important;
}

.evTitle {
  font-size: 0.85vw !important;
  font-weight: bold !important;
  text-align: start !important;
}

.popover-body:has(.evDetailsFlex) {
  padding-top: 0.2rem !important;
}

.evDetailsFlex {
  font-size: 0.55vw !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}
.evDetailsFlex .evSeparator {
  margin: 0 0.5rem !important;
}

.evHorizontalLine {
	margin: 0.5rem 0 !important;
	border-top: 1px solid black;
}

.evDescription {
  font-size: 0.75vw !important;
}

.evLocation {
  max-width: 75% !important;
}

#eventModal p .fas {
  opacity: 0.5 !important;
}


.popover:has(.evPopover) {
	max-width: 500px !important;
}