:root {
	--transition-time: 0.1s;
}

::selection {
	background: var(--selection-bg);
	color: var(--selection-color);
}

::placeholder {
	color: var(--color-slate-gray) !important;
}

@keyframes placeHolderShimmer {
	0% {
		background-position: -468px 0
	}

	100% {
		background-position: 468px 0
	}
}

@keyframes flashABit {
	from {
		opacity: .7;
	}
	to {
		opacity: 1;
	}
}

.flash-a-bit {
	animation: flashABit .35s linear alternate 5;
}

.hidden {
	display: none;
}

.fs-10 {
	font-size: 10px;
}

.fs-11 {
	font-size: 11px;
}

.fs-12 {
	font-size: 12px;
}

.fs-13 {
	font-size: 13px;
}

.fs-14 {
	font-size: 14px;
}

.fs-15 {
	font-size: 15px;
}

.fs-16 {
	font-size: 16px;
}

.fs-17 {
	font-size: 17px;
}

.fs-18 {
	font-size: 18px;
}

.fs-19 {
	font-size: 19px;
}

.fs-20 {
	font-size: 20px;
}

.fs-21 {
	font-size: 21px;
}

.fs-22 {
	font-size: 22px;
}

.fs-23 {
	font-size: 23px;
}

.fs-24 {
	font-size: 24px;
}

.fs-25 {
	font-size: 25px;
}

.fs-26 {
	font-size: 26px;
}

.fs-27 {
	font-size: 27px;
}

.fs-28 {
	font-size: 28px;
}

.fs-29 {
	font-size: 29px;
}

.fs-30 {
	font-size: 30px;
}

.fs-31 {
	font-size: 31px;
}

.fs-32 {
	font-size: 32px;
}

.show {
	display: block !important;
}

.btn, .accordion-button {
	transition-duration: var(--transition-time);
}

.form-group {
	margin-bottom: 2rem;
}

.form-check-input {
	clear: left;
}

.form-switch.form-switch-sm .form-check-input {
	height: 1rem;
	width: calc(1rem + 0.75rem);
	border-radius: 2rem;
}

.form-switch.form-switch-md .form-check-input {
	height: 1.5rem;
	width: calc(2rem + 0.75rem);
	border-radius: 3rem;
}

.form-switch.form-switch-lg .form-check-input {
	height: 2rem;
	width: calc(3rem + 0.75rem);
	border-radius: 4rem;
}

.form-switch.form-switch-xl .form-check-input {
	height: 2.5rem;
	width: calc(4rem + 0.75rem);
	border-radius: 5rem;
}

.form-switch-success .form-check-input:checked {
	background-color: var(--color-success);
	border-color: var(--color-success);
}

.form-switch-success .form-check-input:not(:checked):focus {
	box-shadow: rgba(var(--bs-success-rgb), 0.25) 0px 0px 0px 4px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2320c997fe'/%3E%3C/svg%3E");
}

#switch-theme-button {
	margin-right: 2.5rem;
}

#switch-theme-button-input {
	background-image: url("../images/moon.svg");
	background-image: url("../images/moon.svg");
	background-size: 32%;
	background-position-x: 15%, 0;
	background-color: var(--color-light);
	box-shadow: none;
	border-color: var(--color-light);
	border: 0;
	height: 28px;
}

#switch-theme-button-input:checked {
	background-image: url("../images/sun.svg");
	background-position-x: 85%, 0;
}

.material-symbols-outlined {
	font-display: block;
}

.dropdown .dropdown-menu {
	padding: 5px;
	background: var(--color-midway);
	overflow: hidden;
}

.dropdown .dropdown-menu a {
	display: flex;
	align-items: center;
	color: var(--color-white);
	padding-left: 8px;
	padding-top: 8px;
	padding-bottom: 8px;
	border-radius: var(--border-radius);
}

.dropdown .dropdown-menu a span[class*="material-symbols"] {
	margin-right: 7px;
	font-size: 20px;
}

/* .dropdown .dropdown-menu a:hover,
.dropdown .dropdown-menu a:active,
.dropdown .dropdown-menu a:focus {
	background-color: rgba(32, 33, 35, 0.7);
} */

.dropdown .dropdown-menu a:focus-visible {
	outline: none;
}

.modal {
	--bs-modal-width: 650px;
}

.loading-animation {
	animation-duration: 1.8s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	animation-name: placeHolderShimmer;
	animation-timing-function: linear;
	color: var(--color-light);
	background: var(--color-dark);
	background: linear-gradient(to right, var(--gpt-bubble-bg) 8%, var(--color-dark) 38%, var(--gpt-bubble-bg) 54%);
	background-size: 1000px 640px;

	text-indent: 100%;
	display: inline-flex;
	overflow: hidden;
	white-space: nowrap;

	position: relative;
}

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

body.modal-open .dropdown {
	display: none;
}

html {
	box-sizing: border-box;
}

input.form-control {
	border: none;
	color: var(--color-white);
	background: var(--user-input-bg);
}

input.form-control:focus {
	color: var(--color-white);
	outline: 4px solid var(--color-light);
	background: var(--user-bubble-bg);
	box-shadow: none;
}

textarea.form-control {
	overflow-y: auto !important;
	background-color: var(--user-bubble-bg);
	border-color: var(--color-light);
	color: var(--color-white);
}

textarea.form-control:focus {
	background-color: var(--user-bubble-bg);
	border-color: var(--color-light);
	color: var(--color-white);
	outline: 4px solid var(--color-light);
	box-shadow: none;
}

ul {
	list-style: none;
}

*,
*:before,
*:after {
	margin: 0;
	padding: 0;
	box-sizing: inherit;
}

p:last-of-type {
	margin-bottom: 0px;
}

body {
	background-color: var(--color-light);
	color: var(--color-text);
	font-family: Helvetica, sans-serif;
}

body,
html {
	height: 100%;
	width: 100%;
}

#fatal-error {
	width: 800px;
	background: var(--color-light);
	padding: 15px;
	margin: 0 auto;
	margin-top: 45px;
	border-radius: 9px;
	line-height: 22px;
}

.msger {
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
	position: relative;
	width: 100%;
	/* margin: 25px 0; */
	/* border: var(--border); */
	border-radius: var(--border-radius);
	/* box-shadow: 0 15px 15px -5px rgba(0, 0, 0, 0.2); */
}

.msger .topbar {
	background-color: var(--color-dark);
	padding-block: 10px;
	display: flex;
	align-items: center;
}

@media screen and (min-width: 768px) {
	body.not-logged-in .msger .topbar {
		display: none;
	}
}

.msger .topbar #topbar-login {
	font-size: 14px;
	font-weight: 100 !important;
	padding: 9px 12px;
	border-radius: var(--border-radius);
	text-decoration: none !important;
	transition: var(--transition-time) background-color ease-in-out;
	margin-left: auto;
	margin-right: 10px;
	display: none;
}

@media screen and (max-width: 767px) {
	body.not-logged-in .msger .topbar #topbar-login {
		display: inline-block;
	}
}

.msger .topbar #topbar-login:hover {
	background-color: var(--color-light);
}

.msger-chat {
	border-top-left-radius: 6px;
	background-color: var(--color-light);
}

#msger-message {
	background-color: var(--user-bubble-bg);
}

.thread-loader {
	display: none;
	position: absolute;
	top: 58px;
	bottom: 65px;
	left: 0px;
	right: 0px;
	background: var(--color-light);
	z-index: 2000;
}

.thread-loader.visible {
	display: flex;
}

.thread-loader .dots {
	display: block;
	font-size: 10px;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	text-indent: -9999em;
	animation: chatLoaderDots 1.1s infinite ease;
	transform: translateZ(0);
}

.left-side {
	background-color: var(--color-dark);
}

.thread-list {
	margin-top: 2px !important;
	padding: 0;
	padding-bottom: 10px;
	flex: 1;
	width: 100%;
}

.thread-list p {
	font-weight: 800;
}

.thread-list span {
	pointer-events: none;
}

.thread-group {
	padding: 0;
}

.thread-group-heading {
	margin-top: 1rem;
	font-size: 14px;
	margin-bottom: .4rem;
	padding: 0 12px;
	pointer-events: none;
	color: var(--bs-gray-500);
	letter-spacing: 1px;
}

.thread-item {
	position: relative;
	display: flex;
	justify-content: space-between;
	border-radius: var(--border-radius);
	cursor: pointer;
	white-space: nowrap;
	width: 100%;
	/* text-overflow: ellipsis; */
	font-size: 14px;
	font-weight: 100 !important;
	padding: 9px 12px;
	transition: var(--transition-time) background-color ease-in-out;
	box-shadow: none;
	/* overflow: hidden; */
	color: var(--color-text);
}

.thread-item.is-shared:before {
	content: " ";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	border-radius: 100vw;
	background-color: limegreen;
	left: -4px;
	transition: var(--transition-time) left ease-in-out;
}

.thread-item.is-shared:hover:before,
.thread-item.is-shared.active:before {
	left: -12px;
}

.thread-item > span {
	overflow-x: hidden;
	display: block;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}

.thread-item::after {
	content: " ";
	position: absolute;
	right: 0px;
	top: 0px;
	bottom: 0px;
	background: var(--color-light);
	width: 45px;
	z-index: 50;
	opacity: 0;
	pointer-events: none;
	box-shadow: -15px 0px 15px -7px var(--color-light);
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
}

.thread-item .dropdown-toggle:not([aria-expanded="true"]),
.thread-item .dropdown-menu:not(.show) {
	opacity: 0;
	pointer-events: none;
}

.thread-item:hover {
	background-color: var(--color-light);
}


.thread-item:hover::after,
.thread-item:has(.dropdown-toggle[aria-expanded="true"]):after {
	opacity: 1;
}

.thread-item:hover .dropdown-toggle,
.thread-item:hover .dropdown-menu {
	opacity: 1;
	pointer-events: all;
}

.thread-item .dropdown .btn {
	padding: 0px;
	padding-right: 13px;
	position: absolute;
	top: -3px;
	right: -13px;
	z-index: 100;
}

.thread-item .dropdown .btn::after {
	display: none;
}

.thread-item:not(:first-of-type) {
	margin-top: 5px;
}

.thread-item.active {
	background-color: var(--color-light);
}

.msger-chat {
	flex: 1;
	overflow-x: hidden;
	padding: 10px;
	width: 100%;
	align-content: flex-end;
}

.msger-chat::-webkit-scrollbar {
	width: 6px;
}

.msger-chat::-webkit-scrollbar-track {
	background: var(--color-dark);
}

.msger-chat::-webkit-scrollbar-thumb {
	background: var(--user-input-bg);
}

.msg {
	display: flex;
	align-items: flex-end;
	margin-bottom: 10px;
}

aside {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-height: 100%;
	overflow-y: auto;
	justify-content: space-between;
}

aside .conversations-title {
	width: 100%;
	padding: 17px 12px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

aside #accordion-conversations {
	flex: 1;
	overflow-y: auto;
}

aside #accordion-conversations .accordion-item {
	border-top: 1px solid var(--color-light) !important;
	border-bottom: 0;
	background-color: transparent !important;
	color: var(--color-text);
}

aside #accordion-conversations .accordion-item:first-child {
	border-color: transparent !important;
}

aside #accordion-conversations .accordion-item:has(#heading-shared) {
	position: sticky;
	bottom: 0;
}

aside #accordion-conversations .accordion-item .accordion-header button:after {
	background-size: 16px;
	background-position: center;
}

aside #accordion-conversations .accordion-button {
	padding-block: 19px;
	border-bottom: 1px solid var(--color-dark);
}

aside #accordion-conversations .accordion-button:focus {
	box-shadow: none;
}

aside #accordion-conversations .accordion-button:not(.collapsed) {
	box-shadow: none !important;
}

aside.left-side .accordion .accordion-item:first-child:not(:has(+ .accordion-item)) .accordion-button:after {
	content: none;
}

aside.left-side .accordion .accordion-item:first-child:not(:has(+ .accordion-item)) #search-threads-btn {
	right: 0;
}

.msg:last-of-type {
	margin: 0;
}

.msg-img {
	width: 50px;
	height: 50px;
	margin-right: 10px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 50%;
}

.msg-bubble {
	position: relative;
	text-wrap: wrap;
	max-width: 750px;
	padding: 15px;
	border-radius: var(--border-radius);
}

.msg-actions {
	position: absolute;
	top: 0px;
	bottom: 0px;
	width: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	overflow: hidden;
	opacity: 0;
	transition: opacity var(--transition-time) ease-in-out;
}

.msg-left .msg-actions {
	padding-left: 10px;
	right: -30px;
}

.msg-right .msg-actions {
	padding-right: 10px;
	left: -30px;
}

.msg-bubble:hover .msg-actions {
	opacity: 0.5;
}

.msg-actions a {
	color: var(--color-white);
}

.msg-actions a span {
	font-size: 20px;
}

.msg-documents a {
	font-size: 14px;
	padding: 10px;
	text-align: right;
	text-decoration: none;
	margin-top: 5px;
	display: inline-flex;
	align-items: center;
	color: var(--color-white);
	background-color: var(--user-bubble-bg);
	border-radius: var(--border-radius);
}

.msg-documents .file-icon {
	display: flex;
	margin-right: 5px;
	padding: 3px;
	width: 30px;
	height: 30px;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	border-radius: var(--border-radius);
}

.msg-documents .file-icon span {
	font-size: 22px;
}

.msg-documents .file-text {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	line-height: 16px;
}

.msg-documents .file-text .text-label {
	font-size: 12px;
	color: var(--color-text);
}

.msg-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.msg-info-name {
	color: var(--color-white);
	margin-right: 10px;
	font-weight: bold;
}

.msg-info-time {
	font-size: 0.85em;
}

.msg-left .msg-bubble {
	border-bottom-left-radius: 0;
	background: var(--gpt-bubble-bg);
}

.msg-right {
	flex-direction: row-reverse;
}

.msg-right .msg-bubble {
	background: var(--user-bubble-bg);
	color: var(--color-text);
	border-bottom-right-radius: 0;
}

.msg-right .msg-img {
	margin: 0 0 0 10px;
}

.model-select {
	background-color: var(--user-input-bg);
	background-image: var(--chevron);
	border: none;
	color: var(--color-text);
	padding: 6px 10px;
	border-radius: var(--border-radius);
	font-size: 1em;
	width: 180px;
	cursor: pointer;
}

.model-select:focus {
	outline: 0;
	box-shadow: none;
}

.msger-inputarea>div {
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
	border-top: var(--border-thin);
	background: var(--color-light);
	position: relative;
}

.msger-file-previews {
	flex-basis: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.msger-file-previews .file-preview {
	position: relative;
	display: flex;
	flex-direction: row;
	padding: 10px;
	background: var(--user-bubble-bg);
	border-radius: var(--border-radius);
	margin-bottom: 10px;
	margin-right: 10px;
	width: 240px;
	opacity: 0.5;
}

.file-delete {
	position: absolute;
	top: -13px;
	right: -13px;
	display: flex;
	align-content: center;
	align-items: center;
	color: var(--color-text) !important;
	background: var(--gpt-bubble-bg);
	border-radius: 100%;
	padding: 1px;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--transition-time) ease-out;
	z-index: 500;
}

.file-ready.file-preview:hover .file-delete,
.file-has-error.file-preview:hover .file-delete {
	opacity: 1;
	pointer-events: all;
	transition: opacity var(--transition-time) ease-in;
}

.msger-file-previews .file-icon {
	width: 45px;
	min-width: 45px;
	max-width: 45px;
	overflow: hidden;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
}

.msger-file-previews .file-type {
	color: var(--color-text);
}

.msger-file-previews .file-type .error-reason {
	word-wrap: anywhere;
}

/*.msger-file-previews .file-uploading .file-icon::before {
	position: absolute;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	background: rgba(36, 36, 36, 0.4);
	content: " ";
}*/
.msger-file-previews .file-uploading .file-icon>span {
	visibility: hidden;
}

.msger-file-previews .file-uploading .file-icon::after {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-family: "Material Symbols Outlined";
	content: "\e9d0";
	animation: spin 1.5s linear infinite;
	color: white;
}

.msger-file-previews .file-has-error .file-type {
	color: var(--bs-warning);
}

.msger-file-previews .file-has-error,
.msger-file-previews .file-uploading,
.msger-file-previews .file-ready {
	opacity: 1;
}

.msger-file-previews .file-description {
	display: flex;
	flex-direction: column;
}

.msger-input {
	flex: 1;
	background-color: var(--user-input-bg);
	color: var(--color-text);
	padding: 10px;
	border: none;
	border-radius: 0;
	border-top-left-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
	font-size: 1em;
	transition: var(--transition-time) background-color ease-in-out;
	box-shadow: none !important;
	resize: none;
	max-height: 200px;
}

.msger-input:focus {
	outline: 0;
	background-color: var(--user-bubble-bg);
	color: var(--color-text);
}

body[data-model="gpt-3.5-turbo"] .msger-attachments-button {
	display: none !important;
}

.msger-attachments-button,
.msger-send-btn {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-inline: 14px;
}

.msger-attachments-button {
	cursor: pointer;
	padding-block: 10px;
	padding-inline: 9px;
	color: var(--color-text);
	transition: var(--transition-time) color ease-in-out;
	position: absolute;
	right: 70px;
	bottom: 11px;
}

.msger-attachments-button:hover {
	color: var(--color-text);
}

.msger-send-btn,
.btn-start {
	background-color: var(--color-slate-gray);
	color: var(--color-text-invert);
	font-weight: bold;
	cursor: pointer;
	padding: 10px 18px;
	border: none;
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
	font-size: 1em;
	font-weight: 400;
	transition: var(--transition-time) background-color ease-in-out;
}

.msger-send-btn:disabled {
	pointer-events: none;
}

.msger-send-btn:hover {
	background-color: var(--btn-send-msg-bg);
}

/* .btn-session:hover {
	background: #4c5563;
} */

.auth-error-text {
	background-color: var(--color-dark);
	padding: 1.1rem;
	margin: 0;
	text-align: center;
	color: var(--color-text);
}

.auth-provider {
	width: 100%;
	padding: 10px;
	border-top: 1px solid var(--color-light);
}

.auth-provider a {
	display: flex;
	align-items: center;
	width: 100% !important;
	font-size: 14px;
	font-weight: 100 !important;
	padding: 9px 12px;
	border-radius: var(--border-radius);
	text-decoration: none !important;
	transition: var(--transition-time) background-color ease-in-out;
}

.auth-provider a span {
	margin-right: 10px;
}

.auth-provider a:hover {
	background-color: var(--color-light);
}

.auth-provider a:not(:first-of-type) {
	margin-top: 5px;
}

.text-white {
	color: var(--color-white) !important;
}

.text-decoration-none {
	text-decoration: none !important;
}

.cursor-pointer {
	cursor: pointer;
}

.mt-4 {
	margin-top: 1rem;
}

.container {
	display: flex;
	height: 100%;
	width: 100%;
	max-width: 100% !important;
	padding: 0 !important;
}

body>.container>aside {
	width: var(--sidebar-width);
	z-index: 1000;
}

body>.container>section {
	width: calc(100% - var(--sidebar-width));
}

.p-2 {
	padding: 1rem;
}

.mb-2 {
	margin-bottom: 1rem;
}

.msg-text p {
	white-space: pre-wrap;
	word-wrap: break-word;
	margin-bottom: 0px;
	margin-top: 1rem;
}

p:empty {
	margin-top: 0px;
}

.assistant-typing-indicator {
	display: flex;
	padding: 10px;
	padding-top: 0px;
	background: var(--color-light);
	color: var(--color-text);
	align-items: center;
	margin-bottom: -10px;
	opacity: 0;
	height: 0px;
	overflow: visible;
}

.assistant-typing-indicator>div {
	opacity: 0;
	transition: all var(--transition-time) ease;
}

.assistant-typing-indicator.visible {
	opacity: 1;
	margin-bottom: 0;
	padding-top: 15px;
	padding-bottom: 15px;
}

.assistant-typing-indicator.visible>div {
	opacity: 1;
}

.dot-typing {
	position: relative;
	margin-bottom: 10px;
	margin-left: 10px;
}

.dot-typing span {
	content: "";
	-webkit-animation: blink 1.5s infinite;
	animation: blink 1.5s infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	height: 10px;
	width: 10px;
	background: var(--color-text);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 50%;
}

.dot-typing span:nth-child(2) {
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
	margin-left: 15px;
}

.dot-typing span:nth-child(3) {
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
	margin-left: 30px;
}

@-webkit-keyframes blink {
	0% {
		opacity: 0.1;
	}

	20% {
		opacity: 1;
	}

	100% {
		opacity: 0.1;
	}
}

@keyframes blink {
	0% {
		opacity: 0.1;
	}

	20% {
		opacity: 1;
	}

	100% {
		opacity: 0.1;
	}
}

@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}


/* Prism overrides */

.msg .code-toolbar {
	padding-top: 21px !important;
	margin-top: 10px;
}

.msg .code-toolbar .toolbar .toolbar-item span,
.msg .code-toolbar .toolbar .toolbar-item button {
	box-shadow: none !important;
}

.msg .code-toolbar .toolbar .toolbar-item:nth-child(1) {
	order: 1;
}

.msg .code-toolbar .toolbar .toolbar-item:nth-child(2) {
	order: 3;
}

.msg .code-toolbar .toolbar .toolbar-item:nth-child(3) {
	order: 2;
}

.msg .code-toolbar .toolbar {
	display: flex;
	justify-content: space-between;
	opacity: 1 !important;
	top: 0px !important;
	right: 0px !important;
	border-top-right-radius: 6px;
	border-top-left-radius: 6px;
	overflow: hidden;
	width: 100%;
	background-color: var(--color-midway);
}

.msg .code-toolbar .toolbar-item>span {
	pointer-events: none;
	background-color: transparent !important;
}

.msg .code-toolbar .toolbar-item:first-of-type {
	margin-right: auto;
}

.msg .code-toolbar .toolbar-item>button {
	height: 100%;
	font-size: 11px !important;
	border-radius: 0 !important;
	transition: var(--transition-time) background-color ease-in-out, var(--transition-time) color ease-in-out;
	top: -1px;
	position: relative;
	background-color: transparent !important;
	display: flex;
	align-items: center;
}

.msg .copy-to-clipboard-button {
	margin-right: 10px;
}

.msg .copy-to-clipboard-button::before {
	content: "\e14d";
	font-family: "Material Symbols Outlined";
	margin-right: .25rem !important;
	font-size: 12px;
}

.msg-text>pre {
	margin-top: 10px !important;
}

.msg pre {
	overflow: auto;

	border-top-right-radius: 0 !important;
	border-top-left-radius: 0 !important;
	border-width: 0 !important;
	margin-top: 0px;
	margin-bottom: 25px;

	font-size: 15px !important;
	border-radius: 6px !important;
	padding: 1em !important;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;

	-ms-overflow-style: none;
	/* IE and Edge */
	scrollbar-width: none;
	/* Firefox */
}

.msg pre::-webkit-scrollbar {
	display: none;
	/* This hides the scrollbar */
}

.msg pre:not([class*="language-"]) {
	border-top: 24px solid rgb(32, 33, 35) !important;
}

.msg code .token {
	font-weight: normal;
}

.msg-text {
	color: var(--color-text);
}

.msg-text h1,
.msg-text h2,
.msg-text h3,
.msg-text h4 {
	color: var(--color-text);
	margin-top: 30px;
}

/* responsive support for sidebar collapsing */
@media screen and (min-width: 768px) {
	.btn-toggle-menu {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	body.menu-open section.msger {
		overflow: hidden !important;
	}

	body.menu-open aside {
		transform: translateX(0%);
	}

	aside {
		position: fixed;
		top: 0;
		left: 0;
		transform: translateX(-100%);
		background-color: var(--color-dark);
		z-index: 1000;
		height: 100%;
		transition: var(--transition-time) transform ease-in-out;
	}

	aside .conversations-title {
		padding: 10px 12px 9px;
	}

	aside .thread-list {
		margin-top: 0 !important;
	}

	body>.container>section.msger {
		width: 100%;
	}

	body>.container>section.msger .topbar {
		padding-block: 10px 9px;
	}

	body>.container>section.msger .msg-bubble {
		width: 90%;
	}

	.btn-toggle-menu {
		display: flex;
		align-items: center;
		text-decoration: none;
		color: var(--color-text);
	}

	.btn-toggle-menu:hover,
	.btn-toggle-menu.btn-link:hover,
	.btn-toggle-menu:active {
		color: var(--color-text) !important;
	}
}

@media screen and (max-width: 575px) {
	body>.container>section.msger .msg-bubble {
		width: 100%;
	}
}

.modal .btn-close {
	--bs-btn-close-color: #fff;
	background: none;
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
}

.modal .btn-close::after {
	color: var(--color-white);
	font-family: "Material Symbols Outlined";
	content: "\e5cd";
	font-size: 26px;
}

.modal .modal-content {
	background: var(--color-dark);
	color: var(--color-text) !important;
}

.modal .modal-header,
.modal .modal-footer {
	border-color: var(--color-light);
}

.btn-link {
	text-decoration: none;
}

.modal-full .modal-dialog {
	min-width: 100%;
	margin: 0;
}

.modal-full .modal-content {
	min-height: 100vh;
}

.custom-select-container {
	z-index: auto;
	font-size: 14px;
}

.topbar .dropdown-toggle:hover,
.topbar .dropdown-toggle:focus,
.topbar .dropdown-toggle.show {
	background-color: var(--color-light) !important;
}

.topbar .dropdown-toggle+.dropdown-menu {
	width: 340px;
	max-height: 80vh;
	overflow-y: auto;
	top: 7px !important;
}

@media screen and (min-width: 768px) {
	.topbar .dropdown-toggle+.dropdown-menu {
		width: calc(100vw - 360px);
		max-width: 55vw;
	}
}

@media screen and (max-width: 767px) {
	.topbar .dropdown-toggle+.dropdown-menu {
		width: calc(100vw - 100px);
	}
}

.dropdown-item:active, .dropdown-item.active {
	background-color: var(--bs-dropdown-link-hover-bg);
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item:has(input[type="radio"]:checked) {
	background-color: var(--color-dark) !important;
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"] {
	display: none
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"]+label {
	width: 24px;
	height: 24px;
	position: relative;
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"]+label:before {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	background-color: var(--color-dark);
	border: 1px solid transparent;
	border-radius: var(--border-radius-round);
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"]+label:after {
	content: " ";
	position: absolute;
	top: 7px;
	left: 7px;
	width: 10px;
	height: 10px;
	background-color: var(--bs-dropdown-link-color);
	border-radius: var(--border-radius-round);
	opacity: 0;
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"]:checked+label:before {
	border-color: var(--color-text);
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item input[type="radio"]:checked+label:after {
	opacity: 1;
	background-color: var(--color-text);
}

.topbar .dropdown-toggle+.dropdown-menu .dropdown-item .description {
	white-space: normal;
	user-select: none;
}

.cursor-pointer {
	cursor: pointer !important;
}

.model-start-new {
	position: absolute;
	right: 5px;
	top: 0px;
	opacity: 0;
	color: var(--color-text-muted);
	transition: opacity var(--transition-time) ease-in;
}

.dropdown-menu a:hover .model-start-new {
	opacity: 1;
}

.dropdown-toggle.no-chevron:after {
	content: none;
}

.assistant-suggestion {
	width: 175px;
	height: 130px;
	border: 4px solid var(--color-light);
	border-radius: var(--border-radius);
	padding: 12px;
	position: relative;
}

.assistant-suggestion .icon {
	display: flex;
	/* align-items: center;
	justify-content: center;
	border: 2px dashed var(--color-light);
	width: 36px;
	height: 36px; */
}

.assistant-suggestion .icon img {
	width: 24px;
	height: 24px;
}

.assistant-suggestion .form-control {
	position: absolute;
	bottom: 0px;
	left: 0px;
	right: 0px;
	border-radius: 0px;
	resize: none;
}

div.dt-container {
	padding: 0px;
	margin-top: 1rem;
	border-radius: var(--border-radius);
}

div.dt-container .dt-paging .dt-paging-button.disabled,
div.dt-container .dt-paging .dt-paging-button.disabled:hover,
div.dt-container .dt-paging .dt-paging-button.disabled:active {
	color: var(--color-white) !important;
}

div.dt-container .dt-paging .dt-paging-button.current,
div.dt-container .dt-paging .dt-paging-button.current:hover,
div.dt-container .dt-paging .dt-paging-button:hover {
	border: none;
	border-radius: var(--border-radius);
	background: var(--color-slate-gray);
}

.msg-text table.dataTable th:hover,
.msg-text .dt-container .dt-layout-table tr:hover td {
	background-color: var(--color-light);
}

.msg-text .dt-container .dt-layout-table th {
	font-size: 14px;
}

.msg-text .dt-container .dt-layout-table td {
	font-weight: 300;
	font-size: 14px;
}

.msg-text table.dataTable th.dt-type-numeric,
.msg-text table.dataTable th.dt-type-date,
.msg-text table.dataTable td.dt-type-numeric,
.msg-text table.dataTable td.dt-type-date {
	text-align: left;
}

.msg-text table.dataTable th,
.msg-text table.dataTable td {
	min-width: 125px;
	/* max-width: 200px; */
}

.msg-text table.dataTable td {
	overflow: hidden;
	/* -webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: nowrap; */
	white-space: wrap;
}

.msg-text .dt-scroll {
	border: 1px solid var(--color-slate-gray);
	border-radius: 4px;
	overflow: hidden;
}

.msg-text .dt-info {
	font-size: 14px;
}

.msg-text div.dt-container .dt-paging .dt-paging-button {
	font-size: 12px;
	border-radius: var(--border-radius);
	box-shadow: none !important;
}

.msg-text div.dt-container .dt-paging .dt-paging-button:active {
	font-size: 12px;
	background-image: none;
	background-color: var(--color-slate-gray);
	color: var(--color-text);
}

.msg-text div.dt-container .dt-paging .dt-paging-button.disabled {
	color: #898989 !important;
}

.msg-text div.dt-container .dt-paging .dt-paging-button.disabled:hover {
	cursor: not-allowed;
}

.msg-text div.dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
	border: 1px solid var(--color-slate-gray) !important;
}

div.dt-container div.dt-layout-row:first-of-type .dt-end {
	padding-top: 0px;
}

div.dt-container div.dt-layout-row:last-of-type .dt-start {
	margin-left: 10px;
}

div.dt-container .dt-search input,
div.dt-container .dt-paging .dt-paging-button.current:not(.disabled),
div.dt-container .dt-paging .dt-paging-button.current:not(.disabled):hover,
div.dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
	border: 1px solid var(--color-slate-gray) !important;
}

.msg-text div.dt-layout-row:has(.dt-paging) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

table.dataTable.display>tbody>tr.selected:hover>*,
table.dataTable tr.selected>td,
table.dataTable tr.selected:hover {
	box-shadow: inset 0 0 0 9999px var(--color-light) !important;
}

.msg-bubble:has(.dt-container) {
	max-width: 900px;
}


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

	.msg-left:has(.dt-container),
	.msg-left:has(.dt-container) .msg-bubble {
		width: 100%;
	}
}

/* Fixing the alignment o the user's messages */
@media screen and (max-width: 767px) {

	.msg-left .msg-bubble,
	.msg-right .msg-content {
		width: 90% !important;
	}

	.msg-right .msg-bubble {
		width: 100% !important;
	}
}


/* Bootbox modal */
.bootbox.modal {
	z-index: 10000;
}

.bootbox-body {
	position: relative;
}

.bootbox.modal .share-thread-buttons a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background-color: var(--color-light);
	border-color: var(--color-light);
	color: var(--color-white);
	transition: var(--transition-time) background-color ease-in-out, var(--transition-time) border-color ease-in-out;
}

.bootbox.modal .share-thread-buttons a:hover {
	background-color: var(--color-midway);
	border-color: var(--color-midway);
}

.tooltip.bs-tooltip-auto.show {
	z-index: 10000;
}


.share-area {
	background-color: var(--gpt-bubble-bg) !important;
	font-size: 14px;
}

.share-area {
	color: var(--color-text) !important;
}


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

/* Accordion headers */
.accordion-header button {
	background-color: var(--color-dark) !important;
	color: var(--color-text) !important;
}

.accordion-header button:after {
	background-image: var(--chevron) !important;
}

.thread-item .dropdown-toggle span {
	color: var(--color-text);
}

.thread-item .dropdown-menu a:hover {
	background-color: var(--gpt-bubble-bg);
}

.btn-dark {
	color: var(--color-text);
	background-color: var(--btn-dark-bg);
	border-color: var(--btn-dark-bg);
}

.btn-dark:hover,
.btn-dark:focus {
	color: var(--color-text);
	background-color: var(--btn-dark-bg);
	border-color: var(--btn-dark-bg);
}

.btn-dark:active {
	color: var(--color-text) !important;
	background-color: var(--color-light) !important;
	border-color: var(--btn-dark-bg) !important;
}

.prompt-suggestions {
	color: var(--color-text);
}

.modal-title {
	color: var(--color-text);
}

.dropdown-menu {
	background-color: var(--color-midway);
}

.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus {
	background-color: var(--color-midway-hover);
}

.topbar .dropdown-menu a {
	color: var(--color-text);
}

.table-dark {
	--bs-table-bg: var(--color-dark) !important;
	--bs-table-color: var(--color-text) !important;
	--bs-table-striped-color: var(--color-text) !important;
	--bs-table-striped-bg: var(--color-table-stripe) !important;
	--bs-table-hover-bg: var(--color-table-stripe-hover) !important;
	--bs-table-hover-color: var(--color-text) !important;
	--bs-table-color-state: var(--color-text) !important;
}

div.dt-container .dt-paging .dt-paging-button:hover {
	color: var(--color-text) !important;
}

.custom-select-opener,
.custom-select-panel {
	background-color: var(--color-light) !important;
}

.custom-select-option.has-focus {
	background-color: var(--color-midway-hover) !important;
}

.assistant-link:hover {
	cursor: pointer;
}

#searchbar {
	width: 20%;
}

#search-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-text);
	color: var(--color-light);
}

#thread-search-input:focus {
	outline: none;
	border: 1px solid var(--color-light);
}

#settings {
	margin-left: .6rem;
	font-size: 1.8rem;
}

#settings:hover {
	cursor: pointer;
}

#settings-dropdown {
	padding: 1rem;
}

#settings-dropdown.show {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
}

#settings-dropdown .dropdown-item {
	gap: .5rem;
	border-radius: 4px;
}

#settings-dropdown .dropdown-item.active {
	background-color: transparent;
}

#settings-dropdown .dropdown-item.active:hover {
	background-color: var(--bs-dropdown-link-hover-bg);
}

#heading-conversations-container {
	position: relative;
}

#search-threads-btn {
	position: absolute;
	color: var(--color-text);
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
	z-index: 2;
}

#search-results {
	width: 100%;
}

#search-results .dropdown-item {
	padding: 1rem;
}

#search-results .dropdown-item:hover {
	cursor: pointer;
}

#search-results .dropdown-item h6 {
	margin-bottom: .3rem;
	font-size: 1.05rem;
	color: var(--color-text);
}

#search-results .dropdown-item p {
	margin: 0;
	font-size: .85rem;
	white-space: normal;
	color: var(--color-text);
}

#search-results .dropdown-item:focus-visible {
	outline: none;
}

.settings-title-btn-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.settings-title-btn-group input {
	height: 1.6rem;
}

#user-settings-form h5 {
	margin-bottom: 0;
}

.badge {
	color: var(--color-text);
}