/**
 * Bootstrap 5 CSS variable overrides
 * https://getbootstrap.com/docs/5.3/customize/css-variables/
 */
:root {
	--bs-success-text-emphasis: rgb(6 95 70);
	--bs-success-bg-subtle: rgb(236 253 245);
	--bs-success-border-subtle: rgb(167 243 208);
	--bs-light-rgb: 248, 250, 252;
	--bs-primary-rgb: 13, 110, 253;
	/* --bs-border-color: #f3f5f7; */
	--bs-badge-font-weight: 500;
	--bs-box-shadow-sm: 0 0 0.25rem rgba(0, 0, 0, 0.1);
}
.bg-success {
	background-color: rgb(236 253 245) !important;
	color: var(--bs-success-text-emphasis) !important;
}
.text-bg-secondary {
	background: #eef2f6 !important;
	color: #6b7280 !important;
}
.text-bg-warning {
	background: #fff5da !important;
	color: #b88306 !important;
}
html,
body {
	min-height: 100%;
	font-family: "Roboto", arial, sans-serif;
	font-size: 14px;
	line-height: 1.5em;
}
a {
	text-decoration: none;
}
.bg-dark {
	background: #0B1E31 !important;
}
.pwlh-main-content {
	width: 100%;
}
.pwlh-page-login,
.page-template-pwlh-static-page {
	background: #f5f5f5;
	height: 100%;
}
header {
	z-index: 10;
	border-bottom: 1px solid #ddd;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	background: #fff;
}
header .nav-item .material-icons {
	font-size: 24px;
	vertical-align: middle;
}
header.navbar {
	padding-left: 15px;
}
.navbar-brand {
	margin-right: 0;
}
.brand-logo {
	display: inline-block;
}
.navbar-brand span {
	margin-left: 10px;
	font-weight: 600;
}
.user-login-status .navbar {
	margin-bottom: 0;
}
.user-loginout .avatar {
	border-radius: 50px;
	width: 40px;
	height: auto;
}
.user-loginout {
	width: 100%;
	list-style: none;
}
.user-loginout .nav-link.dropdown-toggle {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
}
.user-loginout .nav-link.dropdown-toggle::after {
	justify-self: flex-end;
}
.user-loginout .user-name {
	color: #212529;
	text-align: left;
	font-size: 14px;
}
.dropup .dropdown-menu[data-bs-popper] {
	min-width: 100%;
}
.user-login-status .dropup .dropdown-menu[data-bs-popper] {
	bottom: 120%;
}
.login-wrapper,
.page-wrapper {
	background: #fff;
	border-radius: 3px;
	padding: 1.5em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
	margin-top: 6rem;
	margin-left: 2rem;
}
.page-wrapper {
	margin-left: 0;
	margin-bottom: 6em;
}
#login_error {
	position: relative;
	padding: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: 0.25rem;
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}
.login-wrapper #wfls-prompt-overlay {
	padding: 0;
	align-items: flex-start;
}
#wfls-prompt-wrapper > p {
	margin-bottom: 0;
}
#wfls-prompt-wrapper > p > label {
	font-weight: bold;
}
#wfls-token {
	display: block;
	width: 100%;
	height: calc(1.5em + 1rem + 2px);
	padding: .5rem 1rem;
	font-size: 1.25rem;
	line-height: 1.5;
	border-radius: .3rem;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
#wfls-token:focus,
#wfls-token-submit:focus {
	color: #495057;
	border-color: #80bdff;
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25);
}
#wfls-token-submit:focus {
	color: #fff;
}
#wfls-token-submit {
	display: block;
	width: 100%;
	padding: .5rem 1rem;
	font-size: 1.25rem;
	line-height: 1.5;
	border-radius: .3rem;
	color: #fff;
	background-color: #007bff;
	border-color: #007bff;
	font-weight: 400;
	text-align: center;
	border: 1px solid transparent;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.sidebar {
	z-index: 5;
	min-height: 100vh;
	margin-top: -73px;
	width: 210px;
	font-size: 0.9em;
	font-weight: 400;
	padding: 73px 15px 0;
	overflow-y: auto;
}
.sidebar .navbar-nav .material-icons {
	width: 16px;
	margin-left: -30px;
	margin-right: 10px;
	font-size: 16px;
	text-align: center;
}
.sidebar .navbar-nav ul {
	list-style: none;
	margin-left: 20px;
}
.sidebar .navbar-nav ul li:last-child {
	margin-bottom: 15px;
}
.sidebar .navbar-nav ul .nav-link {
	padding: 2px 0;
	color: rgba(0, 0, 0, 0.8);
}
.sidebar .navbar-nav ul .nav-link:hover,
.sidebar .navbar-nav ul .active,
.navbar-dark .navbar-nav .nav-link.active {
	color: #007bff;
}
.sidebar .nav-item-top > a,
.sidebar .nav-item-top > .sidebar-heading > a {
	padding: 15px 0 15px 30px;
}
.sidebar .nav-item-top > a,
.sidebar .sidebar-heading > .nav-link {
	text-transform: uppercase;
	font-weight: 600;
	font-size: 12px;
}
.sidebar .sidebar-heading > .nav-link {
	color: rgba(255, 255, 255, 0.4);
}
.sidebar .nav-item-top {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	margin: 0 -15px;
	padding: 0 15px;
}
.sidebar .nav-item-separator {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	height: 0;
	margin: 0.5em 0;
}
.sidebar .sidebar-heading {
	margin-bottom: 0;
}
.sidebar .sidebar-heading a {
	padding: 15px 0;
}
.sidebar .navbar-toggler {
	border: none;
}
.sidebar .navbar-toggler .icon-expand-more,
.sidebar .navbar-toggler .icon-expand-less {
	float: right;
	font-size: 8px;
	vertical-align: middle;
	margin: 0 !important;
}
.sidebar .navbar-toggler .icon-expand-more,
.sidebar .navbar-toggler.collapsed .icon-expand-less {
	display: none;
}
.sidebar .navbar-toggler.collapsed .icon-expand-more {
	display: block;
}
.toggle-sidebar {
	font-size: 0.75em;
	text-transform: uppercase;
}
.toggle-sidebar,
.toggle-sidebar:hover,
.toggle-sidebar:active,
.toggle-sidebar:focus,
.toggle-sidebar.active,
.toggle-sidebar.show {
	text-decoration: none;
	color: #0c4a6e;
	background: transparent !important;
	line-height: 16px;
}
.toggle-sidebar .material-icons {
	color: #0c4a6e;
	font-size: 16px;
	width: 16px;
	text-align: center;
	vertical-align: bottom;
	margin-right: 2px;
}
.system-version {
	color: rgba(255, 255, 255, 0.4);
}
.stage {
	padding: 0;
	background: #f5f5f5;
}
.stage > .alert {
	border-radius: 0;
	margin: 0;
}
.content {
	padding: 30px;
}
.content-header,
.content > .display-4 {
	margin-bottom: 20px;
}
.content-header .utility-toggle .material-icons {
	opacity: 0.7;
}
.content-filter {
	margin-bottom: 40px;
}
.content > .card {
	margin: 20px 0;
}
.remodal .card {
	margin: 20px 0;
}
.content .nav-pills,
.content .nav-tabs {
	margin-bottom: 30px;
}
.nav-tabs .nav-link {
	cursor: pointer;
}
.tab-pane > .card {
	margin-bottom: 2rem;
}
.screen-reader-text {
	display: none;
}
.action-panel {
	margin-top: 30px;
}
.action-link {
	margin-top: 20px;
}
.action-link .btn {
	float: left;
	margin: 5px 20px 15px 0;
}
.chosen-container {
	display: flex;
	width: 100%;
}
.chosen-choices,
.chosen-container-multi .chosen-choices,
.chosen-container-single .chosen-single,
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper select {
	display: block;
	width: 100%;
	height: calc(1.5em + .75rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background: #fff;
	background-clip: padding-box;
	box-shadow: none;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.chosen-container-multi .chosen-choices li.search-choice {
	font-size: 0.8em;
	border: none;
	background: #eee;
	padding-top: 4px;
	padding-bottom: 4px;
	margin-bottom: 0;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
	top: 6px;
}
.chosen-container-single .chosen-single abbr {
	top: 13px;
}
.chosen-container-single .chosen-single div b {
	background-position: 0 9px;
}
.chosen-container-active.chosen-with-drop .chosen-single div b {
	background-position: -18px 9px;
}
.chosen-container-active.chosen-with-drop .chosen-single {
	background: #fff;
}
.select2-container--bootstrap4 .select2-results__option,
.select2-search--dropdown .select2-search__field {
	font-size: 0.8rem;
	line-height: normal;
}
.loading-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 110%;
	text-align: center;
	background: rgba(255, 255, 255, 0.8);
}
.loading-overlay .material-icons {
	font-size: 48px;
	margin-top: 50px;
	margin-bottom: 20px;
}
.edit-user-wrapper .loading-overlay {
	height: 100%;
}
.edit-user-wrapper .loading-overlay .material-icons {
	position: absolute;
	top: 50%;
	margin: 0;
}
.table-sm {
	font-size: 0.9rem;
}
table.table-fit {
	width: auto !important;
	table-layout: auto !important;
}
table.table-fit thead th,
table.table-fit tfoot th {
	width: auto !important;
}
table.table-fit tbody td,
table.table-fit tfoot td {
	width: auto !important;
}
table.dataTable {
	margin: 0;
	max-width: 100%;
	border: 1px solid #dee2e6;
}
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tbody th,
table.dataTable tbody td,
table.dataTable tfoot th,
table.dataTable tfoot td {
	padding: .75rem .3rem;
}
table.dataTable thead th {
	border-bottom: 2px solid #dee2e6;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
	border-top: 2px solid #dee2e6;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
	background-position: right 5px;
}
table .column-cb {
	text-align: left;
}
table.table-bordered.dataTable tbody tr:last-child td {
	border-bottom-width: 1px;
}
#monthly-activity-summary th input[type="text"],
#monthly-activity-summary th select {
	border: none;
	background: #eee;
	border-radius: 3px;
	padding: 2px 5px;
	margin: 5px -0.3rem 0;
	max-width: 100%;
}
#monthly-activity-summary .class-attendance {
	list-style: none;
	padding: 0;
	margin: 0;
}
#monthly-activity-summary .class-attendance li {
	display: inline;
}
#monthly-activity-summary .class-attendance .material-icons {
	color: #ccc;
}
#monthly-activity-summary .class-attendance .icon-check-circle {
	color: #36B052;
}
#monthly-activity-summary .class-attendance .icon-cancel {
	color: #f00;
}
#monthly-activity-summary .class-attendance .icon-block {
	color: #FF9D00;
}
#monthly-activity-summary .reason {
	display: block;
	font-size: 0.9em;
	font-style: italic;
	color: #888;
}
.floating-panel {
	padding: 10px 30px;
	margin-left: -30px;
	margin-right: -30px;
	background: #fff;
	display: none;
	position: relative;
	transition: top 0.1s ease-in-out;
}
.floating-panel .tablenav {
	margin-bottom: 0;
}
.floating-panel.scroll-to-fixed-fixed {
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid #ddd;
}
.floating-panel-toggle {
	position: fixed;
	top: 10px;
	left: 15px;
	display: none;
}
.floating-panel.scroll-to-fixed-fixed .floating-panel-toggle {
	display: block;
}
.floating-panel.scroll-to-fixed-fixed.open {
	top: 0 !important;
}
.material-icons {
	vertical-align: middle;
	line-height: 1;
}
.tablenav {
	margin-bottom: 20px;
}
.dataTables_wrapper .datatable {
	display: table;
}
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_info {
	margin-top: 10px !important;
}
.dataTables_wrapper .dataTables_info {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: .55rem .75rem !important;
	margin-bottom: 1rem;
	font-size: .875rem;
	list-style: none;
	background-color: #e9ecef;
	border-radius: .2rem;
}
.mb-3 > label,
.mb-3 > .form-label {
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.mb-3 > small,
.mb-3 > .small,
.mb-3 .form-text {
	display: inline-block;
	margin-top: 0.5em;
	line-height: 1.3em;
	font-size: 13px;
}
.utility-toggle .material-icons {
	font-size: 16px;
}
.utility-toggle .icon-expand-more {
	font-size: 12px;
}
.pill {
	display: inline-block;
	font-weight: 400;
	color: #212529;
	text-align: center;
	vertical-align: middle;
	background: #F0F1F2;
	border: 1px solid #ccc;
	padding: .375rem .75rem;
	font-size: 1rem;
	line-height: 1.5;
	border-radius: .25rem;
}
.pill-sm {
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem;
}
.pill span {
	display: inline-block;
	margin: -.375rem -.75rem -.375rem .375rem;
	padding: .375rem .75rem;
	background: #fff;
	border-radius: 0 .25rem .25rem 0;
}
.pill-sm span {
	margin: -.25rem -.5rem -.25rem .5rem;
	padding: .25rem .5rem;
}
.pill:last-child {
	margin-left: 5px;
}
.card-header h4 {
	margin: 0;
}
.card-header h4 .badge {
	font-weight: 500;
}
.hasDatepicker {
	min-width: 150px;
}
.editable-records {
	font-size: 0.8em;
}
.editable-records .record select,
.editable-records .record .custom-control,
.editable-records .record .form-control,
.editable-records .record .chosen-container,
.editable-records .record .action-buttons,
.editable-records .editing .current {
	display: none;
}
.editable-records .editing select,
.editable-records .editing .custom-control,
.editable-records .editing .form-control:not(.hidden),
.editable-records .editing .chosen-container,
.editable-records .editing .action-buttons {
	display: block;
}
.editable-records .form-control,
.editable-records .form-select,
.editable-records .custom-select,
.editable-records .chosen-choices,
.editable-records .chosen-container-multi .chosen-choices,
.editable-records .chosen-container-single .chosen-single,
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper select {
	height: calc(1.5em + .5rem + 2px);
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem;
}
.editable-records .form-select,
.editable-records .custom-select {
	max-width: 300px;
}
.editable-records textarea.form-control {
	height: auto;
}
.editable-records .chosen-container-single .chosen-single div b {
	background-position: 0 5px;
}
.editable-records .chosen-container-single .chosen-single abbr {
	top: 9px;
}
.editable-records .hasDatepicker,
.form-control-sm.hasDatepicker {
	min-width: 80px;
}
.form-control.other-field {
	display: inline-block;
	width: 80%;
}
table .material-icons {
	font-size: 14px;
}
table .remove {
	vertical-align: top;
	text-align: right;
	min-width: 70px;
}
table.class-records .remove {
	min-width: 80px;
}
table .remove .button {
	font-size: 10px;
	font-weight: normal;
	text-transform: uppercase;
	padding: 3px 5px;
	display: block;
	margin-bottom: 5px;
	color: #fff;
}
table .remove .edit-row {
	color: #333;
}
table .remove .remove-row {
	color: #dc3545;
}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper select {
	display: inline;
}
.dataTables_wrapper .dataTables_filter input {
	width: auto;
}
.add-class-records.editable-records tr td:first-child {
	max-width: 15vw;
}
.student-schedule,
.statement-data {
	margin-top: 20px;
}
.schedule-preview .alert {
	margin-top: 1rem;
}
.excluded .student-schedule,
.excluded.schedule-preview .alert,
.excluded .statement-data,
.excluded.statement-data .alert,
.excluded > .alert,
.excluded .report-preview-content {
	display: none;
}
.notice-regenerate-with-zero-amount {
	display: none;
}
.insufficient-total .notice-regenerate-with-zero-amount {
	display: block;
}
.insufficient-total .statement-total {
	color: #dc3545 !important;
}
.custom-switch-danger .custom-control-input:checked ~ .custom-control-label::before {
	background-color: #dc3545;
	border-color: #dc3545;
}
.custom-switch-danger .custom-control-input:focus ~ .custom-control-label::before {
	box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, .25);
}
.custom-switch-danger .custom-control-input:disabled:checked ~ .custom-control-label::before {
	background-color: rgba(220, 53, 69, 0.5);
}
/**
 * Statements
 -----------------------------------------------------------------------*/
.status-text .pending {
	color: #D10808;
}
.status-text .paid {
	color: #066C0B;
}
.statement,
.progress-report {
	margin-top: 10px;
	padding: 40px;
	border: 1px solid #eee;
	background: #fafafa;
	clear: both;
}
.statement .branch-name {
	color: #B1A85B;
	margin-bottom: 0;
}
.statement .company-name {
	margin: 10px 0 0;
}
.statement .company-name .comreg {
	font-size: 12px;
	color: #000;
}
.statement .company-details {
	font-size: 14px;
	line-height: normal;
	margin-top: 0;
}
.statement .branch-logo {
	max-width: 150px;
	height: auto;
	float: right;
}
.statement .statement-title {
	font-size: 30px;
}
.statement ul {
	margin: 10px 0 20px;
	padding: 0;
}
.statement ul li {
	list-style: none;
	margin: 0;
}
.statement li span {
	display: inline-block;
	font-weight: bold;
	width: 100px;
}
.statement .user-details .label {
	width: 150px;
}
.statement .statement-items {
	min-width: 900px;
}
.statement .statement-items td {
	padding: 2px;
	vertical-align: top;
	text-align: center;
}
.statement .statement-items .name {
	text-align: left;
}
.statement .statement-items .bonus-label {
	text-align: right;
}
.statement .class-fee-calc,
.statement-preview .class-fee-calc,
.class-fee-calc table {
	font-size: 12px;
	line-height: normal;
}
.class-fee-calc table {
	margin-top: 0;
	border: none;
}
.statement-items .class-fee-calc table th,
.statement-items .class-fee-calc table td {
	padding: 0 4px;
	text-align: left;
}
.statement .statement-items .total td:first-child,
.statement .statement-items .amount,
.statement .statement-items .statement-total {
	text-align: right;
	vertical-align: middle;
}
.statement .statement-items .total td {
	border-top: none;
	border-bottom: none;
}
.statement .statement-items .subtotal td,
.statement .statement-items .total-excl-gst td,
.statement .statement-items .total-incl-gst td,
.statement .statement-items .balance td {
	border-top: 1px solid #ddd;
}
.statement .statement-items {
	border-bottom: 1px solid #ddd;
}
.statement .payment-terms {
	margin-left: 20px;
}
.statement .payment-terms li {
	list-style: disc;
}
.statement .footnote {
	font-size: 12px;
	border-top: 1px solid #f5f5f5;
	padding-top: 0;
	margin-top: 40px;
}
.statement .footnote .address {
	margin-left: 20px;
}
.view-payments-link .material-icons {
	color: #7AD03A;
}
.gst-note {
	text-align: right;
	margin-top: -15px;
	margin-bottom: 10px;
	font-size: 11px;
}
.statement-payments-wrapper,
.bulk-payments-wrapper,
.assign-classes-wrapper,
.edit-user-wrapper,
form.pwlh-cancel-student,
#monthly-activity-summary-wrapper,
.cancel-students-wrapper,
.enrol-students-wrapper,
.generate-statements-wrapper,
.record-attendance-wrapper,
.class-notifications-wrapper,
.referral-review-wrapper,
.cancel-classes-wrapper form,
.adjust-credits-wrapper {
	min-height: 100px;
	position: relative;
	padding-top: 10px;
}
#monthly-activity-summary-wrapper {
	min-height: 200px;
}
#monthly-activity-summary {
	table-layout: fixed;
}
#monthly-activity-summary .just-enrolled .enrolment-status {
	color: #00f;
}
#monthly-activity-summary .temp-cancelled .student-name,
#monthly-activity-summary .temp-cancelled .enrolment-status {
	color: #E2940B;
}
#monthly-activity-summary .just-cancelled .student-name,
#monthly-activity-summary .just-cancelled .enrolment-status {
	color: #f00;
}
.payments-form {
	position: relative;
}
.class-fee-calc {
	margin-top: 1em;
}
.absentees-report ol {
	margin: 0;
	padding: 0 0 0 10px;
}
.absentees-report .icon-error {
	color: #EFB400;
}
.chart-wrapper {
	margin-bottom: 40px;
}
.chart-wrapper .legend {
	margin: 10px 0;
	list-style: none;
	text-align: center;
}
.chart-wrapper .legend li {
	display: inline-block;
	margin-right: 10px;
}
.chart-wrapper .legend span {
	display: inline-block;
	width: 15px;
	height: 15px;
	border-radius: 15px;
	vertical-align: middle;
	margin-right: 5px;
	background: #F38630;
}
.chart-wrapper .legend .series-2 span {
	background: #5B9BD5;
}
.chart-wrapper .legend .series-3 span {
	background: #3FB8AF;
}
.chart-wrapper .legend .series-4 span {
	background: #655643;
}
.chart-element {
	height: 250px;
	width: 100%;
	clear: both;
	margin-top: 5px;
}
.morris-hover .hover-data {
	margin: 0;
}
.morris-hover .hover-data li {
	margin: 0;
	width: 180px;
	text-align: left;
	list-style: none;
}
.morris-hover .hover-data label {
	font-weight: bold;
	width: 60px;
	text-align: right;
}
.entry-content .datatable {
	display: none;
}
.entry-content .dataTables_wrapper .datatable {
	display: table;
}
.text-muted {
	color: #94a3b8 !important;
}
.filters {
	margin-top: 20px;
}
.filters .material-icons {
	font-size: 12px;
	opacity: 0.8;
	margin: 0;
}
.filters .text-muted {
	margin-bottom: 10px;
}
.filters .btn {
	font-size: 80%;
	border-radius: 15px;
	padding: .2rem .5rem;
	line-height: 1;
	margin-bottom: 5px;
}
.error {
	color: #dc3545 !important;
}
.hidden {
	display: none;
}
.actions .search-class h4,
.actions .search-statement h4 {
	border-top: 1px solid #e5e5e5;
	padding-top: 5px;
}
.action-panels {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.action-panels .action-wrap {
	width: 49%;
	margin-bottom: 1em;
	background: #f5f5f5;
	padding: 0 10px;
	box-sizing: border-box;
}
.action-panels .action-wrap h3 {
	background: #fff;
	margin: 0 -10px;
	padding: 1em 0 0.5em;
}
.system-settings .email-newsletter {
	max-width: 725px;
	margin-bottom: 20px;
}
.system-settings .email-newsletter {
	padding: 0;
}
.wp-editor-container {
	border: 1px solid #ddd;
}
.wp-editor-wrap .button,
.wp-editor-wrap button,
.wp-editor-wrap input[type="submit"],
.wp-editor-wrap input[type="reset"] {
	border-radius: 0;
	box-shadow: none;
}
.action-settings .mce-edit-area,
.action-settings .mce-edit-area iframe {
	min-height: 400px;
}
.system-settings input[type="submit"] {
	margin-top: 40px;
	clear: both;
}
.wp-editor-wrap .wp-switch-editor {
	margin: 5px 0 0 5px;
}
.wp-editor-wrap .wp-core-ui .button,
.wp-editor-wrap .wp-core-ui .button-secondary {
	margin-right: 5px;
}
.current-action label.error {
	display: none !important;
}
.current-action input.error {
	border-color: #F86868;
	box-shadow: 0 0 2px #F86868;
}
.submit input[type="submit"] {
	margin-top: 20px;
	margin-right: 10px;
}
.btn-primary.disabled:hover,
.btn-primary:disabled:hover {
	cursor: not-allowed;
}
form .desc {
	font-style: italic;
}
.login-remember label {
	width: auto;
}
.welcome {
	margin-bottom: 20px;
}
.current-user {
	position: absolute;
	top: -40px;
	right: 0;
	margin-top: 0;
}
.return-link {
	position: absolute;
	right: 10px;
}
.return-link .button {
	padding: 2px 5px;
}
.pin-return-button .return-link {
	position: fixed;
	right: 15px;
	bottom: 15px;
	box-shadow: 0 0 10px #ccc;
	border: 1px solid #108DAB;
}
.layout-table {
	margin: 0;
	padding: 0;
	width: 100%;
	border-collapse: collapse;
}
.layout-table td {
	padding: 0;
	vertical-align: top;
	text-align: left;
	border: none !important;
}
.absent-label {
	color: #D10808;
}
.assessment-details {
	margin-top: 0;
	-webkit-column-count: 1;
	-moz-column-count: 1;
	column-count: 1;
}
.assessment-details .label {
	width: 70px;
}
.footnote {
	font-size: 0.8em;
	color: #888;
}
.class-replacement-records tbody tr {
	border-bottom: 1px solid #ddd;
}
.class-replacement-records .class-replaced {
	border-right: 4px solid #43C929;
}
.class-replacement-records .class-pending {
	border-right: 4px solid #C92D29;
}
.editable-records .chosen-select,
.editable-records .select2-select {
	width: 100%;
}
.select2-dropdown {
	z-index: 10001;
}
.class-records .field.remarks {
	width: 100%;
}
.class-records .extra-class label,
.class-records .add-new label {
	font-weight: normal;
	width: auto;
	display: inline;
}
.class-records .extra-class-label span {
	display: inline-block;
	padding: 2px 3px;
	font-size: 0.8em;
	line-height: normal;
	text-transform: uppercase;
	border: 1px solid #0784A5;
	color: #0784A5;
}
.class-records .class-attendees p {
	margin-bottom: 0;
}
.record a {
	font-weight: normal;
}
.delete .material-icons,
.cancel .material-icons {
	color: #c00;
}
.current-action .class-bulk-records-form {
	margin-top: 40px;
	border-top: 1px solid #ddd;
}
.current-action .class-bulk-records-form h4 {
	margin-bottom: 20px;
}
.editable-records .record .field,
.editable-records .record .chosen-container,
.editable-records .record .select2-container,
.editable-records .editing .current {
	display: none;
}
.editable-records .editing .field,
.editable-records .editing .chosen-container,
.editable-records .editing .select2-container {
	display: block;
}
.class-records .remarks p:first-child {
	margin-top: 0;
}
.statement-amount span {
	background: #0C8BAB;
	color: #fff;
	border: none;
}
.statement-balance,
.results-status {
	background: #fff;
}
.statement-balance span,
.results-status span {
	background: #c00;
	color: #fff;
	border: none;
}
.statement-balance.partial span,
.results-status.partial span {
	background: #ffba00;
}
.statement-balance.paid span,
.results-status.completed span {
	background: #7AD03A;
}
.statement-payments .add-row .button .material-icons {
	font-size: 14px;
}
.ms-container {
	width: 500px;
	margin-top: 10px;
}
.search-input {
	width: 100%;
	margin-bottom: 5px;
}
.container-label {
	text-align: center;
	margin-top: 5px;
	display: block;
}
.ms-selectable li,
.ms-selection li {
	margin-bottom: 0;
}
.red {
	color: #D10808;
}
.button.red {
	color: #fff;
}
.statement-preview span.user-type {
	font-size: 10px;
	text-transform: uppercase;
	padding: 2px 3px;
	background: #888;
	border: 1px solid #555;
	border-radius: 3px;
	color: #fff;
	margin-left: 5px;
	vertical-align: middle;
}
.statement-preview h3 {
	float: left;
}
.statement-preview .cancel-statement {
	float: right;
}
.statement-preview .cancel-statement label {
	width: auto;
	font-weight: 400;
	cursor: pointer;
}
.statement-preview .cancel-statement label.active {
	font-weight: bold;
	color: #E50B0B;
}
.statement-preview .statement-adjustment form,
.statement-preview .class-bonus form {
	margin-top: 0;
}
.statement-preview .statement-adjustment input,
.statement-preview .class-bonus input {
	text-align: right;
}
.statement-preview .statement-data {
	clear: both;
	width: 100%;
	font-size: 0.85em;
	line-height: normal;
}
.statement-preview .statement-data .amount,
.statement-preview .statement-data .total td,
.statement-preview .statement-adjustment td,
.statement-preview .class-bonus td {
	text-align: right;
	padding-right: 5px;
}
.statement-preview .total td {
	border-top: none;
	border-bottom: none;
	font-weight: bold;
}
.statement-preview .subtotal td,
.statement-preview .total-excl-gst td,
.statement-preview .total-incl-gst td {
	border-top: 1px solid #ddd;
}
.current-action .status-text {
	margin-right: 10px;
}
.current-action .mark-statement-pending {
	margin-top: 0;
}
.current-action .statement-payment .statement-receipt {
	margin-top: 0;
}
.cheque-field {
	display: none;
}
.box-whisker-plot {
	position: relative;
	width: 100%;
	height: 100px;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	margin: 20px 0;
}
.box-whisker-plot .element {
	display: block;
	height: 30%;
	position: absolute;
	top: 40%;
	border-right: 1px solid #888;
	box-sizing: border-box;
}
.box-whisker-plot .value {
	position: absolute;
	bottom: -20px;
	right: 0;
	text-align: right;
	width: auto;
	font-size: 10px;
}
.box-whisker-plot .value.quartile-1 {
	right: auto;
	left: -10px;
}
.box-whisker-plot .range {
	border-bottom: 1px solid #888;
	border-right: none;
	top: 12%;
}
.box-whisker-plot .min,
.box-whisker-plot .max {
	width: 1px;
	height: 7%;
	top: 37.5%;
}
.box-whisker-plot .max {
	margin-left: -1px;
}
.box-whisker-plot .box {
	background: #f5f5f5;
	border: 1px solid #888;
	top: 26%;
}
.box-whisker-plot .avg {
	top: 26%;
}
/**
 * Progress Reports
 -----------------------------------------------------------------------*/
.view-progress-report {
	position: relative;
}
.view-progress-report .report-download {
	position: absolute;
	right: 0;
	top: 0;
}
.progress-report .report-title {
	margin: 20px 0 0;
	text-transform: uppercase;
	color: #B1A85B;
	font-size: 14px;
}
.progress-report .report-student {
	margin: 0;
	font-size: 30px;
	color: #007A9E;
}
.progress-report .table-results {
	line-height: auto;
	text-align: center;
	table-layout: fixed;
}
.progress-report .table-results th,
.progress-report .table-results td {
	padding: 3px 5px;
}
.progress-report .table-results th {
	text-align: left;
	background: #f5f5f5;
	width: 15%;
}
.progress-report .table-results tr:nth-of-type(odd) th {
	background: #eaeaea;
}
.progress-report .table-results .chart {
	background: #fff;
}
.earnings-report .total td {
	font-weight: bold;
}
.delete-instance img {
	vertical-align: middle;
}
.dataTables_wrapper {
	max-width: 100%;
}
.dataTables_wrapper label {
	width: auto;
}
table.dataTable.no-footer {
	border-bottom: none;
}
.datatable .money {
	text-align: right;
	display: block;
}
.entry-content .datatable ul {
	margin-left: 10px;
}
.entry-content .datatable ul li {
	margin-bottom: 0;
	list-style-position: inside;
}
.donut text {
	font-weight: 700 !important;
}
/**
 * Bottom navigation
 */
.footer {
	margin-bottom: 20px;
}
.crm-nav-wrapper {
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	background: #23282D;
}
.crm-nav {
	width: 1170px;
	max-width: 100%;
	margin: 0 auto;
}
.crm-nav-item {
	float: left;
	list-style: none;
	border-left: 1px solid #444;
	color: #eee;
}
.crm-nav-item.home {
	float: right;
}
.crm-nav-item:nth-last-child(2),
.crm-nav-item:last-child {
	border-right: 1px solid #444;
}
.crm-nav-item i {
	margin-right: 5px;
}
.crm-nav-item a {
	color: #eee;
	padding: 5px 10px;
	display: block;
}
.crm-nav-item:hover a,
.crm-nav-item.open a {
	background: #111;
}
.crm-nav .submenu {
	position: absolute;
	left: -999em;
	bottom: 30px;
	background: #111;
}
.crm-nav > .crm-nav-item:hover .submenu,
.crm-nav > .crm-nav-item.open .submenu {
	left: auto;
}
.crm-nav .submenu .crm-nav-item {
	float: none;
	border: none;
}
.submenu .crm-nav-item:hover a {
	background: #23282D;
}
.crm-nav .submenu .crm-nav-item a {
	font-weight: 400;
}
.assistant-manager .pwlh-manage-assessments {
	clear: both;
}
.chosen-container-multi .chosen-choices li.search-field input[type=text] {
	height: 21px;
}
.pwlh-reports .actions h5 {
	clear: both;
	min-width: 100px;
	margin: 3px 0;
}
.pwlh-reports .actions li {
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}
.remodal-close {
	box-shadow: none;
}
.remodal {
	text-align: left;
	margin-top: 35px;
	margin-bottom: 100px;
}
.remodal h1 {
	margin-top: 0;
}
.remodal.view-payments {
	min-height: 375px;
}
.remodal .messages {
	margin-bottom: 10px;
}
.remodal .content {
	padding: 0;
}
.remodal .content-header {
	display: none;
}
.table-export {
	float: right;
	margin-bottom: 10px;
}
.table-export p,
.table-actions p {
	margin-top: 0;
}
.table-export label {
	vertical-align: middle !important;
}
.current-action form.inline {
	margin: 0 0 2em;
}
.current-action form.inline label {
	width: auto;
	margin-right: 5px;
}
.current-action form.inline .mb-3 {
	display: inline-block;
	margin-right: 10px;
}
.enrol-students .chosen-container {
	width: 100% !important;
}
.today-classes {
	margin-bottom: 20px;
}
.today-classes h3 {
	font-size: 32px;
}
.record-class-attendance table {
	width: auto;
	min-width: 30%;
}
.record-class-attendance table label {
	display: inline;
	width: auto;
}
.recent-classes .attendance .count .icon-block {
	color: #FF9D00;
}
.record-class-attendance-link.marked .material-icons {
	color: #77B441;
}
.record-class-attendance-link .pwlh-icon-stack {
	width: auto;
	height: auto;
	line-height: 30px;
	vertical-align: top;
	margin: 2px 0 0 -15px;
}
.record-class-attendance-link .pwlh-icon-stack-1x {
	font-size: 0.7em !important;
	line-height: 1em;
	padding: 0;
	margin: 0;
	bottom: -19px;
	right: -30px;
	width: auto;
}
.attendance-marking-summary .attendance-pending {
	color: #f00;
}
.attendance-marking-summary .attendance-recorded {
	color: #00f;
}
.attendees-count span {
	font-weight: bold;
}
.hanging-indent {
	display: block;
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.gform_wrapper .top_label .gfield_label,
.gform_wrapper legend.gfield_label,
.gform_wrapper .gfield > .form-check-label {
	font-weight: 600;
	min-height: 1em;
	margin-bottom: .5rem;
}
.gform_wrapper .description,
.gform_wrapper .gfield_description,
.gform_wrapper .gsection_description,
.gform_wrapper .instruction,
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
.gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
	font-size: 80%;
	font-weight: 400;
	color: #6c757d !important;
	letter-spacing: normal;
}
.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container,
.gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
	margin-top: 0;
}
.gform_wrapper .gform_page_footer {
	border-top: none;
}
.gform_wrapper .gsection {
	border-bottom: none;
	margin-bottom: 0;
}
.gform_wrapper li.gfield.field_description_below + li.gsection {
	margin-top: 40px !important;
}
.gform_wrapper .gsection .gfield_label,
.gform_wrapper h2.gsection_title,
.gform_wrapper h3.gform_title {
	font-weight: 500;
}
.gform_wrapper h2.gsection_title {
	font-size: 1.5rem;
}
.gform_wrapper h3 {
	font-size: 1.3rem;
	margin-top: 1.5em;
	margin-bottom: .5em;
}
.gform_wrapper .top_label li.gfield.gf_left_third div.ginput_container_radio input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity) {
	width: auto !important;
}
.gform_legacy_markup_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span {
	width: 80%;
	padding-right: 0;
}
div.ginput_complex.ginput_container.gf_name_has_2 span.name_prefix_select {
	width: 20%;
	padding-right: 16px;
}
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle {
	padding-top: 0;
}
.gform_wrapper.gravity-theme .ginput_complex span.name_first {
	flex-grow: 2;
}
body .gform_wrapper .top_label div.ginput_container,
.gform_wrapper.gf_browser_chrome .ginput_complex .ginput_right select,
.gform_wrapper.gf_browser_chrome .ginput_complex select {
	margin-top: 0;
	position: relative;
}
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_left select,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_right select,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield select {
	margin-left: 0;
}
.gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container),
.gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker):not(.gfield_signature_container) {
	margin-top: 0;
}
body .gform_wrapper img.ui-datepicker-trigger {
	position: absolute;
	top: 11px;
	right: 15px;
}
.gfield_radio .other-field {
	display: inline-block;
}
.gform_wrapper .chosen-container {
	border-radius: .25rem;
}
.gform_wrapper .chosen-container-single .chosen-single {
	height: 38px;
	border: 1px solid #ced4da;
	background: #fff;
}
.gform_wrapper .chosen-container-single .chosen-single div b {
	background-position: 0 9px;
}
.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single div b {
	background-position: -18px 9px;
}
.gform_wrapper .chosen-container-single .chosen-single span {
	margin-top: 5px;
}
.gform_wrapper li.gfield.gfield_error,
.gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	background: none;
	border: none;
	padding: 0;
}
.gform_wrapper .gfield_error .gfield_label,
.gform_wrapper div.validation_error {
	color: #dc3545 !important;
}
.gform_wrapper .gfield_error .validation_message {
	color: #721c24 !important;
	background-color: #f8d7da !important;
	border-color: #f5c6cb;
	border-radius: 0.25rem;
	padding: 10px !important;
}
.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper li.gfield_error textarea,
.gform_wrapper div.validation_error {
	border-color: #dc3545 !important;
}
.gform_wrapper .field_description_below .gfield_description {
	padding-top: 0;
}
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer input.button,
.gform_wrapper.gravity-theme .gform_page_footer input[type="button"],
.gform_wrapper .gform_page_footer input[type=submit] {
	width: auto;
	margin: 0;
}
.gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) input[type="text"][aria-label="Other"],
.gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) input[type="text"][aria-label="Other"],
.gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) input[type="text"][aria-label="Other"],
.gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) input[type="text"][aria-label="Other"],
.gform_wrapper .top_label li.gfield .radio input[aria-label="Other"] {
	width: auto !important;
	display: inline-block;
}
.gform_wrapper .top_label input.medium.datepicker {
	width: 100%;
}
.gform_legacy_markup_wrapper div.validation_error {
	border-top-width: 1px;
	border-bottom-width: 1px;
}
#field_2_3 {
	padding-top: 30px;
}
#field_2_3 .gfield_label .gfield_required {
	display: none;
}
.gfield.student-level {
	clear: both;
}
.columns-control-wrap {
	margin-bottom: 1em;
	padding-top: 15px;
	padding-bottom: 15px;
}
.floating-panel .columns-control-wrap {
	padding-top: 5px;
	padding-bottom: 5px;
}
.columns-control-wrap.scroll-to-fixed-fixed {
	margin-top: 0;
	margin-bottom: 0;
}
.progress-bar {
	min-width: 5%;
}
.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
	will-change: auto !important;
}
.wp2fa-modal .modal__content .wp2fa-setup-actions .button {
	cursor: pointer;
}
.wp-2fa-configuration-form > h2 {
	display: none;
}
.modal__content,
.modal__content label,
.modal__content p {
	line-height: 1.5em !important;
}
.wp2fa-modal .modal__content .modal__btn,
.wp2fa-modal .modal__content .wp2fa-setup-actions .button,
.wp-2fa-configuration-form .button {
	display: inline-block;
}
.alert p:last-child {
	margin-bottom: 0;
}
.alert .wp-2fa-nag,
.alert .wp-2fa-nag p {
	display: inline;
}
.alert .wp-2fa-nag .dismiss-user-configure-nag,
.page-template-pwlh-static-page .wp-2fa-nag .btn {
	display: none;
}
.modal__header {
	border: none;
	box-shadow: none;
}
.alert > .material-icons:first-child {
	margin-right: 5px;
}

/**
 * Material icon spinner (add-device telemetry)
 */
@keyframes pwlh-spin {
	to {
		transform: rotate(360deg);
	}
}
.material-icons.pwlh-spin {
	display: inline-block;
	animation: pwlh-spin 1s linear infinite;
}
.reason-others {
	margin-top: 0.5em;
}
.section-referral-source,
.section-bank-account {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	border-top: 1px dashed #ddd;
	border-bottom: 1px dashed #ddd;
}
.section-bank-account {
	border-bottom: none;
}
.image-upload .image-preview {
	display: block;
	width: 150px;
	height: 150px;
	background: #f5f5f5;
	border-radius: 5px;
	margin-bottom: 1em;
	text-align: center;
	line-height: 150px;
}
.image-upload.has-preview .image-preview {
	background: none;
	border-radius: 0;
}
.image-upload .image-preview .material-icons {
	font-size: 48px;
	color: #ccc;
	line-height: 150px;
}
.image-upload .image-preview img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
.image-upload .clear-image {
	display: none;
}
.image-upload.has-preview .clear-image {
	display: inline-block;
}
.list-actions {
	list-style: none;
	padding: 0;
	margin: 0.5em 0 0;
	opacity: 0;
	white-space: nowrap;
	line-height: 1;
}
tr:hover > td > .list-actions {
	opacity: 1;
}
.list-actions li {
	display: inline-block;
	margin-right: 5px;
}
.list-divisions .division-logo img {
	max-width: 150px;
	height: auto;
}
.user-referral .instructions {
	border-bottom: 1px solid #ddd;
	margin-bottom: 40px;
}
.pwlh-form h2 {
	font-size: 1.5rem;
	font-weight: 500;
	margin: 1em 0 0.5em;
}
.pwlh-form .required > label:after {
	content: '*';
	margin-left: 5px;
	color: #f00;
}
.nowrap {
	white-space: nowrap;
}
.signature-input {
	background: #E9F8FC;
	border: 1px solid #ddd;
	border-radius: 5px;
}
.clear-signature {
	margin-top: 5px;
}
.referral-review-form {
	position: relative;
}
img.signature {
	margin-top: 1em;
	margin-bottom: 1em;
}
#back-to-top.show {
	opacity: 1;
}
#back-to-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 9999;
	width: 50px;
	height: 50px;
	text-align: center;
	line-height: 50px;
	background: #007bff;
	color: #fff;
	cursor: pointer;
	border: 0;
	border-radius: 5px;
	box-shadow: 0 0 2px rgba(255, 255, 255, 0.3);
	text-decoration: none;
	transition: opacity 0.2s ease-out;
	opacity: 0;
}
.gpnf-nested-entries {
	width: 100%;
}
.gpnf-nested-entries th {
	font-weight: 600;
}
.gpnf-add-entry {
	display: inline-block;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	padding: .25rem .5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: .2rem;
	color: #007bff;
	border-color: #007bff;
}
#field_2_72 {
	margin-bottom: 40px;
}
.balance .pay-now {
	float: right;
	padding: 0.05rem 0.5rem;
}
.table-recent-statements td,
.table-recent-statements td .money {
	vertical-align: middle;
}
.class-action-link {
	font-size: 1em;
	line-height: 1em;
	padding: 0.15rem 0.25rem 0.1rem;
	margin-bottom: 0.2rem;
}
.class-action-link .material-icons {
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);
}
.class-action-link .badge {
	margin-left: 3px;
	opacity: 0.7;
}
.class-action-link .badge .material-icons {
	font-size: 10px;
}
.class-resources-wrapper {
	margin-top: 20px;
	min-height: 200px;
	position: relative;
}
.class-resources-wrapper .loading-overlay {
	display: none;
}
.class-resources-wrapper h6 {
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
}
.class-resources-wrapper .manage {
	margin-right: 5px;
}
.class-resources-wrapper .manage .material-icons {
	font-size: 16px;
}
.class-resources-wrapper .form-row-btn {
	margin-top: 32px;
	align-self: flex-start;
}
.class-resources-wrapper .class-files,
.class-resources-wrapper .class-links {
	padding-inline-start: 20px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.resources-modal .media-frame-router,
.resources-modal .media-sidebar .setting,
.resources-modal .media-sidebar .description,
.resources-modal .media-sidebar .compat-item,
.resources-modal .upload-ui,
.resources-modal .upload-inline-status,
.resources-modal .post-upload-ui {
	display: none;
}
.resources-modal .media-frame-content {
	top: 50px;
}
.resource-files .progress {
	margin-left: auto;
	margin-right: auto;
}
.uploader-form {
	display: block;
	margin: 0;
}
.uploader-form #plupload-upload-ui {
	position: relative;
}
.uploader-form #plupload-upload-ui .drag-drop-buttons,
.uploader-form #plupload-upload-ui .drag-drop-info {
	margin-bottom: 0;
}
.uploader-form #plupload-upload-ui.drag-drop #drag-drop-area {
	padding: 30px 15px 40px;
	border: 1px dashed #ccc;
	text-align: center;
	background: #fafafa;
	border-radius: 5px;
}
.uploader-form #plupload-upload-ui.drag-drop p {
	display: block;
	font-size: 14px;
	margin: 0;
	text-align: center
}
.uploader-form #plupload-upload-ui.drag-over #drag-drop-area {
	border-color: #007BFF
}
.uploader-form .max-upload-size {
	display: block;
}
.uploader-form #media-items.thumbnail {
	box-sizing: border-box;
	margin: .5em -8px 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap
}
.uploader-form #media-items.thumbnail .media-item {
	position: relative;
	margin: 0;
	list-style: none;
	text-align: center;
	width: 20%;
	box-sizing: border-box;
	padding: 8px
}
.uploader-form #media-items.thumbnail .media-item .pinkynail {
	float: left;
	margin: 2px 10px 0 3px;
	max-width: 40px;
	max-height: 32px
}
.uploader-form #media-items.thumbnail .media-item .item {
	position: relative;
	box-shadow: inset 0 0 15px rgba(0, 0, 0, .1), inset 0 0 0 1px rgba(0, 0, 0, .05);
	background: #f8f8f8;
	overflow: hidden
}
.uploader-form #media-items.thumbnail .media-item .item::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
	overflow: hidden
}
.uploader-form #media-items.thumbnail .media-item .item .centered {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translate(50%, 50%)
}
.uploader-form #media-items.thumbnail .media-item .item .centered img {
	margin: 0 auto;
	overflow: hidden;
	border: none;
	top: 0;
	left: 0;
	position: absolute;
	transform: translate(-50%, -50%);
	max-width: initial;
	max-height: initial
}
.uploader-form #media-items.thumbnail .media-item .item .centered.portrait img {
	max-width: 100%
}
.uploader-form #media-items.thumbnail .media-item .item .centered.landscape img {
	max-height: 100%
}
.uploader-form #media-items.thumbnail .media-item .item::before {
	content: "";
	display: block;
	padding-top: 100%
}
.uploader-form #media-items.thumbnail .media-item .item .progress,
.uploader-form #media-items.thumbnail .media-item .item .bar {
	background: #ccc;
	border-radius: 22px;
	left: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80%
}
.uploader-form #media-items .media-item .item .percent {
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	padding: 0 5px;
	position: relative;
	width: 100%;
	z-index: 10
}
.uploader-form #media-items .media-item .item .bar {
	background: #719430;
	height: 100%;
	left: 0;
	transform: translate(0%, -50%);
	width: 0;
	z-index: 9
}
.uploader-form #media-items.flat .media-item .item {
	display: flex;
	align-items: center;
}
.uploader-form #media-items.flat .media-item .item-filename {
	font-size: 0.75em;
	margin-right: 5px;
}
.uploader-form #media-items.thumbnail .media-item .item-filename {
	display: none;
}
.uploader-form #media-items.flat .media-item .item .progress {
	background: #555;
}
.uploader-form #media-upload-error .error,
.uploader-form #media-file-errors .error {
	align-items: flex-start;
	background-color: #fff;
	border-radius: 0px;
	border: 0;
	box-shadow: inset 2px 0 0 0 #ff6d6d, inset 0 0 0 1px #ebebeb;
	display: flex;
	margin: 15px 0 0;
	padding: 8px 15px
}
.uploader-form #media-upload-error .error p,
.uploader-form #media-file-errors .error p {
	margin: 0
}
.attachments-browser .media-toolbar-secondary {
	min-width: 200px
}
#media-items .media-item {
	display: inline-block;
	margin: 10px 5px 0;
}
#media-items .mediaitem:first-child {
	margin-left: 0;
}
#media-items .media-item:last-child {
	margin-right: 0;
}
#media-items .item {
	position: relative;
}
#media-items .item img {
	width: 100%;
	height: 100%;
	max-height: 150px;
	object-fit: contain;
	border-radius: 5px;
}
#media-items .attachment-preview {
	width: 150px;
	/* height: 170px; */
}
#media-items .remove-attachment {
	position: absolute;
	top: -5px;
	right: -5px;
	background: rgba(255, 0, 0, 0.7);
	color: white;
	border: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	cursor: pointer;
	line-height: 1;
	z-index: 10;
}
#media-items .remove-attachment .material-icons {
	font-size: 16px;
}
.class-resources-wrapper .form-class-link {
	background: #f5f5f5;
	padding-top: 15px;
	margin-left: 0;
	margin-right: 0;
}
.class-resources-wrapper .class-links small {
	margin-left: 5px;
}
.class-resources-wrapper .resource-recording .class-links small {
	margin-left: 0;
}
.class-resources-wrapper .class-files li {
	margin-bottom: 5px;
}
.class-resources-wrapper .class-files li > div:not(.alert) {
	padding: 0;
	float: left;
}
.form-control:disabled,
.form-select:disabled,
.custom-select:disabled,
.form-check-input:disabled,
.chosen-disabled .chosen-choices,
.chosen-disabled .chosen-choices li.search-choice,
.chosen-disabled .chosen-choices li.search-field,
.chosen-disabled .chosen-choices li.search-field input,
.chosen-disabled .chosen-choices .search-choice .search-choice-close,
.form-check-input:disabled ~ .form-check-label,
.form-check-input[disabled] ~ .form-check-label {
	cursor: not-allowed;
	pointer-events: all !important;
}
.copy-text {
	color: #777;
	margin-left: 2px;
}
.copy-feedback {
	display: inline-block;
	margin-left: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #198754;
	white-space: nowrap;
	vertical-align: middle;
	opacity: 0;
	transition: opacity 0.15s ease-out;
}
.copy-feedback:not(:empty) {
	opacity: 1;
}

/* First column auto-fits to longest row (reusable) */
.table-fit-first-col td:first-child {
	width: 1%;
	white-space: nowrap;
}

.remodal-student-entry-added {
	max-width: 500px;
	text-align: center;
}
.remodal-student-entry-added .icon-check-circle {
	font-size: 64px;
	margin: 0 auto 20px;
	color: #007bff;
}


/* Gravity Forms progress bar */
.gf_progressbar_title {
	font-size: 12.992px;
	font-weight: normal;
	color: #767676;
	margin: 0 0 4.8px 0;
}
.gf_progressbar {
	position: relative;
	border-radius: 10.5px;
	background: #e8e8e8;
	margin-bottom: 16px;
}
.gf_progressbar_percentage {
	height: 20.992px;
	text-align: right;
	border-radius: 10.5px;
	vertical-align: middle;
}
.gf_progressbar_percentage:not(.percentbar_100) {
	border-radius: 10.5px 0 0 10.5px;
}
.gf_progressbar_percentage span {
	display: block;
	width: auto;
	float: right;
	margin-right: 8px;
	margin-left: 8px;
	line-height: 21px;
	font-size: 13px;
	min-width: 2em;
}
.gf_progressbar_percentage.percentbar_0 span {
	color: #959595;
	text-shadow: none;
	float: none;
	margin-left: 9.6px;
}
.gf_progressbar_blue {
	background: #D2D6DC;
}
.gf_progressbar_percentage.percentbar_blue {
	background-color: #1E7AC4;
	color: #FFF;
}
.gf_progressbar_gray {
	background: #D2D6DC;
}
.gf_progressbar_percentage.percentbar_gray {
	background-color: #6B7280;
	color: #FFF;
}
.gf_progressbar_green {
	background: #E8E8E8;
}
.gf_progressbar_percentage.percentbar_green {
	background-color: #AAC138;
	color: #FFF;
}
.gf_progressbar_orange {
	background: #E8EAEC;
}
.gf_progressbar_percentage.percentbar_orange {
	background-color: #FF5D38;
	color: #FFF;
}
.gf_progressbar_red {
	background: #E8EAEC;
}
.gf_progressbar_percentage.percentbar_red {
	background-color: #EC1E31;
	color: #FFF;
}
.gf_progressbar_spring {
	background: #D2D6DC;
}
.gf_progressbar_percentage.percentbar_spring {
	background: linear-gradient(270deg, #9CD790 0%, #76D7DB 100%);
	color: #FFF;
}
.gf_progressbar_blues {
	background: #D2D6DC;
}
.gf_progressbar_percentage.percentbar_blues {
	background: linear-gradient(270deg, #00C2FF 0%, #7838E2 100%);
	color: #FFF;
}
.gf_progressbar_rainbow {
	background: #D2D6DC;
}
.gf_progressbar_percentage.percentbar_rainbow {
	background: linear-gradient(270deg, #1DBEEA 0%, #CD6AD6 50%, #F35160 100%);
	color: #FFF;
}
html[dir=rtl] .gf_progressbar_percentage:not(.percentbar_100) {
	border-radius: 0 10.5px 10.5px 0;
}
.branch-schedule-preview {
	margin: 10px auto;
	padding: 40px;
	max-width: 991px;
	border: 1px solid #ddd;
	clear: both;
}
.branch-schedule .header {
	text-align: center;
}
.branch-schedule .header h1 {
	font-size: 1rem;
}
.branch-schedule .branch-logo {
	max-width: 150px;
	height: auto;
}
.branch-schedule .schedule .schedule-day {
	border-width: 0;
}
.branch-schedule .schedule .schedule-day-0 {
	border-top-width: 1px;
}
.class-mode-definition {
	border-collapse: collapse;
	font-size: 0.7rem;
	margin: 0 auto 2rem;
}
.class-mode-definition.bottom {
	margin: 2rem auto 0;
}
.class-mode-definition th,
.class-mode-definition td {
	border: 1px solid #bbb;
	padding: 3px 7px;
}
.class-mode-definition th {
	background: #1C4587;
	color: #fff;
	text-align: center;
	min-width: 105px;
}
.class-mode-definition td {
	text-align: left;
	background: #f5f5f5;
}
.branch-schedule .period {
	margin: 1em 0 0.5em;
	text-align: center;
	font-weight: bold;
}
.excluded .table.schedule {
	opacity: 0.3;
}
.table.schedule {
	border: 1px solid #ddd;
}
.table.schedule th,
.table.schedule td {
	font-size: 0.75em;
	padding: 3px 7px;
	text-align: center;
}
.table.schedule.chronological th,
.table.schedule.chronological td {
	font-size: 0.9em;
}
.table.schedule .class-name {
	background: #CFE2F3;
	border-bottom-color: #8EB9E0;
}
.table.schedule tbody td {
	width: 20%;
	border: 1px solid #dee2e6;
	vertical-align: middle;
}
.table.schedule.class-groups tbody tr:nth-child(2n+1) td {
	background: #f5f5f5;
}
.class-notifications-list {
	padding: 0;
	margin: 1rem 0 2rem;
}
.class-notifications-list .notification {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 1rem;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	background: #f5f5f5;
}
.class-notifications-list:last-child,
.class-notifications-list .notification:last-child {
	margin-bottom: 0;
}
.class-notifications-list img.avatar {
	border-radius: 50px;
	margin: 0.25rem 1rem 0 0;
	border: 2px solid #fff;
}
.class-notifications-list .notification .byline {
	margin-bottom: 0.25rem;
}
.class-notifications-list .notification .message p:last-child {
	margin-bottom: 0;
}

.shop-menu .navbar-nav {
	width: 100%;
}
.shop-menu .navbar-nav .nav-link {
	color: #fff;
}
.navbar .mini-cart {
	min-width: 400px;
	padding-left: 1rem;
	padding-right: 1rem;
}
.navbar .mini-cart .button {
	margin-right: 0.5rem;
}
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
	width: 70px;
}
.woocommerce a.remove {
	line-height: 0.82em;
}
.products-filter {
	padding: 15px 30px;
	margin: -30px -30px 2em;
	background: #f5f5f5;
}
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
	width: 35%;
}
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
	width: 61%;
}
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 0.5em;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	margin-right: 0.5em;
}
.woocommerce div.product .product_title {
	font-size: 2em;
}
section.related.products {
	float: none;
	clear: both;
	padding-top: 1em;
}
section.related.products h2 {
	font-size: 1.6em;
	margin-bottom: 1em;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button .woocommerce #respond input#submit {
	cursor: pointer;
	color: #fff;
	background-color: #6c757d;
	border-color: #6c757d;
	display: inline-block;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
	border: 1px solid transparent;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border-radius: 0.25rem;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	color: #fff;
	background-color: #5a6268;
	border-color: #545b62;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	color: #fff;
	background-color: #007bff;
	border-color: #007bff;
}
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	color: #fff;
	background-color: #0069d9;
	border-color: #0062cc;
}
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
	color: #eee;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	padding: 0.5rem 0.75rem;
}
.woocommerce a.added_to_cart {
	vertical-align: middle;
	padding: 0.6em 0 0 0.5em;
}
.woocommerce a.remove {
	min-width: 0;
}
.woocommerce .woocommerce-alert .button {
	float: right;
	margin-top: -3px;
	padding: 0.25rem 0.5rem;
	font-size: .875rem;
	line-height: 1.5;
	border-radius: 0.2rem;
}
label .required {
	margin-right: 0.75rem;
	color: #dc3545 !important;
	;
}
.woocommerce-checkout h3 {
	font-size: 1.4rem;
	line-height: 1.5rem;
	margin-bottom: 30px;
}
.woocommerce #ship-to-different-address {
	font-size: 1em;
}
.woocommerce #ship-to-different-address label {
	margin-bottom: 0;
}
.woocommerce #order_review_heading {
	margin-top: 4rem;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	font-weight: 600;
}
.woocommerce table.shop_table .order-total strong {
	font-weight: 600;
}
.woocommerce table.shop_table .shipping td,
.woocommerce table.shop_table .shipping th {
	font-weight: normal;
}
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}
#form-edit-branch .email-newsletter .mce-panel > iframe,
#form-add-branch .email-newsletter .mce-panel > iframe {
	height: 400px !important;
}
.btn.save-trial-outcome {
	padding: 0.15rem 0.3rem;
	font-size: 0.75rem;
}
.btn.save-trial-outcome .material-icons {
	font-size: 12px;
	margin-right: 3px;
}
.tooltip {
	z-index: 99999;
}
.redacted {
	display: inline-block;
	width: 10em;
	height: 1.1em;
	background-color: #ddd;
}
.redacted-link {
	width: 20em;
	background-color: #0056b3;
	opacity: 0.5;
}
.account-outstanding-notice {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
	padding: 30px;
	min-height: 120px;
}
ol:has(> .account-outstanding-notice),
div:has(> .account-outstanding-notice) {
	position: relative;
	min-height: 120px;
}
.enrolment-report thead th {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}
.enrolment-report-new {
	border: 2px solid #007bff !important;
}
.enrolment-report-new thead th {
	border: 1px solid #007bff !important;
	background: #67B0FE !important;
}
.enrolment-report-cancelled {
	border: 2px solid #dc3545 !important;
}
.enrolment-report-cancelled thead th {
	border: 1px solid #dc3545 !important;
	background: #DC7680 !important;
}
.enrolment-report-paused_new {
	border: 2px solid #ffc107 !important;
}
.enrolment-report-paused_new thead th {
	border: 1px solid #ffc107 !important;
	background: #FED351 !important;
}
.enrolment-report-paused_continued {
	border: 2px solid #FCDD7F !important;
}
.enrolment-report-paused_continued thead th {
	border: 1px solid #FCDD7F !important;
	background: #FAECC3 !important;
}
.enrolment-report-paused_stopped {
	border: 2px solid #DF848C !important;
}
.enrolment-report-paused_stopped thead th {
	border: 1px solid #DF848C !important;
	background: #FAD4D8 !important;
}
.enrolment-report-paused_returned {
	border: 2px solid #7FBCFD !important;
}
.enrolment-report-paused_returned thead th {
	border: 1px solid #7FBCFD !important;
	background: #D0E5FC !important;
}
.col-count-2 {
	column-count: 2;
}
.col-count-3 {
	column-count: 3;
}
.col-count-4 {
	column-count: 4;
}
.enrol-students .select2-container {
	max-width: 300px;
}
.mention-details .lead-body img {
	max-width: 100%;
	height: auto;
}
.mention-details .lead-content .emoji,
.emoji {
	max-width: 1em;
}
.mention-details .lead-body figcaption {
	font-size: 0.8em;
}
.pr-assistant-response,
.prediction-report {
	background:
		repeating-linear-gradient(45deg,
			#fff,
			/* Light color for stripe */
			#fff 10px,
			/* Stripe width */
			#ebfaff9f 10px,
			/* Darker color for gap */
			#ebfaff9f 20px
			/* Gap width */
		);
	border: 1px solid #a2e8ff;
	border-radius: 8px;
	padding: 1rem;
	min-height: 140px;
	position: relative;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);
	padding: 20px 30px
}
.pr-assistant-response-actions .btn {
	font-size: 0.8em;
}
.timeframe-selector .btn {
	margin-left: 5px;
	font-size: 0.875rem;
	padding: 0.25rem 0.5rem;
}

.timeframe-selector .btn.active {
	background-color: #007bff;
	border-color: #007bff;
	color: white;
}

.trend-stat h4 {
	font-weight: 600;
	color: #495057;
}

.trend-stat small {
	font-size: 0.75rem;
	font-weight: 500;
}

.chart-container {
	margin-top: 1rem;
}

.card {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	border: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header {
	background-color: #f8f9fa;
	border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.pwlh-page-dashboard .table-leads-listing .dt-container > .row:not(.dt-layout-table) {
	display: none;
}
.toast-container {
	left: 20px;
	bottom: 20px;
	z-index: 9999;
}
.toast-container :not(.bg-warning) .btn-close {
	color: #fff;
	filter: invert(1);
}
.toast-container :not(.bg-warning) .close {
	color: #fff;
}
.toast-header:not(.bg-warning) {
	border-bottom-color: rgba(255, 255, 255, 0.25);
}
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tbody th,
table.dataTable tbody td,
table.dataTable tfoot th,
table.dataTable tfoot td {
	padding: 0.75rem 0.75rem 0.5rem;
	line-height: 1.3em;
	color: #555;
	background: #fff;
}
table.dataTable thead th {
	text-transform: uppercase;
	font-size: 0.9em;
	color: #333;
	background: #fafafa
}
div.dt-container div.dt-info,
div.dt-container div.dt-paging,
div.dt-length,
div.dt-search {
	font-size: 0.8em
}
.badge-pill {
	padding: 0.4em 0.7em;
	font-weight: 600;
	font-size: 0.7em;
}
.map-legend {
	font-size: 0.7em;
	line-height: 1.4em;
	color: #666;
}
.map-legend h6 {
	text-transform: uppercase;
	font-size: 1em;
	font-weight: bold;
}
.map-legend .legend-color {
	width: 16px;
	height: 16px;
	border-radius: 3px;
	margin-right: 1em;
}
.map-legend .score-explanation strong:first-child {
	display: inline-block;
	margin-bottom: 0.25rem;
}
abbr[data-original-title],
abbr[title] {
	text-underline-offset: 0.25rem;
}
.tooltip-detailed {
	width: 190px;
	background: #fff;
	color: #333;
	padding: 10px;
	font-size: 11px;
	line-height: 1.3em;
	text-align: left;
}
.tooltip-detailed p {
	margin-bottom: 1em;
}
.meter-indicator {
	position: absolute;
	left: 50%;
	top: 0;
	width: 30px;
	margin-left: -15px;
	z-index: 2;
	text-align: center;
}
.meter-indicator-triangle {
	display: inline-block;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 8px solid #000;
	vertical-align: text-top;
}
.meter-indicator-value {
	display: block;
}
.meter-indicator-wrapper {
	display: block;
	position: relative;
	width: 100%;
	height: 25px;
	margin-bottom: 0;
}
.meter-bar {
	width: 100%;
	height: 4px;
	display: flex;
	margin: 0;
}
.meter-bar .meter-bar-negative {
	flex: 2;
	background: #F7878A;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.meter-bar .meter-bar-neutral {
	flex: 1;
	background: #FFD37A;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.meter-bar .meter-bar-positive {
	flex: 2;
	background: #8ce7b8;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}
.tooltip-engagement .meter-bar .meter-bar-negative {
	flex: 5
}
.tooltip-engagement .meter-bar .meter-bar-neutral {
	flex: 3;
	justify-content: flex-start;
}
.tooltip-engagement .meter-bar .meter-bar-positive {
	flex: 2
}
.meter-bar .meter-label {
	margin-bottom: -20px;
	color: #555
}
.meter-legend {
	color: #555;
	display: flex;
	justify-content: space-between;
	margin-top: 15px;
}
.tooltip-white.show {
	opacity: 1 !important;
}
.tooltip-white .tooltip-inner {
	background: #fff !important;
	color: #000;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 0 !important;
}

.tooltip-white.bs-tooltip-top .arrow::before,
.tooltip-white.bs-tooltip-auto[x-placement^="top"] .arrow::before {
	border-top-color: #ccc !important;
}

.tooltip-white.bs-tooltip-right .arrow::before,
.tooltip-white.bs-tooltip-auto[x-placement^="right"] .arrow::before {
	border-right-color: #ccc !important;
}

.tooltip-white.bs-tooltip-bottom .arrow::before,
.tooltip-white.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
	border-bottom-color: #ccc !important;
}

.tooltip-white.bs-tooltip-left .arrow::before,
.tooltip-white.bs-tooltip-auto[x-placement^="left"] .arrow::before {
	border-left-color: #ccc !important;
}
.table code {
	font-size: 1em;
}

/**
 * Generated screen scaffold
 */
body {
	background-color: #f8fafc;
	color: #475569;
}
header {
	border-bottom: 0;
	box-shadow: none;
	background: transparent;
}
.pwlh-sidebar-shell {
	position: fixed;
	top: 0;
	left: 0;
	width: 260px;
	height: 100vh;
	z-index: 100;
}
.pwlh-dev .pwlh-sidebar-shell {
	padding-top: 33px;
}
.pwlh-main-content {
	margin-left: 260px;
}
.pwlh-sidebar-brand {
	padding: 0 1.5rem;
	height: 64px;
	flex-shrink: 0;
}
.pwlh-sidebar-brand .material-icons {
	font-size: 30px;
}
.pwlh-sidebar-brand .fw-bold {
	font-size: 1.4rem;
	letter-spacing: -0.01em;
}
.sidebar {
	background: #fff !important;
	margin-top: 0;
	padding: 0.75rem 1rem 1rem;
	min-height: calc(100vh - 83px);
	width: 100%;
	font-size: 0.95rem;
}
.sidebar .nav-item-top {
	margin: 0;
	padding: 0;
	border-bottom: 0;
}
.sidebar .nav-item-top > a,
.sidebar .nav-item-top > .sidebar-heading > a {
	padding: 0.75rem 1rem;
	margin-bottom: 0.5rem;
	border-radius: 0.5rem;
	text-transform: none;
	font-size: 1rem;
	font-weight: 500;
	color: #64748b;
}
.sidebar .nav-item-top > a:hover,
.sidebar .nav-item-top > .sidebar-heading > a:hover {
	background: #f8fafc;
	color: #0c4a6e;
}
.sidebar .navbar-nav .material-icons {
	width: 20px;
	margin-left: 0;
	margin-right: 0.75rem;
	font-size: 20px;
}
.sidebar .navbar-nav > .nav-item > .active,
.sidebar .navbar-nav > .nav-item > .sidebar-heading > .active {
	background-color: rgba(14, 165, 233, 0.1);
	color: #0369a1;
	border-right: 4px solid #0369a1;
}
.sidebar .system-version {
	color: #94a3b8;
	padding: 0 1rem;
}
.pwlh-topbar {
	height: 64px;
	padding: 0.75rem 2rem;
	background: #fff;
	border-bottom: 1px solid #e2e8f0;
}
.pwlh-stage {
	padding: 2rem;
	width: 100%;
}
.pwlh-stage > .alert {
	border-radius: 0.75rem;
}
.content {
	width: 100%;
	margin: 0;
	padding: 0;
}
.nav-item-settings {
	font-weight: 500;
}
.user-login-status {
	width: 260px;
	box-sizing: border-box;
	margin-left: -15px;
	margin-right: -15px;
}

.status-dot {
	width: 8px;
	height: 8px;
	margin: 0 0.35em;
}
.status-dot.text-success {
	background-color: var(--bs-success-text-emphasis) !important;
}
.content-header h2,
.h3 {
	color: #0f172a
}
.content-header .subtitle {
	color: #64748b;
	font-size: 1.2em;
}
.h4 {
	color: #334155
}
.material-icons-rounded {
	font-size: 24px;
	line-height: 40px;
	width: 40px;
	height: 40px;
	background: #f0f7ff;
	border-radius: 50%;
	vertical-align: middle;
	text-align: center;
	color: #0284c7;
}
.input-group-text {
	color: #64748b;
	background: #f8fafc;
	border-color: #e2e8f0;
	padding: 0.75rem 1.25rem;
	border-radius: 8px;
}
.form-control,
.form-select {
	font-size: 0.875rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	border-color: #e2e8f0;
}
.form-control::placeholder,
textarea.form-control::placeholder {
	color: #aaa;
}
.select2-container--bootstrap-5 .select2-selection {
	font-size: 0.875rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	height: auto;
	border-radius: 8px;
	border-color: #e2e8f0;
}
.dt-container .form-control,
.dt-container .form-select {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.btn {
	font-size: 1em;
	font-weight: 500;
	border-radius: 5px;
}
.btn-lg {
	font-size: 1.2rem;
	padding: 0.75rem 1.25rem;
	border-radius: 8px;
	font-weight: 500;
}
.btn-primary {
	background: #0284c7;
	border-color: transparent;
	color: #fff;
}
.btn-outline-secondary {
	border-color: #dbe2ec;
}
.pwlh-property-card {
	background: #FBFCFD;
	border-color: #e8edf2;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.pwlh-property-card:hover {
	border-color: #d3e2f4;
	box-shadow: 0 16px 32px rgba(2, 132, 199, 0.09);
}

.pwlh-property-card-header {
	position: relative;
}
.pwlh-property-main-content .text-bg-light {
	background: #f1f5f9 !important;
	color: #334155 !important;
}

.pwlh-property-main-content .text-bg-info-subtle {
	background: #e0f2fe !important;
}

.pwlh-property-main-content .text-info-emphasis {
	color: #0c4a6e !important;
}

.pwlh-property-meta-item {
	color: #475569;
}

.pwlh-property-meta-chip {
	padding: 0.35rem 0.65rem;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	color: #334155;
	font-size: 0.85rem;
	line-height: 1.2;
}

.pwlh-property-meta-chip .material-icons,
.pwlh-property-meta-item .material-icons {
	font-size: 16px;
}
.pwlh-property-thumbnail {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	background: #eee;
}
.pwlh-property-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pwlh-property-thumbnail .material-icons {
	font-size: 30px;
}
.pwlh-property-actions .btn {
	font-size: 0.85rem;
	padding: 0.5rem 0.9rem;
}
.pwlh-property-actions .btn .material-icons {
	font-size: 18px;
}
.pwlh-property-actions .pwlh-property-add-room-link {
	border-color: #bae6fd;
	background: #f0f9ff;
	color: #075985;
}
.pwlh-property-actions .pwlh-property-add-room-link:hover,
.pwlh-property-actions .pwlh-property-add-room-link:focus {
	border-color: #7dd3fc;
	background: #e0f2fe;
	color: #0c4a6e;
}
.pwlh-room-table thead th {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #8b95a7 !important;
	background: #f7f9fc;
	border-bottom: 1px solid #edf1f6;
	white-space: nowrap;
}
.pwlh-room-table tbody tr:first-child td {
	border-top: none;
}
.pwlh-room-row td {
	vertical-align: middle;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
	border-color: #edf2f7;
	line-height: 1.2em;
}
.pwlh-room-row:hover td {
	background: #f8fbff;
}
.pwlh-room-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	border-width: 1px;
	border-style: solid;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.2;
}
.pwlh-room-status-badge .status-dot {
	width: 6px;
	height: 6px;
	margin: 0;
}
.pwlh-room-status-active {
	background: #e8f8ee;
	border-color: #cbfcdb;
	color: #1f8d57;
}
.pwlh-room-status-active .status-dot {
	background: #1f8d57;
}
.pwlh-room-status-warning {
	background: #fff5da;
	border-color: #faeab9;
	color: #b88306;
}
.pwlh-room-status-warning .status-dot {
	background: #d39b0e;
}
.pwlh-room-status-muted {
	background: #eef2f6;
	border-color: #e7eaec;
	color: #6b7280;
}
.pwlh-room-status-muted .status-dot {
	background: #94a3b8;
}
.pwlh-room-usage {
	min-width: 160px;
}
.pwlh-room-usage-summary {
	font-size: 0.86rem;
	line-height: 1.15;
}
.pwlh-room-usage .progress {
	height: 0.32rem;
	background: #e8edf4;
	border-radius: 999px;
}
.pwlh-room-actions .pwlh-room-icon-action {
	width: 32px;
	height: 32px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border-color: #dbe2ec !important;
	background: #fff;
	color: #748196;
}
.pwlh-room-actions .pwlh-room-icon-action .material-icons {
	font-size: 16px;
}
.pwlh-room-actions .pwlh-room-icon-action:hover,
.pwlh-room-actions .pwlh-room-icon-action:focus {
	background: #f3f7fc;
	color: #475569;
}
.pwlh-meter-id {
	color: #94a3b8;
	font-size: 0.82rem;
}
.pwlh-meter-status-icon {
	font-size: 20px !important;
	line-height: 1;
}
.device-status-indicators {
	gap: 0.2rem !important;
}

.pwlh-consumption-policy-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}
.pwlh-policy-option {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.15rem 1rem;
	border: 1px solid #d8e3ef;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
}
.pwlh-policy-option input[type="radio"] {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
}
.pwlh-policy-option .pwlh-policy-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 0.2rem 0.55rem;
	border-radius: 3px;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.pwlh-policy-option:hover {
	border-color: #93c5fd;
	box-shadow: 0 6px 16px rgba(2, 132, 199, 0.08);
}
.pwlh-policy-option:has(input[type="radio"]:checked) {
	border-color: #0284c7;
	box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}
.pwlh-policy-option-preferred .pwlh-policy-badge {
	background: #0284c7;
	color: #fff;
}
.pwlh-policy-option-secondary .pwlh-policy-badge {
	background: #dbeafe;
	color: #1d4ed8;
}
.pwlh-policy-option-tertiary .pwlh-policy-badge {
	background: #f1f5f9;
	color: #475569;
}
.pwlh-policy-extra-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.25rem;
	padding: 0.9rem 1.1rem;
	border: 1px solid #eef2f7;
	border-radius: 14px;
	background: #fcfcfb;
	cursor: pointer;
}
.pwlh-policy-extra-option-content {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.pwlh-policy-extra-option-content .material-icons {
	font-size: 1.15rem;
}
.pwlh-policy-extra-option .h6 {
	color: #1e293b;
	font-weight: 600;
}
.pwlh-policy-extra-option .text-muted {
	font-size: 0.875rem;
}
.pwlh-policy-extra-option .form-switch .form-check-input {
	width: 2.5rem;
	height: 1.35rem;
	cursor: pointer;
}
.pwlh-policy-extra-option .form-check-input:checked {
	background-color: #f97316;
	border-color: #f97316;
}

.p-5 {
	padding: 2.5rem !important;
}
.copy-text .material-icons {
	font-size: 14px;
}
.dt-container .btn {
	font-size: 0.875rem;
	padding: 0.25rem 0.5rem;
	border-radius: 0.25rem;
	font-weight: 500;
}
.dt-container .btn-success {
	background: #28a745;
	border-color: transparent;
	color: #fff;
}
div.dt-container div.dt-info,
div.dt-container div.dt-paging,
div.dt-length,
div.dt-search {
	font-size: 0.875rem;
}
.select2-container--bootstrap-5 .select2-selection--multiple .select2-search {
	width: auto;
}
.icon-success {
	color: #22c55e;
}
.icon-danger {
	color: #ef4444;
}
.icon-warning {
	color: #f97316;
}
.icon-secondary {
	color: #94a3b8;
}
.table-responsive.border-top {
	border-color: #f0f2f5 !important;
}