
/*!
FullCalendar Core Package v4.2.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
.fc {
	direction: ltr;
	text-align: left;
}

.fc-rtl {
	text-align: right;
}

body .fc {
	/* extra precedence to overcome jqui */
	font-size: 1em;
}

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
	/* when user is selecting cells */
	background: #bce8f1;
	opacity: .3;
}

.fc-bgevent {
	/* default look for background events */
	background: #8fdf82;
	opacity: .3;
}

.fc-nonbusiness {
	/* default look for non-business-hours areas */
	
	/* will inherit .fc-bgevent's styles */
	background: #d7d7d7;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
	position: absolute;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

.fc-popover .fc-header {
	/* TODO: be more consistent with fc-head/fc-body */
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 2px 4px;
}

.fc-rtl .fc-popover .fc-header {
	flex-direction: row-reverse;
}

.fc-popover .fc-header .fc-title {
	margin: 0 2px;
}

.fc-popover .fc-header .fc-close {
	cursor: pointer;
	opacity: .65;
	font-size: 1.1em;
}

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
	border-style: solid;
	border-width: 1px;
}

hr.fc-divider {
	height: 0;
	margin: 0;
	padding: 0 0 2px;
	/* height is unreliable across browsers, so use padding */
	border-width: 1px 0;
}

.fc-bg, .fc-bgevent-skeleton, .fc-highlight-skeleton, .fc-mirror-skeleton {
	/* these element should always cling to top-left/right corners */
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.fc-bg {
	bottom: 0;
}

.fc-bg table {
	height: 100%;
}

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
	width: 100%;
	box-sizing: border-box;
	/* fix scrollbar issue in firefox */
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1em;
}

.fc th {
	text-align: center;
}

.fc th, .fc td {
	border-style: solid;
	border-width: 1px;
	padding: 0;
	vertical-align: top;
}

.fc td.fc-today {
	border-style: double;
}

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
	cursor: pointer;
}

a[data-goto]:hover {
	text-decoration: underline;
}

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
	/* extra precedence to overcome themes forcing a 1px border */
	
	/* no visible border by default. but make available if need be (scrollbar width compensation) */
	border-style: solid;
	border-width: 0;
}

.fc-row table {
	/* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
	border-left: 0 hidden transparent;
	border-right: 0 hidden transparent;
	/* no bottom borders on rows */
	border-bottom: 0 hidden transparent;
}

.fc-row:first-child table {
	border-top: 0 hidden transparent;
}

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
	position: relative;
}

.fc-row .fc-bg {
	z-index: 1;
}

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton, .fc-row .fc-highlight-skeleton {
	bottom: 0;
}

.fc-row .fc-bgevent-skeleton table, .fc-row .fc-highlight-skeleton table {
	height: 100%;
}

.fc-row .fc-highlight-skeleton td, .fc-row .fc-bgevent-skeleton td {
	border-color: transparent;
}

.fc-row .fc-bgevent-skeleton {
	z-index: 2;
}

.fc-row .fc-highlight-skeleton {
	z-index: 3;
}

/*
row content (which contains day/week numbers and events) as well as "mirror" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
	position: relative;
	z-index: 4;
	padding-bottom: 2px;
}

.fc-row .fc-mirror-skeleton {
	z-index: 5;
}

.fc .fc-row .fc-content-skeleton table, .fc .fc-row .fc-content-skeleton td, .fc .fc-row .fc-mirror-skeleton td {
	/* see-through to the background below */
	
	/* extra precedence to prevent theme-provided backgrounds */
	background: none;
	/* in case <td>s are globally styled */
	border-color: transparent;
}

.fc-row .fc-content-skeleton td, .fc-row .fc-mirror-skeleton td {
	/* don't put a border between events and/or the day number */
	border-bottom: 0;
}

.fc-row .fc-content-skeleton tbody td, .fc-row .fc-mirror-skeleton tbody td {
	/* don't put a border between event cells */
	border-top: 0;
}

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
	-webkit-overflow-scrolling: touch;
}

/* TODO: move to timegrid/daygrid */
.fc-scroller > .fc-day-grid, .fc-scroller > .fc-time-grid {
	position: relative;
	/* re-scope all positions */
	width: 100%;
}

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
	position: relative;
	/* for resize handle and other inner positioning */
	display: block;
	/* make the <a> tag block */
	font-size: .85em;
	line-height: 1.4;
	border-radius: 3px;
	border: 1px solid #3788d8;
}

.fc-event, .fc-event-dot {
	background-color: #3788d8;
}

.fc-event, .fc-event:hover {
	color: #fff;
	/* default TEXT color */
	text-decoration: none;
}

.fc-event[href], .fc-event.fc-draggable {
	cursor: pointer;
}

.fc-not-allowed, .fc-not-allowed .fc-event {
	/* to override an event's custom cursor */
	cursor: not-allowed;
}

.fc-event .fc-content {
	position: relative;
	z-index: 2;
}

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
	position: absolute;
	z-index: 4;
}

/* resizer (touch devices) */
.fc-event .fc-resizer {
	display: none;
}

.fc-event.fc-allow-mouse-resize .fc-resizer, .fc-event.fc-selected .fc-resizer {
	/* only show when hovering or selected (with touch) */
	display: block;
}

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
	/* 40x40 touch area */
	content: "";
	position: absolute;
	z-index: 9999;
	/* user of this util can scope within a lower z-index */
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	margin-top: -20px;
}

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
	z-index: 9999 !important;
	/* overcomes inline z-index */
	box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
}

.fc-event.fc-selected:after {
	content: "";
	position: absolute;
	z-index: 1;
	/* same z-index as fc-bg, behind text */
	
	/* overcome the borders */
	top: -1px;
	right: -1px;
	bottom: -1px;
	left: -1px;
	/* darkening effect */
	background: #000;
	opacity: .25;
}

/* Event Dragging
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-dragging.fc-selected {
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
}

.fc-event.fc-dragging:not(.fc-selected) {
	opacity: .75;
}

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/

/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
	content: "";
	position: absolute;
	z-index: 3;
	/* below resizers */
	top: -10px;
	bottom: -10px;
	left: 0;
	right: 0;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start, .fc-rtl .fc-h-event.fc-not-end {
	margin-left: 0;
	border-left-width: 0;
	padding-left: 1px;
	/* replace the border with padding */
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.fc-ltr .fc-h-event.fc-not-end, .fc-rtl .fc-h-event.fc-not-start {
	margin-right: 0;
	border-right-width: 0;
	padding-right: 1px;
	/* replace the border with padding */
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* resizer (cursor AND touch devices) */

/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer, .fc-rtl .fc-h-event .fc-end-resizer {
	cursor: w-resize;
	left: -1px;
}

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer, .fc-rtl .fc-h-event .fc-start-resizer {
	cursor: e-resize;
	right: -1px;
}

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
	width: 7px;
	top: -1px;
	/* overcome top border */
	bottom: -1px;
}

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
	/* 8x8 little dot */
	border-radius: 4px;
	border-width: 1px;
	width: 6px;
	height: 6px;
	border-style: solid;
	border-color: inherit;
	background: #fff;
	/* vertically center */
	top: 50%;
	margin-top: -4px;
}

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer, .fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
	margin-left: -4px;
}

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer, .fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
	margin-right: -4px;
}

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
	margin: 1px 2px 0;
	/* spacing between events and edges */
	padding: 0 1px;
}

tr:first-child > td > .fc-day-grid-event {
	margin-top: 2px;
}

.fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
	margin-top: 0;
}

.fc-day-grid-event .fc-content {
	/* force events to be one-line tall */
	white-space: nowrap;
	overflow: hidden;
}

.fc-day-grid-event .fc-time {
	font-weight: bold;
}

/* resizer (cursor devices) */

/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer, .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
	margin-left: -2px;
}

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer, .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
	margin-right: -2px;
}

/* Event Limiting
--------------------------------------------------------------------------------------------------*/

/* "more" link that represents hidden events */
a.fc-more {
	margin: 1px 3px;
	font-size: .85em;
	cursor: pointer;
	text-decoration: none;
}

a.fc-more:hover {
	text-decoration: underline;
}

.fc-limited {
	/* rows and cells that are hidden because of a "more" link */
	display: none;
}

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
	z-index: 1;
}

.fc-more-popover {
	z-index: 2;
	width: 220px;
}

.fc-more-popover .fc-event-container {
	padding: 10px;
}

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
	position: absolute;
	border: 0 solid red;
}

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*
TODO: more distinction between this file and common.css
*/

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th, .fc-unthemed td, .fc-unthemed thead, .fc-unthemed tbody, .fc-unthemed .fc-divider, .fc-unthemed .fc-row, .fc-unthemed .fc-content, .fc-unthemed .fc-popover, .fc-unthemed .fc-list-view, .fc-unthemed .fc-list-heading td {
	border-color: #ddd;
}

.fc-unthemed .fc-popover {
	background-color: #fff;
}

.fc-unthemed .fc-divider, .fc-unthemed .fc-popover .fc-header, .fc-unthemed .fc-list-heading td {
	background: #eee;
}

.fc-unthemed td.fc-today {
	background: #fcf8e3;
}

.fc-unthemed .fc-disabled-day {
	background: #d7d7d7;
	opacity: .3;
}

.fc-icon {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "fcicons" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fc-icon-chevron-left:before {
	content: "";
}

.fc-icon-chevron-right:before {
	content: "";
}

.fc-icon-chevrons-left:before {
	content: "";
}

.fc-icon-chevrons-right:before {
	content: "";
}

.fc-icon-minus-square:before {
	content: "";
}

.fc-icon-plus-square:before {
	content: "";
}

.fc-icon-x:before {
	content: "";
}

.fc-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	text-align: center;
}

/* Buttons
--------------------------------------------------------------------------------------------------
Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
*/

/* reset */
.fc-button {
	border-radius: 0;
	overflow: visible;
	text-transform: none;
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

.fc-button:focus {
	outline: 1px dotted;
	outline: 5px auto -webkit-focus-ring-color;
}

.fc-button {
	-webkit-appearance: button;
}

.fc-button:not(:disabled) {
	cursor: pointer;
}

.fc-button::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

/* theme */
.fc-button {
	display: inline-block;
	font-weight: 400;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: .4em .65em;
	font-size: 1em;
	line-height: 1.5;
	border-radius: .25em;
}

.fc-button:hover {
	color: #212529;
	text-decoration: none;
}

.fc-button:focus {
	outline: 0;
	-webkit-box-shadow: 0 0 0 .2rem rgba(44, 62, 80, .25);
	box-shadow: 0 0 0 .2rem rgba(44, 62, 80, .25);
}

.fc-button:disabled {
	opacity: .65;
}

/* "primary" coloring */
.fc-button-primary {
	color: #fff;
	background-color: #2c3e50;
	border-color: #2c3e50;
}

.fc-button-primary:hover {
	color: #fff;
	background-color: #1e2b37;
	border-color: #1a252f;
}

.fc-button-primary:focus {
	-webkit-box-shadow: 0 0 0 .2rem rgba(76, 91, 106, .5);
	box-shadow: 0 0 0 .2rem rgba(76, 91, 106, .5);
}

.fc-button-primary:disabled {
	color: #fff;
	background-color: #2c3e50;
	border-color: #2c3e50;
}

.fc-button-primary:not(:disabled):active, .fc-button-primary:not(:disabled).fc-button-active {
	color: #fff;
	background-color: #1a252f;
	border-color: #151e27;
}

.fc-button-primary:not(:disabled):active:focus, .fc-button-primary:not(:disabled).fc-button-active:focus {
	-webkit-box-shadow: 0 0 0 .2rem rgba(76, 91, 106, .5);
	box-shadow: 0 0 0 .2rem rgba(76, 91, 106, .5);
}

/* icons within buttons */
.fc-button .fc-icon {
	vertical-align: middle;
	font-size: 1.5em;
}

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	vertical-align: middle;
}

.fc-button-group > .fc-button {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

.fc-button-group > .fc-button:hover {
	z-index: 1;
}

.fc-button-group > .fc-button:focus, .fc-button-group > .fc-button:active, .fc-button-group > .fc-button.fc-button-active {
	z-index: 1;
}

.fc-button-group > .fc-button:not(:first-child) {
	margin-left: -1px;
}

.fc-button-group > .fc-button:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.fc-button-group > .fc-button:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
	border-width: 1px;
	border-style: solid;
}

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
	background-color: #f5f5f5;
}

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.fc-toolbar.fc-header-toolbar {
	margin-bottom: 1.5em;
}

.fc-toolbar.fc-footer-toolbar {
	margin-top: 1.5em;
}

/* inner content */
.fc-toolbar > * > :not(:first-child) {
	margin-left: .75em;
}

.fc-toolbar h2 {
	font-size: 1.75em;
	margin: 0;
}

/* View Structure
--------------------------------------------------------------------------------------------------*/
.fc-view-container {
	position: relative;
}

/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */

/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *, .fc-view-container *:before, .fc-view-container *:after {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.fc-view, .fc-view > table {
	/* so dragged elements can be above the view's main element */
	position: relative;
	z-index: 1;
}

@media print {
	.fc {
		max-width: 100% !important;
	}
	
	/* Global Event Restyling
  --------------------------------------------------------------------------------------------------*/
	.fc-event {
		background: #fff !important;
		color: #000 !important;
		page-break-inside: avoid;
	}
	
	.fc-event .fc-resizer {
		display: none;
	}
	
	/* Table & Day-Row Restyling
  --------------------------------------------------------------------------------------------------*/
	.fc th, .fc td, .fc hr, .fc thead, .fc tbody, .fc-row {
		border-color: #ccc !important;
		background: #fff !important;
	}
	
	/* kill the overlaid, absolutely-positioned components */
	
	/* common... */
	.fc-bg, .fc-bgevent-skeleton, .fc-highlight-skeleton, .fc-mirror-skeleton, .fc-bgevent-container, .fc-business-container, .fc-highlight-container, .fc-mirror-container {
		display: none;
	}
	
	/* don't force a min-height on rows (for DayGrid) */
	.fc tbody .fc-row {
		height: auto !important;
		/* undo height that JS set in distributeHeight */
		min-height: 0 !important;
	}
	
	.fc tbody .fc-row .fc-content-skeleton {
		position: static;
		/* undo .fc-rigid */
		padding-bottom: 0 !important;
	}
	
	.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
		/* only works in newer browsers */
		padding-bottom: 1em;
	}
	
	.fc tbody .fc-row .fc-content-skeleton table {
		/* provides a min-height for the row, but only effective for IE, which exaggerates this value,
       making it look more like 3em. for other browers, it will already be this tall */
		height: 1em;
	}
	
	/* Undo month-view event limiting. Display all events and hide the "more" links
  --------------------------------------------------------------------------------------------------*/
	.fc-more-cell, .fc-more {
		display: none !important;
	}
	
	.fc tr.fc-limited {
		display: table-row !important;
	}
	
	.fc td.fc-limited {
		display: table-cell !important;
	}
	
	.fc-popover {
		display: none;
	}
	
	/* TimeGrid Restyling
  --------------------------------------------------------------------------------------------------*/
	
	/* undo the min-height 100% trick used to fill the container's height */
	.fc-time-grid {
		min-height: 0 !important;
	}
	
	/* don't display the side axis at all ("all-day" and time cells) */
	.fc-timeGrid-view .fc-axis {
		display: none;
	}
	
	/* don't display the horizontal lines */
	.fc-slats, .fc-time-grid hr {
		/* this hr is used when height is underused and needs to be filled */
		display: none !important;
	}
	
	/* let the container that holds the events be naturally positioned and create real height */
	.fc-time-grid .fc-content-skeleton {
		position: static;
	}
	
	/* in case there are no events, we still want some height */
	.fc-time-grid .fc-content-skeleton table {
		height: 4em;
	}
	
	/* kill the horizontal spacing made by the event container. event margins will be done below */
	.fc-time-grid .fc-event-container {
		margin: 0 !important;
	}
	
	/* TimeGrid *Event* Restyling
  --------------------------------------------------------------------------------------------------*/
	
	/* naturally position events, vertically stacking them */
	.fc-time-grid .fc-event {
		position: static !important;
		margin: 3px 2px !important;
	}
	
	/* for events that continue to a future day, give the bottom border back */
	.fc-time-grid .fc-event.fc-not-end {
		border-bottom-width: 1px !important;
	}
	
	/* indicate the event continues via "..." text */
	.fc-time-grid .fc-event.fc-not-end:after {
		content: "...";
	}
	
	/* for events that are continuations from previous days, give the top border back */
	.fc-time-grid .fc-event.fc-not-start {
		border-top-width: 1px !important;
	}
	
	/* indicate the event is a continuation via "..." text */
	.fc-time-grid .fc-event.fc-not-start:before {
		content: "...";
	}
	
	/* time */
	
	/* undo a previous declaration and let the time text span to a second line */
	.fc-time-grid .fc-event .fc-time {
		white-space: normal !important;
	}
	
	/* hide the the time that is normally displayed... */
	.fc-time-grid .fc-event .fc-time span {
		display: none;
	}
	
	/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
	.fc-time-grid .fc-event .fc-time:after {
		content: attr(data-full);
	}
	
	/* Vertical Scroller & Containers
  --------------------------------------------------------------------------------------------------*/
	
	/* kill the scrollbars and allow natural height */
	.fc-scroller, .fc-day-grid-container, .fc-time-grid-container {
		/* */
		overflow: visible !important;
		height: auto !important;
	}
	
	/* kill the horizontal border/padding used to compensate for scrollbars */
	.fc-row {
		border: 0 !important;
		margin: 0 !important;
	}
	
	/* Button Controls
  --------------------------------------------------------------------------------------------------*/
	.fc-button-group, .fc button {
		display: none;
	}
}

/*!
FullCalendar Day Grid Plugin v4.2.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/

/* DayGridView
--------------------------------------------------------------------------------------------------*/

/* day row structure */
.fc-dayGridWeek-view .fc-content-skeleton, .fc-dayGridDay-view .fc-content-skeleton {
	/* there may be week numbers in these views, so no padding-top */
	padding-bottom: 1em;
}

.fc-dayGrid-view .fc-body .fc-row {
	min-height: 4em;
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
	overflow: hidden;
}

.fc-row.fc-rigid .fc-content-skeleton {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

/* week and day number styling */
.fc-day-top.fc-other-month {
	opacity: .3;
}

.fc-dayGrid-view .fc-week-number, .fc-dayGrid-view .fc-day-number {
	padding: 2px;
}

.fc-dayGrid-view th.fc-week-number, .fc-dayGrid-view th.fc-day-number {
	padding: 0 2px;
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
	float: right;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
	float: left;
}

.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
	float: left;
	border-radius: 0 0 3px 0;
}

.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
	float: right;
	border-radius: 0 0 0 3px;
}

.fc-dayGrid-view .fc-day-top .fc-week-number {
	min-width: 1.5em;
	text-align: center;
	background-color: #f2f2f2;
	color: #808080;
}

/* when week/day number have own column */
.fc-dayGrid-view td.fc-week-number {
	text-align: center;
}

.fc-dayGrid-view td.fc-week-number > * {
	/* work around the way we do column resizing and ensure a minimum width */
	display: inline-block;
	min-width: 1.25em;
}

.flatpickr-calendar {
	background: transparent;
	opacity: 0;
	display: none;
	text-align: center;
	visibility: hidden;
	padding: 0;
	-webkit-animation: none;
	animation: none;
	direction: ltr;
	border: 0;
	font-size: 14px;
	line-height: 24px;
	border-radius: 5px;
	position: absolute;
	width: 307.875px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	background: #fff;
	-webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, .08);
	box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, .08);
}

.flatpickr-calendar.open, .flatpickr-calendar.inline {
	opacity: 1;
	max-height: 640px;
	visibility: visible;
}

.flatpickr-calendar.open {
	display: inline-block;
	z-index: 99999;
}

.flatpickr-calendar.animate.open {
	-webkit-animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
	animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
}

.flatpickr-calendar.inline {
	display: block;
	position: relative;
	top: 2px;
}

.flatpickr-calendar.static {
	position: absolute;
	top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
	z-index: 999;
	display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
	-webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
	box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
	border-bottom: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
	border-left: 0;
}

.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
	height: 40px;
	border-top: 1px solid #e6e6e6;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
	height: auto;
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
	position: absolute;
	display: block;
	pointer-events: none;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	left: 22px;
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.rightMost:after {
	left: auto;
	right: 22px;
}

.flatpickr-calendar:before {
	border-width: 5px;
	margin: 0 -5px;
}

.flatpickr-calendar:after {
	border-width: 4px;
	margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
	bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
	border-bottom-color: #e6e6e6;
}

.flatpickr-calendar.arrowTop:after {
	border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
	top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
	border-top-color: #e6e6e6;
}

.flatpickr-calendar.arrowBottom:after {
	border-top-color: #fff;
}

.flatpickr-calendar:focus {
	outline: 0;
}

.flatpickr-wrapper {
	position: relative;
	display: inline-block;
}

.flatpickr-months {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flatpickr-months .flatpickr-month {
	background: transparent;
	color: rgba(0, 0, 0, .9);
	fill: rgba(0, 0, 0, .9);
	height: 34px;
	line-height: 1;
	text-align: center;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	overflow: hidden;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
	text-decoration: none;
	cursor: pointer;
	position: absolute;
	top: 0;
	height: 34px;
	padding: 10px;
	z-index: 3;
	color: rgba(0, 0, 0, .9);
	fill: rgba(0, 0, 0, .9);
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
	display: none;
}

.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
	position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
	/*
      /*rtl:begin:ignore*/
	left: 0;
}

/*
      /*rtl:begin:ignore*/

/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
	/*
      /*rtl:begin:ignore*/
	right: 0;
}

/*
      /*rtl:begin:ignore*/

/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
	color: #959ea9;
}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
	fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
	width: 14px;
	height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
	-webkit-transition: fill .1s;
	transition: fill .1s;
	fill: inherit;
}

.numInputWrapper {
	position: relative;
	height: auto;
}

.numInputWrapper input, .numInputWrapper span {
	display: inline-block;
}

.numInputWrapper input {
	width: 100%;
}

.numInputWrapper input::-ms-clear {
	display: none;
}

.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.numInputWrapper span {
	position: absolute;
	right: 0;
	width: 14px;
	padding: 0 4px 0 2px;
	height: 50%;
	line-height: 50%;
	opacity: 0;
	cursor: pointer;
	border: 1px solid rgba(57, 57, 57, .15);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.numInputWrapper span:hover {
	background: rgba(0, 0, 0, .1);
}

.numInputWrapper span:active {
	background: rgba(0, 0, 0, .2);
}

.numInputWrapper span:after {
	display: block;
	content: "";
	position: absolute;
}

.numInputWrapper span.arrowUp {
	top: 0;
	border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid rgba(57, 57, 57, .6);
	top: 26%;
}

.numInputWrapper span.arrowDown {
	top: 50%;
}

.numInputWrapper span.arrowDown:after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid rgba(57, 57, 57, .6);
	top: 40%;
}

.numInputWrapper span svg {
	width: inherit;
	height: auto;
}

.numInputWrapper span svg path {
	fill: rgba(0, 0, 0, .5);
}

.numInputWrapper:hover {
	background: rgba(0, 0, 0, .05);
}

.numInputWrapper:hover span {
	opacity: 1;
}

.flatpickr-current-month {
	font-size: 135%;
	line-height: inherit;
	font-weight: 300;
	color: inherit;
	position: absolute;
	width: 75%;
	left: 12.5%;
	padding: 7.48px 0 0 0;
	line-height: 1;
	height: 34px;
	display: inline-block;
	text-align: center;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.flatpickr-current-month span.cur-month {
	font-family: inherit;
	font-weight: 700;
	color: inherit;
	display: inline-block;
	margin-left: .5ch;
	padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
	background: rgba(0, 0, 0, .05);
}

.flatpickr-current-month .numInputWrapper {
	width: 6ch;
	width: 7ch  ;
	display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
	border-bottom-color: rgba(0, 0, 0, .9);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
	border-top-color: rgba(0, 0, 0, .9);
}

.flatpickr-current-month input.cur-year {
	background: transparent;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	cursor: text;
	padding: 0 0 0 .5ch;
	margin: 0;
	display: inline-block;
	font-size: inherit;
	font-family: inherit;
	font-weight: 300;
	line-height: inherit;
	height: auto;
	border: 0;
	border-radius: 0;
	vertical-align: initial;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
	outline: 0;
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
	font-size: 100%;
	color: rgba(0, 0, 0, .5);
	background: transparent;
	pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	appearance: menulist;
	background: transparent;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
	color: inherit;
	cursor: pointer;
	font-size: inherit;
	font-family: inherit;
	font-weight: 300;
	height: auto;
	line-height: inherit;
	margin: -1px 0 0 0;
	outline: none;
	padding: 0 0 0 .5ch;
	position: relative;
	vertical-align: initial;
	-webkit-box-sizing: border-box;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
	width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
	outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
	background: rgba(0, 0, 0, .05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
	background-color: transparent;
	outline: none;
	padding: 0;
}

.flatpickr-weekdays {
	background: transparent;
	text-align: center;
	overflow: hidden;
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

span.flatpickr-weekday {
	cursor: default;
	font-size: 90%;
	background: transparent;
	color: rgba(0, 0, 0, .54);
	line-height: 1;
	margin: 0;
	text-align: center;
	display: block;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-weight: bolder;
}

.dayContainer, .flatpickr-weeks {
	padding: 1px 0 0 0;
}

.flatpickr-days {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: 307.875px;
}

.flatpickr-days:focus {
	outline: 0;
}

.dayContainer {
	padding: 0;
	outline: 0;
	text-align: left;
	width: 307.875px;
	min-width: 307.875px;
	max-width: 307.875px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

.dayContainer + .dayContainer {
	-webkit-box-shadow: -1px 0 0 #e6e6e6;
	box-shadow: -1px 0 0 #e6e6e6;
}

.flatpickr-day {
	background: none;
	border: 1px solid transparent;
	border-radius: 150px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #393939;
	cursor: pointer;
	font-weight: 400;
	width: 14.2857143%;
	-webkit-flex-basis: 14.2857143%;
	-ms-flex-preferred-size: 14.2857143%;
	flex-basis: 14.2857143%;
	max-width: 39px;
	height: 39px;
	line-height: 39px;
	margin: 0;
	display: inline-block;
	position: relative;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
	cursor: pointer;
	outline: 0;
	background: #e6e6e6;
	border-color: #e6e6e6;
}

.flatpickr-day.today {
	border-color: #959ea9;
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
	border-color: #959ea9;
	background: #959ea9;
	color: #fff;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
	background: #569ff7;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #fff;
	border-color: #569ff7;
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
	border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
	border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
	-webkit-box-shadow: -10px 0 0 #569ff7;
	box-shadow: -10px 0 0 #569ff7;
}

.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
	border-radius: 50px;
}

.flatpickr-day.inRange {
	border-radius: 0;
	-webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
	box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
	color: rgba(57, 57, 57, .3);
	background: transparent;
	border-color: transparent;
	cursor: default;
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
	cursor: not-allowed;
	color: rgba(57, 57, 57, .1);
}

.flatpickr-day.week.selected {
	border-radius: 0;
	-webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
	box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}

.flatpickr-day.hidden {
	visibility: hidden;
}

.rangeMode .flatpickr-day {
	margin-top: 1px;
}

.flatpickr-weekwrapper {
	float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
	padding: 0 12px;
	-webkit-box-shadow: 1px 0 0 #e6e6e6;
	box-shadow: 1px 0 0 #e6e6e6;
}

.flatpickr-weekwrapper .flatpickr-weekday {
	float: none;
	width: 100%;
	line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
	display: block;
	width: 100%;
	max-width: none;
	color: rgba(57, 57, 57, .3);
	background: transparent;
	cursor: default;
	border: none;
}

.flatpickr-innerContainer {
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}

.flatpickr-rContainer {
	display: inline-block;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.flatpickr-time {
	text-align: center;
	outline: 0;
	display: block;
	height: 0;
	line-height: 40px;
	max-height: 40px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flatpickr-time:after {
	content: "";
	display: table;
	clear: both;
}

.flatpickr-time .numInputWrapper {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	width: 40%;
	height: 40px;
	float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
	border-bottom-color: #393939;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
	border-top-color: #393939;
}

.flatpickr-time.hasSeconds .numInputWrapper {
	width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
	width: 49%;
}

.flatpickr-time input {
	background: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: 0;
	border-radius: 0;
	text-align: center;
	margin: 0;
	padding: 0;
	height: inherit;
	line-height: inherit;
	color: #393939;
	font-size: 14px;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
	font-weight: bold;
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
	font-weight: 400;
}

.flatpickr-time input:focus {
	outline: 0;
	border: 0;
}

.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
	height: inherit;
	float: left;
	line-height: inherit;
	color: #393939;
	font-weight: bold;
	width: 2%;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
	outline: 0;
	width: 18%;
	cursor: pointer;
	text-align: center;
	font-weight: 400;
}

.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
	background: #eee;
}

.flatpickr-input[readonly] {
	cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fpFadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

/*
 * Dynamic embedded forms
 */
.childcarecrm-form__control {
	display: block;
	width: 100%;
}

.childcarecrm-form__control.childcarecrm-form__control--checkbox {
	display: inline;
	margin-left: 4px;
	width: auto;
}

.childcarecrm-form__control.childcarecrm-form__control--choice-multiple input {
	margin-left: 4px;
}

.childcarecrm-form__control.childcarecrm-form__control--choice-multiple input:first-of-type {
	margin-left: 0;
}

.childcarecrm-form__control.childcarecrm-form__control--choice-multiple label:not(:last-of-type) {
	margin-right: 4px;
}

.childcarecrm-form__field {
	box-sizing: border-box;
	display: inline-block;
	padding-bottom: 8px;
	padding-top: 8px;
	width: 50%;
}

.form-group a2p-container {
	width: 100%;
}

.childcarecrm-form__field-special {
	box-sizing: border-box;
	display: inline-block;
	padding-top: 8px;
}

.childcarecrm-form__field:nth-child(even) {
	padding-left: 8px;
}

.childcarecrm-form__field:nth-child(odd) {
	padding-right: 8px;
}

.childcarecrm-form__field.childcarecrm-form__field-textarea {
	padding-left: 0;
	padding-right: 8px;
	box-sizing: border-box;
	width: 100%;
}

.childcarecrm-form__field-textarea textarea {
	width: 50%;
}

.childcarecrm-form {
	padding: 16px;
}

.childcarecrm-form__field.childcarecrm-form__field--full-width {
	width: 100%;
}

.childcarecrm-form__field.childcarecrm-form__field--hidden {
	display: none;
}

.childcarecrm-form__contact-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -8px;
	margin-right: -8px;
}

.childcarecrm-form__contact-row .childcarecrm-form__field--contact-pair {
	width: 50%;
	padding-left: 8px;
	padding-right: 8px;
}

.childcarecrm-form__contact-row .childcarecrm-form__field--contact-pair label {
	width: auto;
}

.childcarecrm-form__footer > * {
	display: block;
}

.childcarecrm-form__footer input[type="submit"] {
	margin: 16px 0;
}

.childcarecrm-form__group {
	margin: 32px 0;
}

.childcarecrm-form__success-message * {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.childcarecrm-form__tour-child-toggle {
	display: block;
	width: 100%;
}

.childcarecrm-form__tour-child-toggle button {
	display: block;
	margin: 8px auto;
}

.childcarecrm-form__staff-section {
	border-top: 1px solid grey;
	margin-top: 20px;
	padding-top: 20px;
}

.childcarecrm-form__staff-section div {
	margin-top: 20px;
}

.childcarecrm-form__select-days-needs-style {
	border: 1px solid black;
	margin-left: 5px;
	border-radius: 3px;
	padding: 2px;
}

/*
 * Error handling
 */
.childcarecrm-form__control.childcarecrm-form__invalid, .childcarecrm-form__control.childcarecrm-form__invalid_parts input, .childcarecrm-form__control.childcarecrm-form__invalid_parts select, .childcarecrm-form.childcarecrm-form__submitted .childcarecrm-form__control select:invalid, .childcarecrm-form.childcarecrm-form__submitted .childcarecrm-form__control:invalid {
	box-shadow: 0 0 0 1px red;
}

.childcarecrm-form__errors {
	padding: 5px;
	border: 1px solid red;
}

/*
 * Tour booking calendar
 */
.fc-event {
	color: black;
	background-color: lightgray;
}

.fc-event.available-tour-time {
	background-color: white;
	cursor: pointer;
}

.fc-event .fc-time {
	font-weight: normal;
}

.fc-event .fc-time:hover, .fc-event.selected-tour-time .fc-time {
	font-weight: bold;
}

.fc-event:hover {
	color: #ccc;
}

.fc-event.selected-tour-time {
	background-color: green;
	color: white;
	font-weight: bold;
}

.childcarecrm-form__data-separator {
	display: none;
}

@media (max-width: 576px), (pointer: coarse) {
	.childcarecrm-form__data-separator {
		display: inline;
	}
	
	#childcarecrm-form__confirmation-data dt, #childcarecrm-form__confirmation-data dd {
		display: inline-block;
		margin-left: 5px !important;
	}
	
	.childcarecrm-form__field {
		display: block;
		width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.childcarecrm-form__contact-row .childcarecrm-form__field--contact-pair {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
}

.a2p-checkbox-container {
	display: flex;
	align-items: center;
	font-size: smaller;
	margin-top: 10px;
	align-self: center;
	justify-content: center;
}

.a2p-checkbox-container input[type="checkbox"] {
	margin-right: 10px;
	align-self: flex-start;
}

.a2p-checkbox-label {
	font-size: smaller;
	font-weight: 400;
}

.a2p-checkbox-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-start;
	max-width: 100%;
}

.a2p-checkbox-card {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	flex: 1 1 calc(50% - 8px);
}

.a2p-checkbox-card input[type="checkbox"] {
	margin-top: 2px;
	flex-shrink: 0;
}

.a2p-checkbox-label {
	flex: 1;
	line-height: 1.4;
}

.a2p-checkbox-label strong {
	display: inline;
	font-weight: 600;
}

.a2p-terms {
	font-size: smaller;
	text-align: left;
	margin-top: 5px;
	margin-left: 76px;
}
