/* Font Declarations */
@font-face {
  font-family: 'Poppins';
  src: url('/fonts/Poppins/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/Poppins/Poppins-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('/fonts/Poppins/Poppins-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inclusive Sans';
  src: url('/fonts/Inclusive_Sans/static/InclusiveSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inclusive Sans';
  src: url('/fonts/Inclusive_Sans/static/InclusiveSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inclusive Sans';
  src: url('/fonts/Inclusive_Sans/static/InclusiveSans-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inclusive Sans';
  src: url('/fonts/Inclusive_Sans/static/InclusiveSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
	font-family: "Poppins", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Inclusive Sans", sans-serif;
}

:root {
	/* Primary */
	--primary: #d30000;
	--bs-primary: #d30000;
	--bs-primary-rgb: 13, 110, 253;
	--bs-primary-contrast: #fff;
	--bs-primary-hover: #c30000;
	--bs-primary-border: #b00000;

	/* Secondary */
	--secondary: #6c757d;
	--bs-secondary: #6c757d;
	--bs-secondary-rgb: 108, 117, 125;
	--bs-secondary-contrast: #fff;
	--bs-secondary-hover: #5c636a;
	--bs-secondary-border: #565e64;

	/* Success */
	--bs-success: #198754;
	--bs-success-rgb: 25, 135, 84;
	--bs-success-contrast: #fff;
	--bs-success-hover: #157347;
	--bs-success-border: #146c43;

	/* Info */
	--bs-info: #0dcaf0;
	--bs-info-rgb: 13, 202, 240;
	--bs-info-contrast: #000;
	--bs-info-hover: #0bbce0;
	--bs-info-border: #0aa2ce;

	/* Warning */
	--bs-warning: #ffc107;
	--bs-warning-rgb: 255, 193, 7;
	--bs-warning-contrast: #000;
	--bs-warning-hover: #ffca2c;
	--bs-warning-border: #ffcd39;

	/* Danger */
	--bs-danger: #dc3545;
	--bs-danger-rgb: 220, 53, 69;
	--bs-danger-contrast: #fff;
	--bs-danger-hover: #bb2d3b;
	--bs-danger-border: #b02a37;

	/* Light */
	--bs-light: #f8f9fa;
	--bs-light-rgb: 248, 249, 250;
	--bs-light-contrast: #000;
	--bs-light-hover: #f9fafb;
	--bs-light-border: #f8f9fa;

	/* Dark */
	--bs-dark: #212529;
	--bs-dark-rgb: 33, 37, 41;
	--bs-dark-contrast: #fff;
	--bs-dark-hover: #1a1f23;
	--bs-dark-border: #1b1e21;

	/* Page defaults */
	--bs-body-bg: #fff;
	--bs-body-color: #212529;
}

.main-content {
	padding-top: 60px;
	padding-bottom: 60px;
	min-height: calc(100vh - 120px);
	/* Account for both navbars */
	overflow-y: auto;
	overflow-x: hidden;
}

.fixed-top {
	z-index: 1030;
}

.fixed-bottom {
	z-index: 1030;
}


/* Anchor Links */
a {
	color: var(--bs-primary);
}

a:hover {
	color: var(--bs-primary-hover);
}

/* Link Buttons */
.btn-link {
	text-decoration: none;
	color: var(--bs-body-color);
}

/* Primary Buttons */
.btn-primary {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary-border);
	color: var(--bs-primary-contrast);
}

.btn-primary:hover {
	background-color: var(--bs-primary-hover);
	border-color: var(--bs-primary-border);
	color: var(--bs-primary-contrast);
}

.btn-primary:focus,
.btn-primary.focus {
	box-shadow: 0 0 0 0.2rem rgba(211, 0, 0, 0.5);
	/* Adjust opacity as needed */
}

/* Disabled state for primary buttons */
.btn-primary.disabled,
.btn-primary:disabled {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary-border);
	opacity: 0.65;
}

/* Outlined Primary Buttons */
.btn-outline-primary {
	color: var(--bs-primary);
	border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
	background-color: var(--bs-primary);
	color: var(--bs-primary-contrast);
}

/* Form Control Focus */
.form-control:focus {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 0.2rem rgba(211, 0, 0, 0.25);
}

/* Nav links active state */
.nav-link.active,
.nav-link.active:focus,
.nav-link.active:hover {
	color: var(--bs-primary);
}

.osahansidebar-links .FileIcon {
	margin-right: 10px;
}

.sidebar-icon {
	width: auto;
}

.osahansidebar-links .FileIcon {
	width: 28px;
	height: 28px;
	filter: grayscale(100%);
}

.osahansidebar-links .active .FileIcon {
	width: 32px !important;
	height: 32px !important;
	filter: grayscale(0%) !important;
}

.footer .FileIcon {
	width: 28px;
	height: 28px;
	filter: grayscale(100%);
}

.footer .active .FileIcon {
	width: 32px !important;
	height: 32px !important;
	filter: grayscale(0%) !important;
}

@media (max-width: 768px) {
	.main-content {
		min-height: calc(100vh - 120px);
		/* iOS Safari: Use consistent viewport units */
	}
}

/* iOS Safari viewport bug fixes */
@supports (-webkit-touch-callout: none) {
	/* Target iOS Safari specifically */
	body {
		min-height: 100vh;
		min-height: -webkit-fill-available;
	}
	
	.main-content {
		min-height: calc(100vh - 120px);
		min-height: calc(-webkit-fill-available - 120px);
		/* Ensure forms are always visible */
	}
}

/* Badge System Styles */
.badge-card .thumbnail {
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.accordion-button:not(.collapsed) {
	background-color: var(--bs-light);
}

.number-font {
	font-family: "Poppins", sans-serif !important; 
	font-weight: 600 !important; 
}

/* Outlined Nav Pills */
.nav-pills-outline .nav-link {
    background-color: transparent;
    border: 1px solid #dee2e6;
    color: #6c757d;
}

.nav-pills-outline .nav-link:hover {
    background-color: #f8f9fa;
    border-color: #adb5bd;
    color: #495057;
}

.nav-pills-outline .nav-link.active {
    background-color: transparent;
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

/* Global Notifications Icon */
.global-notify .FileIcon {
    filter: grayscale(100%);
}

.global-notify.active .FileIcon {
    filter: grayscale(0%);
}