/* we assume bootstrap5 or similar frameworks are used for further styling */
/* Use display: grid so we can position the range menu to the left of the existing calendar elements */
.flatpickr-calendar.flatpickr-has-predefined-ranges {
	width: 423px;
	display: grid;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges:not(.flatpickr-predefined-ranges-only) .flatpickr-predefined-ranges {
	border-right: 1px solid #e6e6e6;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-months {
	position: relative; /* needed for prev/next month arrows to position correctly */
	grid-column: 2;
	grid-row: 1;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-innerContainer {
	overflow: visible;
	grid-column: 2;
	grid-row: 2;
}

/* hide the calendar when .flatpickr-predefined-ranges-only is added to the container */
.flatpickr-calendar.flatpickr-has-predefined-ranges.flatpickr-predefined-ranges-only .flatpickr-months {
	display: none;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges.flatpickr-predefined-ranges-only .flatpickr-innerContainer {
	display: none;
}

/* style the button nav items to match the calendar */
.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges .nav-link.btn-link {
	color: inherit;
	border-radius: 0;
	text-align: left;

	padding: calc(0.75rem + 1px) calc(1.5rem + 1px) !important;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges .nav-link.btn-link.active {
	background: #569ff7;
	color: #fff;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges .nav-link.btn-link:hover:not(.active) {
	background: #eee;
}

/* needed so the hover/active background on the buttons don't overlap the container's border radius */
.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges :first-child .nav-link.btn-link {
	border-radius: 5px 0 0 0;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges .flatpickr-predefined-ranges :last-child .nav-link.btn-link {
	margin-bottom: .5rem;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges.flatpickr-predefined-ranges-only .flatpickr-predefined-ranges :first-child .nav-link.btn-link {
	border-radius: 5px 5px 0 0;
}

.flatpickr-calendar.flatpickr-has-predefined-ranges.flatpickr-predefined-ranges-only .flatpickr-predefined-ranges :last-child .nav-link.btn-link {
	margin-bottom: 0;
	border-radius: 0 0 5px 5px;
}