:root {
	--clr-light: #fcfafd;
	--clr-mid: #e3e3e3;
	--clr-dark: hsl(111, 24%, 6%);
	--clr-accent: #5bb9e8;
	--clr-accent-alt: hsl(206, 76%, 40%);
	--font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	--font-size-title: 4.375rem;
	--font-size-lead: 1.5rem;
	--font-size-text: 1.25rem;
	--box-shadow: 0 2px 1px rgba(0, 0, 0, 0.09),
		0 4px 2px rgba(0, 0, 0, 0.09),
		0 8px 4px rgba(0, 0, 0, 0.09),
		0 16px 8px rgba(0, 0, 0, 0.09),
		0 32px 16px rgba(0, 0, 0, 0.09);
	--transition-fade: opacity 0.8s ease-in-out,
		transform 0.8s ease-in-out,
		filter 0.8s ease-in-out;
	--swiper-navigation-size: 64px !important;
	--swiper-theme-color: var(--clr-accent) !important;
}

html {
	scroll-behavior: smooth;
}

* {
	font-family: var(--font-family);
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background: url('background.png') no-repeat top center / cover #000000;
	padding-top: 4.125em !important;
}

p {
	margin: 0;
}

@media (min-width: 768px) {
	::-webkit-scrollbar {
		width: 6px;
	}

	::-webkit-scrollbar-thumb {
		background: #71bee73d;
		transition: background .3s ease-in-out;
	}

	::-webkit-scrollbar-thumb:hover {
		background: #71bee755;
	}

	::-webkit-scrollbar-track {
		background: #fffcf500;
	}
}

/* Navbar */

.navbar {
	padding: 1em 3.25em !important;
	background-color: transparent;
	backdrop-filter: blur(0);
	transition: backdrop-filter 0.3s ease, box-shadow 0.3s ease;
	width: 100vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	z-index: 1000;
	top: 0;
}

.navbar.scrolled {
	backdrop-filter: blur(16px) brightness(0.5);
	box-shadow: var(--box-shadow)
}

.navbar .navbar-brand {
	display: flex;
	align-items: center;
	justify-content: center;
}

.navbar img[alt="logo"] {
	height: 1.5rem;
}

.navbar .navbar-menu {
	align-items: center;
	display: flex;
	gap: 2rem;
}

.navbar [data-mobile="true"] {
	display: none;
}

.navbar .nav-link {
	color: hsl(from var(--clr-light) h s l / 0.75);
	text-decoration: none;
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.navbar .nav-link:hover {
	color: var(--clr-light);
}

.navbar .nav-link.outline {
	padding: .4em 1.2em;
	border: 1px solid hsl(from var(--clr-light) h s l / 0.75);
	border-radius: .6rem;
	background-color: hsl(from var(--clr-light) h s l / 0.05);
}

.navbar .nav-link.outline:hover {
	background-color: hsl(from var(--clr-light) h s l / 0.15);
	border-color: var(--clr-light);
	color: var(--clr-light);
}

/* Word slider */

.word-slider-container {
	display: inline-block;
	padding-right: calc(var(--font-size-title) * 0.25);
	position: relative;
	top: 0;
	left: 0;
	text-align: left;
	transition: left .75s ease, var(--transition-fade) !important;
}

.word-slider {
	width: max-content;
	opacity: var(--opacity);
	transition: opacity .25s, transform .25s ease;
	transform: translate(100%, var(--translateY));
	position: absolute;
	right: 0;
	top: 0;
	color: var(--clr-accent)
}

/* Sections */

.container {
	padding: 6em 2em;
	width: min(90%, 750px);
	margin: auto;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

h1 {
	font-size: var(--font-size-title);
	font-weight: 600;
	color: var(--clr-light);
	text-align: center;
}

.lead {
	font-size: var(--font-size-lead);
	font-weight: 300;
	color: var(--clr-mid);
	text-align: center;
	width: 100%;
}

/* Hero */

/* #hero {
height: 100svh;
} */

#hero .container {
	/* height: 100%; */
	position: relative;
}

#hero .lead {
	margin-top: 2.85rem;
	max-width: 80%;
}

#hero .chat-container {
	border-radius: 1.5rem;
	background: hsl(from var(--clr-mid) h s l / 0.1);
	padding: 0;
	width: 100%;
	height: auto;
	/* flex: 1 0 0; */
	max-height: 0;
	overflow: hidden;
	transition: all .6s .5s cubic-bezier(0.15, 0, 0, 1);
	box-shadow: none;
	z-index: 1;
}

.vilex-chat-container .scroll-box::-webkit-scrollbar {
	display: none;
}

#hero .chat-container * {
	filter: opacity(0);
	transition: filter .5s 0s ease-in-out;
}

#hero .chat-container .chat-animation,
.vilex-chat-container .chat-animation {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	gap: 7.5em;
}

#hero .chat-container .chat-party,
.vilex-chat-container .chat-party {
	width: 5em; 
	height: auto; 
	opacity: .5;
}

#hero .chat-container .chat-bubble,
.vilex-chat-container .chat-bubble {
	position: absolute;
	width: 4em;
	height: auto;
}

#hero .chat-container .chat-bubble[data-for="user"],
.vilex-chat-container .chat-bubble[data-for="user"] {
	animation: pop-up-out 8s infinite ease-in-out;
	right: 7em;
}

#hero .chat-container .chat-bubble[data-for="vilex"],
.vilex-chat-container .chat-bubble[data-for="vilex"]  {
	animation: pop-up-out-alt 8s infinite ease-in-out;
	left: 7em;
}

#hero .chat-container .chat-starter, .vilex-chat-container .chat-starter {
	color: var(--clr-light); 
	font-size: var(--font-size-text); 
	opacity: .5; 
	text-align: center; 
	padding: 0 4em;
}

#hero .chat-wrapper {
	margin-top: 16em;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 100%;
	z-index: 1;
}

#hero .free-messages-counter {
	font-weight: 300;
	color: var(--clr-accent);
	border: 1px solid var(--clr-accent);
	background-color: hsl(from var(--clr-accent) h s l / 0.15);
	border-radius: 1.5em;
	padding: .6em 1.2em;
	align-self: baseline;
	font-size: calc(var(--font-size-text) * 0.8);
}

#hero #freeMessagesCounter {
	font-weight: 500;
}

#hero .chat-input-wrapper,
.vilex-chat .chat-input-wrapper {
	position: relative;
	width: 100%;
}

#hero .chat-input,
.vilex-chat .chat-input {
	padding: 1em 3.5em 1em 1em;
	border-radius: .6rem;
	border: none;
	font-size: var(--font-size-text);
	background-color: hsl(from var(--clr-light) h s l / 0.85);
	box-shadow: none;
	transition: background-color 0.3s ease, box-shadow 0.6s ease;
	color: hsl(from var(--clr-dark) h s l / 0.5);
	position: relative;
	width: 100%;
	z-index: 1;
}

.vilex-chat .chat-input {
	color: var(--clr-mid);
	background: hsl(from var(--clr-dark) h s l / 0.6);
	border: hsl(from 1px solid var(--clr-dark) h s l / 0.75);
	border-radius: 1em;
	box-shadow: none;
	padding-right: 4.2em;
	transition: background .3s ease, box-shadow .3s ease;

	&:focus, &:active {
		background: hsl(from var(--clr-dark) h s l / 0.8);
		box-shadow: 0 0 0 .1rem hsl(from var(--clr-accent) h s l / .05);
	}
}

#hero .chat-input-wrapper .chat-input:focus,
#hero .chat-input-wrapper .chat-input:active {
	background-color: hsl(from var(--clr-light) h s l / 1);
	box-shadow: 0 2px 24px 2px hsl(from var(--clr-accent) h s l / 0.5);
	outline: none;
}

#hero .chat-submit,
.vilex-chat .chat-submit {
	position: absolute;
	top: 50%;
	right: 0.8rem;
	transform: translateY(-50%);
	background-color: hsl(from var(--clr-accent) h s l / 0.85);
	border: none;
	border-radius: 0.5rem;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	cursor: pointer;
	transition: background-color .35s ease;
	z-index: 2;
}

#hero .chat-submit:hover,
.vilex-chat .chat-submit:hover {
	background-color: var(--clr-accent);
}

#hero .chat-message,
.vilex-chat .chat-message {
	width: fit-content; 
	max-width: 80%;
}

.vilex-chat-message-wrapper + .vilex-chat-message-wrapper {
	margin-top: 1.5em;
}

#hero .chat-message *,
.vilex-chat .chat-message * {
	font-size: 16px !important;
	font-family: var(--font-family) !important;
}


#hero .chat-message.vilex,
.vilex-chat .chat-message.vilex {
	font-weight: 400 !important;
}

#hero .chat-message.vilex *,
.vilex-chat .chat-message.vilex * {
	background-color: transparent !important;
	color: hsl(from var(--clr-mid) h s l / .8) !important;
	border: none !important;
	padding: 0 !important;
}

#hero .chat-message.user,
.vilex-chat .chat-message.user {
	float: right;
	text-align: right;
	background: hsl(from var(--clr-accent) h s l / 0.2);
	border-radius: 0.4em;
	padding: 0.5em 1em;
	font-weight: 500;
	color: var(--clr-mid);
	box-shadow: var(--shadow);
}

#hero .chat-suggestions {
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
}

#hero .suggestion {
	font-weight: 300;
	color: hsl(from var(--clr-mid) h s l / 0.5);
	background-color: hsl(from var(--clr-mid) h s l / 0.1);
	transition: background-color 0.3s ease;
	border-radius: .6rem;
	padding: .6em 1.2em;
	align-self: baseline;
	font-size: calc(var(--font-size-text) * 0.8);
	text-decoration: none;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 1em;
}

#hero .suggestion span {
	pointer-events: none;
}

#hero .suggestion:hover {
	background-color: hsl(from var(--clr-mid) h s l / 0.15);
	cursor: pointer;
}

#hero.chat-expanded .chat-container {
	padding: 1.5em;
	/* flex-basis: 320px; */
	max-height: 2000px;
	box-shadow: var(--box-shadow);
	transition: all .6s 0s ease-out;
	opacity: 1;
}

#hero.chat-expanded .chat-container * {
	filter: opacity(1);
	transition: filter .5s .6s ease-in-out;
}

#hero.chat-expanded .chat-container * {
	pointer-events: none;
}

#hero.hero-section .chat-container a {
	font-weight: 400;
	font-size: var(--font-size-text);
	color: var(--clr-accent);
	background-color: hsl(from var(--clr-mid) h s l / 0.05);
	border-radius: .4em;
	padding: .6em 1.2em;
	pointer-events: all;
	transition: background .2s ease-in-out;
	display: inline-block;
	margin-top: 1em;
	text-decoration: none;
}

#hero.hero-section .chat-container a:hover {
	background-color: hsl(from var(--clr-mid) h s l / 0.075);
}

/* #hero.chat-expanded .container>h1,
#hero.chat-expanded .container>p {
opacity: 0;
filter: blur(15px);
transform: translateY(30px);
} */

/* Demo */

/* #demo {
background: linear-gradient(45deg, var(--clr-mid), var(--clr-light));
}

#demo .container {
padding: 12em 2em;
}

#demo .lead {
color: var(--clr-dark);
} */

#demo .about-steps {
	display: flex;
	margin-top: 4rem;
	width: 100%;
	justify-content: space-between;
}

#demo img {
	flex: 0 1 auto;
	max-width: 27%;
	height: auto;
}

/* Stats */

#stats .lead {
	margin-top: 2.85rem;
}

#stats .stats-wrapper {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 7rem;
}

#stats .stats-item {
	text-align: center;
	flex: 0 1 28%;
}

#stats .stats-item h3 {
	font-size: calc(var(--font-size-lead) * 2.5);
	line-height: 4.5rem;
	color: var(--clr-light);
}

#stats .stats-item p {
	font-size: var(--font-size-text);
	font-weight: 300;
	color: var(--clr-mid);
	opacity: .75;
	margin-top: .5rem;
}

/* Reviews */

/* #reviews {
background: hsl(from var(--clr-mid) h s l / 0.95);
}

#reviews .container {
padding: 12em 2em;
}

#reviews h1 {
color: var(--clr-dark);
} */

#reviews .lead {
	margin-top: 2.85rem;
	/* color: var(--clr-dark); */
}

#reviews .reviews-wrapper {
	margin-top: 5rem;
	display: flex;
	gap: 2rem;
	width: 100vw;
	overflow-x: auto;
	padding-bottom: 1rem;
}

/* Contact */

#contact .lead {
	margin-top: 2.85rem;
}

#contact form {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 4rem;
	width: 100%;
}

#contact .form-group {
	flex: 1 1 calc(50% - 1rem);
	display: flex;
	flex-direction: column;
}

#contact .form-group:nth-child(3) {
	flex: 1 1 100%;
}

#contact .form-label {
	font-size: var(--font-size-text);
	font-weight: 300;
	color: var(--clr-mid);
}

#contact .form-control {
	margin-top: .6rem;
	padding: .4em .6em;
	border-radius: .6rem;
	border: none;
	outline: none;
	font-size: var(--font-size-text);
	font-weight: 300;
	background-color: hsl(from var(--clr-light) h s l / 0.1);
	box-shadow: none;
	transition: background-color 0.3s ease, box-shadow 0.6s ease;
	resize: none;
	color: hsl(from var(--clr-light) h s l / 0.85);
}

#contact .form-control:focus {
	background-color: hsl(from var(--clr-light) h s l / 0.15);
	box-shadow: 0 2px 24px 2px hsl(from var(--clr-accent) h s l / 0.1);
}

#contact button {
	margin-top: 2rem;
	padding: .4em 1.5em;
	border: none;
	border-radius: .6rem;
	/* background-color: #2e7fff; */
	background-color: hsl(from var(--clr-accent) h s l / 0.85);
	display: block;
	color: white;
	font-size: var(--font-size-text);
	font-weight: 400;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

#contact button:hover {
	background-color: var(--clr-accent);
}

/* Fade-in + stagger */

.fade-section,
.fade-item {
	opacity: 0;
	filter: blur(15px);
	transform: translateY(30px);
	transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out, filter 0.8s ease-in-out;
}

.fade-section.visible,
.fade-item.visible {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

.fade-item {
	transition-delay: var(--delay, 0s);
}

/* Back-to-top button */

#backToTop {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	background-color: hsl(from var(--clr-accent) h s l / 0.85);
	color: white;
	border: none;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
	opacity: 0;
	visibility: hidden;
	filter: blur(10px);
	transform: translateY(30px);
	transition: opacity .35s ease,
		filter .35s ease,
		transform .35s ease,
		visibility .35s ease,
		background-color .35s ease;
	z-index: 999;
}

#backToTop.show {
	opacity: 1;
	visibility: visible;
	filter: blur(0);
	transform: translateY(0);
}

#backToTop:hover {
	background-color: var(--clr-accent);
}

/* Swiper */

.vilex-swiper {
	width: 100%;
	height: 190px;
	margin-top: 4rem;
	display: block;
	list-style: none;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding: 0;
	position: relative;
	z-index: 1;
}

.vilex-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: hsl(from var(--clr-accent) h s l / 0.1);
	transition: background-color 0.5s ease;
	border-radius: 1rem;
	padding: 0 2rem;
	gap: 1rem;
}

.vilex-swiper .swiper-slide:hover {
	background-color: hsl(from var(--clr-accent) h s l / 0.15);
}

.vilex-swiper .swiper-slide p {
	margin: 0;
	font-size: var(--font-size-text);
	font-weight: 300;
	color: var(--clr-light);
}

.vilex-swiper .swiper-slide p:first-child {
	font-size: calc(var(--font-size-text) * 0.7);
	color: var(--clr-accent);
	opacity: 0.75;
}

.vilex-swiper .swiper-slide p:nth-child(2) {
	font-style: italic;
}

/* Footer */

footer {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem 2rem;
	background-color: hsl(from var(--clr-light) h s l / 0.025);
	color: hsl(from var(--clr-light) h s l / 0.5);
	font-size: calc(var(--font-size-text) * 0.75);
	font-weight: 100;
}

/* Media queries */

@media (max-width: 768px) {
	:root {
		--font-size-title: 2.2rem;
		--font-size-lead: 1.25rem;
		--font-size-text: 1rem;
		--swiper-pagination-bottom: 0.5rem;
	}

	.navbar {
		padding: .75em 1.5em !important;
	}

	.navbar [data-desktop="true"] {
		display: none;
	}

	.navbar [data-mobile="true"] {
		display: block;
		font-size: var(--font-size-lead);
	}

	.navbar img[alt="logo"] {
		height: 1.5rem;
	}

	#hero .lead {
		max-width: 100%;
	}

	#hero .chat-container .chat-animation {
		padding: 0; 
		gap: 5em;
	}

	#hero .chat-container .chat-party {
		width: 3em; 
	}

	#hero .chat-container .chat-bubble {
		width: 2em;
	}

	#hero .chat-container .chat-bubble[data-for="user"] {
		right: 4em;
	}

	#hero .chat-container .chat-bubble[data-for="vilex"] {
		left: 4em;
	}

	#hero .chat-container .chat-starter {
		padding: 0;
	}

	#hero .chat-submit {
		right: 0.3rem;
	}

	#hero .free-messages-counter {
		font-size: var(--font-size-text);
		width: 100%;
		text-align: center;
		border-radius: .6rem;
		padding: 0.8em 1.2em;
	}

	#hero .chat-suggestions {
		display: none;
	}

	#demo .about-steps {
		flex-direction: column;
		align-items: center;
		gap: 2rem;
	}

	#demo img {
		max-width: 80%;
	}

	#stats .stats-wrapper {
		flex-direction: column;
		gap: 3rem;
		align-items: center;
	}

	#stats .stats-item {
		width: min(75%, 300px);
	}

	#stats .stats-item h3 {
		font-size: calc(var(--font-size-lead) * 3.5);
		line-height: 3.5rem;
	}

	#stats .stats-item img {
		transform: translateY(10%);
	}

	.vilex-swiper {
		height: 250px;
	}

	#contact .form-group {
		flex: 1 1 100%;
	}
}

@keyframes pop-up-out {
	0% {
		opacity: 0;
		filter: blur(2px);
		transform: translateY(10%);
	}

	5% {
		opacity: .5;
		filter: blur(0px);
		transform: translateY(-10%);
	}

	45% {
		opacity: .5;
		filter: blur(0px);
		transform: translateY(-20%);
	}

	50%, 100% {
		opacity: 0;
		filter: blur(2px);
		transform: translateY(-40%);
	}
}

@keyframes pop-up-out-alt {
	0%, 50% {
		opacity: 0;
		filter: blur(2px);
		transform: translateY(10%) scaleX(-1);
	}

	55% {
		opacity: .5;
		filter: blur(0px);
		transform: translateY(-10%) scaleX(-1);
	}

	95% {
		opacity: .5;
		filter: blur(0px);
		transform: translateY(-20%) scaleX(-1);
	}

	100% {
		opacity: 0;
		filter: blur(2px);
		transform: translateY(-40%) scaleX(-1);
	}
}

/* Log-in modal */

.login-panel.no-header .modal-header {
	display: none;
}

.login-panel .modal-body,
.login-panel .modal-footer  {
	justify-content: flex-start;
	border-top: 0;
	background-color: var(--clr-bg);
	padding: .75em !important;
}

.login-panel .modal-footer .row:not(:first-child) {
	padding-top: .75em;
}

.login-panel .modal-footer>*  {
	margin: 0 !important;
}

html[data-ng-app="BpmWeb"] .modal-dialog .modal-content {
	font-family: var(--font-family, "sans-serif");
	background-color: hsl(from var(--clr-mid) h s l / 0.15);
	backdrop-filter: blur(16px);

	.modal-header {
		background-color: transparent;

		h3 {
			font-weight: 500;
			color: var(--clr-light);
		}

		button {
			transition: opacity .3s ease-in-out;

			span {
				text-shadow: unset;
				color: var(--clr-light);
			}
		}
	}

	.modal-body {
		background-color: transparent !important;
	}
}

.main-container > .login-form > .login-panel {
	position: absolute;
	top: -100vh; 
	right: 4em;
	width: 420px;
	z-index: 1;
	font-family: var(--font-family, "sans-serif");
	background-color: hsl(from var(--clr-mid) h s l / 0.15);
	border-radius: 1em;
	backdrop-filter: blur(16px);
	transform: translateY(-10%);
	filter: blur(16px);
	opacity: 0;
	transition: transform .4s ease-in-out, filter .4s ease-in-out, opacity .4s ease-in-out, top 0s .5s;

	[ng-if="data.authService.azureAdAuthEnabled"] {
		display: none !important;
	}
}

.main-container > .login-form.login-visible  > .login-panel {
	top: 6em;
	transform: translateY(0);
	filter: blur(0);
	opacity: 1;
	transition: top 0s, transform .4s .1s ease-in-out, filter .4s .1s ease-in-out, opacity .4s .1s ease-in-out;
}

.login-panel, .vilex-form {
	.modal-body {
		background-color: transparent !important;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		gap: 0.75em;

		.custom-checkbox-primary .custom-control-input:checked~.custom-control-label::before {
			border-color: var(--clr-accent);
			background-color: var(--clr-accent);
		}
	}

	.modal-footer {
		background-color: transparent;
	}

	.btn-primary {
		background-color: hsl(from var(--clr-accent) h s l / .8);
		border-color: hsl(from var(--clr-accent) h s l / .8);
		box-shadow: var(--shadow);

		&:hover {
			background-color: var(--clr-accent);
			border-color: var(--clr-accent);
		}
	}

	.control-label {
		color: hsl(from var(--clr-light) h s l / 0.5);
	}
	
	h5 {
		/* color: var(--clr-accent); */
		color: var(--clr-mid);
	}

	.form-control {
		padding: .5em .75em;
		border-radius: .5em;
		color: var(--clr-mid);
		background: hsl(from var(--clr-dark) h s l / 0.4);
		border: hsl(from 1px solid var(--clr-dark) h s l / 0.75);
		margin-top: .4em;
		height: auto;

		&:focus {
			box-shadow: 0 0 0 .2rem hsl(from var(--clr-accent) h s l / .35);
		}
	}
}

.vilex-form {
	padding: 1em;
	border-radius: 1em;
	background-color: hsl(from var(--clr-dark) h s l / 0.75);
	backdrop-filter: blur(16px);
	
	.form-control {
		background: hsl(from var(--clr-mid) h s l / 0.05);
	}
	
	.form-control.has-error {
		border: 1px solid darkred;
	}
}

.blockUI.blockOverlay {
	background-color: hsl(from var(--clr-light) h s l / .15) !important;
	border-radius: 2em;
}

.side-menu-wrapper hr {
	width: 80%;
	margin: .8em auto !important;
	border-color: hsl(from var(--clr-mid) h s l / 0.15);
}

.prompt-history {
	opacity: .9;
}

.side-menu .nav-item,
.prompt-history .nav-item {
	padding: .25em 1em;
	/* font-size: 1.25em;
	font-weight: 100; */
	font-weight: 300;

	.nav-link {
		color: var(--clr-mid);
		border-radius: .5em;
		padding-left: 1.45em;
		transition: background-color .3s ease, color .3s ease; 

		&:focus, &:hover {
			background-color: hsl(from var(--clr-mid) h s l / .05);
			color: var(--clr-light);
		}

		div:first-child {
			display: flex;
			align-items: center;
			opacity: .75;
			margin-right: .5em;
		}
	}
}

div[ng-include="'app/views/parts/userMenu.html'"] .dropdown-menu {
	background-color: #10100d;
	margin-top: 1.4em;
	border-radius: 0.75em;

	.dropdown-item {
		color: hsl(from var(--clr-mid) h s l / .7);
		background-color: transparent;
		transition: color .3s ease, background-color .3 ease;

		&:hover {
			background-color: hsl(from var(--clr-mid) h s l / .05);
			color: hsl(from var(--clr-mid) h s l / .85)
		}
		
		&:last-child {
			color: var(--clr-pink-65);
		}
	}
	
	.dropdown-divider {
		border-color: hsl(from var(--clr-mid) h s l / .25) !important;
	}
}

.vilex-chat-header {
	display: flex;
	align-items: center;
	color: var(--clr-mid);
	font-weight: 400;
	gap: 1em;
	--progress-bar-width: 20px;
	--progress-bar-height: 20px;
	--progress-bar-color: var(--clr-mid);

	/* background: hsl(from var(--clr-mid) h s l / .05);
	padding: 0.5em;
	border-radius: 0.5em; */

	.message-counter-circle {
		width: var(--progress-bar-width);
		height: var(--progress-bar-height);
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;

		.message-counter-inner-circle {
			/* position: absolute; */
			width: calc(var(--progress-bar-width) - 4px);
			height: calc(var(--progress-bar-height) - 4px);
			border-radius: 50%;
			background-color: #0b110a;
		}
	}
}

.btn-google-login {
    border: none;
    background: hsl(from var(--clr-mid) h s l / .25);
    color: var(--clr-light);
	
	&:hover {
		background: hsl(from var(--clr-mid) h s l / .35);
	}
}