.bg-blue{
    background: radial-gradient(97.73% 97.73% at 50% 50%, #4CEBF3 0%, #007bb3 49.48%, #0B648F 100%);    
    position: relative;
    overflow: hidden;
}
.bg-blue h1{
    font-weight: bold;
    font-size: 2.2em;
    color: #FFF;
    padding: 1.3em 0;
    text-align: center;
    text-shadow: 2px 2px 1px #0077ad;
    z-index: 1;
    position: relative;
}
.margin-top-custom{
	margin-top: 97px !important;
}

.h-custom{
	height: 600px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-response strong{
    font-weight: bold;
}
.chat-response ul br{
    display: none;
}
.chat-response ul li{
    list-style: disc;
}
.chat-response pre{
    background: #012534;
    padding: 1em;
    border-radius: 8px;
    border: 1px solid #0b6891;
}
#download-chat,#clean-chat{
    position: absolute;
    color: #FFF;
    top: -50px;
    left: 14px;
    padding: 1em 2em;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    border: 2px solid #08a8f1;
    border-bottom: 0;
    background: linear-gradient(180deg, #003952 0%, rgba(4, 104, 148, 0) 100%);
}
#download-chat:hover{
    cursor: pointer;
    background: #0090d3;
}
#clean-chat{
    left: 220px;
    background: linear-gradient(180deg, #e91e27 0%, rgb(167 11 0 / 29%) 100%);  
}
#clean-chat:hover{
    cursor: pointer;
    background: linear-gradient(180deg, #ff000b 0%, rgb(247 16 0 / 55%) 100%);
}
.chat-audio{
    position: absolute;
    right: 15px    
}
.chat-audio img:hover{
    cursor: pointer;
}
h1,p,a,ul,li,span,div{
    font-family: 'Open Sans', sans-serif;
}
h2,h3,h4,h5,h6,button{
    font-family: 'Montserrat', sans-serif;
}


#overflow-chat{
    overflow-y: auto;
    height: 100%;
}
#chat-frame{
    background: #026089c7;
    border: 2px solid #08a8f1;
    border-radius: 9px;
    padding: 1.2em;
    height: 600px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
	margin-top: 68px;
}

.chat{
    box-sizing: border-box;
    background: #003c56;
    padding: 16px 20px;
    border-radius: 5px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: row;
    gap: 0 20px;
    align-items: center;
    position: relative;
}
.chat .name{
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2em;
    font-weight: bold;    
    color: #73d5ff;
    margin-bottom: 0.2em;
}
.chat-response{
    font-family: 'Open Sans', sans-serif;
    color: #FFF;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    padding-right: 3em;
}
.chat-response .author{
    font-weight: 300;
    color: #98e2ff;
    font-size: 14px;
}
.border-character{
    border-left: 6px solid;
}
.border-you{
    border-left: 6px solid #00a7f5;
}

.avatar-chat img{
    border-radius: 50%;
	max-width: 50px;
}

.container-flex{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex-direction: column;
    margin: 0 auto;
    position: relative;
    max-width: 1200px;
}
.chat-input{
    background: #00293a;
    border: 2px solid #08a8f1;
    border-radius: 9px;
    padding: 1.2em;
    width: 100%;
    gap: 10px;
    margin-top: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.character-typing{
    position: absolute;
    width: 100%;
    background: #0887ba;
    color: #FFF;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 1.3em;
    justify-content: center;
    display: none;
    font-weight: normal;
}
.character-typing span{
    font-weight: bold;
    padding: 0 0.2em;
}
.input{
    flex-basis: 90%;
}
.chat-input textarea{
	border: 0;
    width: 100%;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    resize: none;
    height: 100%;
    margin-bottom: 0;
}
button:disabled,
button[disabled]{
    opacity: 0.5;
}
textarea:focus{
    outline: none;
    border: none;
}
.submit{
    flex-basis: 10%;
    background: #4caf50;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    border: 0;
    border-bottom: 4px solid #276029;
    height: 70px;
    min-width: 100px;
    width: 100px;
}
.submit span{
    font-family: 'Open Sans', sans-serif;
    color: #FFF;
    font-weight: bold;
    font-size: 1.2em;    
}
.submit:hover, .submit:focus{
    background: #2d9b32;
    cursor: pointer;
}

#bg-star{
    background: radial-gradient(97.73% 97.73% at 50% 50%, #4CEBF3 0%, #007bb3 49.48%, #0B648F 100%);    
    top:0;
    bottom: 0;
}
button:hover{
    cursor: pointer;
}
#feedback{
    display: none;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 0.8em 0;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    color: #FFF;
    font-size: 1.2em;
    z-index: 99999;
}
.bg-error{
    background: #cb180bd1;
}
.bg-wait{
    background:blue;
}
.chat-container{
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.chat-response strong{
    font-weight: bold;
}
.chat-response ul br{
    display: none;
}
.chat-response ul li{
    list-style: disc;
}
.chat-response pre{
    background: #012534;
    padding: 1em;
    border-radius: 8px;
    border: 1px solid #0b6891;
}
#download-chat,#clean-chat{
    position: absolute;
    color: #FFF;
    top: -60px;
    left: 14px;
    padding: 1em 1.2em;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    border: 2px solid #08a8f1;
    border-bottom: 0;
    background: linear-gradient(180deg, #003952 0%, rgba(4, 104, 148, 0) 100%);
}
#download-chat:hover{
    cursor: pointer;
    background: #0090d3;
}
#clean-chat{
    left: 220px;
    background: linear-gradient(180deg, #e91e27 0%, rgb(167 11 0 / 29%) 100%);  
}
#clean-chat:hover{
    cursor: pointer;
    background: linear-gradient(180deg, #ff000b 0%, rgb(247 16 0 / 55%) 100%);
}
.chat-audio{
    position: absolute;
    right: 15px    
}
.chat-audio img:hover{
    cursor: pointer;
}
.swiper-button-next, .swiper-button-prev{
	width: auto;
}
.swiper-button-next,.swiper-button-prev{
	height: 100px !important;
}
#load-character svg{
    margin: 0 auto;
    transform: scale(2.5);	
}
/* Small only */
@media screen and (max-width: 39.9375em) {
	#clean-chat img, #download-chat img{
		display: none;
	}
	#clean-chat b{
		display: none;
	}
	.character-name h3 {
	    font-size: 1.4em;
	    font-weight: bold;
	    text-align: center;
	    padding: 10px;
	    margin: 0;
	}
	.character-description p{
		padding-top: 0;
		font-size: 16px;
	}	
	.character-button{
		margin:0.2em 0;
	}
	.character-button span{
		font-size: 1em;
		padding: 0.7em 0em;
	}
	#download-chat, #clean-chat{
	    position: absolute;
	    top: -51px;
	    left: 0;
	    padding: 1em 1em;
	    font-size: 14px;
	}
	#download-chat{
	    border-radius: 0 10px 0 0;
	    left: 0;
	    border-left: 0;
	}
    #clean-chat {
	    left: 40px;
	    right: 0;
	    margin: 0 auto;
	    width: 90px;
	    text-align: center;
    }	
    #feedback{
    	bottom: 168px;
    	padding: 10px 1em;
    }
    .border-you{
    	flex-direction: row !important;
    }
	.close-button{
		border-right: 0;
		top: 0;
	    position: absolute;
	    color: #FFF;
	    display: inline-block;
	    font-weight: bold;
	    border-radius: 10px 0px 0 0;
	    border: 2px solid #08a8f1;
	    border-bottom: 0;
	    background: black;
	    right: 0px;
	    width: 100px;
	    left: auto;
	    text-align: center;
	    padding: 1em 1em;
	    font-size: 16px;	
	    border-right: 0;	
	}    
	header{
		position: inherit;
	}
	.margin-top-custom{
		margin-top: 0 !important;
	}
	.logo {
	    height: 45px;
	}
	.bg-blue h1{
		font-size: 1.5em;
		padding: 1.4em 2em;
	}
	.character-avatar img{
		max-height: 120px;
	}
	.character-avatar{
		min-height: 120px;
	}
	.swiper-button-next, .swiper-button-prev{
		display:none;
	}
	.chat{
		flex-direction: column;
		align-items: flex-start;
	}
	.chat-response{
		padding-right: 0;
		font-size: 14px;
	}
	#chat-frame{
		position: fixed;
		top:50px;
		height: calc(100vh - 400px);
		border-radius: 7px;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
		margin-top: 200px;
	}
	.chat-input{
		margin-top: 0;
	    border-radius: 0;
	    position: fixed;
	    bottom: 0;
	    border: 0;
	    padding: 1em;
	    flex-direction: column;
	}
	.input{
		width: 100%;
	}
	.submit{
	    width: 100%;
	    display: block;
	    padding: 1em 0;;
	}
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {

}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {

}

/* Large and up */
@media screen and (min-width: 74.9376em) and (max-width: 104.9375em) {

}
