._a-p1 {
	padding: 5px;
}
._a-p2 {
	padding: 10px;
}
._a-p3 {
	padding: 15px;
}
._a-p4 {
	padding: 30px;
}
._a-m1 {
	margin: 5px;
}
._a-mb2 {
	margin-bottom: 10px;
}
._a-mt2 {
	margin-top: 10px;
}
._a-m3 {
	margin: 15px;
}
._a-mb3 {
	margin-bottom: 15px;
}
._a-mt3 {
	margin-top: 15px;
}
._a-m4 {
	margin: 30px;
}
._a-mb4 {
	margin-bottom: 30px;
}
._a-mt4 {
	margin-top: 30px;
}

._a-br0 {
	border-right: 0 !important;
}
._a-bl0 {
	border-left: 0 !important;
}

._a-flex {
	display: flex;
}
._a-flex-column {
	flex-direction: column;
}
._a-justify-between {
	justify-content: space-between;
}
._a-justify-space-evenly {
	justify-content: space-evenly;
}
._a-flex-align-center {
	align-items: center;
}
._a-center-align {
	text-align: center;
}
._a-right-align {
	text-align: right;
}
._a-btn {
	display: inline-flex; padding-left: 15px; padding-right: 15px; height: 30px;
	line-height: 30px; background-color: rgba(46, 51, 56, 0.05); color: rgb(57, 68, 71); cursor: pointer;
	user-select: none;
}
._a-btn:hover {
	background-color: rgba(46, 51, 56, 0.073);
}
._a-btn._a-btn-primary {
	border: 1px solid rgb(23, 139, 178);
	background-color: #fff;
	color: rgb(23, 139, 178);
}
._a-btn._a-btn-primary:hover {
	background-color: rgba(23, 139, 178, 0.216);
}
._a-btn._a-btn-primary._a-btn-slctd,
._a-btn._a-btn-primary._a-btn-slctd:hover {
	color: rgb(218, 236, 243);
	background-color: rgb(23, 139, 178);
}
._a-btn._a-btn-link {
	height: initial; padding: 0; border: none;
	background-color: transparent; line-height: initial;
}
._a-btn-link._a-btn-link-inactive {
	color: #9a9a9a;
	cursor: not-allowed;
}
._a-btn._a-btn-link:hover {
	background-color: transparent; text-decoration: underline;
}

._a-canvas * {
	box-sizing: border-box;
}
._a-canvas {
	color: #6f6f6f;
}
._a-grid {
	display: grid;
	border-bottom: 1px solid #e1e1e1; border-right: 1px solid #e1e1e1;
}
._a-grid._a-grid-month {
	grid-template-columns: repeat(7, 1fr);
}
._a-grid._a-grid-week {
	grid-template-columns: auto repeat(7, minmax(0, 1fr));
}
._a-grid._a-grid-day {
	grid-template-columns: auto 1fr;
}

._a-cell {
	padding: 5px; position: relative; border-top: 1px solid #e1e1e1; border-left: 1px solid #e1e1e1;
}
._a-cell[data-ts]:hover {
	background-color: #f0f8ff;
}

._a-grid-month ._a-cell[data-ts] {
	height: 100px; text-align: right;
}
._a-grid-week ._a-cell[data-ts],
._a-grid-day ._a-cell[data-ts] {
	padding: 3px;
}

._a-grid-day div:first-child {
	grid-column: 1 / 3;
}
._a-cell ._a-cell-btn-plus {
	display: none;
	/* position: absolute; top: 0; left: 0; */
}
._a-cell:hover ._a-cell-btn-plus {
	display: initial;
}
._a-cell-btn-plus img {
	cursor: pointer; display: block; width: 20px;
}

._a-cell ._a-cell-btn-trash{
    display: none;
    /* position: absolute; top: 0; left: 0; */
}
._a-cell:hover ._a-cell-btn-trash{
    display: initial;
}

._a-cell-btn-trash img {
    cursor: pointer; display: inline-block; width: 15px;
}

._a-cell-30-mins,
._a-label-30-mins {
	border-top: 1px dotted #e1e1e1;
}
._a-label-30-mins {
	color: transparent;
}
._a-label-30-mins:hover,
._a-label-30-mins._a-row-hover {
	color: #6f6f6f;
}

._a-events-q-label {
	position: absolute; bottom: 5px; left: 7px;
	border-bottom: 1px dotted #6f6f6f; font-size: .9em; cursor: pointer;
}
._a-events-group {
	position: absolute; bottom: 25px; left: -6px; padding: 3px;
	background: #fff; border: 1px solid #e1e1e1; visibility: collapse;
}
._a-events-q-label:hover + ._a-events-group {
	visibility: visible;
}
._a-events-group ._a-event-badge {
	display: inline-block; margin-bottom: 1px; padding: 2px 5px;
	font-size: 0.8em; color: #fff;
}
._a-events-group ._a-event-badge:last-child {
	margin-bottom: 0;
}
._a-grid-week ._a-event-badge {
	max-width: 100%; padding: 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	font-size: 0.9em; line-height: 1.5em;
}


._a-popup-overlay {
	position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99;
	background-color: rgba(0, 0, 0, .2);
}
._a-event-popup {
	position: absolute; top: 50%; left: 50%; z-index: 100; transform: translate(-50%, -50%);
	background-color: #fff; border: 1px solid #e1e1e1; border-radius: 5px;
}
._a-input-label {
	position: relative;
}
._a-input-label input {
	width: 100%; border: none; border-bottom: 1px solid #e1e1e1; padding: 8px 0 5px 0;
	outline: none;
}
._a-input-label input._a-input-error {
	border-bottom: 1px solid #ff0000;
}
._a-input-label label {
	position: absolute; left: 0; top: 5px; padding-left: 3px;
	font-size: 16px; pointer-events: none; transition: 0.2s ease all;
}
._a-input-label input:focus ~ label,
._a-input-label input:not(:placeholder-shown) ~ label {
	top: -11px; padding-left: 0;
}

