:root {
	--light-mode-body-color: #fafafa;
	--light-mode-primary-color: #fff;
	--light-mode-highlight-color: #eeeeee;
	--light-mode-input-color: #fff;
	--light-mode-text-color: #555;
	--light-mode-light-text-color: #707070;
	--light-mode-divider: #ccc;
	
	--dark-mode-body-color: rgb(28, 28, 29);
	--dark-mode-primary-color: rgb(37, 39, 40);
	--dark-mode-highlight-color: rgb(58, 59, 60);
	--dark-mode-input-color: rgb(28, 28, 29);
	--dark-mode-text-color: rgb(219, 221, 225);
	--dark-mode-reverse-text-color: rgb(28, 28, 29);
	--dark-mode-light-text-color: #999;
	--dark-mode-divider: rgb(62, 64, 66);

	--fc-border-color: #ccc;
	--fc-page-bg-color: #fff;
}

body.dark-mode {
	--fc-border-color: rgb(62, 64, 66);
	--fc-page-bg-color: rgb(36, 37, 38);
}


@media print {
	#maincontent {
		margin-left:0px !important;
	}
	a[href]:after {
		content: none !important;
	}
}

.modal-dialog {
	margin-top: calc(10px + env(safe-area-inset-top))
}

/* fix alignment when buttons wrap on narrow screens */
/*
.modal-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	padding-bottom: 5px;
}

.modal-footer .btn-sm {
	margin-bottom: 10px;
	margin-left: 5px;
}

.modal-footer::after {
	display: none;
}
*/

.modal-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-start;
	margin-top: -10px;
	/* Counteract the top margin of buttons */
	padding-top: 5px;
}

.modal-footer .btn-sm {
	margin-top: 10px;
	/* Add top margin to all buttons */
	margin-left: 5px;
	/* Maintain horizontal spacing */
}

.modal-footer::after {
	display: none;
}

.longPressOverlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(8px);
	display: none;
	z-index: 1051;
}

.longPressModalContent {
	position: fixed;
	left: 20px;
	right: 20px;
	max-width: 400px;
	display: flex;
	flex-direction: column;
	z-index: 1052;
	margin: 0;
}

.longPressReactions {
	background-color: rgb(255, 255, 255);
	border-radius: 20px;
	padding: 10px;
	display: flex;
	justify-content: space-around;
	margin-bottom: 5px;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.longPressOptions {
	list-style-type: none;
	padding: 0;
	background-color: rgb(255, 255, 255);
	border-radius: 10px;
	margin-top: 8px;
	/* Added margin-top for spacing */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
	opacity: 0;
	margin-top: 5px;
}

.longPressOptions li {
	padding: 10px 15px;
	cursor: pointer;
}

.longPressOptions li a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	/* Optional: Remove underline */
	color: inherit;
	/* Optional: Inherit text color */
}

.longPressOptions li:hover {
	background-color: rgba(255, 255, 255, 0.1);
}

.longPressOptions li:not(:first-child) {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.longPressOptions li.hidden {
	display: none;
}

.d-flex {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

.flex-column {
	-webkit-box-orient: vertical !important;
	-webkit-box-direction: normal !important;
	-ms-flex-direction: column !important;
	flex-direction: column !important;
}

/* -------------------------------------------------------------------------- */
/*                                    Flex                                    */
/* -------------------------------------------------------------------------- */
.flex-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flex-between-center {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.flex-end-center {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.flex-between-end {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex-1 {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.align-items-start {
	-webkit-box-align: start !important;
	-ms-flex-align: start !important;
	align-items: flex-start !important;
}

.align-items-end {
	-webkit-box-align: end !important;
	-ms-flex-align: end !important;
	align-items: flex-end !important;
}

.align-items-center {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}

.align-items-baseline {
	-webkit-box-align: baseline !important;
	-ms-flex-align: baseline !important;
	align-items: baseline !important;
}

.align-items-stretch {
	-webkit-box-align: stretch !important;
	-ms-flex-align: stretch !important;
	align-items: stretch !important;
}


th {
	font-weight: normal;
}

/* profile configs */
.about-grid dt {
	width: 180px;
	white-space: normal;
}

.about-grid dd {
	margin-left: 200px;
}

@media (max-width: 768px) {
	.about-grid dt {
		float: none;
		width: auto;
		font-weight: 600;
	}

	.about-grid dd {
		margin-left: 0;
		margin-bottom: 10px;
	}
}

.chip {
	display: inline-block;
	padding: 2px 8px;
	border: 1px solid #ddd;
	border-radius: 16px;
	margin: 2px 4px;
}

.github-card {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	padding: 12px;
}

.github-card img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	margin-right: 10px;
}

.m0 {
	margin: 0
}

.text-muted-small {
	color: #999;
	font-size: 12px
}

.about-img {
	max-width: 320px
}

@media (min-width: 768px) {
	.modal-dialog {
		margin-top: calc(30px + env(safe-area-inset-top))
	}
}

a.button-link {
	padding: 8px 12px;
}

.button-link-group a.button-link {
	padding-right: 15px;
}

/* otherwise selects extend to the entire width, which is too wide */
select.form-control {
	width: auto;
}

.scrollable-groups-menu {
	height: auto;
	max-height: 400px;
	overflow-x: hidden;
}

.close {
	opacity: .5;
}

/* normal img-responsive is display: block, which doesn't allow images to be centered when in a
   text-align: center span, which is what summernote does to align things. so we use inline-block
   instead. */
.myimg-responsive {
	display: inline-block;
	max-width: 100%;
	height: auto;
}

.table {
	border-radius: 4px;
	border-color: #f8f8f8;
}

.table>tbody>tr:last-child>td:first-child {
	border-bottom-left-radius: 4px;
}

.table>tbody>tr:last-child>td:last-child {
	border-bottom-right-radius: 4px;
}

/* snug up breadcrumb bottom */
.breadcrumb {
	margin-bottom: 10px;
}


/* fix for Microsoft Outlook */

p.MsoNormal {
	margin: 0px;
}

p.MsoListParagraph {
	margin-bottom: 0px;
}

.the-table {
	table-layout: fixed;
	word-wrap: break-word;
}

.h3, h3 {
	font-size: 22px;
}
.llmcontent ol, .llmcontent ul {
	margin-top: 10px;
	margin-bottom: 10px !important;
}

blockquote {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 16px;
	border-left: 5px solid #e0e0e0;
}

.hidden-label {
	font-size: 0;
	height: 1px;
	overflow: hidden;
	display: block;
}

.scroll-top-wrapper {
	position: fixed;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	text-align: center;
	z-index: 99999999;
	background-color: #707070;
	color: #eeeeee;
	width: 50px;
	height: 48px;
	line-height: 48px;
	right: 10px;
	bottom: 0px;
	padding-top: 2px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.scroll-top-wrapper:hover {
	background-color: #888888;
}

.scroll-top-wrapper.show {
	visibility: visible;
	cursor: pointer;
	opacity: 0.4;
}

.scroll-top-wrapper i.fa {
	line-height: inherit;
}

.dropdown-wide {
	display: block;
}

.dropdown-narrow {
	display: none;
}

/* subject font size */
.subject {
	font-size: 17px;
}

a,
.pagination>li>a,
.pagination>li>span {
	color: #2f6fa7;
}

.navbar-head,
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover,
body.dark-mode .list-group-item.active,
body.dark-mode .list-group-item.active:focus,
body.dark-mode .list-group-item.active:hover {
	background-color: #2f6fa7;
}

body:not(.dark-mode) .groupmaincontent ul.dropdown-menu a,
body:not(.dark-mode) .panel-default>.panel-heading a {
	color: #333 !important;
}

body:not(.dark-mode) a.showvisited:visited,
body:not(.dark-mode) .thread-attribution,
body:not(.dark-mode) .text-muted,
body:not(.dark-mode) .breadcrumb>.active,
body:not(.dark-mode) .help-block,
body:not(.dark-mode) span[id*="likestats"] {
	color: #707070 !important;
}

.likestats {
	font-size:14px;
	color:#707070;
}


.thread-attribution {
	font-size:14px;
	color:#707070;	
}

body {
	font-family: system-ui,
		"Segoe UI",
		Roboto,
		"Helvetica Neue",
		"Noto Sans",
		"Liberation Sans",
		Arial,
		sans-serif,
		"Apple Color Emoji",
		"Segoe UI Emoji",
		"Segoe UI Symbol",
		"Noto Color Emoji";
	font-size: 16px;
	font-weight: 400;
	background-color: var(--light-mode-body-color);
}

#body {
	padding-top: calc(60px + env(safe-area-inset-top));
}

.dropdown-menu {
	font-size: 16px;
}

.list-group-item {
	background-color: var(--light-mode-body-color);
}

.icon-background {
	color: var(--light-mode-highlight-color);
}

#maincontent-column {
	padding-bottom: 50px;
}

.breadcrumb-row {
	background-color: rgb(245, 245, 245);
	margin-left: 0px !important;
	margin-right: 0px !important;

}

.breadcrumb-container {
	overflow-x: auto;
	white-space: nowrap;
	background-color: rgb(245, 245, 245);
}
.scroll-breadcrumb {
	display: inline-block !important;
	width: 100% !important;
	background-color: rgb(245,245,245);
	margin-left: 0px !important;
	margin-right: 0px !important;
	margin-bottom: 0px !important;
	padding-left: 0px;
	padding-right: 0px;
}
.breadcrumb-container::-webkit-scrollbar {
	height: 0px;
}
/*
.breadcrumb-container::-webkit-scrollbar-thumb {
	background-color: #ccc;
	border-radius: 4px;
}
.breadcrumb-container::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}
*/
/*
  This is to prevent the header and footer on Safari from moving when scrolling the
  page.
*/
.panel-body {
	padding-left: 5px;
	padding-right: 5px;
}

.panel-success>.panel-heading {
	background-color: #419641;
	border-color: #419641;
	color: #fff;
}


#maincontent-refresh {
	scroll-margin-top: 60px;
}

.groupmaincontent {
	margin-left: 235px;
}

.manuallistitem.dropdown-indicator:after {
	left: 400px;
}

.manualmaincontent {
	margin-left: 445px;
}

#manualsidebar {
	padding-right: 0px;
	position: fixed;
	max-width: 440px;
	width: 100%;
	top: calc(60px + env(safe-area-inset-top));
}
.btn-xs {
	font-size:12px !important;
}

.modal.fade .modal-dialog {
	transition: transform 0.2s ease-out;
}

.btn-default {
	font-size: 14px;
	color: rgb(51, 51, 51);
	background-color: #ccc;
	/*line-height: 15px;*/
	border: 1px solid #ccc;
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-default:hover {
	background-color: #bbb;
	border: 1px solid #bbb;
	color: rgb(41, 41, 41);
}

.btn-outline-default {
	font-size: 14px;
	color: #ccc;
	/*line-height: 15px;*/
	border: 2px solid #ccc;
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-default:hover {
	color: #FFF;
	background-color: #ccc;
	border: 2px solid #ccc;
}

.btn-sm {
	line-height: 18px;
}

.btn-primary {
	font-size: 14px;
	color: #FFF;
	/*line-height: 18px;*/
	border: 1px solid #337ab7;
	background-color: #337ab7;
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-primary.active {
	background-color: #337ab7;
	border-color: #337ab7;
}

.btn-outline-primary {
	font-size: 14px;
	color: #337ab7;
	/*line-height: 15px;*/
	border: 1px solid #337ab7;
	background-color: #337ab7;
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-primary.active {
	background-color: #337ab7;
	border-color: #337ab7;
}

.btn-outline-primary:hover {
	color: #FFF;
	background: #337ab7;
	border: 1px solid #337ab7;
}

.btn-success {
	font-size: 14px;
	color: #FFF;
	background-color: #419641;
	/*line-height: 15px;*/
	border: 1px solid #419641;
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-success:hover {
	background-color: #307d30;
	border: 1px solid #307d30;
}

.btn-outline-success {
	font-size: 14px;
	color: #419641;
	/*line-height: 15px;*/
	border: 1px solid #419641;
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-success:hover {
	color: #FFF;
	background: #419641;
	border: 1px solid #419641;
}

.btn-outline-success:hover {
	color: #FFF;
	background: #419641;
	border: 1px solid #419641;
}

.btn-info {
	font-size: 14px;
	color: #FFF;
	background-color: #5bc0de;
	/*line-height: 15px;*/
	border: 1px solid #5bc0de;
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-info:hover {
	background-color: #2188a0;
	border: 1px solid #2188a0;
}

.btn-outline-info {
	font-size: 14px;
	color: #5bc0de;
	/*line-height: 15px;*/
	border: 1px solid #5bc0de;
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-info:hover {
	color: #FFF;
	background: #5bc0de;
	border: 1px solid #5bc0de;
}


.btn-warning {
	font-size: 14px;
	color: #FFF;
	background-color: rgb(245, 128, 62);
	/*line-height: 15px;*/
	border: 1px solid rgb(245, 128, 62);
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-warning:hover {
	background-color: #d67f0c;
	border: 1px solid #d67f0c;
}

.btn-outline-warning {
	font-size: 14px;
	color: rgb(245, 128, 62);
	/*line-height: 15px;*/
	border: 1px solid rgb(245, 128, 62);
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-warning:hover {
	color: #FFF;
	background: rgb(245, 128, 62);
	border: 1px solid rgb(245, 128, 62);
}

.btn-danger {
	font-size: 14px;
	color: #FFF;
	background-color: #d9534f;
	/*line-height: 15px;*/
	border: 1px solid #d9534f;
	border-radius: 6px;
	transition: all 0.2s ease 0s;
}

.btn-danger:hover {
	background-color: #a0211d;
	border: 1px solid #a0211d;
}

.btn-outline-danger {
	font-size: 14px;
	color: #d9534f;
	/*line-height: 15px;*/
	border: 1px solid #d9534f;
	border-radius: 6px;
	background: transparent;
	transition: all 0.2s ease 0s;
}

.btn-outline-danger:hover {
	color: #FFF;
	background: #d9534f;
	border: 1px solid #d9534f;
}

.scrolling-wrapper {
	overflow-x: auto;
	white-space: nowrap;
}

.scrolling-wrapper .btn {
	display: inline-block;
	white-space: normal;
}

.Xmce-tinymce {
	box-shadow: none !important;
}

.Xmce-content-body {
	margin-top: 10px;
	margin-left: 10px;
}

.XXmce-content-body {
	white-space: pre-wrap;
}


.Xmce-panel {
	border-color: #ccc !important;
}

.dropzone {
	margin-bottom:10px; 
	border-color:rgb(204,204,204);
}

.robohelp-important {
	color: #d9534f;
	font-weight: bold;
}

.robohelp-callout {
	font-weight: bold;
}

.robohelp-reltopics-list {
	list-style-type: disc;
}

.robohelp-reltopics-caption {
	font-weight: bold;
}

#manual h2 {
	font-size: 20px;
}

.scrollbar {
	overflow-y: auto;
	max-height: calc(100vh - 61px);
	/*visibility: hidden;*/
}

.scrollbar-content,
.scrollbar:hover,
.scrollbar:focus {
	/*visibility: visible !important;
	-webkit-overflow-scrolling: touch;*/
	overflow-y: auto;
}

.scrollbar::-webkit-scrollbar {
	/*-webkit-appearance: none;*/
	width: 6px;
	height: 6px;
	background-color: rgba(0, 0, 0, 0);
}
.scrollbar::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background-color: #ccc;
}

#groupsidebar {
	padding-right: 0px;
	position: fixed;
	max-width: 230px;
	width: 100%;
	top: calc(60px + env(safe-area-inset-top));
}

/* force a passage without spaces to be broken up to fit a fixed width container */
.forcebreak, .forcebreak * {
/*
	word-break: break-all;
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
*/
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	/*white-space: normal !important;*/
}

@media screen and (max-width: 992px) {

	/*
	.groupmaincontent {
		position: absolute;
		top: calc(55px + env(safe-area-inset-top));
		bottom: 80px;
		right: 0;
		left: 0;
		overflow-y: auto !important;
		margin-left: 0px;
		margin-right: 0px;	
	}
	*/
	.groupmaincontent {
		margin-left: 0px;
	}

	#groupsidebar {
		display: none;
	}
	#staticcontent {
		overflow-y: auto !important;
	}

	.dropdown-wide {
		display: none;
	}

	.dropdown-narrow {
		display: block;
	}

	.nav-pills>li {
		float: none;
	}

	.navbar-fixed-bottom {
		margin-bottom: 0px;
	}

	.table-responsive {
		border: 0px;
	}

	/* subject font size bigger than desktop*/
	.subject {
		font-size: 18px;
	}

	.scroll-top-wrapper {
		right: 0px;
		bottom: 72px;
	}

	/* fix for auto zoom in summernote */
	.note-editor .note-editable {
		font-size: 17px;
	}

	/* undo this from above because it causes horizontal scrolling */
	select.form-control {
		width: 100%;
	}
}

a.showvisited:visited {
	/* visited link */
	color: #787878;
}

.navbar.center .navbar-inner {
	text-align: center;
}

.navbar.center .navbar-inner .nav {
	float: none;
	display: inline-block;
	vertical-align: middle;
}

.noborderitem:first-child {
	border-top-left-radius: 0px !important;
	border-top-right-radius: 0px !important;
}

.noborderitem:last-child {
	border-bottom: 0px !important;
}

.noborderitem {
	border-right-width: 0px;
	border-left-width: 0px;
}

table.table-fixed {
	table-layout: fixed;
	width: 100%;
}

.table-wrap {
	overflow: auto;
	position: relative;
}

.table-wrap {
	overflow: auto;
	position: relative;
}

/* Sticky header + first col */
.table-fixed-sticky thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #fff;
}

.table-fixed-sticky tbody th,
.sticky-col {
	position: sticky;
	left: 0;
	z-index: 1;
	background: #fff;
}

/* spacing used for buttons that may wrap to the next line */

.top5 {
	margin-top: 5px;
}

.top7 {
	margin-top: 7px;
}

.top10 {
	margin-top: 10px;
}

.top15 {
	margin-top: 15px;
}

.top17 {
	margin-top: 17px;
}

.top30 {
	margin-top: 30px;
}

.bottom5 {
	margin-bottom: 5px;
}

.bottom7 {
	margin-bottom: 7px;
}

.bottom10 {
	margin-bottom: 10px;
}

.bottom15 {
	margin-bottom: 15px;
}

.bottom17 {
	margin-bottom: 17px;
}

.bottom30 {
	margin-bottom: 30px;
}

.list-group-submenu {
	margin-left: 20px;
}

.list-group-subsubmenu {
	margin-left: 40px;
}

/* hashtag color definitions */

.hashtag-btn {
	color: #fff;
}

.hashtag-label-white {
	background-color: #fff;
	border-color: #ccc;
}

.hashtag-label-green-lantern {
	background-color: #61b16c;
}

.hashtag-label-cucumber {
	background-color: #91d09a;
}

.hashtag-label-cerulean-blue {
	background-color: #4191d6;
}

.hashtag-label-bluejean {
	background-color: #8ec2ee;
}

.hashtag-label-capri-blue {
	background-color: #88ddf7;
}

.hashtag-label-aquamute {
	background-color: #60d2b8;
}

.hashtag-label-emerald-green {
	background-color: #11adb1;
}

.hashtag-label-apricot {
	background-color: #fe904b;
}

.hashtag-label-orange {
	background-color: #faa849;
}

.hashtag-label-yellow {
	background-color: #fecd0f;
}

.hashtag-label-cherry-blossom {
	background-color: #f96ab0;
}

.hashtag-label-peony {
	background-color: #fb9bc4;
}

.hashtag-label-tomato {
	background-color: #f85347;
}

.hashtag-label-melon {
	background-color: #fa8287;
}

.hashtag-label-orchid {
	background-color: #df6cca;
}

.hashtag-label-pink {
	background-color: #f39de4;
}

.hashtag-label-lilac {
	background-color: #9f8cd5;
}

.hashtag-label-purple {
	background-color: #837fd5;
}

.hashtag-label-dark-grey {
	background-color: #4c4c4c;
}

.hashtag-label-light-grey {
	background-color: #8c8c8c;
}

.hashtag-label-military {
	background-color: #938953;
}

.hashtag-label-light-brown {
	background-color: #c4bd97;
}

.hashtag-label-moss-green {
	background-color: #93ad59;
}

.hashtag-label-grey-blue {
	background-color: #83adb5;
}

.hashtag-label-green-sage {
	background-color: #9fc4ac;
}

.hashtag-label-sage {
	background-color: #89bfbd;
}

.hashtag-label-blush {
	background-color: #ee836f;
}

.hashtag-label-mustard {
	background-color: #cb9228;
}

.hashtag-label-mulbery {
	background-color: #d55d75;
}

.hashtag-label-dusty-mauve {
	background-color: #655251;
}

.hashtag-label-dark-orange {
	background-color: #e76239;
}

.hashtag-label-burnt-yellow {
	background-color: #dab71f;
}

.hashtag-label-antique-pink {
	background-color: #e5b9b7;
}

.hashtag-label-lips {
	background-color: #c97586;
}

.hashtag-label-terracotta {
	background-color: #a7605f;
}

.hashtag-label-cloudy-blue {
	background-color: #6381b4;
}

.hashtag-label-purple-grey {
	background-color: #8593ab;
}

.hashtag-label-light-lilac {
	background-color: #ccc1d9;
}

.hashtag-label-grape {
	background-color: #5e3c58;
}

.hashtag-label-purple-blue {
	background-color: #4853a1;
}

.hashtag-label-sky {
	background-color: #9cc7df;
}

.hashtag-label-beige {
	background-color: #dcc39c;
}

.hashtag-box-white {
	background-color: #fff !important;
	border-color: #ccc;
}

.hashtag-box-green-lantern {
	color: #333 !important;
	background-color: #61b16c !important;
}

.hashtag-box-cucumber {
	color: #333 !important;
	background-color: #91d09a !important;
}

.hashtag-box-cerulean-blue {
	color: #333 !important;
	background-color: #4191d6 !important;
}

.hashtag-box-bluejean {
	color: #333 !important;
	background-color: #8ec2ee !important;
}

.hashtag-box-capri-blue {
	color: #333 !important;
	background-color: #88ddf7 !important;
}

.hashtag-box-aquamute {
	color: #333 !important;
	background-color: #60d2b8 !important;
}

.hashtag-box-emerald-green {
	color: #333 !important;
	background-color: #11adb1 !important;
}

.hashtag-box-apricot {
	color: #333 !important;
	background-color: #fe904b !important;
}

.hashtag-box-orange {
	color: #333 !important;
	background-color: #faa849 !important;
}

.hashtag-box-yellow {
	color: #333 !important;
	background-color: #fecd0f !important;
}

.hashtag-box-cherry-blossom {
	color: #333 !important;
	background-color: #f96ab0 !important;
}

.hashtag-box-peony {
	color: #333 !important;
	background-color: #fb9bc4 !important;
}

.hashtag-box-tomato {
	color: #333 !important;
	background-color: #f85347 !important;
}

.hashtag-box-melon {
	color: #333 !important;
	background-color: #fa8287 !important;
}

.hashtag-box-orchid {
	color: #333 !important;
	background-color: #df6cca !important;
}

.hashtag-box-pink {
	color: #333 !important;
	background-color: #f39de4 !important;
}

.hashtag-box-lilac {
	color: #333 !important;
	background-color: #9f8cd5 !important;
}

.hashtag-box-purple {
	color: #333 !important;
	background-color: #837fd5 !important;
}

.hashtag-box-dark-grey {
	color: #eee !important;
	background-color: #4c4c4c !important;
}

.hashtag-box-light-grey {
	color: #333 !important;
	background-color: #8c8c8c !important;
}

.hashtag-box-military {
	color: #333 !important;
	background-color: #938953 !important;
}

.hashtag-box-light-brown {
	color: #333 !important;
	background-color: #c4bd97 !important;
}

.hashtag-box-moss-green {
	color: #333 !important;
	background-color: #93ad59 !important;
}

.hashtag-box-grey-blue {
	color: #333 !important;
	background-color: #83adb5 !important;
}

.hashtag-box-green-sage {
	color: #333 !important;
	background-color: #9fc4ac !important;
}

.hashtag-box-sage {
	color: #333 !important;
	background-color: #89bfbd !important;
}

.hashtag-box-blush {
	color: #333 !important;
	background-color: #ee836f !important;
}

.hashtag-box-mustard {
	color: #333 !important;
	background-color: #cb9228 !important;
}

.hashtag-box-mulbery {
	color: #333 !important;
	background-color: #d55d75 !important;
}

.hashtag-box-dusty-mauve {
	color: #eee !important;
	background-color: #655251 !important;
}

.hashtag-box-dark-orange {
	color: #333 !important;
	background-color: #e76239 !important;
}

.hashtag-box-burnt-yellow {
	color: #333 !important;
	background-color: #dab71f !important;
}

.hashtag-box-antique-pink {
	color: #333 !important;
	background-color: #e5b9b7 !important;
}

.hashtag-box-lips {
	color: #333 !important;
	background-color: #c97586 !important;
}

.hashtag-box-terracotta {
	color: #eee !important;
	background-color: #a7605f !important;
}

.hashtag-box-cloudy-blue {
	color: #333 !important;
	background-color: #6381b4 !important;
}

.hashtag-box-purple-grey {
	color: #333 !important;
	background-color: #8593ab !important;
}

.hashtag-box-light-lilac {
	color: #333 !important;
	background-color: #ccc1d9 !important;
}

.hashtag-box-grape {
	color: #eee !important;
	background-color: #5e3c58 !important;
}

.hashtag-box-purple-blue {
	color: #eee !important;
	background-color: #4853a1 !important;
}

.hashtag-box-sky {
	color: #333 !important;
	background-color: #9cc7df !important;
}

.hashtag-box-beige {
	color: #333 !important;
	background-color: #dcc39c !important;
}

.fa-6x {
	font-size: 6em;
}

.template {
	display: none;
}

.alert-gray {
	background-color: #e6e6e6;
	color: #333;
}

.Xmce-ico.Xmce-i-fa {
	display: inline-block;
	font: normal normal normal 14px/1;
	font-family: 'Font Awesome\ 5 Pro';
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.mobilebadge {
	position: absolute;
	top: -5px;
	right: -10px;
	color: white;
	background-color: #d43f3a;
	border: 2px solid white;
}

.groupsbadge {
	background-color: #d43f3a;
	position: absolute;
	top: 0px;
}

/* thinking indicator for /ask feature */
.thinking-indicator {
	display: flex;
	align-items: center;
	padding: 10px;
	border-radius: 6px;
	background-color: rgb(233, 233, 233);
	max-width: fit-content;
	margin: 20px 0;
	color: #333;
}

.spinner {
	margin-right: 10px;
	color: #2f6fa7;
	animation: spin 1.2s linear infinite;
}

.dots {
	display: inline-block;
	position: relative;
	width: 40px;
	height: 10px;
	margin-left: 5px;
}

.dots span {
	position: absolute;
	width: 6px;
	height: 6px;
	background-color: #2f6fa7;
	border-radius: 50%;
	animation: dots 1.5s infinite ease-in-out;
}

.dots span:nth-child(1) {
	left: 0px;
	animation-delay: 0s;
}

.dots span:nth-child(2) {
	left: 12px;
	animation-delay: 0.2s;
}

.dots span:nth-child(3) {
	left: 24px;
	animation-delay: 0.4s;
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes dots {

	0%,
	80%,
	100% {
		transform: scale(0.8);
		opacity: 0.5;
	}

	40% {
		transform: scale(1.2);
		opacity: 1;
	}
}


@media screen and (max-width: 515px) {
	.Xmce-window {
		max-width: 320px !important;
		left: calc(50% - 160px) !important;
	}

	.Xmce-window-body {
		max-width: 100% !important;
		min-height: 230px !important;
	}

	.Xmce-container.Xmce-panel.Xmce-abs-layout-item,
	.Xmce-container.Xmce-panel.Xmce-abs-layout-item .Xmce-container-body.Xmce-abs-layout {
		max-width: 100% !important;
		min-height: 190px !important;
	}

	.Xmce-flow-layout {
		text-align: center !important;
	}

	.Xmce-flow-layout-item.Xmce-btn-group {
		border-left: none !important;
	}

	.Xmce-floatpanel,
	.Xmce-floatpanel>.Xmce-container-body,
	.Xmce-foot,
	.Xmce-foot>.Xmce-abs-layout {
		max-width: 320px !important;
		text-align: center;
	}

	.Xmce-formitem {
		width: 300px !important;
		left: 10px !important;
		display: block !important;
	}

	.Xmce-formitem:nth-child(2) {
		top: 10px !important;
	}

	.Xmce-formitem:nth-child(3) {
		top: 50px !important;
	}

	.Xmce-formitem:nth-child(4) {
		top: 90px !important;
	}

	.Xmce-formitem:nth-child(5) {
		top: 130px !important;
	}

	.Xmce-formitem:nth-child(6) {
		top: 170px !important;
	}

	.Xmce-container.Xmce-form.Xmce-abs-layout-item .Xmce-container-body.Xmce-abs-layout .Xmce-container.Xmce-form.Xmce-abs-layout-item {
		top: 40px !important;
		left: 0 !important;
		height: 160px !important;
	}

	.Xmce-formitem label {
		width: 106px !important;
		font-size: 14px !important;
		left: 0px !important;
	}

	.Xmce-multiline {
		max-width: 290px !important;
	}

	.Xmce-checkbox {
		top: 40px !important;
		left: 0 !important;
	}

	.Xmce-label {
		font-size: 14px !important;
	}

	.Xmce-foot .Xmce-btn-has-text {
		position: relative !important;
		top: 0 !important;
		left: 0 !important;
		display: inline-block !important;
		margin: 10px 5px !important;
	}

	.Xmce-abs-layout-item input {
		max-width: 150px !important;
	}

	.Xmce-abs-layout-item.Xmce-has-open input {
		max-width: 118px !important;
	}
}

.toc ol {
	counter-reset: item
}

.toc li {
	display: block;
	color: #aaa;
}

.toc li:before {
	content: counters(item, ".") " ";
	counter-increment: item;
	color: #000;
}

.wikidisplay a {
	text-decoration: underline;
}

.wikidisplay a:visited {
	color: #787878;
}

.StripeElement--focus.StripeElement--invalid {
	box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px inset, rgb(206, 132, 131) 0px 0px 6px;
	border-color: rgb(132, 53, 52);
}

.StripeElement--focus {
	border-color: #66afe9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}

.strike {
	display: block;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
}

.strike>span {
	position: relative;
	display: inline-block;
}

.strike>span:before,
.strike>span:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 9999px;
	height: 1px;
	background: #d3d3d3;
}

.strike>span:before {
	right: 100%;
	margin-right: 15px;
}

.strike>span:after {
	left: 100%;
	margin-left: 15px;
}

.scrollable-menu {
	height: auto;
	max-height: 200px;
	overflow-x: hidden;
}

.nomargin {
	margin-bottom: 0px;
}

.help-block {
	margin-top: 0px;
	margin-bottom: 0px;
}
.radio .help-block {
	padding-left: 20px;
}
.checkbox .help-block {
	padding-left: 20px;
}

.filetype-text {
	font-size: .7em;
	font-weight: 700;
	font-family: 'Oswald';
}


/* remove extra file upload icon, make placeholder text smaller, for file upload widget */

.kv-file-upload {
	display: none
}

.file-drop-zone-title {
	font-size: 30px;
}

.btn-file {
	position: relative;
	overflow: hidden;
	font-size: 14px !important;
}

.btn-file input[type=file] {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 100%;
	min-height: 100%;
	text-align: right;
	filter: alpha(opacity=0);
	opacity: 0;
	outline: none;
	background: white;
	cursor: inherit;
	display: block;
	font-size: 14px;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
	/* 2 */
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

.options {
	margin-bottom: 8px;
}

.wrapper {
	max-width: 140px;
	max-height: 140px;
}

.imgthumb {
	max-width: 100%;
	max-height: 100%;
	width: auto;
}

.btn-colorselector {
	border-style: solid;
	border-color: black;
}

.popover {
	max-width: 100%;
	width: 500px;
}

.hideme {
	display: none;
}

.fc-list-table {
	word-break: break-word;
}

.fc-h-event .fc-event-time {
	overflow: visible;
}
.fc-h-event {
	cursor: pointer;
}
.fc .fc-popover {
	z-index: 1049;
}

.F {
	table-layout: fixed;
	width: 100%;
}

.panel-collapsable a:after {
	font-family: 'Glyphicons Halflings';
	content: "\e114";
	float: right;
	color: grey;
}

.panel-collapsable a.collapsed:after {
	content: "\e080";
}

/* feed page */
.feed-square {
	position: relative;
	width: 100px;
	height: 100px;
	margin: 0.50%;
	overflow: hidden;
}

.feed-mycontent {
	position: absolute;
	height: 100%;
	/* = 100% - 2*5% padding */
	width: 100%;
	/* = 100% - 2*5% padding */
	padding-left: 2%;

}

.feed-mytable {
	display: table;
	width: 100%;
	height: 100%;
}

.feed-table-cell {
	display: table-cell;
	vertical-align: bottom;
}

/*  For responsive images */
.feed-mycontent .rs {
	width: auto;
	height: auto;
	max-height: 90%;
	max-width: 100%;
}

/*  For responsive images as background */
.feed-bg {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	/* you change this to "contain" if you don't want the images to be cropped */
}

.feed-mylink {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

/* album page */
.album-header {
	float: left;
	position: relative;
	width: 100%;
	min-height: 250px;
	margin-bottom: 10px;
	overflow: hidden;
}

.photos-square {
	float: left;
	position: relative;
	width: 24%;
	padding-bottom: 24%;
	/* = width for a 1:1 aspect ratio */
	margin: 0.50%;
	overflow: hidden;
	border-radius:4px;
}

.photos-mycontent {
	position: absolute;
	height: 100%;
	/* = 100% - 2*5% padding */
	width: 100%;
	/* = 100% - 2*5% padding */
	padding: 5%;

}

.photos-mytable {
	display: table;
	width: 100%;
	height: 100%;
}

.photos-table-cell {
	display: table-cell;
	vertical-align: bottom;
}

/*  For responsive images */
.photos-mycontent .rs {
	width: auto;
	height: auto;
	max-height: 90%;
	max-width: 100%;
}

/*  For responsive images as background */
.photos-bg {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	/* you change this to "contain" if you don't want the images to be cropped */
}

.photos-mylink {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

/* single photo */
.singlephoto-square {
	float: left;
	position: relative;
	width: 100%;
	padding-bottom: 70%;
	/* = width for a 1:1 aspect ratio */
	min-height: 200px;
	margin: 0.50%;
}

.singlephoto-mycontent {
	position: absolute;
	height: 100%;
	/* = 100% - 2*5% padding */
	width: 100%;
	/* = 100% - 2*5% padding */
}

.singlephoto-mytable {
	display: table;
	width: 100%;
	height: 100%;
}

.singlephoto-table-cell {
	display: table-cell;
	vertical-align: middle;
}

.singlephoto-table-cell a {
	color: white;
	display: block;
	min-height: 100%;
	width: 100%;
}

/*  For responsive images */
.singlephoto-mycontent .rs {
	width: auto;
	height: auto;
	max-height: 90%;
	max-width: 100%;
}

/*  For responsive images as background */
.singlephoto-bg {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	/* you change this to "contain" if you don't want the images to be cropped */
}

/* edit wiki page */
.wikiphoto-modal-body {
	max-height: calc(100vh - 212px);
	overflow-y: auto;
}

.wikiphoto-square {
	float: left;
	position: relative;
	width: 30%;
	padding-bottom: 30%;
	/* = width for a 1:1 aspect ratio */
	margin: 1.66%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	/* you change this to "contain" if you don't want the images to be cropped */
	border: 4px solid #ffffff;
}

.wikiphoto-selected {
	border: 4px solid #668eaa;
}

/* group home */
.grouphome-fit {
	max-width: 100%;
	max-height: 100%;
}

.grouphome-center {
	display: block;
	margin: auto;
}

/* database table */
.dbtable {
	border-top: none;
	border-bottom: none;
	background-color: #FFF;
}

/* chat page autocomplete */
.ui-autocomplete {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 160px;
	max-height: 400px;
	overflow-y: scroll;
	padding: 5px 0;
	margin: 2px 0 0;
	list-style: none;
	font-size: 14px;
	text-align: left;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
	background-clip: padding-box;
}

.ui-autocomplete>li>div {
	display: block;
	padding: 3px 20px;
	clear: both;
	font-weight: normal;
	line-height: 1.42857143;
	color: #333333;
	white-space: nowrap;
}

.ui-state-hover,
.ui-state-active,
.ui-state-focus {
	text-decoration: none;
	color: #262626;
	background-color: #f5f5f5;
	cursor: pointer;
}

.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.event-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
}

.album-owner a {
	color: white;
}

/* mobile hamburger drawer */
.drawer {
	display: none;
}

.drawer-header {
	padding: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #ddd;
}

.drawer-close {
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%0A%3Csvg width='15px' height='16px' viewBox='0 0 15 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='2.-Menu' transform='translate(-15.000000, -13.000000)' stroke='%23000000'%3E%3Cg id='Group' transform='translate(15.000000, 13.521000)'%3E%3Cpath d='M0,0.479000129 L15,14.2971819' id='Path-3'%3E%3C/path%3E%3Cpath d='M0,14.7761821 L15,-1.24344979e-14' id='Path-3'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	width: 15px;
	height: 15px;
}

.drawer-wrapper {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	max-width: 500px;
	z-index: 9999;
	overflow: auto;
	transition: transform 0.2s;
	will-change: transform;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	-webkit-transform: translateX(103%);
	transform: translateX(103%);
	/* extra 3% because of box-shadow */
	-webkit-overflow-scrolling: touch;
	/* enables momentum scrolling in iOS overflow elements */
	box-shadow: 0 2px 6px #707070;
}

.drawer-wrapper-top {
	padding-top: max(0px, env(safe-area-inset-top));
}

.drawer-content {
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
	flex-grow: 1;
	padding: 1.5rem;
}

.drawer.is-active {
	display: inline;
}

.drawer.is-visible .drawer-wrapper {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.drawer.is-visible .drawer-overlay {
	opacity: 0.5;
}

.drawer-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 200;
	opacity: 0;
	transition: opacity 0.2s;
	will-change: opacity;
	background-color: #000;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.drawer-left .drawer-wrapper {
	left: 0;
	right: auto;
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
}

.drawer-bottom .drawer-wrapper {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	height: auto;
	width: 100%;
	max-height: 500px;
	max-width: none;
	-webkit-transform: translateY(103%);
	transform: translateY(103%);
	/* extra 3% because of box-shadow */
}

body.app .navbar-fixed-top {
	padding-top: max(0px, env(safe-area-inset-top));
	/*padding-bottom: max(20px, env(safe-area-inset-bottom));*/
}

/* attachment display */
.attachment-box {
	border: 1px solid #f5f5f5;
	margin: 10px;
	text-align: center;
	height: 100px;
	width: 150px;
	position: relative;
	transition: background-color 0.2s ease;
}

.attachment-box:hover {
	background-color: #f5f5f5;
}

.attachment-icon,
.attachment-image {
	transition: opacity 0.2s ease;
}

.attachment-icon {
	font-size: 40px;
	margin-top: 15px;
}

.attachment-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.attachment-box:hover .attachment-icon,
.attachment-box:hover .attachment-image {
	opacity: 0;
}

.attachment-name,
.attachment-name-hover {
	background-color: #f5f5f5;
	padding: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	font-size: 12px;
	transition: opacity 0.2s ease;
}

.attachment-name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.attachment-name-hover {
	opacity: 0;
}

.attachment-box:hover .attachment-name {
	opacity: 0;
}

.attachment-box:hover .attachment-name-hover {
	opacity: 1;
}

.delete-checkbox {
	position: absolute;
	top: 5px;
	right: 5px;
}

/* files move tree */
.tree,
.tree ul {
	margin: 0;
	padding: 0;
	list-style: none
}

.tree ul {
	margin-left: 1em;
	position: relative
}

.tree ul ul {
	margin-left: .5em
}

.tree ul:before {
	content: "";
	display: block;
	width: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	border-left: 1px solid
}

.tree li {
	margin: 0;
	padding: 0 1em;
	line-height: 2em;
	font-weight: 700;
	position: relative
}

.tree ul li:before {
	content: "";
	display: block;
	width: 10px;
	height: 0;
	border-top: 1px solid;
	margin-top: -1px;
	position: absolute;
	top: 1em;
	left: 0
}

.tree ul li:last-child:before {
	background: #fff;
	height: auto;
	top: 1em;
	bottom: 0
}

.treeindicator {
	margin-right: 5px;
}

.tree li a {
	text-decoration: none;
}

.tree li button,
.tree li button:active,
.tree li button:focus {
	text-decoration: none;
	border: none;
	background: transparent;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	outline: 0;
}

.maincontent-column {
	height:100%;
}
.maincontent-chat-column {
	position: absolute;
	top: calc(55px + env(safe-area-inset-top));
	bottom: env(safe-area-inset-bottom);
	right: 0;
	left: 235px;
	width: calc(100vw - 235px);
	padding-right:0px;
	margin-bottom: 0px !important;
}

/* chat */
#chat-container {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: calc(100% - 0px);
	margin: 0 auto;
	box-sizing: border-box;
	font-size: 17px;
}

@media (max-width: 992px) {
	/* adjust margins for narrow screens */
	.container,
	.container-fluid {
		padding-left: 5px;
		padding-right: 5px;
	}

	.row {
		margin-left: -5px;
		margin-right: -5px;
	}

	.col-xs-12,
	.narrow-padding {
		padding-left: 5px;
		padding-right: 5px;
	}

	#maincontent {
		position: absolute;
		top: calc(55px + env(safe-area-inset-top));
		bottom: 80px;
		right: 0;
		left: 0;
		/* COMMENTED OUT for now because it causes HTMX to not handle infinite scrolling correctly. It causes a jump back to the top of the page. */
		/*overflow-y: auto !important;*/
	}

	/* added this in when we commented out overflow-y above. */
	#maincontent-column {
		padding-bottom: 100px;
	}

	.maincontent-chat-column {
		top: 0px !important;
		left: 0px !important;
		width: 100% !important;
		padding-bottom: 0px !important;
		padding-left: 0px;
	}

	#chat-container {
		height: calc(100% - 40px);
	}
}

#chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 10px;
	display: flex;
	flex-direction: column;
}

#chat-messages-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#chat-preview {
	padding: 10px;
	align-items: center;
}

.chat-form {
	display: flex;
	padding: 10px;
	align-items: center;
	background-color: #f8f8f8;
}

.chat-button-color {
	background-color: #f8f8f8
}

.chat-message-content-wrapper {
	display: flex;
	flex-direction: row;
}

.chat-message {
	position: relative;
	margin-bottom: 10px;
	display: flex;
	flex-direction: row;
	max-width: 80%;
}

.chat-message-content {
	display: flex;
	flex-direction: column;
	padding: 5px;
	border-radius: 10px;
	word-break: break-word;
}


.chat-message.received .chat-message-content {
	background-color: rgb(233, 233, 233);
}

.chat-message.received .chat-message-content a {
	text-decoration: underline;
}

.chat-message.sent .chat-message-content {
	background-color: #337ab7;
	color: rgb(224, 231, 243);
}

.chat-message.sent .chat-message-content a {
	color: rgb(224, 231, 243);
	text-decoration: underline;
}

.chat-message.received {
	align-self: flex-start;
}

.chat-message.date .chat-message-content {
	background-color: rgb(233, 233, 233);
}

.chat-message.date {
	align-self: center;
}

.chat-message.sent {
	align-self: flex-end;
}

.chat-message.emojimargin {
	margin-bottom: 30px;
}

.chat-profile-picture {
	border-radius: 6px;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	margin-right: 10px;
	align-self: flex-end;
	object-fit: cover;
}

.chat-message.show-picture .chat-profile-picture {
	display: block;
}

.chat-profile-picture-wrapper {
	display: flex;
	width: 50px;
	min-width: 50px;
	align-self: flex-end;
}

.chat-timestamp-sent {
	font-size: 12px;
	margin-top: 3px;
	align-self: flex-end;
}

.chat-timestamp-received {
	font-size: 12px;
	margin-top: 3px;
	align-self: flex-end;
	color: rgb(152, 150, 150);
}

.chat-emoji-box {
	position: absolute;
	display: flex;
	background-color: #ececec;
	border-radius: 10px;
	padding: 3px 7px;
	bottomXX: -20px;
	right: 0;
	z-index: 10;
}

.chat-emoji-box a {
	text-decoration: none !important;
}

.sent .chat-emoji-box {
	background-color:#337ab7;
}

.chat-emoji {
	font-size: 1.4rem;
	margin-right: 5px;
}

#chat-unread-counter {
	position: absolute;
	bottom: 70px;
	right: 20px;
	display: none;
	justify-content: center;
	align-items: flex-start;
	z-index: 1000;
}

#chat-unread-badge {
	position: absolute;
	background-color: #337ab7;
	top: -13px;
	/* Adjust the position of the badge */
	left: 50%;
	/* Center the badge horizontally */
	transform: translateX(-50%);
	/* Adjust the position to account for the badge's width */
	z-index: 10;
	/* Make sure the badge appears above the icon */
}

.upper-wrapper {
	/* New class */
	display: block;
	width: 100%;
}

#chat-message-input {
	flex: 1;
	padding: 5px;
	border-radius: 10px;
	border: 1px solid #ccc;
	overflow: hidden;
	min-height: 34px;
	outline: none;
}

#chat-username-popup {
	position: absolute;
	max-height: 200px;
	overflow-y: auto;
	bottom: 50px;
	left: 80px;
	z-index: 1000;
}

.chat-reply-bubble-them {
	padding: 0px 10px 0px 10px;
	background-color: rgb(245, 245, 245);
	width: 100%
}

.chat-reply-bubble-us {
	padding: 0px 10px 0px 10px;
	color: rgb(51, 51, 51);
	background-color: rgb(245, 245, 245);
	width: 100%
}

#chat-reply-preview {
	display: none;
	padding: 10px 10px 0px 10px;
	margin-bottom: 0px;
	background-color: #f8f8f8;
}

#chat-reply-preview .chat-message-content-wrapper {
	width: 100%;
}

#chat-reply-preview .cancel-reply {
	position: absolute;
	right: 20px;
	top: 15px;
	cursor: pointer;
}

.expanded-message {
	border-radius:4px; 
	padding:10px; 
	border-width:1px;
	border-style:solid;
	border-color:#f8f8f8;
}

/* htmx */
.load-indicator {
	display: none;
}

.htmx-request .load-indicator {
	display: inline;
}

.htmx-request.load-indicator {
	display: inline;
}

.stepwizard-step p {
	margin-top: 0px;
	color: #666;
}

.stepwizard-row {
	display: table-row;
}

.stepwizard {
	display: table;
	width: 100%;
	position: relative;
}

.stepwizard .btn.disabled,
.stepwizard .btn[disabled],
.stepwizard fieldset[disabled] .btn {
	opacity: 1 !important;
	color: #bbb;
}

.stepwizard-row:before {
	top: 14px;
	bottom: 0;
	position: absolute;
	content: " ";
	width: 100%;
	height: 1px;
	background-color: #ccc;
	z-index: 0;
}

.stepwizard-step {
	display: table-cell;
	text-align: center;
	position: relative;
}

.btn-circle {
	width: 30px;
	height: 30px;
	text-align: center;
	padding: 6px 0;
	font-size: 12px;
	line-height: 1.428571429;
	border-radius: 15px;
}

/* Custom styling for OpenGraph Card */
.og-card {
	border: 1px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	max-width: 400px;
}

.og-card-header {
	width: 100%;
}

.og-image {
	width: 100%;
	height: auto;
}

.og-card-body {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 10px;
	padding-left: 10px;
}

.og-title {
	font-size: 18px;
	margin-bottom: 10px;
}

.og-description {
	font-size: 14px;
	margin-bottom: 10px;
}

.og-url {
	font-size: 14px;
	text-decoration: none;
}

/* image viewer */
.viewer-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 9999;
}

.viewer-overlay.visible {
	display: flex;
	justify-content: center;
	align-items: center;
}

.viewer-overlay-controls {
	position: absolute;
	top: 25px;
	right: 25px;
	padding-top: env(safe-area-inset-top);
	z-index: 1000;
}

.viewer-image-container {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 80vh;
	width: 80vw;
	/* Reduced width */
	padding: 0 40px;
	/* Padding added */
	padding-top: env(safe-area-inset-top);
}

.viewer-arrow {
	color: #FFF;
	position: absolute;
	top: 50%;
	z-index: 1001;
	/* Increased z-index */
	transform: translateY(-50%);
	cursor: pointer;
}

.viewer-overlay img {
	max-height: 100%;
	max-width: 100%;
	margin: auto;
}

.viewer-image-info {
	position: absolute;
	top: 10px;
	left: 10px;
	padding-top: env(safe-area-inset-top);
	color: #FFF;
	z-index: 1000;
}

.viewer-image-info b {
	font-size: 18px;
}

.viewer-thumbnail-outer-container {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100px;
	overflow-x: hidden;
	overflow-y: hidden;
	white-space: nowrap;
	/* Prevent line breaks */
}

.viewer-thumbnail-container {
	display: inline-flex;
	position: relative;
}

.viewer-thumbnail {
	width: 80px;
	height: 80px;
	display: inline-block;
	/* Display thumbnails inline */
	margin: 10px;
	cursor: pointer;
	vertical-align: top;
	/* Align tops of thumbnails */
	background-color: rgb(0, 0, 0);
	border: 0;
}

.viewer-thumbnail.selected {
	border: 2px solid #FFF;
}

/* chat image grid */
.image-grid {
	width: 280px;
	height: 280px;
	position: relative;
}

.image-grid-cell {
	position: absolute;
	overflow: hidden;
	background: rgba(0, 0, 0, 0);
	transition: background 0.2s ease;
}

.image-grid-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.image-grid-dark-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.image-grid-more-number {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 32px;
	color: white;
}

.truncate-one-line {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.truncate-two-lines {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.truncate-three-lines {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.truncate-four-lines {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.stickywiki {
	max-height: 100px;
	overflow: hidden;
	line-height: 20px;
	word-wrap: break-word;
}

.stickywiki>p {
	margin-bottom: 20px;
}

.database-truncate-cell {
	position: relative;
	line-height: 1.2em;
	/* Example line height */
	max-height: 2.4em;
	/* Adjust this to be twice the line height for exactly two lines */
	overflow: hidden;
	padding-bottom: 1.2em;
	/* Equal to line height to make space for 'Show More' link */
}
.database-text-container {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.database-show-more {
	display: none;
}

.list-group-item.sidebar-item {
	border: none !important;
	padding-top: 8px;
	padding-bottom: 8px;
}

.list-group-item.sidebar-section {
	border: none !important;
	padding-top: 8px;
	padding-bottom: 8px;
}

.list-group-item.sidebar-section:hover {
	background-color: transparent;
}

.list-group-item>.badge {
	float: none;
}

.sidebar-divider-padding {
	padding-top:8px;
	padding-bottom:8px;
}

.sidebar-item-divider {
	border: none;
	height: 1px;
	background-color: #ccc;
	padding-top: 1px;
	padding-bottom: 1px;
}

.sidebar-item-divider-label {
	font-size:12px;
	margin-left:20px;
	margin-right:0px;
	color: #707070;
}

.sidebar-item-divider-hr {
	margin-top: 10px;
	margin-bottom: 0px;
	border-top-color: #ccc;
}

.sidebar-item-smalldivider {
	border: none;
	height: 1px;
	background-color: #ccc;
	padding-top: 1px;
	padding-bottom: 1px;
	width: 90%;
	margin: auto;
}

.autocomplete-highlight {
	font-weight: bold;
}

.autocomplete-list-item {
	padding: 5px;
	cursor: pointer;
	font-size: 16px;
	border: 0px;
}

.autocomplete-list-item:not(.no-hover):hover {
	background-color: #337ab7;
	color: #fff;
}


.tooltip-inner {
	text-align: left;
	background-color: rgb(36,37,38);
}
.tooltip-arrow {
	border-top-color: rgb(36,37,38) !important;
}

.large-tooltip + .tooltip .tooltip-inner {
	min-width: 400px !important;
}

.hashtag-position {
	position: relative;
	top: -2px;
}

.list-group-item-nohover:hover {
	background-color: transparent !important;
}

@media (min-width: 1280px) {

	.col-xl-1,
	.col-xl-2,
	.col-xl-3,
	.col-xl-4,
	.col-xl-5,
	.col-xl-6,
	.col-xl-7,
	.col-xl-8,
	.col-xl-9,
	.col-xl-10,
	.col-xl-11,
	.col-xl-12 {
		float: left;
	}

	.col-xl-12 {
		width: 100%;
	}

	.col-xl-11 {
		width: 91.66666667%;
	}

	.col-xl-10 {
		width: 83.33333333%;
	}

	.col-xl-9 {
		width: 75%;
	}

	.col-xl-8 {
		width: 66.66666667%;
	}

	.col-xl-7 {
		width: 58.33333333%;
	}

	.col-xl-6 {
		width: 50%;
	}

	.col-xl-5 {
		width: 41.66666667%;
	}

	.col-xl-4 {
		width: 33.33333333%;
	}

	.col-xl-3 {
		width: 25%;
	}

	.col-xl-2 {
		width: 16.66666667%;
	}

	.col-xl-1 {
		width: 8.33333333%;
	}
}

.justify-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.justify-buttons .btn {
	flex: 1;
	margin-right: 5px;
	margin-left: 5px;
}

.justify-buttons .btn:first-child {
	margin-left: 0;
}

.justify-buttons .btn:last-child {
	margin-right: 0;
}

.calendar-date {
	width: 65px;
	text-align: center;
	border-radius: 4px;
	display:inline-block;
	vertical-align:top;
}

.calendar-date .calendar-month {
	background-color: rgb(230, 55, 87);
	border-radius: 4px 4px 0 0;
	padding: 2px;
	font-weight: 600;
}

.calendar-date .calendar-day {
	border: 2px solid rgba(230, 55, 87, 0.3);
	border-top: 0;
	border-radius: 0 0 4px 4px;
	font-weight: 700;
}

.sticky-sidebar {
	position: -webkit-sticky;
	position: sticky;
	top: calc(60px + env(safe-area-inset-top));
}

/* pulled in from Bootstrap 5 */
.fs-1 {
	font-size: 40px;
}
.fs-2 {
	font-size: 32px;
}
.fs-3 {
	font-size: 28px;
}
.fs-4 {
	font-size: 24px;
}
.fs-5 {
	font-size: 20px;
}
.fs-6 {
	font-size: 16px;
}
.fs-7 {
	font-size: 14px;
}

.mt-0 {
	margin-top: 0px !important;
}
.mb-0 {
	margin-bottom: 0px !important;
}
.my-0 {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}
.ms-0 {
	margin-left: 0px !important;
}
.me-0 {
	margin-right: 0px !important;
}
.mx-0 {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

.mt-1 {
	margin-top: 15px !important;
}

.mb-1 {
	margin-bottom: 15px !important;
}

.my-1 {
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}
.pt-0 {
	padding-top: 0px !important;
}
.pb-0 {
	padding-bottom: 0px !important;
}
.py-0 {
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.ps-0 {
	padding-left: 0px !important;
}
.pe-0 {
	padding-right: 0px !important;
}
.px-0 {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.pt-1 {
	padding-top: 15px !important;
}

.pb-1 {
	padding-bottom: 15px !important;
}

.py-1 {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

.ps-1 {
	padding-left: 15px !important;
}

.pe-1 {
	padding-right: 15px !important;
}

.px-1 {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

/* -------------------------------------------------------------------------- */
/*                                  Dropzone                                  */
/* -------------------------------------------------------------------------- */
.dropzone {
	position: relative;
	background-color: #fff;
	border: 0;
	background-color: transparent;
	border-radius: 0.375rem;
}

.dropzone.dropzone-has-default .dz-message {
	border-color: transparent;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.dropzone.dropzone-has-default .dz-message:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.dropzone .dz-preview {
	min-height: auto;
	margin: 0px;
}

.dropzone .dz-remove {
	position: absolute;
	right: 0.5rem;
	top: 0.5rem;
	color: #fff;
	z-index: 1000;
	cursor: pointer;
	opacity: 0;
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
}

.dropzone .dz-remove * {
	cursor: pointer;
}

.dropzone .dz-message {
	position: relative;
	padding: 5rem 2rem;
	margin: 0;
	border: 2px dashed var(--light-mode-divider);
	border-radius: 0.375rem;
}

.dropzone.dropzone-single.dz-max-files-reached .dz-message {
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	opacity: 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	border-color: transparent;
}

.dropzone.dropzone-single.dz-max-files-reached .dz-remove {
	opacity: 1;
}

.dropzone.dropzone-single.dz-max-files-reached:hover .dz-message,
.dropzone.dropzone-single.dz-max-files-reached:focus .dz-message {
	opacity: 1;
}

.dropzone .dz-preview-single {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
}

.dropzone .dz-preview-single:hover {
	z-index: auto;
}

.dropzone .dz-preview-single .dz-preview-cover {
	position: absolute;
	height: 100%;
	width: 100%;
	border: 0 !important;
	overflow: hidden;
}

.dropzone .dz-preview-single .dz-preview-cover .dz-errormessage {
	position: absolute;
	left: 0;
	bottom: 0;
}

.dropzone .dz-preview-single .dz-preview-img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	border-radius: 0.375rem;
}

.dropzone.dropzone-multiple {
	border: 0;
	background: transparent;
}

.dropzone.dropzone-multiple .dz-message {
	padding: 4rem 2rem;
	border: 2px dashed var(--light-mode-divider);
	border-radius: 0.375rem;
}

.dropzone.dropzone-multiple .btn *,
.dropzone.dropzone-multiple [data-list] .page *,
[data-list] .dropzone.dropzone-multiple .page *,
.dropzone.dropzone-multiple .table-list .page *,
.table-li st .dropzone.dropzone-multiple .page *,
.dropzone.dropzone-multiple .tox .tox-menu__footer .tox-button:last-child *,
.tox .tox-menu__footer .dropzone.dropzone-multiple .tox-button:last-child *,
.dropzone.dropzone-multiple .tox .tox-dialog__footer .tox-button:last-child *,
.tox .tox-dialog__footer .dropzone.dropzone-multiple .tox-button:last-child *,
.dropzone.dropzone-multiple .tox .tox-menu__footer .tox-button--secondary *,
.tox .tox-menu__footer .dropzone.dropzone-multiple .tox-button--secondary *,
.dropzone.dropzone-multiple .tox .tox-dialog__footer .tox-button--secondary *,
.tox .tox-dialog__footer .dropzone.dropzone-multiple .tox-button--secondary * {
	cursor: pointer;
}

.dropzone.dropzone-multiple .media:first-child {
	margin-top: 1.8rem;
}

.dropzone.dropzone-multiple .dz-image {
	border-radius: 0.25rem;
	height: 38px;
	width: 38px;
	-o-object-fit: cover;
	object-fit: cover;
	margin-right: 1rem;
}

.dropzone.dz-drag-hover .dz-message {
	border-color: var(--light-mode-divider);
}

.dropzone-area {
	border: 2px dashed #d8e2ef;
	border-radius: 0.25rem;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	cursor: pointer;
}


.Xmce-statusbar {
	border:0 !important;
}

.Xmce-panel {
	border-color: rgb(204,204,204);
}

.select2-selection,
.select2-selection__arrow {
	height: 33px !important;
}

.select2-selection__rendered {
	line-height: 31px !important
}

.background-color {
	background-color: var(--light-mode-body-color) !important;
}

.primary-background-color {
	background-color: var(--light-mode-primary-color);
}

.highlight-background-color {
	background-color: var(--light-mode-highlight-color);
}

.table-background-color {
	background-color: var(--light-mode-primary-color);
}

.table-highlight-background-color {
	background-color: var(--light-mode-highlight-color);
}

.panel {
	background-color: var(--light-mode-primary-color);
}

.panel-default {
	background-color: var(--light-mode-primary-color);
	border-color: var(--light-mode-primary-color);
}

.panel-interior {
	background-color: var(--light-mode-body-color) !important;
}

.panel-default .panel-heading {
	background-color: var(--light-mode-highlight-color);
	border-color: var(--light-mode-divider);
	border-bottom-width:0px;
	padding-left:5px;
}

.panel-default .panel-footer {
	background-color: var(--light-mode-highlight-color);
	border-color: var(--light-mode-divider);
}

.table {
	background-color: var(--light-mode-primary-color);
	border-color: var(--light-mode-divider);
}

thead {
	background-color: var(--light-mode-highlight-color);
}

/* Striped Table Rows */
.table-striped>tbody>tr:nth-of-type(odd) {
	background-color: var(--light-mode-primary-color);
	/* Darker stripe for odd rows */
}

.table-striped>tbody>tr:nth-of-type(even) {
	background-color: var(--light-mode-highlight-color);
	/* Lighter stripe for even rows */
}

.table th,
.table td {
	border-color: var(--light-mode-divider);
}


/* Target the first th of thead for top-left corner */
.table thead th:first-child {
	border-top-left-radius: 4px;
	/* Adjust this value as needed */
}

/* Target the last th of thead for top-right corner */
.table thead th:last-child {
	border-top-right-radius: 4px;
	/* Adjust this value as needed */
}

/* Step 1: Style the <td> elements of the first row of every table */
.table>tbody>tr:first-child>td {
	border-radius: 4px;
	border-top-width: 0px;
}

.table>thead>tr>th,
.table>thead>tr>td {
	border-bottom-width: 0px;
}

.table-borderless>tbody>tr>td,
.table-borderless>tbody>tr>th,
.table-borderless>tfoot>tr>td,
.table-borderless>tfoot>tr>th,
.table-borderless>thead>tr>td,
.table-borderless>thead>tr>th {
	border: none;
}

.transparent-editor {
	opacity: 0.4;
}

.tox-textfield,
.tox-toolbar-textfield {
	background-color: rgb(255,255,255) !important;
}

.feed-border {
	border-bottom: 1px solid #eee;
}


.navbar-vertical .dropdown-indicator {
	padding-right: 1rem !important;
}

.dropdown-indicator {
	position: relative;
}

.dropdown-indicator[aria-expanded=true]:after {
	-webkit-transform: translateY(-50%) rotate(225deg);
	-ms-transform: translateY(-50%) rotate(225deg);
	transform: translateY(-50%) rotate(225deg);
}

.dropdown-indicator:after {
	content: "";
	display: block;
	position: absolute;
	left: 190px;
	height: .8rem;
	width: .8rem;
	border-right: 2px solid var(--light-mode-text-color);
	border-bottom: 2px solid var(--light-mode-text-color);
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
	-webkit-transition-property: border-color, -webkit-transform;
	transition-property: border-color, -webkit-transform;
	-o-transition-property: transform, border-color;
	transition-property: transform, border-color;
	transition-property: transform, border-color, -webkit-transform;
}

body.dark-mode .dropdown-indicator:after {
	border-right-color: var(--dark-mode-text-color);
	border-bottom-color: var(--dark-mode-text-color);
}

body.dark-mode .feed-border {
	border-bottom: 1px solid var(--dark-mode-divider);
}

body.dark-mode .label-primary {
	color: rgb(255,255,255) !important;
}

body.dark-mode .label-info {
	background-color: #3da8c0;
	border-color: #3da8c0;
}

body.dark-mode {
	background-color: var(--dark-mode-body-color);
	color: var(--dark-mode-text-color);
}

body.dark-mode .background-color {
	background-color: var(--dark-mode-body-color) !important;
}

body.dark-mode .primary-background-color {
	background-color: var(--dark-mode-primary-color);
}
body.dark-mode .highlight-background-color {
	background-color: var(--dark-mode-highlight-color);
}
body.dark-mode .table-background-color {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .table-highlight-background-color {
	background-color: var(--dark-mode-highlight-color);
}

body.dark-mode a {
	color: #7da8d4;
}

body.dark-mode a:hover,
body.dark-mode a:focus {
	color: #4a7ca3;
}

body.dark-mode a.showvisited:visited,
body.dark-mode .wikidisplay a:visited,
body.dark-mode .thread-attribution,
body.dark-mode .truncate-two-lines+div,
body.dark-mode .text-muted,
body.dark-mode .breadcrumb>.active,
body.dark-mode .help-block {
	color: #999999 !important;
}

body.dark-mode pre {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
	color: var(--dark-mode-text-color);
}

body.dark-mode .text-muted,
body.dark-mode .breadcrumb>.active,
body.dark-mode .help-block,
body.dark-mode .dropdown-header {
	color: #999;
}

body.dark-mode .jumbotron {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .form-control {
	background-color: var(--dark-mode-input-color);
	color: var(--dark-mode-text-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode .form-control:focus {
	border-color: #337ab7;
	box-shadow: 0 0 5px rgba(98, 0, 238, 0.5);
}

body.dark-mode .form-control:focus {
	border-color: #337ab7;
	box-shadow: 0 0 5px rgba(98, 0, 238, 0.5);
}

body.dark-mode .input-group-addon {
	background-color: #444;
	border-color: #444;
	color: var(--dark-mode-text-color);
}

body.dark-mode input[type="text"],
body.dark-mode input[type="file"],
body.dark-mode textarea,
body.dark-mode input[type="password"] {
	background-color: var(--dark-mode-input-color);
}

body.dark-mode .Xmce-widget,
body.dark-mode .Xmce-txt,
body.dark-mode .Xmce-ico {
	color: var(--dark-mode-text-color) !important;
	background-color: var(--dark-mode-primary-color) !important;
	border-color: rgba(0,0,0,0) !important;
}

body.dark-mode .Xmce-panel {
	color: var(--dark-mode-text-color) !important;
	background-color: var(--dark-mode-primary-color) !important;
	border-color: #555 !important;
}

body.dark-mode.Xmce-content-body {
	background-color: var(--dark-mode-input-color) !important;
	border-color: #555;
}

/* Checkboxes */
body.dark-mode input[type="checkbox"] {
	color: var(--dark-mode-input-color);	
	background-color: var(--dark-mode-input-color);
	border-color: #555;
}

/* If you're using labels alongside checkboxes */
body.dark-mode label {
	color: var(--dark-mode-text-color);
}

/* Hover State */
body.dark-mode input[type="checkbox"]:hover,
body.dark-mode input[type="checkbox"]:focus {
	border-color: #bb86fc;
	outline: none;
	/* Remove the default browser outline */
}

/* Checked State */
body.dark-mode input[type="checkbox"]:checked {
	background-color: #555;
	border-color: #bb86fc;
	/* A brighter border color for checked state */
}

body.dark-mode .panel {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .panel-default {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-primary-color);
}

body.dark-mode .panel-interior {
	background-color: var(--dark-mode-body-color) !important;
}

body.dark-mode .panel-default .panel-heading {
	background-color: var(--dark-mode-highlight-color);
	color: var(--dark-mode-text-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode .panel-default .panel-footer {
	background-color: var(--dark-mode-highlight-color);
	color: var(--dark-mode-text-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode .note-toolbar {
	background-color: var(--dark-mode-primary-color) !important;
	color: var(--dark-mode-text-color) !important;
	border-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .hashtag-btn {
	color: var(--dark-mode-text-color);
}

body.dark-mode .label {
	color: var(--dark-mode-reverse-text-color);
}

body.dark-mode .well {
	background-color: #333;
	border-color: #444;
	color: var(--dark-mode-text-color);
}

body.dark-mode .close {
	color: var(--dark-mode-text-color);
}

body.dark-mode .likestats {
	color: var(--dark-mode-light-text-color);
}

body.dark-mode .alert-success {
	color: #d3e9d4;
	background-color: #254119;
	border-color: #254119;
}

body.dark-mode .alert-info {
	color: #c0e1f1;
	background-color: #1b6082;
	border-color: #1b6082;
}


body.dark-mode .alert-warning {
	background-color: rgb(51, 39, 1);
	border-color: rgb(51, 39, 1);
	color: rgb(255, 218, 106);
}

body.dark-mode .alert-danger {
	background-color: rgb(44, 11, 14);
	border-color: rgb(44, 11, 14);
	color: rgb(234, 134, 143);
}

body.dark-mode .robohelp-important {
	color: rgb(234, 134, 143);
}


/* Badge */
body.dark-mode .badge {
	background-color: #a5a5a5;
	color: var(--dark-mode-primary-color);
}

body.dark-mode .navbar .badge {
	background-color: #a5a5a5;
	color: var(--dark-mode-primary-color);
}

body.dark-mode .navbar-default {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .navbar-default {
	border-color: #000;
}

body.dark-mode .navbar-default .navbar-nav>li>a {
	color: var(--dark-mode-text-color);
}

body.dark-mode .navbar-default .navbar-nav>li>a:hover,
body.dark-mode .navbar-default .navbar-nav>li>a:focus {
	color: var(--dark-mode-text-color);
	background-color: #555;
}

body.dark-mode ul,
body.dark-mode ol {
	color: var(--dark-mode-text-color);
}

body.dark-mode li {
	border-color: var(--dark-mode-divider);
}

body.dark-mode .icon-background {
	color: var(--dark-mode-highlight-color);
}

/* List Groups */
body.dark-mode .list-group-item {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-body-color);
	border: 1px solid var(--dark-mode-highlight-color);
}

body.dark-mode .list-group-item.active,
body.dark-mode .list-group-item.active:hover,
body.dark-mode .list-group-item.active:focus {
	/*color: var(--dark-mode-text-color);*/
	color: #ffffff;
	background-color: #337ab7;
	border-color: #5393d1;
}


body.dark-mode .list-group-item.sidebar-section:hover {
	background-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .sidebar-divider-padding {
	background-color: var(--dark-mode-body-color);
}

body.dark-mode .sidebar-item-divider {
	background-color: var(--dark-mode-highlight-color);
}

body.dark-mode .sidebar-item-smalldivider {
	background-color: var(--dark-mode-highlight-color);
}

/* If using list group with links */
body.dark-mode .list-group-item:hover {
	background-color: var(--dark-mode-highlight-color);
}

body.dark-mode .list-group-item-heading {
	color: var(--dark-mode-text-color);
	/* Making headings more prominent */
}

body.dark-mode .list-group-item-text {
	color: #b0b0b0;
	/* Slightly muted text */
}

body.dark-mode a.list-group-item {
	color: rgb(224, 224, 224);
}


body.dark-mode th {
	font-weight: 300;
}

/*
	a.list-group-item:hover,
	a.list-group-item:focus {
		color: rgb(85, 85, 85);
	}
*/

body.dark-mode .scrollbar::-webkit-scrollbar-thumb {
	background-color: var(--dark-mode-divider)
}

/* Pagination */
body.dark-mode .pagination>li>a,
body.dark-mode .pagination>li>span {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-primary-color);
	border: 1px solid var(--dark-mode-highlight-color);
}

body.dark-mode .pagination>li>a:hover,
body.dark-mode .pagination>li>span:hover {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-highlight-color);
	border-color: #444;
}

body.dark-mode .pagination>.active>a,
body.dark-mode .pagination>.active>span,
body.dark-mode .pagination>.active>a:hover,
body.dark-mode .pagination>.active>span:hover,
body.dark-mode .pagination>.active>a:focus,
body.dark-mode .pagination>.active>span:focus {
	color: var(--dark-mode-text-color);
	background-color: #337ab7;
	border-color: #5393d1;
}

body.dark-mode .pagination>.disabled>span,
body.dark-mode .pagination>.disabled>span:hover,
body.dark-mode .pagination>.disabled>a,
body.dark-mode .pagination>.disabled>a:hover,
body.dark-mode .pagination>.disabled>a:focus {
	color: #999999;
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
	cursor: not-allowed;
}

body.dark-mode .label>a,
body.dark-mode .label>a:hover {
	color: var(--dark-mode-text-color);
}


/* Breadcrumbs */
body.dark-mode .breadcrumb,
body.dark-mode .breadcrumb-row,
body.dark-mode .breadcrumb-container {
	background-color: var(--dark-mode-primary-color);
	color: var(--dark-mode-text-color);
}

body.dark-mode .breadcrumb>li+li:before {
	color: #999999;
}

body.dark-mode .table {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode thead {
	background-color: var(--dark-mode-highlight-color);
}
/*
body.dark-mode tr:hover {
	background-color: var(--dark-mode-highlight-color);
}
*/
/* Striped Table Rows */
body.dark-mode .table-striped>tbody>tr:nth-of-type(odd) {
	background-color: var(--dark-mode-primary-color);
	/* Darker stripe for odd rows */
}

body.dark-mode .table-striped>tbody>tr:nth-of-type(even) {
	background-color: var(--dark-mode-highlight-color);
	/* Lighter stripe for even rows */
}

body.dark-mode .table th,
body.dark-mode .table td {
	border-color: var(--dark-mode-divider);
}

/* Target the first th of thead for top-left corner */
body.dark-mode .table thead th:first-child {
	border-top-left-radius: 4px;
	/* Adjust this value as needed */
}

/* Target the last th of thead for top-right corner */
body.dark-mode .table thead th:last-child {
	border-top-right-radius: 4px;
	/* Adjust this value as needed */
}

/* Step 1: Style the <td> elements of the first row of every table */
body.dark-mode .table>tbody>tr:first-child>td {
	border-radius: 4px;
	border-top-width: 0px;
}

/* Step 2: Override that style for tables with a <thead> */
body.dark-mode .table>thead+tbody>tr:first-child>td {
	border-topXX: 0px;
}


body.dark-mode .table>thead>tr>th,
body.dark-mode .table>thead>tr>td {
	border-bottom-width: 0px;
	border-color: #666;
	/* Making header borders slightly brighter */
}


/* Default Button */
body.dark-mode .btn-default {
	background-color: #444;
	border-color: #444;
	color: var(--dark-mode-text-color);
}

body.dark-mode .btn-default:hover,
body.dark-mode .btn-default:focus,
body.dark-mode .btn-default:active {
	background-color: #555;
	border-color: #444;
}

/* Primary Button */
body.dark-mode .btn-primary {
	background-color: #337ab7;
	border-color: #337ab7;
	color: var(--dark-mode-text-color);
}

body.dark-mode .btn-primary:hover,
body.dark-mode .btn-primary:focus,
body.dark-mode .btn-primary:active {
	background-color: #5393d1;
	border-color: #5393d1;
}

/* Success Button */
body.dark-mode .btn-success,
body.dark-mode .panel-success {
	background-color: #388e3c;
	border-color: #2e7d32;
	color: var(--dark-mode-text-color);
}

body.dark-mode .btn-success:hover,
body.dark-mode .btn-success:focus,
body.dark-mode .btn-success:active {
	background-color: #2e7d32;
	border-color: #1b5e20;
}

/* Info Button */
body.dark-mode .btn-info,
body.dark-mode .panel-info {
	color: var(--dark-mode-reverse-text-color);
	background-color: #3da8c0;
	border-color: #3da8c0;
}

body.dark-mode .btn-info:hover,
body.dark-mode .btn-info:focus,
body.dark-mode .btn-info:active {
	background-color: #308a9e;
	border-color: #308a9e;
}

/* Warning Button */
body.dark-mode .btn-warning {
	background-color: rgb(245, 128, 62);
	border-color: rgb(245, 128, 62);
	color: var(--dark-mode-reverse-text-color);
}

body.dark-mode .btn-warning:hover,
body.dark-mode .btn-warning:focus,
body.dark-mode .btn-warning:active {
	background-color: rgb(245, 128, 62);
	border-color: rgb(245, 128, 62);
}

/* Danger Button */
body.dark-mode .btn-danger {
	background-color: #d32f2f;
	border-color: #c62828;
	color: var(--dark-mode-text-color);
}

body.dark-mode .btn-danger:hover,
body.dark-mode .btn-danger:focus,
body.dark-mode .btn-danger:active {
	background-color: #c62828;
	border-color: #b71c1c;
}

/* Dropdown Menus */
body.dark-mode .dropdown-menu {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode .dropdown-menu>li>a {
	color: var(--dark-mode-text-color);
}

body.dark-mode .dropdown-menu>li>a:hover,
body.dark-mode .dropdown-menu>li>a:focus {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-highlight-color);
}

body.dark-mode .dropdown-menu>.active>a,
body.dark-mode .dropdown-menu>.active>a:hover,
body.dark-mode .dropdown-menu>.active>a:focus {
	color: var(--dark-mode-text-color);
	background-color: #6200ee;
}

body.dark-mode .dropdown-menu>.disabled>a,
body.dark-mode .dropdown-menu>.disabled>a:hover,
body.dark-mode .dropdown-menu>.disabled>a:focus {
	color: #999999;
	background-color: transparent;
}

body.dark-mode .divider {
	background-color: #444;
}

body.dark-mode .modal-content {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .modal-header {
	background-color: var(--dark-mode-highlight-color);
	border-color: var(--dark-mode-divider);
}

body.dark-mode .modal-footer {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
}

/* Dark mode fixes for member labels modal nav tabs */
body.dark-mode .nav-tabs > li.active > a,
body.dark-mode .nav-tabs > li.active > a:hover,
body.dark-mode .nav-tabs > li.active > a:focus {
	background-color: #3a3f44;
	border-color: #555;
	color: #e9ecef;
}

body.dark-mode .nav-tabs > li > a {
	color: #9d9d9d;
}

body.dark-mode .nav-tabs > li > a:hover {
	background-color: #2b3035;
	border-color: #555;
	color: #e9ecef;
}

body.dark-mode .nav-tabs {
	border-bottom-color: #555;
}

/* Dark mode scrollbar for member labels modal */
body.dark-mode #memberLabelsModal .list-group::-webkit-scrollbar,
body.dark-mode #addLabelsModal .list-group::-webkit-scrollbar {
	width: 12px;
}

body.dark-mode #memberLabelsModal .list-group::-webkit-scrollbar-track,
body.dark-mode #addLabelsModal .list-group::-webkit-scrollbar-track {
	background: #2b3035;
}

body.dark-mode #memberLabelsModal .list-group::-webkit-scrollbar-thumb,
body.dark-mode #addLabelsModal .list-group::-webkit-scrollbar-thumb {
	background: #555;
	border-radius: 6px;
}

body.dark-mode #memberLabelsModal .list-group::-webkit-scrollbar-thumb:hover,
body.dark-mode #addLabelsModal .list-group::-webkit-scrollbar-thumb:hover {
	background: #666;
}

body.dark-mode .chat-form,
body.dark-mode .chat-button-color {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .chat-message.received .chat-message-content,
body.dark-mode .chat-message.received .thinking-indicator,
body.dark-mode .chat-message.date .chat-message-content,
body.dark-mode .chat-timestamp-received,
body.dark-mode .received .chat-emoji-box {
	background-color: var(--dark-mode-primary-color);
}
body.dark-mode #chat-unread-counter i {
	color: rgb(200, 200, 200) !important;
}

body.dark-mode .expanded-message {
	border-style: none;
}

body.dark-mode .dropdown-menu {
	-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .5);
	box-shadow: 0 6px 12px rgba(0, 0, 0, .5);
}

body.dark-mode .modal-header {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
body.dark-mode .modal-footer {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

body.dark-mode .mobilebadge {
	background-color: #d43f3a !important;
	border: 0px;
}

body.dark-mode .drawer-wrapper {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .thumbnail {
	border: 0px;
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .alert-gray {
	color: var(--dark-mode-text-color);
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .autocomplete-list-item:not(.no-hover):hover {
	color: var(--dark-mode-text-color);
}
body.dark-mode .thread-attribution {
	color: var(--dark-mode-light-text-color);
}

body.dark-mode .hashtag-box-white {
	background-color: var(--dark-mode-primary-color) !important;	
}

body.dark-mode .flatpickr-calendar * {
	color: var(--dark-mode-text-color) !important;
	fill: var(--dark-mode-text-color) !important;
	background-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .popover {
	background-color: var(--dark-mode-primary-color) !important;
	border-bottom-color: var(--dark-mode-primary-color) !important;
	border: 1px solid var(--dark-mode-primary-color) !important
}

body.dark-mode .popover-title {
	background-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .popover.bottom>.arrow:after {
	border-bottom-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .popover.top>.arrow:after {
	border-top-color: var(--dark-mode-primary-color) !important;
}

body.dark-mode .fc-list-event:hover * {
	background-color: var(--dark-mode-body-color) !important;
}

body.dark-mode .list-group-item-nohover:hover {
	background-color: var(--dark-mode-body-color) !important;
}

body.dark-mode .table-hover>tbody>tr:hover {
	background-color: var(--dark-mode-body-color) !important;
}

body.dark-mode .Xmce-btn.Xmce-active * {
	background-color: var(--dark-mode-highlight-color) !important;
}

body.dark-mode .subject {
	font-weight: 400;
}

body.dark-mode a.showvisited:visited {
	/* visited link */
	color: #999999;
}

body.dark-mode .select2-selection {
	background-color: var(--dark-mode-primary-color) !important;
	border-color: var(--dark-mode-divider);
}

body.dark-mode .select2-dropdown * {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .select2-selection * {
	color: var(--dark-mode-text-color) !important;
}

body.dark-mode .select2-search__field {
	border: 1px solid var(--dark-mode-divider) !important;
}

body.dark-mode .select2-dropdown {
	border: 1px solid var(--dark-mode-divider) !important;
}

body.dark-mode .select2-results__options::-webkit-scrollbar,
body.dark-mode .autocompleteResults::-webkit-scrollbar {
	/*-webkit-appearance: none;*/
	width: 6px;
	height: 6px;
	background-color: rgba(0, 0, 0, 0);
}

body.dark-mode .select2-results__options::-webkit-scrollbar-thumb,
body.dark-mode .autocompleteResults::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background-color: #ccc;
}

/*
body.dark-mode .select2-selection__rendered:focus-visible {
	outline:unset;
}
*/

body.dark-mode .user-content a span[style*="color"] {
	color: #7da8d4 !important;
}
body.dark-mode .user-content *[style*="color"],
/* This works "color" and "background-color" properties */
body.dark-mode .user-content *[style*="background"],
/* This gets the "background" property */
body.dark-mode .user-content *[style*="COLOR"],
/* Style entries can be case sensitive. Some old messages use caps */
body.dark-mode .user-content font {
/* HTML 4 tag used by a few older mssgs.  It has different syntax */
	color: var(--dark-mode-text-color) !important;
	/* For the selectors above, set all the text to the standard color */
	background-color: transparent !important;
	/* and remove backgrounds so the Groups.io bkg shows through */
}

body.dark-mode .user-content a span {
/*  User code typically adjusts link colors by putting a span inside an anchor tag */
	color: #7da8d4 !important;
	background-color: transparent !important;
}

body.dark-mode .toc li:before {
	color: var(--dark-mode-text-color);
}

body.dark-mode .attachment-box,
body.dark-mode .attachment-box:hover {
	background-color: var(--dark-mode-primary-color);
}

body.dark-mode .attachment-name,
body.dark-mode .attachment-name-hover {
	background-color: var(--dark-mode-highlight-color);
}

body.dark-mode .attachment-box:hover .attachment-icon,
body.dark-mode .attachment-box:hover .attachment-image {
	opacity: unset;
}

body.dark-mode .dropzone {
	border-color: var(--dark-mode-divider);
}

/* Override for lists within chat-message-content */
body.dark-mode .chat-message-content ul,
body.dark-mode .chat-message-content ol,
body.dark-mode .chat-message-content h1,
body.dark-mode .chat-message-content h2,
body.dark-mode .chat-message-content h3,
body.dark-mode .chat-message-content h4,
body.dark-mode .chat-message-content h5 {
	color: inherit;
}

/* Group Analytics Chart Styling */
.analytics-chart-tooltip {
	background: rgba(0, 0, 0, 0.8) !important;
	color: white !important;
	border: 1px solid var(--light-mode-divider) !important;
	position: absolute;
	padding: 8px;
	border-radius: 4px;
	font-size: 12px;
	pointer-events: none;
	z-index: 1000;
}

body.dark-mode .analytics-chart-tooltip {
	background: var(--dark-mode-primary-color) !important;
	color: var(--dark-mode-text-color) !important;
	border-color: var(--dark-mode-divider) !important;
}

/* Analytics page specific panel styling for dark mode */
.analytics-page body.dark-mode .panel {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
}

.analytics-page body.dark-mode .panel-body {
	background-color: var(--dark-mode-primary-color);
	color: var(--dark-mode-text-color);
}

.analytics-page body.dark-mode .panel-heading {
	background-color: var(--dark-mode-highlight-color);
	border-color: var(--dark-mode-divider);
	color: var(--dark-mode-text-color);
}

/* Analytics page button styling for dark mode */
.analytics-page body.dark-mode .btn-secondary {
	background-color: var(--dark-mode-highlight-color);
	border-color: var(--dark-mode-divider);
	color: var(--dark-mode-text-color);
}

.analytics-page body.dark-mode .btn-secondary:hover {
	background-color: var(--dark-mode-primary-color);
	border-color: var(--dark-mode-divider);
	color: var(--dark-mode-text-color);
}

.analytics-page body.dark-mode .btn-secondary:focus {
	background-color: var(--dark-mode-highlight-color);
	border-color: var(--dark-mode-divider);
	color: var(--dark-mode-text-color);
	box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}

/* Analytics SVG chart elements for dark mode */
.analytics-page body.dark-mode svg text {
	fill: var(--dark-mode-text-color) !important;
}

.analytics-page body.dark-mode svg .tick line {
	stroke: var(--dark-mode-divider) !important;
}

.analytics-page body.dark-mode svg .domain {
	stroke: var(--dark-mode-divider) !important;
}

body.dark-mode code {
	background-color: var(--dark-mode-primary-color) !important;
}

/* ============================================
   Image Lightbox Styles
   ============================================ */

/* Inline image hover effect with download icon */
.lightbox-image {
	position: relative;
	cursor: pointer !important;
	transition: opacity 0.2s ease;
}

.lightbox-image:hover {
	opacity: 0.9;
}

/* Wrapper for inline images to add download icon on hover */
.lightbox-image::after {
	content: "\f019"; /* Font Awesome download icon */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	bottom: 8px;
	right: 8px;
	background-color: rgba(0, 0, 0, 0.6);
	color: white;
	padding: 6px 8px;
	border-radius: 3px;
	font-size: 12px;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.lightbox-image:hover::after {
	opacity: 1;
}

/* Lightbox navigation buttons */
.lightbox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background-color: rgba(0, 0, 0, 0.5) !important;
	border: none !important;
	color: white !important;
	padding: 15px 12px;
	font-size: 20px;
	transition: background-color 0.2s ease;
}

.lightbox-nav:hover {
	background-color: rgba(0, 0, 0, 0.7) !important;
	color: white !important;
}

.lightbox-nav:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(66, 139, 202, 0.5);
}

.lightbox-nav-prev {
	left: 10px;
}

.lightbox-nav-next {
	right: 10px;
}

/* Lightbox modal customizations */
#imageLightbox .modal-dialog {
	max-width: 90vw;
	width: auto;
	margin: 30px auto;
}

#imageLightbox .modal-body {
	padding: 20px;
	min-height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#imageLightbox #lightboxImage {
	max-width: 100%;
	max-height: 70vh;
	width: auto;
	height: auto;
	object-fit: contain;
}

#imageLightbox #lightboxCounter {
	color: #666;
	font-size: 14px;
}

/* Dark mode adjustments for lightbox */
body.dark-mode #imageLightbox .modal-content {
	background-color: var(--dark-mode-primary-color);
	color: var(--dark-mode-text-color);
}

body.dark-mode #imageLightbox .modal-header {
	border-bottom-color: var(--dark-mode-divider);
}

body.dark-mode #imageLightbox .modal-footer {
	border-top-color: var(--dark-mode-divider);
}

body.dark-mode #imageLightbox #lightboxCounter {
	color: var(--dark-mode-light-text-color);
}

body.dark-mode #imageLightbox #lightboxTextContent {
	background-color: var(--dark-mode-highlight-color) !important;
	color: var(--dark-mode-text-color);
}

/* Attachment lightbox styling */
.lightbox-attachment {
	cursor: pointer;
	text-decoration: none;
}

.lightbox-attachment:hover {
	text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	#imageLightbox .modal-dialog {
		max-width: 100%;
		margin: 10px;
	}

	#imageLightbox #lightboxImage {
		max-height: 60vh;
	}

	.lightbox-nav {
		padding: 10px 8px;
		font-size: 16px;
	}
}
