/*         ______  ____  ____  _   _____ 
//        / / __ \/ __ \/ __ \/ | / /   |
//   __  / / / / / / / / /_/ /  |/ / /| |
//  / /_/ / /_/ / /_/ / _, _/ /|  / ___ |
//  \____/\____/\____/_/ |_/_/ |_/_/  |_|
//
// Guest comunication AI manager
// 2024 - 10 - 23
// Luca Perini                                   
*/


:root{
	--joo-color-1:#775CFF;
	--joo-color-2:#FF0;
	--joo-chat-top:unset;
	--joo-chat-right:50px;
	--joo-chat-bottom:50px;
	--joo-chat-right-mobile:50px;
	--joo-chat-bottom-mobile:50px;
	--joo-chat-left:unset;
	--joo-chat-left-mobile:unset;
}

body{
	padding:0;
	margin:0;
	background-color:var(--black, #000);
	color:var(--black, #000);

	background-image: url("https://serenella.base.studio/wp-content/uploads/2024/10/laserenella-hotel-3-stelle-moena-colazione-pancakes.jpg");
  background-position: cover;
  background-repeat: no-repeat;
  background-color: rgb(244, 241, 239);
}

#joorna{
	font-family: "Urbanist", sans-serif;
	position:fixed;
	width:480px;
	height:100vh;
	height:calc(100svh - (var(--joo-chat-bottom) * 2));
	z-index:100000000;
	right:var(--joo-chat-right);
	bottom:var(--joo-chat-bottom);
	left:var(--joo-chat-left);
}

@media only screen and (max-width:560px){
	#joorna{
		width:calc(100% - var(--joo-chat-right-mobile) - :var(--joo-chat-left-mobile));
		height:calc(100svh - (var(--joo-chat-bottom-mobile) * 2));
		right:var(--joo-chat-right-mobile);
		bottom:var(--joo-chat-bottom-mobile);
		left:var(--joo-chat-left-mobile);
	}
}

#joorna * {
    box-sizing: border-box; 
}


#joorna-launcher{
	width:60px;
	height:60px;
	bottom:0;
	right:0;
	position: absolute;
	background-color:var(--joo-color-2);
	color:var(--joo-color-1);
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.08);
	border-radius:5px;
	transition:all 0.4s;
	cursor:pointer;
	display:grid;
	align-items: center;
	justify-content: center;
	overflow:hidden;
	opacity: 1;
}
#joorna-launcher:hover{
	background-color:var(--joo-color-1);
	color:var(--joo-color-2);
}
#joorna-launcher svg{
	width:80%;
	display: block;
	margin:auto;
}

#joorna-launcher.hide{
	opacity:0;
	pointer-events: none;
}

@media only screen and (max-width:560px){
	#joorna-launcher{
		width:50px;
		height:50px;
	}
}




#joorna-chat{
	width:100%;
	height:100%;
	position: absolute;
	padding:50px 0px 0px 20px;
	background-color:rgba(200, 200, 200, 0.5);
	backdrop-filter: blur(12px);
	border-radius:20px;
	box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	bottom:0;
	right:0;
	transition:all 0.4s;
	opacity: 1;
}
#joorna-chat.hide{
	width:0px;
	height: 0px;
	padding:0px 0px 0px 20px;
	opacity: 0;
}


#joorna .chat-close{
	width:24px;
	height: 24px;
	top:12px;
	right:18px;
	position: absolute;
	cursor:pointer;
}
#joorna .chat-close .b{
	width:25px;
	height:2.5px;
	border-radius: 10px;
	background-color: var(--joo-color-1);
	top:50%;
	left:0;
	position: absolute;
}
#joorna .chat-close .b:nth-child(1){
	transform:rotate(45deg);
}
#joorna .chat-close .b:nth-child(2){
	transform:rotate(-45deg);
}



#joorna .input-box{
	width:calc(100% - 40px);
	position:absolute;
	bottom:45px;
	z-index:5;
}
#joorna .input-box .chat-bar{
	width:100%;
	border-radius:100px;
	margin:auto;
	position: relative;
	overflow: hidden;
	transition:all 0.8s;
}
@media only screen and (max-width:560px){
}

#joorna .input-box .chat-bar .marquee-placeholder-box{
	width:calc(100% - 52px);
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	pointer-events:none;
	overflow:hidden;
	opacity:1;
	transition:all 0.2s;
}
#joorna .input-box .chat-bar .marquee-placeholder-box.hide{
	opacity:0;
}

#joorna .input-box .chat-bar .marquee-placeholder{
	width:max-content;
	height:100%;
	display:flex;
	align-items:center;
	color:var(--joo-color-1, #000);
	pointer-events:none;
	animation:marquee 10s infinite;
}
#joorna .input-box .chat-bar .marquee-placeholder .label{
	width:max-content;
	padding:0 15px;
	font-size:12px;
}

@keyframes marquee {
  from { transform: translateX(0%); }
  to { transform: translateX(-50%); }
}


#joorna .input-box .chat-bar input{
	width:100%;
	font-family: inherit;
	padding:16px 55px 16px 16px;
	background-color:#FFF;
	border:0px;
	border-radius:100px;
	font-size:16px;
	font-weight:500;
	color:var(--joo-color-1, #000);
	transition:all 0.4s;
}
#joorna .input-box .chat-bar input:focus-visible {
  	outline: none;
  	background-color:rgba(255, 255, 255, 0.9);
}

#joorna .input-box .chat-bar button{
	position:absolute;
	width:40px;
	height:40px;
	border-radius:50%;
	top:6px;
	right:6px;
	border:0;
	background-color:var(--joo-color-1, #FFF);
	color:var(--white, #FFF);
	display: grid;
	align-items:center;
	justify-content: center;
	cursor:pointer;
	transition:all 0.4s;
	z-index:3;
}
#joorna .input-box .chat-bar button .arrow{
	width:28px;
	transform:scale(1);
	transition:all 0.4s;
	transition-delay:0.1s;
}

#joorna .input-box .chat-bar button:hover{
	background-color:var(--joo-color-2, #000);
	color:var(--joo-color-1, #000);
}
#joorna .input-box .chat-bar button:hover .arrow{
	transform:scale(1.2);
}



#joorna .input-box .input-loader{
	position:absolute;
	width:40px;
	height:40px;
	border-radius:50%;
	top:6px;
	right:6px;
	border:0;
	background-color:var(--joo-color-1, #FFF);
	display: grid;
	align-items:center;
	justify-content: center;
	transition:all 0.4s;
	z-index:3;
	pointer-events:none;
	opacity:0;
}
#joorna .input-box .input-loader .box{
	width:30px;
	height:30px;
	overflow:hidden;
}

#joorna .input-box .input-loader .box .circle{
	width:18px;
	height:18px;
	border-radius:50%;
	border:7px solid var(--joo-color-2, #FFF);
	margin:0 auto 2px;
}

#joorna .input-box .input-loader .box-animation{
	height: fit-content;
	animation:loader 3s infinite;
}

@keyframes loader {
  from { transform: translateY(0%); }
  to { transform: translateY(-50%); }
}



#joorna .input-box.waiting .chat-bar{
	width:52px;
	pointer-events:none;
}
#joorna .input-box.waiting .input-loader{
	opacity:1;
}








#joorna .copyrights{
	width:calc(100% - 40px);
	position:absolute;
	bottom:16px;
	z-index:2;
	color:var(--white, #FFF);
	font-size:10px;
	line-height:1;
	text-align: center;
}
#joorna .copyrights .text{
	width: fit-content;
	margin:auto;
	display: flex;
	align-items: end;
	gap:10px;
}
#joorna .copyrights .text .logo{
	width:45px;
	display: block;
}




#joorna .container{
	width:100%;
	height:100%;
	margin:auto;
	padding:0px 0px 110px;
	position: relative;
	z-index:2;
}

@media only screen and (max-width:560px){
	#joorna .container{
		padding:0px 0px 120px;
	}
}


#joorna .container .scroll-container{
	height:100%;
	overflow-y:scroll;
	scrollbar-color: var(--joo-color-1, #000) transparent;
}

#joorna .container .chat-loader{
	font-size:14px;
	line-height:1;
	color:var(--white, #FFF);
	display:flex;
	gap:5px;
	align-items:end;
	margin-top:10px;
	opacity:1;
	transition:all 0.5s;
}
#joorna .container .chat-loader.hide{
	opacity:0;
}

#joorna .container .chat-loader .dot-box{
	display:flex;
	gap:3px;
	margin-bottom:2px;
}
#joorna .container .chat-loader .dot-box .dot{
	width:3px;
	height:3px;
	border-radius:50%;
	background-color:var(--white, #FFF);
	animation:dot 1.5s infinite;
}
#joorna .container .chat-loader .dot-box .dot:nth-child(1){
	animation-delay:0s;
}
#joorna .container .chat-loader .dot-box .dot:nth-child(2){
	animation-delay:0.2s;
}
#joorna .container .chat-loader .dot-box .dot:nth-child(3){
	animation-delay:0.4s;
}


@keyframes dot {
  0% { transform: translateY(0%); }
  50% { transform: translateY(-4px); }
}


#joorna-chat-container{
	display:grid;
	grid-gap:15px;
}

#joorna .container .question{
	font-size:20px;
	color:var(--joo-color-1);
	margin-top:20px;
	opacity:0;
	transition:all 1s;
	transition-delay:0.1s;
}
#joorna .container .question.loaded{
	margin-top:0px;
	opacity:1;
}

@media only screen and (max-width:560px){
	#joorna .container .question{
		font-size:18px;
	}
}


#joorna .container .answer{
	padding: 16px;
	line-height:1.5;
	background-color: var(--white, #FFF);
	border-radius: 6px;
	margin-left:0px;
	margin-right:10px;
	width:calc(100% - 20px);
	font-size: 16px;
	color: var(--joo-color-1, #000);
	margin-top:15px;
	opacity:0;
	transition:all 1s;
	transition-delay:0.1s;
}
#joorna .container .answer.loaded{
	margin-top:0px;
	opacity:1;
}

@media only screen and (max-width:560px){
	#joorna .container .answer{
		font-size:14px;
	}
}


#joorna .container .answer .credits{
	font-size: 10px;
	color: var(--joo-color-1, #000);
	margin-top:5px;
	opacity:0;
	transition:all 0.5s;
}
#joorna .container .answer .credits a{
	color: inherit;
}
#joorna .container .answer.full-loaded .credits{
	opacity:0.7;
}



#joorna .container .welcome{
	margin-bottom:20px;
}

#joorna .container .preset{
	padding: 16px;
	background-color: var(--joo-color-1);
	color:var(--white, #FFF);
	border-radius: 50px;
	margin-left:20px;
	font-size: 14px;
	margin-top:5px;
	padding:8px 10px;
	cursor:pointer;
}




#joorna .open-icon path{
  fill: var(--joo-color-1);
}




/* THVjYSBQZXJpbmkgMjAyNC0xMC0yMw */



