.ai_reflection_field {
	margin-bottom: 2rem;
}

.ai_reflection_field .wp-editor-wrap, .ai_reflection_field input {
	margin-bottom: 1rem;
}

.button.ai_reflection_suggest_button {
	padding: 0.35rem 1rem;
	background: #683577;
	display: inline-block;
	margin: 0.5rem 0;
	cursor: pointer;
}

.button.ai_reflection_suggest_button:hover {
	background: #4a2257;
}

.button.ai_reflection_suggest_button:before {
	display: none;
}

.ai_reflection_suggest_button .ai_reflection_button_text:before {
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background: url('../images/artificial-intelligence.png');
	background-size:cover;
	vertical-align: text-bottom;
	margin-right: .5rem;
}

.ai_reflection_field {
	background-color: #F5F5F5;
	padding: 1rem;
}

.ai_reflection_success_message {
	display: none;
	padding: 0.5rem;
	background-color: #4f8347;
	color: #FFF;
	text-align: center;
	margin-bottom: 1rem;
}

.ai_reflection_field a.ai_reflection_clear_button {
	float: right;
	display: block;
	margin-top: 1.25rem;
	color: #999;
	margin-right: 0.25rem;
	font-size: 0.8em;
	text-decoration: underline;
}

.ai_reflection_field a.ai_reflection_clear_button:hover {
	color: #333;
	text-decoration: underline;
}

.ai_reflection_field.active .ai_reflection_edit_button {
	display: none;
}

.ai_reflection_field.locked .ai_reflection_submit_button, .ai_reflection_field.locked .ai_reflection_suggest_button, .ai_reflection_field.locked .ai_reflection_clear_button {
	display: none;
}

.ai_reflection_field.locked .igniteai_reflection_voice_options {
	display: none;
}

.ai_reflection_field.locked .wp-editor-container {
	opacity: 0.3;
	pointer-events: none;
}

.ai_conversation-content-style {
	background-color: #D9D9D9;
	padding: 2rem;
	margin-bottom: 2rem;
	overflow: hidden;
}

textarea.ai_conversation_user_message {
	width: 100%;
	min-height: 65px;
}

.ai_conversation-content-style.scenario-wrapper label {
	color: #FFF;
}

.ai_conversation-content-style.scenario-wrapper .ai-conversation {
	height: 550px;
	background-color: rgba(255,255,255,0.8);
	margin-bottom: 1rem;
	overflow: auto;
}

.ai-conversation .ai-conversation-item {
	margin: 1.5rem 5%;
	position: relative;
	width: 70%;
}


.ai-conversation .ai-conversation-item .ai-conversation-item-bubble {
	display: block;
	padding: 1rem;
	background-color: #333;
	border-radius: 0.5rem;
	box-shadow: 3px 3px 3px #444;
	position: relative;
}

.ai-conversation-item .ai-conversation-them .ai_conversation-assistant-response {
	position: absolute;
	top: 50%;
	transform: translateY(-40%);
	text-align: center;
}

.ai-conversation .ai-conversation-item.theirs {
	float: left;
}

.ai-conversation .ai-conversation-item.theirs .ai-conversation-item-bubble {
	background-color: #333333;
	margin-left: 2rem;
	color: #FFF;
	border-right-color: #333333;
}

.ai-conversation .ai-conversation-item.theirs .ai-conversation-item-bubble:after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-right-color: inherit;
	border-left: 0;
	border-top: 0;
	margin-top: -10px;
	margin-left: -20px;
}

.ai-conversation .ai-conversation-item.mine {
	float: right;
}

.ai-conversation .ai-conversation-item.mine .ai-conversation-item-bubble {
	background-color: #666;
	margin-right: 2rem;
	color: #FFF;
	border-left-color: #666;
}

.ai-conversation .ai-conversation-item.mine .ai-conversation-item-bubble:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-left-color: inherit;
	border-right: 0;
	border-top: 0;
	margin-top: -10px;
	margin-right: -20px;
}

.button.ai_conversation_analyse {
	display: inline-block;
	margin: 1rem 0 0 0;
}

.igniteai_voice_options {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0.5rem 0 0;
	font-size: 0.85em;
}

.igniteai_conversation_mode_controls {
	display: flex;
	justify-content: flex-end;
	gap: 0.4rem;
	margin-bottom: 0.75rem;
}

.ai_conversation-content-style .igniteai_conversation_mode_button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 0.3rem;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 0.35rem 0.7rem;
	border: 1px solid #777;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: #333;
	font-size: 0.82rem;
	line-height: 1;
}

.ai_conversation-content-style .igniteai_conversation_mode_button.button.is-active {
	background: #333;
	color: #FFF;
}

.igniteai_button_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
	line-height: 1;
}

.igniteai_button_icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.igniteai_voice_record_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
}

.igniteai_voice_record_button .igniteai_button_icon {
	width: 1.35rem;
	height: 1.35rem;
}

.igniteai_voice_stage {
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	--igniteai-voice-accent: var(--wp--preset--color--primary, #2b8f7f);
	--igniteai-voice-accent-glow: rgba(43, 143, 127, 0.52);
	min-height: 260px;
	padding: 2rem;
	margin-bottom: 1rem;
	background: #111018;
	color: #FFF;
	text-align: center;
	overflow: hidden;
}

.scenario-wrapper.igniteai_voice_interface .igniteai_voice_stage {
	display: flex;
	cursor: pointer;
}

.scenario-wrapper.igniteai_voice_state_speaking .igniteai_voice_stage,
.scenario-wrapper.igniteai_voice_state_thinking .igniteai_voice_stage {
	cursor: default;
}

.igniteai_voice_wave {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	height: 4.5rem;
}

.igniteai_voice_wave span {
	display: block;
	width: 1.1rem;
	height: 2.35rem;
	border-radius: 999px;
	background: var(--igniteai-voice-accent);
	box-shadow: 0 0 1.25rem var(--igniteai-voice-accent-glow);
	animation: igniteaiVoiceIdle 1.7s ease-in-out infinite;
}

.igniteai_voice_wave span:nth-child(2) {
	animation-delay: 0.08s;
}

.igniteai_voice_wave span:nth-child(3) {
	animation-delay: 0.16s;
}

.igniteai_voice_wave span:nth-child(4) {
	animation-delay: 0.24s;
}

.igniteai_voice_wave span:nth-child(5) {
	animation-delay: 0.32s;
}

.igniteai_voice_stage_state {
	min-height: 1.4rem;
	margin-top: 1rem;
	color: rgba(255,255,255,0.72);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0;
}

.igniteai_voice_stage_controls {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-top: 1.15rem;
}

.ai_conversation-content-style .igniteai_voice_stage_controls .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 0.75rem 1.1rem;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.36);
	background: #FFF;
	box-shadow: none;
	color: #111018;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
}

.ai_conversation-content-style .igniteai_voice_stage_controls .igniteai_voice_end_button {
	display: none;
	background: transparent;
	color: #FFF;
}

.scenario-wrapper.igniteai_voice_conversation_started .igniteai_voice_stage_controls .igniteai_voice_start_button {
	display: none;
}

.scenario-wrapper.igniteai_voice_conversation_started .igniteai_voice_stage_controls .igniteai_voice_end_button {
	display: inline-flex;
}

.scenario-wrapper.igniteai_voice_state_listening .igniteai_voice_wave span {
	animation-name: igniteaiVoiceListening;
	animation-duration: 0.86s;
}

.scenario-wrapper.igniteai_voice_state_speaking .igniteai_voice_wave span {
	animation-name: igniteaiVoiceSpeaking;
	animation-duration: 0.72s;
}

.scenario-wrapper.igniteai_voice_state_thinking .igniteai_voice_wave span {
	animation-name: igniteaiVoiceThinking;
	animation-duration: 1.2s;
}

.scenario-wrapper.igniteai_voice_state_paused .igniteai_voice_wave span {
	animation-play-state: paused;
	opacity: 0.48;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation {
	height: auto;
	min-height: 150px;
	max-height: 230px;
	padding: 0.25rem 0;
	overflow: auto;
	scroll-behavior: smooth;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item {
	display: none;
	float: none;
	clear: both;
	width: 88%;
	max-width: 780px;
	margin: 0.75rem auto;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item.igniteai_voice_focus {
	display: block;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item.igniteai_voice_focus:not(.igniteai_voice_focus_latest) {
	opacity: 0.62;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item .ai-conversation-item-bubble {
	margin-left: 0;
	margin-right: 0;
	box-shadow: none;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item .ai-conversation-item-bubble {
	display: block;
	overflow: visible;
}

.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item.theirs .ai-conversation-item-bubble:after,
.scenario-wrapper.igniteai_voice_interface .ai-conversation .ai-conversation-item.mine .ai-conversation-item-bubble:after {
	display: none;
}

@keyframes igniteaiVoiceIdle {
	0%, 100% {
		transform: scaleY(0.72);
		opacity: 0.74;
	}
	50% {
		transform: scaleY(1);
		opacity: 1;
	}
}

@keyframes igniteaiVoiceListening {
	0%, 100% {
		transform: scaleY(0.55);
	}
	50% {
		transform: scaleY(1.32);
	}
}

@keyframes igniteaiVoiceSpeaking {
	0%, 100% {
		transform: scaleY(0.5);
	}
	40% {
		transform: scaleY(1.55);
	}
	70% {
		transform: scaleY(0.85);
	}
}

@keyframes igniteaiVoiceThinking {
	0%, 100% {
		transform: scaleY(0.62);
		opacity: 0.46;
	}
	50% {
		transform: scaleY(0.95);
		opacity: 0.92;
	}
}

.ai_conversation_form.igniteai_voice_mode .igniteai_conversation_text_cell,
.ai_conversation_form.igniteai_voice_mode .igniteai_conversation_send_cell,
.ai_conversation_form.igniteai_voice_mode .igniteai_voice_record_cell {
	display: none;
}

.ai_conversation_form.igniteai_no_typed_interactions .igniteai_conversation_text_cell,
.ai_conversation_form.igniteai_no_typed_interactions .igniteai_conversation_send_cell,
.ai_conversation_form.igniteai_no_spoken_interactions .igniteai_voice_record_cell,
.ai_conversation_form.igniteai_no_spoken_interactions .igniteai_voice_options {
	display: none;
}

.ai_conversation_form.igniteai_voice_mode .igniteai_voice_options label,
.ai_conversation_form.igniteai_voice_mode .igniteai_voice_disclosure {
	display: none;
}

.igniteai_reflection_voice_options {
	margin: 0 0 1rem;
}

.igniteai_voice_options label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	color: inherit;
}

.igniteai_voice_disclosure,
.igniteai_voice_status {
	color: #555;
}

.igniteai_voice_transcript_preview {
	color: #333;
	font-style: italic;
}

.igniteai_voice_record_button.is-recording {
	background: #9f2f2f;
	color: #FFF;
}

.ai_conversation-content-style .igniteai_voice_options {
	color: #333;
}

.ai_conversation-content-style .igniteai_voice_status,
.ai_conversation-content-style .igniteai_voice_disclosure {
	color: #555;
}

.add-ai-assistant-popup .ai-conversation .ai-conversation-item.theirs .ai-conversation-item-bubble:after {
	border: 10px solid transparent;
	border-right-color: inherit;
	border-left: 0;
	border-top: 0;
	margin-left: -8px;
}

.add-ai-assistant-popup .ai-conversation .ai-conversation-item.mine .ai-conversation-item-bubble:after {
	border: 10px solid transparent;
	border-left-color: inherit;
	border-right: 0;
	border-top: 0;
	margin-top: -10px;
	margin-right: -8px;
}

.ai_conversation_form .input-group {
	background-color: #FFF;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
	margin-bottom: 0;
}

.ai_conversation_form .input-group .input-group-button {
	padding: 0.5rem 1rem;
	cursor: pointer;
}

.ai_conversation_form .input-group .input-group-button .fa-paper-plane {
	font-size: 1.2em;
	color: #999;
}

.ai_conversation_form .input-group .ai_conversation_user_message {
	border: none;
	box-shadow: none;
	resize: none;
	margin-bottom: 0;
}

.scenario-avatar-container img {
	max-width: 60px;
	height: auto;
	border-radius: 50%;
}

.ai-conversation .ai-conversation-item.chat-loading .ai-conversation-item-bubble {
	width: 50px;
}

.ai-conversation .ai-conversation-item.chat-loading .ai-conversation-item-bubble p {
	margin-bottom: 0;
}

.ai-assistant-panel-toggle {
	background-color: #3276B1;
	color: #FFF;
	max-width: 310px;
	padding: 0.25rem 1rem;
	position: absolute;
	top: -53px;
	right: 20px;
	transition: background 0.25s ease-in-out;
	cursor: pointer;
	border-bottom: none;
	border-top-left-radius: 0.5rem;
	border-top-right-radius: 0.5rem;
	width: 100%;
}

.ai-assistant-panel-toggle:after {
	background-image: url("../images/up-arrow.png");
	background-repeat: no-repeat;
	background-size: 1rem auto;
	background-size: cover;
	content: "";
	width: 1rem;
	height: 1rem;
	display: inline-block;
	margin-top: 1.25rem;
	float: right;
}

.ai-assistant-panel-toggle-assistant-details {
	display: block;
	width: 80%;
	float: left;
	height: 50px;
	overflow: hidden;
}

.ai-assistant-panel-toggle-assistant-details img {
	border-radius: 50%;
	margin-top: 0.15rem;
	border: solid 2px #FFF;
	max-width: 40px;
}

.ai-assistant-panel-toggle-assistant-details {
	white-space: nowrap;
}

.ai-assistant-panel-toggle:hover {
	color: #FFF;
}

#ai-assistant-panel.active .ai-assistant-panel-toggle:after {
	background-image: url("../images/down-arrow.png");
}

.ai-assistant-panel {
	padding: 1rem;
	z-index: 10;
	background: #3276B1;
	max-width: 450px;
	height: 370px;
	position: fixed;
	bottom: -370px;
	right: 20px;
	transition: bottom 0.5s ease-in-out;
	border-top-left-radius: 0.5rem;
	box-shadow: 5px 5px 5px rgba(0,0,0,.25);
	border-top-right-radius: 0.5rem;
	width: 100%;
}

.ai-assistant-panel label {
	color: #fefefe;
	width: 100%;
}

.ai-assistant-panel .ai-assistant-panel-actions {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.ai-assistant-panel .submit-button {
	margin-bottom: 0;
}

.ai-assistant-panel .cancel-button {
	margin-bottom: 0;
	padding: 0.75rem 1rem;
	color: #fefefe;
	transition: background 0.25s ease-in-out;
	margin-right: 1rem;
	background-color: #333;
}

.ai-assistant-panel .cancel-button:hover {
	background: #333;
	color: #eaf8ff;
}

.ai-assistant-panel.is-active {
	bottom: 0;
}

.ai-assistant-panel .submit-button, #add-gj .button {
	background-color: #3276B1;
}

.ai-assistant-panel .submit-button:hover, #add-gj .button:hover {
	background-color: #3276B1;
}

.ai-assistant-panel.submitted {
	height: 455px;
}

#ai-assistant-panel .ai_conversation-content-style.scenario-wrapper {
	margin-top: 0;
	padding: 0;
	background: #3276B1;
	border-top-right-radius: 0.5rem;
	border-top-left-radius: 0.5rem;
}

#ai-assistant-panel .ai_conversation-content-style.scenario-wrapper .ai-conversation {
	height: 255px;
	background: #F5F5F5;
	overflow: auto;
}

#ai-assistant-panel .ai-conversation .ai-conversation-item .ai-conversation-item-bubble {
	padding: 0.5rem;
	font-size: 0.8em;
}

#ai-assistant-panel .ai-conversation .ai-conversation-item {
	margin: 1rem 10%;
	width: 80%;
}

#ai-assistant-panel .scenario-avatar-container img {
	max-width: 30px;
}

#ai-assistant-panel .ai-conversation-them {
	margin-left: -1rem;
	font-size: 0.8rem;
}

.ai-conversation .ai-conversation-item.chat-loading .ai-conversation-item-bubble p:after, .igniteai-action-dots:after {
	content: '.';
	animation: dots 1s steps(5, end) infinite;
}

.ai-assistant-panel .ai_conversation_form {
	background-color: #FFF;
	margin-top: 1rem;
	padding: 0.5rem 0.5rem 0 0;
	border-radius: 0.5rem;
	overflow: hidden;
}

.ai-assistant-panel .ai_conversation_form textarea {
	border: none;
	box-shadow: none;
	padding: 0;
	resize: none;
	margin-left: 0.5rem;
}

.ai_conversation-grid {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	margin-left:-10px;
	margin-right:-10px;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap
}
.ai_conversation-grid-cell,
.ai_conversation-grid>* {
	-webkit-box-flex:1;
	-ms-flex:1;
	flex:1;
	min-width:1px;
	list-style:none
}

.ai_conversation-grid-cell:not(.no-gutter),
.ai_conversation-grid>:not(.no-gutter) {
	padding-left:10px;
	padding-right:10px
}

.ai_conversation-grid-1-6 {
	-webkit-box-flex:0;
	-ms-flex:0 0 16.6666666667%;
	flex:0 0 16.6666666667%;
	max-width:16.6666666667%
}

.ai_conversation-grid-1-4 {
	-webkit-box-flex:0;
	-ms-flex:0 0 25%;
	flex:0 0 25%;
	max-width:25%
}

.ai_conversation-grid-1-2 {
	-webkit-box-flex:0;
	-ms-flex:0 0 50%;
	flex:0 0 50%;
	max-width:50%
}

.ai_conversation-grid-1-2 .ai-conversation .ai-conversation-item {
	width: auto;
}

.ai_conversation-content-style button.button img {
	height: 1rem;
}

.ai_conversation_form button.button{
	display: inline-block;
	width: auto;
	padding: 0.5rem
}

.ai_conversation-content-style-scenario .ai_conversation_form button.button {
	width: 100%;
	padding: 1rem;
}

.ai_conversation-content-style-scenario .ai_conversation_form .igniteai_conversation_mode_controls button.igniteai_conversation_mode_button.button {
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	min-height: 0;
	padding: 0.35rem 0.7rem;
}

#ai-assistant-panel	.ai-conversation .ai-conversation-item.theirs .ai-conversation-item-bubble {
	margin-left: 0;
}

#ai-assistant-panel .ai-conversation .ai-conversation-item.mine .ai-conversation-item-bubble {
	margin-right: 0;
}

#ai-assistant-panel .ai-conversation .ai-conversation-item.chat-loading .ai-conversation-item-bubble:after {
	margin-left: -5px;
}

.ai_conversation_conversation-objectives-container {
	padding: 2rem;
	border: solid 1px #CCC;
	margin-bottom: 2rem;
}

.ai_conversation_feedback {
	display: none;
	padding: 2rem;
	background-color: #444;
	color: #FFF;
	margin-top: 1rem;
}

.ai_conversation_feedback h4 {
	color: #FFF;
}

.ai_conversation_feedback p {
	margin-bottom: 1rem;
}

@media screen and (max-width: 543px) {

	.ai-conversation-them {
		margin-left: -2.5rem;
		font-size: 0.8rem;
	}

	.ai-conversation .ai-conversation-item {
		margin: 1rem 15%;
		width: 70%;
	}

	.scenario-avatar-container img {
		max-width: 30px;
	}

	.smexpert-content-style.scenario-wrapper .ai-conversation {
		height: 15rem;
	}

	.ai-conversation .ai-conversation-item.chat-loading .ai-conversation-item-bubble p {
		font-size: 2em;
		margin-left: 0.5rem
	}

	.ai_conversation-grid-1-6, .ai_conversation-grid-1-2, .ai_conversation-grid-1-4 {
		-webkit-box-flex:0;
		-ms-flex:0 0 auto;
		flex:0 0 auto;
		max-width:100%
	}

	.ai_conversation-content-style {
		padding: 1rem;
	}

	.ai-assistant-panel-toggle {
		width: 90%;
	}

	.ai-assistant-panel {
		margin-left: 1rem;
	}

}

@keyframes dots {
	0%, 20% {
		color: rgba(0,0,0,0);
		text-shadow:
				.25em 0 0 rgba(0,0,0,0),
				.5em 0 0 rgba(0,0,0,0);}
	40% {
		color: white;
		text-shadow:
				.25em 0 0 rgba(0,0,0,0),
				.5em 0 0 rgba(0,0,0,0);}
	60% {
		text-shadow:
				.25em 0 0 white,
				.5em 0 0 rgba(0,0,0,0);}
	80%, 100% {
		text-shadow:
				.25em 0 0 white,
				.5em 0 0 white;}
}
