/* -----[ Admin Style Sheet ]--------------------------------------------------------------------- */

body {
	background: #FFF;
	margin: auto;
	color: #333;
	font: normal 13px "Arial", sans-serif;
	line-height: 1.3;
	text-align: left;
}

.lh-anchor-offset {
	scroll-margin-top: 150px;
}

/* -----[ Links ]--------------------------------------------------------------------- */

a {
	color: #06C;
	text-decoration: none;
}

a.light {
	border-bottom: 0;
	color: #39F;
}

a.visit:visited {
	border-bottom: 1px dotted #C06;
	color: #903;
}

a:hover, a:active {
	color: #000 !important;
	text-decoration: underline;
}

a.normal {
	color: #333;
}

a.normal:hover {
	color: #000 !important;
}

a.img,
a.img:active,
a.img:hover {
	border: 0 !important;
}

/* -----[ Headers ]--------------------------------------------------------------------- */

h1, h2, h3 {
	font-size: medium;
	font-weight: normal;
}

h1 {
	margin: 5px 0 15px;
	color: #666;
	font-family: Georgia, Arial, sans-serif;
	font-size: 2.2em;
	letter-spacing: -2px;
}

h2 {
	margin: 25px 0 10px;
	color: #300;
	font-family: Arial, sans-serif;
	font-size: 2.1em;
	letter-spacing: -1px;
}

h2 span {
	font-size: smaller;
}

h3 {
	margin: 10px 0 5px;
	color: #777;
	font-size: 1.8em;
	letter-spacing: -1px;
}

/* -----[ General ]--------------------------------------------------------------------- */

.dataForm th {
	width: 11em;
}

.datepicker {
	background-image: url(/img/icons/calendar-empty.png);
	background-repeat: no-repeat;
	background-position: right center;
	cursor: pointer;
}

.datepicker:hover,
.datepicker:focus {
	background-image: url(/img/icons/calendar-insert-pad.png);
	background-repeat: no-repeat;
	background-position: right center;
}

.ui-datepicker span {
	color: inherit;
}

/* -----[ Inputs ]--------------------------------------------------------------------- */

input.inputTextFull,
textarea.inputTextFull {
	width: 500px;
}

.radioList var.nowrap {
	display: block;
	float: left;
	margin-bottom: 6px;
}

.radioList var.nowrap:hover {
	background: #FFF4BF;
}

/* -----[ Layout ]--------------------------------------------------------------------- */

#logo {
	padding: 0 5px;
}

#content {
	padding: 0 10px;
}

#footer {
	clear: both;
	border-top: 2px solid #DDD;
	margin: 4em 0 2em;
	padding-top: 5px;
	color: #888;
}

#footer span {
	padding: 0 5px;
}

/* -----[ Menu ]--------------------------------------------------------------------- */

#header {
	padding: 4px 0;
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	z-index: 9999;
}

.navMenu {
	float: left;
	clear: left;
}

.navInfo {
	float: right;
	clear: right;
}

.navMenu li {
	display: block;
	float: left;
	padding: 2px 10px;
}

.navMenu li a {
	display: block;
	float: left;
	color: #FE5;
	font-weight: bold;
	letter-spacing: -1px;
	text-decoration: none;
}

.navMenu li a:hover {
	color: #FFF !important;
	text-decoration: none;
}

.navMenu li a.normal {
	color: #FC0;
}

.navMenu li.here a {
	color: #FFF;
}

.navMenu span {
	padding-left: 1px;
	padding-right: 5px;
	font-size: 10px;
	vertical-align: top;
}

p.navMenu {
	margin: 0 10px;
	color: #999;
}

p.navMenu a {
	color: #FE5;
	font-weight: bold;
	letter-spacing: -1px;
}

p.navMenu a.here {
	color: #F66;
}

p.navMenu a:hover {
	color: #FFF !important;
}

.navInfo th,
.navInfo td {
	padding: 2px 5px;
}

.navInfo td {
	color: #BE7;
	font-weight: bold;
}

.navInfo th {
	padding-left: 10px;
	color: #8A3;
	letter-spacing: -1px;
}

/* -----[ Calendar ]--------------------------------------------------------------------- */

.calendar {
	margin: 0 25px;
	padding: 5px 10px;
	background: #666;
	font-size: 12px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.calendarMin {
	padding: 2px 10px 4px;
}

.calendar table {
	width: 100%;
	background: #FFF;
}

.calendar th {
	background: #666;
	border: 1px solid #666;
	color: #EEE;
	font-weight: bold;
}

.calendar tr.dayLabel th {
	padding: 5px 0;
	/*border-right: 1px solid #555;*/
	font-size: small;
	text-align: center;
}

.calendar tr.dayLabel th:first-child,
.calendar tr.dayLabel th:last-child {
	border-right-width: 0;
}

.calendar th.timeLabel {
	padding-right: 5px;
	/*border-top: 1px solid #555;*/
	text-align: right;
}

.calendar tr.summary th {
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #555;
	border-width: 1px 0;
	font-size: small;
	white-space: normal;
}

.calendar td {
	background: #DFC;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-width: 0 1px;
	padding: 1px 2px;
}

/*
.calendar tr:last-child td {
	border-bottom: 1px solid #CCC;
}
*/
.calendar .calendarApptGeneral {
	background: #FDD;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.calendar .calendarApptOffice {
	background: #ffd583;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptCourt,
.calendar .calendarApptCourtFiling {
	background: #a8daf6;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptOffice.calendarApptCriminal {
	background: #ffb683;
	white-space: nowrap;
}

.calendar .calendarApptCourt.calendarApptCriminal {
	background: #a8c6f6;
	white-space: nowrap;
}

.calendar .calendarApptCourt.calendarApptBlockOut {
	background: #9dcf48;
}

.calendar .calendarApptSkype,
.calendar .calendarApptPhone {
	background: #eaff80;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptMoney,
.calendar .calendarApptOffice.calendarApptMoney {
	background: #63f281;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptPrison {
	background: #cea6f5;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptNote {
	background: #fa7575;
	border: 1px solid rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.calendar .calendarApptSubs {
	background: #fa75fa;
	font-weight: bold;
}

b.calendarApptOwner {
	margin-right: 3px;
	padding: 0 1px;
	background: #FFF;
}

b.calendarApptOwner-CH {
	color: #900;
}

b.calendarApptOwner-GH {
	color: #960;
}

b.calendarApptOwner-HP {
	color: #C0C;
}

b.calendarApptOwner-MC {
	color: #00C;
}

b.calendarApptOwner-SP {
	color: #099;
}

/*
.calendar .calendarHalfHour {
	border-top: 1px solid #EEE;
}
*/
.calendar .calendarApptKept,
.calendar .calendarApptMissed {
	padding-right: 11px;
}

.calendar .calendarApptKept {
	background: url(/img/icons/tick-small.png) no-repeat right center;
}

.calendar .calendarApptMissed {
	background: url(/img/icons/cross-small.png) no-repeat right center;
}

.calendar .expectedPaymentStatusYes,
.calendar .expectedPaymentStatusPending,
.calendar .expectedPaymentStatusNo {
	padding-right: 11px;
}

.calendar .expectedPaymentStatusYes {
	background: url(/img/icons/dollar-small-green.png) no-repeat right top;
}

.calendar .expectedPaymentStatusPending {
	background: url(/img/icons/hourglass-small.png) no-repeat right top;
}

.calendar .expectedPaymentStatusNo {
	background: url(/img/icons/dollar-small-red.png) no-repeat right top;
}

.calendar p {
	margin: 0;
	color: #EEE;
	text-align: left;
	line-height: 1.2;
}

.calendarExpand p {
	margin-top: 5px;
}

.calendar a {
	color: #111;
}

.calendar a.ignore,
.calendar a.ignore small {
	color: #999;
}

.calendar a.ignore:hover,
.calendar a.ignore:hover small {
	color: #666;
}

.calendar p a,
.calendar th a {
	color: #EEE;
}

.calendar small {
	color: #666;
	color: rgba(0, 0, 0, 0.6);
}

.calendar span {
	color: #CCC;
}

.calendar .calendarBlockLine {
	border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.calendar .calendarBlockEmpty {
	font-size: 1px;
}

.calendar .calendarBlockBlockOut {
	background-image: url(/img/misc/calendar-block-block-out.png);
	background-repeat: repeat;
	background-position: left top;
	border-top-color: transparent;
}

.calendar .calendarBlockCourt {
	background-image: url(/img/misc/calendar-block-court.png);
	background-repeat: repeat;
	background-position: left top;
	border-top-color: transparent;
}

.calendar .calendarBlockOff {
	background-image: url(/img/misc/calendar-block-off.png);
	background-repeat: repeat;
	background-position: left top;
	border-top-color: transparent;
}

.calendar th.calendarBlockToday {
	background: #555;
	border: 3px solid #333;
	border-width: 0 3px;
	color: #FFF;
}

.messageDisplay {
	position: absolute;
	top: 30px;
	right: 10px;
	max-width: 500px;
	padding: 5px 10px;
	background: #888;
	color: #EEE;
	font-size: 12px;
	z-index: 100;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.messageDisplay p {
	margin-bottom: 0;
}

.messageDisplay span {
	color: #000;
}

.messageDisplay a {
	color: #FFF;
}

.messageDisplay ul a {
	text-decoration: underline;
}

/* -----[ Note Feed ]--------------------------------------------------------------------- */

.lh-note-feed {
	margin: 0 25px;
	padding: 5px 10px;
}

.lh-note-feed table {
	margin-bottom: 0;
}

.lh-note-feed .quickLinks span {
	font-size: 12px;
}

/* -----[ Notification ]--------------------------------------------------------------------- */

.notification {
	position: relative;
	margin: 0 25px;
	padding: 5px 10px;
	background: #FFF4BF;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.notification p {
	margin: 0;
}

#notificationTodos {
	padding: 0;
	font-size: 1em;
	font-family: inherit;
	background: none;
	border: none;
	color: inherit;
}

#notificationTodos a {
	color: #0066CC;
}

.panel {
	display: none;
}

#notificationTodos .panel {
	padding: 0;
}

#notificationTodos ul {
	padding: 0 0 0 50px;
	margin: 4px 0;
	background: none;
	border: none;
	border-bottom: 1px solid #333333;
	font-size: 0.9em;
}

#notificationTodos ul li {
	background: #F2F2F2;
	border-color: #333333;
}

#notificationTodos ul li.ui-state-active {
	background-color: #FFF4BF;
}

#notificationTodos ul li a {
	padding: 2px 3px;
	color: #888888;
}

#notificationTodos ul li.ui-state-active a {
	color: #333333;
}

#notificationTodos .heading {
	position: absolute;
	top: 0;
	left: 0;
}

#notificationTodos .actions {
	position: absolute;
	top: 0;
	left: auto;
	right: 0;
}

.notificationTodosPhone {
	margin: 5px 0 5px 0;
	padding: 5px 8px;
	border-bottom: 1px solid #ffb683;
	border: 1px solid #ffb683;
	background-color: #f1fcf1;
}

.generalNote .alert {
	color: orange !important;
}

.generalNote a {
	color: green !important;
}

/* -----[ Search ]--------------------------------------------------------------------- */

.titleWrap {
	margin-top: 10px;
}

.titleWrap h1 {
	float: left;
	margin-top: 0;
}

.searchBox {
	float: left;
	background: #EEE;
	margin: 0 15px;
	padding: 5px 10px;
	vertical-align: middle;
	border-radius: 3px;
	-moz-border-radius: 3px;
}

.searchBox tr {
	vertical-align: middle;
}

.searchBox td {
	padding: 0 2px;
}

.searchBox .inputButton {
	padding: 2px 5px;
	font-weight: bold;
}

#stats {
	float: right;
}

#stats p {
	margin: 0;
	padding-top: 5px;
}

/* -----[ Fieldsets ]--------------------------------------------------------------------- */

fieldset {
	position: relative;
	margin-bottom: 15px;
	padding: 5px 10px 0;
	background: #F9F9F9;
	border: 2px solid #DDD;
}

fieldset legend {
	padding: 5px;
	color: #999;
	font-size: 1.5em;
}

fieldset .boxEdit {
	position: absolute;
	top: -15px;
	right: 20px;
}

.columnSplit2 {
	float: left;
	width: 49%;
}

.submitButtons .inputButton {
	margin-right: 18px;
	padding-top: 12px;
	padding-bottom: 12px;
	background-color: #06C;
	border: 0;
	border-radius: 6px;
	color: #fff;
}

.submitButtons a.light {
	color: #666;
}

.linkButton {
	margin-right: 10px;
	padding: 1px 4px;
	background: #666;
	border: 1px solid #444;
	color: #DDD;
	text-align: center;
	white-space: nowrap;
	border-radius: 0.2em;
	-moz-border-radius: 0.2em;
}

.linkButtonBig {
	float: left;
	display: block;
	padding: 4px 8px;
	font-size: 1.4em;
}

.linkButtonActive {
	background: #C00;
	border-color: #933;
}

.timerDisplay span {
	color: #FFF;
}

.timerPlaceholder {
	display: none;
}

/* -----[ User List ]--------------------------------------------------------------------- */

.userList {
	font-size: 0.9em;
}

.userList p {
	margin-bottom: 5px;
}

.userList td {
	padding-top: 4px;
	padding-bottom: 4px;
}

.userList tr.empty {
	border-width: 0;
}

.userList tr.empty td {
	padding: 0;
}

.userList a.big {
	display: block;
	line-height: 1.1;
}

.userList a.big span {
	font-size: 0.9em;
	font-weight: normal;
}

.userList .statusUpdate {
	margin-top: 4px;
	line-height: 1.1;
}

.userListClosed {
	background: #EFC;
	opacity: 0.7;
}

tr.userListClosed:nth-child(odd) {
	background-color: #DEB;
}

.userListCancelled {
	opacity: 0.4;
}

.userListCancelled td,
.userListCancelled td a {
	color: #666;
}

.userListWithNote:hover + tr {
	background-color: #FFF4BF;
}

.userListWithNote:hover + tr.showInvisible .invisible {
	visibility: visible;
}

.dataList tr.userImportant {
	/*background-color: #FDD;*/
	background-color: rgba(255, 211, 211, 0.7) !important;
}

.dataList tr.userOutside {
	/*background-color: #CCF;*/
	background-color: rgba(222, 222, 255, 0.4);
	background-image: url(/img/layout/bg-diagonal.png);
	background-repeat: repeat;
	background-position: left top;
}

.quickLinks {
	margin-bottom: 5px;
}

.quickLinks a.here {
	color: #000;
	font-weight: bold;
}

.quickLinks a.big {
	line-height: 1.0;
}

.quickLinks span {
	padding-left: 1px;
	padding-right: 5px;
	font-size: 10px;
	vertical-align: top;
}

.quickLinks i {
	padding-left: 15px;
	color: #666;
}

/* -----[ User Status Checklist ]--------------------------------------------------------------------- */

.user-status-checklist {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 12px 0;
}

.user-status-checklist label {
	display: flex;
	gap: 4px;
	align-items: flex-start;
	padding: 8px;
	background-color: #f9f9f9;
	border: 1px dashed #666;
}

.user-status-checklist label.checked {
	background-color: #dce5ff;
	border: 1px solid #06C;
}

.user-status-checklist input[type='checkbox'] {
	accent-color: #06C;
}

.user-status-checklist b {
	display: block;
	font-size: 14px;
}

.user-status-checklist span {
	font-size: 11px;
}

.user-status-checklist-item input[type='checkbox'] {
	accent-color: #666;
	transform: scale(0.9);
}

@media (min-width: 640px) {
	.user-status-checklist {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1024px) {
	.user-status-checklist {
		grid-template-columns: repeat(6, 1fr);
	}
}

@media (min-width: 1600px) {
	.user-status-checklist {
		grid-template-columns: repeat(8, 1fr);
	}
}

/* -----[ Payment List ]--------------------------------------------------------------------- */

.paymentList table.dataList {
	width: auto;
}

.paymentList td:first-child {

}

.paymentList .pagedLinks {
	text-align: left;
}

/* -----[ Subscription ]--------------------------------------------------------------------- */

.dataListSubscription {
	width: auto;
}

.dataListSubscription th {
	padding: 12px 24px;
}

.dataListSubscription td {
	padding: 6px 12px;
}

.dataListSubscription label,
.dataListSubscription input {
	cursor: pointer;
}

.subHere {
	background: #FFF4BF;
	font-weight: bold;
}

.dataListSubscription th:hover,
.dataListSubscription th.subHere {
	background: #444;
}

/* -----[ Popup Box ]--------------------------------------------------------------------- */

.overlay {
	position: absolute;
	left: 0;
	top: 0;
	display: inline;
	background-color: #000;
	opacity: 0.4;
	z-index: 5000;
}

.popupBox {
	position: absolute;
	background: #FFF;
	border: 5px solid #DDD;
	z-index: 5005;
	-moz-box-shadow: 0 0 1em #666;
	-webkit-box-shadow: 0 0 1em #666;
}

.popupBox .popupBoxContent {
	padding: 0 10px 20px;
	border: 1px solid #DDD;
	border-width: 1px 0;
	line-height: 1.8;
	overflow: auto;
}

.popupBox h2 {
	margin: 0;
}

.popupBox h2 span {
	padding-left: 5px;
	font: 14px Arial, sans-serif;
}

.popupBox h2 span a {
	color: #666;
	text-decoration: underline;
}

.popupBox form input,
.popupBox form label {
	display: block;
}

.popupBox form label {
	margin-top: 10px;
	font-size: 12px;
	font-weight: bold;
}

.popupBox form input.inputButton {
	margin: 20px 0 0;
}

.popupBox .furtherOptions {
	margin-bottom: 0;
	padding: 10px;
	background: #F4F4F4;
}

.popupBox .furtherOptions p {
	margin: 0;
}

.popupBox .furtherOptions p.left {
	float: left;
}

.popupBox .furtherOptions p.right {
	float: right;
}

.popupBox .close {
	position: absolute;
	right: 5px;
	top: 5px;
}

/* -----[ Search Suggest ]--------------------------------------------------------------------- */

.suggestBox {
	position: absolute;
	min-width: 240px;
	margin: 0;
	padding: 3px;
	background: #FFF;
	border: 1px solid #CCC;
	line-height: 1.5;
	z-index: 100;
}

/* -----[ Select Step/Activity/Task ]--------------------------------------------------------------------- */

.selectListStep > li > a {
	font-size: 1.2em;
	padding-left: 22px;
	background: url(/img/icons/toggle-small-expand-bw.png) no-repeat left center;
}

.selectListStep > li > a.selectListStepActive {
	background-image: url(/img/icons/toggle-small.png);
	font-weight: bold;
}

.selectListStep li {
	/*line-height: 1.8;*/
	margin-bottom: 1.2em;
}

.selectListStep a {
	display: block;
	margin-bottom: 0.8em;
	color: #000;
}

.selectListActivity {
	margin-left: 43px;
}

.selectListActivity li {
	margin-bottom: 0.8em;
}

.selectListActivity > li > a {
	padding-left: 22px;
	background: url(/img/icons/toggle-small-expand-bw.png) no-repeat left center;
}

.selectListActivity > li > a.selectListActivityActive {
	background-image: url(/img/icons/toggle-small.png);
	font-weight: bold;
}

.selectListTask {
	margin-left: 52px;
}

.selectListTask li {
	margin-bottom: 0.8em;
	font-size: 0.9em;
}

.selectListTask > li > a {
	padding-left: 22px;
	background: url(/img/icons/toggle-small-empty-bw.png) no-repeat left center;
}

.selectListTask > li > a.selectListTaskActive {
	background-image: url(/img/icons/toggle-small-selected.png);
	background-color: #FFF4BF;
	font-weight: bold;
}

/* -----[ Time Tracking ]--------------------------------------------------------------------- */

.setBilledTodayLinkNormal, .setBilledTodayLinkWarning {
	min-height: 16px;
	background-position: left top;
}

.setBilledTodayLinkNormal {
	background-image: url(/img/icons/tick-white.png);
}

.setBilledTodayLinkWarning {
	background-image: url(/img/icons/tick-red.png);
}

/* -----[ ToDo Floater ]--------------------------------------------------------------------- */

#todoFloater {
	width: 380px;
	height: auto;
	position: fixed;
	bottom: 0;
	right: 10px;
	border: 1px solid black;
	border-bottom: none;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
}

#todoFloater.closed {
	opacity: 0.5;
}

#todoFloater.closed:hover {
	opacity: 1;
}

#todoFloater.closed #todoFloaterBody {
	display: none;
}

#todoFloaterHeader {
	cursor: pointer;
	background-color: black;
	color: white;
	font-weight: bold;
	padding: 3px 5px;
	font-size: 80%;
}

#todoFloaterBody {
	padding: 5px;
	background-color: white;
	height: 400px;
	overflow: auto;
}

#todoFloaterBody ul.todoList li {
	background-image: url(/img/icons/arrow-state-grey-right.png);
	background-position: left 5px;
	background-repeat: no-repeat;
	padding: 0 0 0 10px;
}

#todoFloaterBody ul.todoList li .here {
	color: #F66;
}

/* tooltip */
.ui-tooltip, .qtip {
	font-size: 90%;
	line-height: 130%;
}

.noteContentTypes {
	display: block;
}

.noteContentTextHidden {
	max-width: 100%;
	max-height: 55px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

/* Client Note */
.noteTypeNextStepFirst {
	background-color: #ddeebb;
}

.noteTypeNextStepFirst .noteContent {
	color: green;
	font-weight: bold;
}

/* -----[ Popup Note ]--------------------------------------------------------------------- */

#popupPromptNote {
	display: none;
}

.popupPromptNote {
	padding: 10px;
}

.popupPromptNote label span {
	display: block;
	color: #333;
	font-weight: 600;
}

.popupPromptNote textarea {
	display: block;
	width: 280px;
	height: 40px;
	margin: 0 0 10px;
}

.popupPromptNoteRequired textarea {
	border: 1px solid #933;
}


/* -----[ Tags ]--------------------------------------------------------------------- */

.lh-tag-list span {
	display: inline-block;
	margin: 2px;
	padding: 2px 5px;
	background-color: red;
	border-radius: 10px;
	color: white;
	font-size: 0.9em;
	font-weight: 600;
}


/* -----[ Modal ]--------------------------------------------------------------------- */

.lh-modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	visibility: hidden;
	opacity: 0;
	transition: visibility 500ms, opacity 500ms;
}

.lh-modal-active {
	visibility: visible;
	opacity: 1;
}

.lh-modal::before {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	content: '';
	opacity: 0.75;
	pointer-events: none;
}

.lh-modal-container {
	position: relative;
	width: 100%;
	max-width: 600px;
	max-height: calc(100vh - 64px);
	padding: 32px;
	background-color: #fff;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	outline: none;
	overflow-x: hidden;
	overflow-y: auto;
}

.lh-modal-container h2 {
	margin-top: 0;
}

.lh-modal-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 16px;
	height: 16px;
	padding: 8px;
	background: url(/img/icons/cross-empty.png) center center no-repeat;
	text-indent: -9999px;
}

.lh-modal-close:hover {
	background-image: url(/img/icons/cross.png);
}


/* -----[ Rotating image ]--------------------------------------------------------------------- */

.rotating-image {
	animation: rotate360 2s linear infinite;
}

@keyframes rotate360 {
	from {
		filter: hue-rotate(0deg) saturate(1.5);
		transform: rotate(0deg);
	}
	to {
		filter: hue-rotate(360deg) saturate(1.5);
		transform: rotate(360deg);
	}
}


/* -----[ Pulse text ]--------------------------------------------------------------------- */

.pulse-text {
	font-weight: bold;
	animation: fadeAndScale 2s ease-in-out infinite;
	display: inline-block; /* Ensures the transform applies properly */
	transform-origin: center center; /* Makes scaling happen from the center */
}

@keyframes fadeAndScale {
	0% {
		opacity: 0.2;
		transform: scale(0.9);
	}
	50% {
		opacity: 1;
		transform: scale(1.4);
	}
	100% {
		opacity: 0.2;
		transform: scale(0.9);
	}
}


/* -----[ Print Styles ]--------------------------------------------------------------------- */

@media print {
	#header,
	#stats,
	.calendar,
	.notification,
	.searchBox,
	.pagedLinks,
	a.icon {
		display: none;
	}
}
