 
* {
    -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
    color-adjust: exact !important;                 /* Firefox 48 – 96 */
    print-color-adjust: exact !important;           /* Firefox 97+, Safari 15.4+ */
}
 
body {
	font-family: 'Inter', sans-serif !important;
}

.custom-table-bordered {
	border: 1px solid #f1f0f0;
}

.custom-table-bordered th  {
	border: 1px solid #f1f0f0 !important;
	border-bottom-width: 2px !important; 
	 
}

.custom-table-bordered td  {
	border: 1px solid #f1f0f0 !important;
}
   
.shadow-custom {
	box-shadow: 0 0 20px rgba(0, 0, 0, .08);
}

.border-grey {
	border-color: #f1f0f0;
}
 
nav .pagination {
	margin-bottom: 0;
}

label:not(.form-check-label):not(.custom-file-label) {
    font-weight: 400;
}

/* DEFINE THE REQUIRED CLASS FOR VALIDATION*/
.required::after {
    content: "*";  
    color: #ff0202;    
    margin-left: 2px;
}

/** DEFINE THE PROFILE AND USER IMAGE SIZE'S **/
.profile-image {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	overflow: hidden;
}

.user-profile-image-sidebar {
	width: 35px;
	height: 35px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:center;
}

.user-profile-image-navbar {
	position: relative;
	display: inline-block;
	width: 1.75rem;
	height: 1.75rem;
	overflow: hidden;
}

.notification-image {
	width: 40px;
	height: 40px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:center;
}

.bar-chart-dashbord {
	height: 550px;
	overflow-y: auto;
}

 
.user-image {
	width: 200px;
	height:220px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:center;
}

.users-list-image {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:center;
}

.attendance-image {
	position: relative;
	display: inline-block;
	width: 30px;
	height:30px;
	overflow: hidden;
}

/* INCREASE THE SIZE OF CHECKBOX BY 2X */
.checkbox-lg {
	transform: scale(2); 
}

.scrollable-dropdown {
	width: 100%;
	max-height: 300px;
	overflow-y: auto;
	min-width: max-content; 
}

/* DATATABLE CUSTOM STYLES */
.fixed-width-td {
	 width: 113px;
}

.nowrap {
	white-space: nowrap;
}

/** ATTENDANCE TABLE CUSTOM STYLING **/
.attendance-table td,
.attendance-table th { 
	padding: 0rem;
	color: #6c757d;
	vertical-align: middle !important;
	text-align: center;
}

.attendance-table  {
	border: 1px solid #f1f0f0;
}

.attendance-table  th  {
	border: 1px solid #f1f0f0 !important;
	border-bottom-width: 2px !important; 
	font-weight: 500 !important; 
}

.attendance-table  td  {
	border: 1px solid #f1f0f0 !important;
}

.attendance-select {
	width: 100%;
	height: 35px;
	background-color: transparent;
	color: #6c757d;
	border: 1px solid transparent;
}
 
.att-key {
	min-width: 30px;
	width: 40px;
}

.att-select {
	min-width: 40px;
	width: 40px; 
}

.bg-absent {
	background-color: #FA4444;
	color: #FA4444;
}

.bg-present {
	background-color: #78BC61;
	color: #78BC61;
}
 
.absent-button {
    background-color: #FA4444;
	color: #fff;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; /* Smooth transition */
}

/* Hover effect for Red Button */
.absent-button:hover {
    background-color: #FA4444;
    border-color: #FA4444;
	color:#fff;
}

/* Green Button Styling */
.present-button {
    background-color: #78BC61;
	color: #fff;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; /* Smooth transition */
}

/* Hover effect for Green Button */
.present-button:hover {
    background-color: #66bb6a;
    border-color: #66bb6a;
	color:#fff;
}

/* LOGO IMGAGE SIZE */
.logo-image {
	width: 100px; 
	height: 60px;
	background-size:  contain;
	background-repeat: no-repeat;
	background-position:center;
}


/* INVOICE TEMPLATE STYLES */
.invoice-wrapper {
	 margin: 0 auto;
	 width:800px;
}

.biller-info {
	margin-top: 7rem;
	margin-bottom: 7rem;
}


.attendance-table tbody tr td:nth-child(even)
{
	background-color: #ffff; /* Apply your desired background color for the vertical stripe */
}

/* SETUP WIZARD */
.wizard-form {
	width: 30%;
}


/* DASHBOARD TILES */
@media (min-width: 992px) and (max-width: 1800px) {
	.col-lg-3 .title, .col-md-3 .title, .col-xl-3 .title {
		font-size: 1.2rem !important;
	}
	.col-lg-3 .sub-title, .col-md-3 .sub-title, .col-xl-3 .sub-title {
		font-size: 0.7rem !important;
	}
	.col-lg-3 .icon, .col-md-3 .icon, .col-xl-3 .icon {
		font-size: 0.8rem !important;
	}
}

 
/* A flex card-body keeps its clearfix pseudo-element as a hidden third item, which pushes justify-content-between rows out of alignment. */
.card-body.d-flex::before,
.card-body.d-flex::after {
	display: none;
}

/* ---- Lists as cards on a phone (see assets/js/responsive-tables.js) ---------------------------------------- */
@media (max-width: 767.98px) {
	.rt-cards, .rt-cards > tbody { display: block; width: 100%; min-width: 0 !important; }
	.rt-cards td, .rt-cards th { white-space: normal !important; }
	.rt-cards > thead { display: none; }
	.rt-cards > tbody > tr {
		display: block; margin-bottom: .85rem; padding: .55rem .95rem;
		border: 1px solid rgba(128, 128, 128, .35); border-radius: 12px; background: rgba(128, 128, 128, .06);
	}
	.rt-cards > tbody > tr > td:not([hidden]) {
		display: flex; justify-content: space-between; align-items: baseline; gap: 14px;
		border: 0 !important; padding: .3rem 0; text-align: right; word-break: break-word;
	}
	.rt-cards > tbody > tr > td:empty { display: none; }
	.rt-cards > tbody > tr > td::before {
		content: attr(data-label); flex: 0 0 38%; max-width: 38%; text-align: left; font-weight: 600; font-size: .85em; opacity: .75;
	}
	.rt-cards > tbody > tr > td[data-label=""]::before { display: none; }
	.rt-cards > tbody > tr > td.rt-title { display: block; text-align: left; font-size: 1.05rem; font-weight: 700; padding-bottom: .45rem; border-bottom: 1px solid rgba(128, 128, 128, .25) !important; margin-bottom: .3rem; }
	.rt-cards > tbody > tr > td.rt-title::before { display: none; }
	.rt-cards .rt-v { flex: 1 1 0; min-width: 0; text-align: right; }
	.rt-cards > tbody > tr > td.rt-actions { display: block; text-align: left; padding-top: .6rem; }
	.rt-cards > tbody > tr > td.rt-actions .btn { margin: 0 .35rem .35rem 0; }
	.rt-cards > tbody > tr.rt-empty { border: 0; background: transparent; text-align: center; }
	.rt-cards > tbody > tr.rt-empty > td { display: block; text-align: center; }
	.rt-cards > tbody > tr.rt-empty > td::before { display: none; }
	.table-responsive:has(> .rt-cards) { overflow: visible; }
}

/* The theme paints .text-muted almost white (right for the dark themes); on the light theme that made secondary text unreadable. */
body[data-theme="light"] .text-muted,
body[data-theme="light"] small.text-muted {
	color: #6c757d !important;
}

/* SETTINGS / ACCOUNT PAGES ON A PHONE: the title gets its own line, the tabs become wrapping chips, the photo picker stacks */
@media (max-width: 767.98px) {
	#settings-navigation { flex-wrap: wrap; border-bottom: 0; padding: 0 .5rem .5rem; }
	#settings-navigation > li:first-child { flex: 0 0 100%; padding: .5rem .25rem !important; }
	#settings-navigation .nav-link { border: 1px solid rgba(128,128,128,.45) !important; border-radius: 16px; margin: 0 6px 6px 0; padding: .3rem .8rem; background: transparent; }
	#settings-navigation .nav-link.active { background: #2b6cb0 !important; border-color: #2b6cb0 !important; color: #fff !important; }
	.account-photo-row { flex-direction: column; }
	.account-photo-row .custom-file { width: 100%; }
}

/* SIDE MENU: free space under the last item, so it can be scrolled clear of the browser's link-preview bar and screen edge */
.main-sidebar .sidebar nav { padding-bottom: 4rem; }

/* NUMBER OF RESULTS above every paginated list */
.alma-result-count { display: inline-flex; align-items: center; min-height: 38px; margin: 0 0 .6rem; padding: .25rem .9rem; border-radius: 8px; border: 1px solid #f5c578; background: #fff0d6; color: #92400e; font-size: .95rem; font-weight: 700; }
body.dark-mode .alma-result-count, body[data-theme]:not([data-theme="light"]) .alma-result-count { border-color: #a1753a; background: #49351d; color: #ffd08a; }

/* "CREATE SOMETHING NEW" BUTTONS (New email, New SMS ...): the green of the "+" action button on the member rows */
.btn-create { background: #dcfce7; border: 1px solid #86efac; color: #166534; font-weight: 600; }
.btn-create:hover, .btn-create:focus { background: #bbf7d0; border-color: #86efac; color: #14532d; }
body.dark-mode .btn-create, body[data-theme]:not([data-theme="light"]) .btn-create { background: #163f32; border-color: #348365; color: #8af0b2; }
body.dark-mode .btn-create:hover, body.dark-mode .btn-create:focus, body[data-theme]:not([data-theme="light"]) .btn-create:hover, body[data-theme]:not([data-theme="light"]) .btn-create:focus { background: #205740; border-color: #348365; color: #b9f6d2; }
