:root {
	--iff-text-shadow: 2px 2px 2px #000000;
	--iff-text-shadow-sm: 1px 1px 2px #000000;
	--iff-text-shadow-blur: 0px 0px 7px #000000;

	--bs-bright-green: #00ff00;
	--bs-dark-green: #008000;
	--bs-green: #00cc00;
	--bs-light-green: #66ff66;

	--bs-bright-yellow: #ffff00;
	--bs-dark-yellow: #cccc00;
	--bs-yellow: #ffcc00;
	--bs-light-yellow: #ffff66;

	--bs-bright-blue: #00ffff;
	--bs-dark-blue: #0000cc;
	--bs-blue: #0099ff;
	--bs-light-blue: #66ffff;

	--bs-bright-red: #ff0000;
	--bs-dark-red: #cc0000;
	--bs-red: #ff3333;
	--bs-light-red: #ff6666;

	--bs-bright-purple: #ff00ff;
	--bs-dark-purple: #9900cc;
	--bs-purple: #cc33ff;
	--bs-light-purple: #ff66ff;
}
/* ---------------- */
/* ---------------- */
/* ---------------- */
/* text colors */
.text-bright-green {
	color: var(--bs-bright-green) !important;
}
.text-dark-green {
	color: var(--bs-dark-green) !important;
}
.text-green {
	color: var(--bs-green) !important;
}
.text-light-green {
	color: var(--bs-light-green) !important;
}
.text-bright-yellow {
	color: var(--bs-bright-yellow) !important;
}
.text-dark-yellow {
	color: var(--bs-dark-yellow) !important;
}
.text-yellow {
	color: var(--bs-yellow) !important;
}
.text-light-yellow {
	color: var(--bs-light-yellow) !important;
}
.text-bright-blue {
	color: var(--bs-bright-blue) !important;
}
.text-dark-blue {
	color: var(--bs-dark-blue) !important;
}
.text-blue {
	color: var(--bs-blue) !important;
}
.text-light-blue {
	color: var(--bs-light-blue) !important;
}
.text-bright-red {
	color: var(--bs-bright-red) !important;
}
.text-dark-red {
	color: var(--bs-dark-red) !important;
}
.text-red {
	color: var(--bs-red) !important;
}
.text-light-red {
	color: var(--bs-light-red) !important;
}
.text-bright-purple {
	color: var(--bs-bright-purple) !important;
}
.text-dark-purple {
	color: var(--bs-dark-purple) !important;
}
.text-purple {
	color: var(--bs-purple) !important;
}
.text-light-purple {
	color: var(--bs-light-purple) !important;
}

/* ---------------- */
/* ---------------- */
/* ---------------- */
/* border colors same as text-* colors */
.border-bright-green {
	border-color: var(--bs-bright-green) !important;
}

/* ---------------- */
/* ---------------- */
/* ---------------- */
/* background colors same as text-* colors */
.bg-bright-green {
	background-color: var(--bs-bright-green) !important;
}
.bg-dark-green {
	background-color: var(--bs-dark-green) !important;
}
.bg-green {
	background-color: var(--bs-green) !important;
}
.bg-light-green {
	background-color: var(--bs-light-green) !important;
}
.bg-bright-yellow {
	background-color: var(--bs-bright-yellow) !important;
}
.bg-dark-yellow {
	background-color: var(--bs-dark-yellow) !important;
}
.bg-yellow {
	background-color: var(--bs-yellow) !important;
}
.bg-light-yellow {
	background-color: var(--bs-light-yellow) !important;
}
.bg-bright-blue {
	background-color: var(--bs-bright-blue) !important;
}
.bg-dark-blue {
	background-color: var(--bs-dark-blue) !important;
}
.bg-blue {
	background-color: var(--bs-blue) !important;
}
.bg-light-blue {
	background-color: var(--bs-light-blue) !important;
}
.bg-bright-red {
	background-color: var(--bs-bright-red) !important;
}
.bg-dark-red {
	background-color: var(--bs-dark-red) !important;
}
.bg-red {
	background-color: var(--bs-red) !important;
}
.bg-light-red {
	background-color: var(--bs-light-red) !important;
}
.bg-bright-purple {
	background-color: var(--bs-bright-purple) !important;
}
.bg-dark-purple {
	background-color: var(--bs-dark-purple) !important;
}
.bg-purple {
	background-color: var(--bs-purple) !important;
}
.bg-light-purple {
	background-color: var(--bs-light-purple) !important;
}
/* ---------------- */
/* ---------------- */
/* ---------------- */

.text-shadow-sm {
	text-shadow: var(--iff-text-shadow-sm);
}

.text-shadow-blur {
	text-shadow: var(--iff-text-shadow-blur);
}

.text-shadow {
	text-shadow: var(--iff-text-shadow);
}
.text-no-shadow {
	text-shadow: none !important;
}

.bg-opacity-10 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-10::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.1;
	z-index: -1;
}
.bg-opacity-25 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-25::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.25;
	z-index: -1;
}
.bg-opacity-33 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-33::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.33 !important;
	z-index: -1;
}
.bg-opacity-50 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-50::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.5;
	z-index: -1;
}
.bg-opacity-75 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-75::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.75;
	z-index: -1;
}
.bg-opacity-90 {
	position: relative;
	isolation: isolate;
}
.bg-opacity-90::before {
	content: '';
	position: absolute;
	inset: 0;
	background: inherit;
	opacity: 0.9;
	z-index: -1;
}

/* 
	////////////////	
*/
.bg-opacity-black-10 {
	background-color: rgba(0, 0, 0, 0.1) !important;
}

.bg-opacity-black-50 {
	background-color: rgba(0, 0, 0, 0.1) !important;
}

.bg-opacity-black-90 {
	background-color: rgba(0, 0, 0, 0.9) !important;
}

.bg-opacity-black-80 {
	background-color: rgba(0, 0, 0, 0.8) !important;
}

.w-15 {
	width: 15% !important;
}

.w-20 {
	width: 20% !important;
}

.w-25 {
	width: 25% !important;
}

.w-30 {
	width: 30% !important;
}

.w-33 {
	width: 33.3333333333% !important;
}

.w-66 {
	width: 66.6666666667% !important;
}

.w-70 {
	width: 70% !important;
}

.w-80 {
	width: 80% !important;
}

.w-85 {
	width: 85% !important;
}
.vh-80 {
	height: 80vh !important;
}

.fs-6 {
	font-size: 1rem !important;
}

.fs-7 {
	font-size: 0.875rem !important;
}

.fs-8 {
	font-size: 0.75rem !important;
}

.fs-9 {
	font-size: 0.625rem !important;
}

.fs-10 {
	font-size: 0.575rem !important;
}
.fs-11 {
	font-size: 0.5rem !important;
}
.fs-12 {
	font-size: 0.40rem !important;
}

.fs-em-7 {
	font-size: 0.875em !important;
}

.fs-em-8 {
	font-size: 0.75em !important;
}

.fs-em-9 {
	font-size: 0.625em !important;
}

.fs-em-10 {
	font-size: 0.575em !important;
}
.fs-em-11 {
	font-size: 0.5em !important;
}

.text-shadow-sm {
	text-shadow: 1px 1px 2px #000000;
}

.text-shadow-blur {
	text-shadow: 0px 0px 7px #000000;
}

.text-shadow {
	text-shadow: 2px 2px 2px #000000;
}

.text-no-shadow {
	text-shadow: none !important;
}

.bg-fixed {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.hover_bg_black {
	background-color: rgba(0, 0, 0);
}

.hover_bg_black:hover {
	font-weight: bold;
	background-color: rgba(0, 0, 0, 0.5);
	transition: transform 0.1s ease-out;
	transform: scale(0.975);
}

.text-orange {
	color: var(--bs-orange);
}
.text-blue {
	color: var(--bs-blue);
}

.text-blue-hover:hover {
	color: #cccccc;
	cursor: pointer;
}

.text-hover:hover {
	color: #cccccc !important;
	cursor: pointer;
}

.text-grey-on-hover:hover {
	color: #cccccc !important;
	cursor: pointer;
}

.bg-black-opacity-50 {
	background-color: rgba(0, 0, 0, 0.5);
}

.opacity-10 {
	opacity: 0.1 !important;
}

.opacity-33 {
	opacity: 0.33 !important;
}

.border-dotted {
	border: 1px dotted !important;
}

.border-dotted-bottom {
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px dotted !important;
}

.hover:hover {
	cursor: pointer;
}

.hover-background:hover {
	cursor: pointer;
	background-color: #333333;
	color: white;
	font-weight: bold;
}

.bg-gradient {
	background-image: linear-gradient(180deg, #000000 0%, #222222 100%) !important;
}

select optgroup {
	background-color: darkred !important;
	color: #fff !important;
	font-style: italic !important;
	font-weight: bold !important;
}

.bg-dark-1 {
	background-color: #1f2431 !important;
}

.bg-dark {
	background-color: #181c28 !important;
}

.bg-cccccc {
	background-color: #cccccc !important;
}

.text-cccccc {
	color: #cccccc !important;
}
.text-muted-on-light {
	color: rgba(0, 0, 0, 0.5) !important;
}
.text-muted-on-dark {
	color: rgba(255, 255, 255, 0.5) !important;
}

/* Shorter Flex styles */
._dflex {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
._dflex-bottom {
	display: flex !important;
	align-items: end !important;
	justify-content: center !important;
}
._dflex-stretch {
	display: flex !important;
	align-items: stretch !important;
	align-content: stretch !important;
	justify-content: start !important;
	width: 100% !important;
}

._dflex-start {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

._dflex-end {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
}
._dflex-between {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
._dflex-evenly {
	display: flex !important;
	justify-content: space-evenly !important;
}

._dflex-col {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}
._dflex-col-start {
	display: flex !important;
	flex-direction: column !important;
	/* align-items: left !important; */
	align-items: flex-start !important;

	justify-content: center !important;
}
._dflex-col-end {
	display: flex !important;
	flex-direction: column !important;
	align-items: end !important;
	justify-content: flex-end !important;
}
._dflex-col-between {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	align-content: space-between !important;
}

._dflex-col-stretch {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

/* shorter margin padding styles */

._mp-0 {
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
}

._mp-1 {
	margin: 0.25rem !important;
	padding: 0.25rem !important;
}

._mp-2 {
	margin: 0.5rem !important;
	padding: 0.5rem !important;
}

._mp-3 {
	margin: 1rem !important;
	padding: 1rem !important;
}

._mp-4 {
	margin: 1.5rem !important;
	padding: 1.5rem !important;
}

._mp-5 {
	margin: 3rem !important;
	padding: 3rem !important;
}

._btn-0 {
	border: none !important;
	background: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Negative Margins */

.m-n1 {
	margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
	margin-top: -0.25rem !important;
}

.me-n1,
.mx-n1 {
	margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
	margin-bottom: -0.25rem !important;
}

.ms-n1,
.mx-n1 {
	margin-left: -0.25rem !important;
}

.m-n2 {
	margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
	margin-top: -0.5rem !important;
}

.ms-n2,
.mx-n2 {
	margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
	margin-bottom: -0.5rem !important;
}

.me-n2,
.mx-n2 {
	margin-left: -0.5rem !important;
}

.m-n3 {
	margin: -1rem !important;
}

.mt-n3,
.my-n3 {
	margin-top: -1rem !important;
}

.ms-n3,
.mx-n3 {
	margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
	margin-bottom: -1rem !important;
}

.me-n3,
.mx-n3 {
	margin-left: -1rem !important;
}

.m-n4 {
	margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
	margin-top: -1.5rem !important;
}

.ms-n4,
.mx-n4 {
	margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
	margin-bottom: -1.5rem !important;
}

.me-n4,
.mx-n4 {
	margin-left: -1.5rem !important;
}

.m-n5 {
	margin: -3rem !important;
}

.mt-n5,
.my-n5 {
	margin-top: -3rem !important;
}

.ms-n5,
.mx-n5 {
	margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
	margin-bottom: -3rem !important;
}

.me-n5,
.mx-n5 {
	margin-left: -3rem !important;
}

/* ** Border **/
.border-start-dotted {
	border-left-style: dotted;
	border-left-width: 1px;
}
.border-end-dotted {
	border-right-style: dotted;
	border-right-width: 1px;
}
.border-top-dotted {
	border-top-style: dotted;
	border-top-width: 1px;
}
.border-bottom-dotted {
	border-bottom-style: dotted;
	border-bottom-width: 1px;
}
.border-x-dotted {
	border-left-style: dotted;
	border-left-width: 1px;
	border-right-style: dotted;
	border-right-width: 1px;
}
.border-y-dotted {
	border-top-style: dotted;
	border-top-width: 1px;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
}

.on-clickable::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0); /* transparent normally */
	pointer-events: none;
	transition: background 0.2s ease;
}

.on-clickable:active::after {
	background: rgba(0, 0, 0, 0.5); /* 50% black overlay on click */
}
.bg-gradient-dark {
	background: linear-gradient(to top, #333333, #222222, #111111);
}

.ps-2_5 {
    padding-left: 0.625rem !important;
}   
.pe-2_5 {
    padding-right: 0.625rem !important;
}

/* summary {
	display: inherit !important;
	cursor: pointer;
} */
