/*  cBB Chat StyleSheet
    --------------------------------------------------------------
	Style:	All
	Copyright (c) 2024 CaniDev ( https://www.canidev.com )
    --------------------------------------------------------------
*/

/* Icons
------------------------------- */
[data-action="sound"].muted .fa:before	{ content: "\f026"; }
[data-action="connect"].connected 		{ color: green; }

.chat-user-status {
	border: 1px solid transparent;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	margin-right: 5px;
	vertical-align: middle;
    width: 8px;
}

.chat-user-status.available {
	background-image: linear-gradient(to bottom, #6aff00, #3ebb00);
	border-color: #5cbd4c;
}

.chat-user-status.away {
	background-image: linear-gradient(to bottom, #ffd2b2, #ee8102);
	border-color: #e29149;
}

.chat-user-status.busy {
	background-image: linear-gradient(to bottom, #ffa195, #fc4b46);
	border-color: #d25959;
}

.chat-user-status.hidden {
	background-image: linear-gradient(to bottom, #fff, #b3d6f4);
	border-color: #a0b2c1;
}

/* Borders
------------------------------- */
#chat-body .codebox,
#chat-body blockquote {
	border-radius: 2px;
}

.chat-corner-top, .chat-corner-tl { border-top-left-radius: 2px; }
.chat-corner-top, .chat-corner-tr { border-top-right-radius: 2px; }
.chat-corner-bottom, .chat-corner-bl { border-bottom-left-radius: 2px; }
.chat-corner-bottom, .chat-corner-br { border-bottom-right-radius: 2px; }

/* General
------------------------------- */
#chat-body,
#chat-body * {
	box-sizing: border-box;
}

#chat-body {
	margin: 5px 0;
	min-width: 280px;
}

#chat-container #chat-body {
	margin-top: 0;
}

#chat-title {
    padding-left: 5px;
    padding-right: 5px;
}

#chat-title i {
	font-size: 1.2em;
    margin-top: -1px;
    display: inline-block;
    margin-right: 2px;
}

#chat-title .ic-minimize {
	float: right;
}

#chat-content {
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-size: 11px;
	overflow: hidden;
	position: relative;
}

div#chat-content,
ul#chat-content > li {
	padding: 8px 8px 10px 8px;
}

#chat-left-panel {
	float: left;
	margin-right: 0;
	width: 81%;
}

#chat-right-panel {
	float: right;
	width: 18.4%;
}

.chat-conversation-box {
	position: relative;
}

.chat-scroll-button {
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: 0 0 4px 0px #c9c9c9;
	cursor: pointer;
	display: flex;
	font-size: 14px;
	height: 34px;
	justify-content: center;
	position: absolute;
	right: 30px;
	text-align: center;
	width: 34px;
}

.hastouch .chat-scroll-button {
	right: 20px;
}

.chat-scroll-button.down {
	bottom: 15px;
}

.chat-scroll-button.up {
	top: 15px;
	transform: rotate(180deg);
}

#chat-conversation-container,
#chat-right-panel {
	overflow: auto;
}

#chat-right-panel,
#chat-conversation-container,
#chat-toolbar {
	border: 1px solid #ccc;
}

#chat-right-panel, #chat-conversation-container,
#chat-tabs li.active, #chat-toolbar a.active  {
	background: #fff;
}

#chat-toolbar li.chat-responsive-menu {
	display: none;
}

.chat-responsive-menu .fa-bars:before {
	display: inline;
}

/* Rows
------------------------------- */
.chat-row {
	padding: 7px 5px;
}

.chat-row:after,
.ic-row-title:after {
    content: "";
    clear: both;
    display: block;
}

.chat-row-content {
	display: inline-block;
	min-height: 40px;
	width: 100%;
}

.chat-row-content.avatar-margin {
	width: calc(100% - 55px);
}

.chat-format-bubble .chat-row-content {
	background-color: #f5f5f5;
    border-radius: 10px;
    max-width: calc(100% - 55px);
    padding: 10px;
    position: relative;
    width: auto;
}

.chat-format-bubble .chat-row-content:after {
	content: '';
	position: absolute;
	top: 12px;
	width: 0;
	height: 0;
	border: 8px solid;
	border-color: transparent #f5f5f5;
}

.chat-row:not(.chat-format-bubble):hover,
.chat-row:not(.chat-format-bubble).active,
.chat-format-bubble .chat-row-content:hover,
.chat-format-bubble.active .chat-row-content {
	background-color: #EEF5F9;
}

.ic-row-title > * {
	margin: 0 3px;
}

.chat-row:not(.chat-format-bubble) .ic-row-actions {
	display: none;
}

.ic-row-action-launcher {
	font-size: 1.4em;
	margin: 0 4px;
	padding: 0 5px;
}

.chat-row-avatar {
	height: 40px;
	width: 40px;
}

.ic-row-text {
	word-break: break-word;
}

.ic-row-text img {
	height: auto;
	max-width: 150px;
}

.ic-row-title {
	margin-bottom: 5px;
	overflow: hidden;
}

.ic-row-date:before {
	content: "\2022";
	display: inline;
	padding-right: 5px;
}

.ic-row-date:after {
	content: "\2022";
	display: inline;
	padding-left: 5px;
}

a.chat-quickmention {
	font-weight: bold;
	text-decoration: none;
}

.chat-new-topic {
	font-weight: bold;
}

.history-row {
	padding: 5px 0;
	text-align: center;
}

.chat-align-zigzag:not(.chat-format-bubble):nth-child(even) {
	background-color: #f5f5f5;
}

.chat-align-left .chat-row-avatar,
.chat-align-zigzag:nth-child(odd) .chat-row-avatar,
.chat-align-left .ic-row-title > *,
.chat-align-zigzag:nth-child(odd) .ic-row-title > *,
.chat-align-right .ic-row-actions,
.chat-align-zigzag:nth-child(even) .ic-row-actions {
	float: left;
}

.chat-align-left .ic-row-date:after,
.chat-align-zigzag:nth-child(odd) .ic-row-date:after {
	display: none;
}

.chat-align-left .chat-row-content.avatar-margin,
.chat-align-zigzag:nth-child(odd) .chat-row-content.avatar-margin {
	margin-left: 14px;
}

.chat-row.chat-align-right,
.chat-row.chat-align-zigzag:nth-child(even) {
	text-align: right;
}

.chat-align-right .chat-row-avatar,
.chat-align-zigzag:nth-child(even) .chat-row-avatar,
.chat-align-right .ic-row-title > *,
.chat-align-zigzag:nth-child(even) .ic-row-title > *,
.chat-align-left .ic-row-actions,
.chat-align-zigzag:nth-child(odd) .ic-row-actions {
	float: right;
}

.chat-align-right .ic-row-date:before,
.chat-align-zigzag:nth-child(even) .ic-row-date:before {
	display: none;
}

.chat-align-right .chat-row-content.avatar-margin,
.chat-align-zigzag:nth-child(even) .chat-row-content.avatar-margin {
	margin-left: 0;
	margin-right: 14px;
}

.chat-align-left.chat-format-bubble .chat-row-content:after,
.chat-align-zigzag:nth-child(odd).chat-format-bubble .chat-row-content:after {
	border-right-width: 8px;
	border-left-width: 0;
	left: -8px;
}

.chat-align-right.chat-format-bubble .chat-row-content:after,
.chat-align-zigzag:nth-child(even).chat-format-bubble .chat-row-content:after {
	border-left-width: 8px;
	border-right-width: 0;
	right: -8px;
}

/* Tabs & Toolbar
------------------------------- */
#chat-tabs {
	height: 22px;
	margin: -1px 0 0 5px;
	position: relative;
	z-index: 2;
}

#chat-tabs li {
	border: 1px solid #ccc;
	border-radius: 0 0 2px 2px;
	cursor: pointer;
	line-height: 20px;
	margin: 0;
	padding: 0 6px;
}

#chat-tabs li.active {
	border-top-color: #fff;
	border-width: 1px;
	font-weight: bold;
	line-height: 22px;
}

#chat-tabs li.before-active {
	border-right-width: 0;
	border-bottom-right-radius: 0;
}

#chat-tabs li.after-active {
	border-left-width: 0;
	border-bottom-left-radius: 0;
}

#chat-tabs li.new-msg {
	background: #FDFDCD;
	border-color: #FFD700;
}

#chat-tabs li a.tab-close {
	display: none;
	font-size: 1.3em;
	margin: -2px -2px -2px 4px;
	text-decoration: none;
}

#chat-tabs li .tab-close.active {
	display: inline-block;
}

#chat-tabs,
#chat-toolbar {
	display: block;
	list-style-type: none;
	padding: 0;
}

#chat-tabs li,
#chat-toolbar li {
	float: left;
}

#chat-toolbar {
	background: linear-gradient(to bottom, #fff, #E0E1E4);
	height: 32px;
	margin: 5px 0;
}

#chat-toolbar li {
	margin: 3px 1px 0 8px;
	padding: 0;
	overflow: hidden;
}

#chat-toolbar li a {
	border: 1px solid transparent;
	display: block;
	font-size: 15px;
	height: 24px;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	width: 24px;
}

#chat-toolbar a {
	font-size: 15px;
}

#chat-toolbar a.active {
	border-color: #999 !important;
}

#chat-toolbar a.disabled {
	border-color: transparent !important;
	color: #999;
	cursor: default;
}

.notouch #chat-toolbar a:hover {
	background: #fafafa;
	border-color: #ccc;
}

.notouch #chat-toolbar a.disabled:hover {
	background: none;
}

.notouch #chat-toolbar a:not(.disabled):hover {
	color: #D31141;
}

#chat-toolbar li.separator {
	background: #ccc;
	height: 24px;
	padding: 0;
	width: 1px;
}

#chat-toolbar li.ic-loading {
	display: none;
	float: right;
	margin-right: 8px;
	margin-top: 6px;
	width: 20px;
}

/* General
------------------------------- */
.chat-submit-btn {
	position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 16px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
}

#chat-message,
.ic-edit-container {
	padding-right: 45px;
	position: relative;
}

#chat-message {
	margin: 15px auto;
	width: 50%;
}

#chat-message textarea,
.ic-edit-container textarea {
	border: none;
    padding: 0px;
    outline: none;
    overflow-x: hidden;
	resize: none;
	width: 100%;
}

#chat-message textarea.disabled {
	color: #ccc;
	font-style: italic;
}

.chat-editor-counter {
	top: 5px;
	position: absolute;
	right: 5px;
}

.chat-editor-counter > svg {
	margin-bottom: -4px;
	overflow: visible;
	transform: rotate(-90deg);
}

.chat-editor-counter > span {
	color: #e0245e;
	font-size: 9px;
	margin: 5px 2px 0 0;
	display: inline-block;
    vertical-align: top;
}

.chat-editor-counter .safe {
	stroke: #1da1f2;
}

.chat-editor-counter .warn {
	stroke: #ffad1f;
}

.chat-editor-counter .danger {
	stroke: #e0245e;
}

.chat-editor-counter .mask {
	stroke: #ccd6dd;
}

.ic-conversation, .ic-userlist {
	display: none;
	padding: 5px;
}

.ic-userlist {
	list-style-type: none;
	margin: 0;
}

ul.ic-userlist > li {
	padding: 2px 0 2px 5px;
	white-space: nowrap;
}

.ic-userlist img {
	vertical-align: middle;
}

#chat-notices .fa {
	display: inline-block;
	font-size: 15px;
	margin: 0 4px;
	vertical-align: middle;
}

.ic-mark-col {
	text-align: center;
	width: 5%;
}

.ic-mark-options {
	margin-top: 5px;
}

/* Archive
------------------------------- */
.chat-archive-container #chat-content {
	margin-top: 0;
	padding: 5px;
}

.chat-archive-bar {
	float: left;
}

/* Boxes
------------------------------- */
.chat-bbcode-box {
	padding: 5px;
}

.chat-bbcode-box .editor-wrapper-toolbar {
	margin-bottom: 0;
}

.chat-smiley-box {
	width: 200px;
}

.chat-smiley-box .cbb-smiley-container {
	height: 150px;
    overflow: auto;
}

/* Dialog
------------------------------- */
.chat-rulelist {
	list-style-type: decimal;
	margin-left: 5px;
	padding-left: 20px;
	text-align: left;
}

ol.chat-rulelist li {
	display: list-item;
	list-style-type: decimal;
	padding: 2px;
}

.cbb-dialog .chat-options-container {
	text-align: center;
}

.chat-dialog-fieldset dl {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.chat-dialog-fieldset dt,
.chat-dialog-fieldset dd {
    flex: auto;
	float: none !important;
    margin: 0 !important;
    width: 50% !important;
}

ul.topiclist .chat-dialog-fieldset dd {
	border: none;
}

/* Messages and States
------------------------------- */
#chat-main-message {
	color: #878787;
	display: none;
	font-size: 12px;
	font-style: italic;
	margin: 6px;
}

#chat-main-message i {
	font-size: 28px;
    vertical-align: middle;
    margin-right: 5px;
    color: #80bbfb;
}

.chat-message {
	border: 1px solid #000;
	font-weight: bold;
	padding: 6px;
	text-align: center;
}

.chat-message,
.chat-tip-message {
	font-size: 11px;
	margin: 5px 0;
}

.chat-message .chat-message-text {
	display: inline-block;
}

.chat-message .chat-message-text, .chat-message img {
	vertical-align: middle;
}

.chat-message.state-notice {
	background: #CEE4F6;
	border-color: #9ECAEC;
	color: #6699CC;
	font-weight: normal;
	margin-top: 0;
	padding: 6px 4px;
	text-align: left;
}

.chat-state-error, .chat-message.state-error  {
	background: #fef1ec;
	border-color: #cd0a0a;
	color: #cd0a0a;
}

.chat-state-excluded {
	color: #ccc;
	font-style: italic;
	text-decoration: line-through;
}

.chat-tip-message > div {
	display: inline;
}

/* Embed mode
------------------------------- */
html.embedmode { height: auto; }

.embedmode body {
	margin: 0;
	padding: 0;
}

.embedmode #chat-body {
	border-radius: 0;
	margin: 0;
}

.embedmode #chat-body.notitle { padding: 0; }
.embedmode #chat-body.notitle #chat-title { display: none; }
.embedmode #chat-body.notitle #chat-content { margin: 0; }

/* Style overrides
------------------------------- */
.chat-row blockquote {
	font-size: 1em;
	line-height: 1.4em;
}

.chat-row ul, .chat-row ol {
	margin-left: 20px;
}

.ic-row-text p,
.chat-message p,
.chat-tip-message p {
	font-size: 1em;
	margin: 0;
}

.chat-row .codebox {
	text-align: initial;
}

/* RTL Support
----------------------------------*/
.rtl .chat-row-avatar,
.rtl #chat-tabs li,
.rtl #chat-toolbar li,
.rtl #chat-left-panel,
.rtl .chat-archive-bar,
.rtl .chat-align-left .chat-row-avatar,
.rtl .chat-align-zigzag:nth-child(odd) .chat-row-avatar,
.rtl .chat-align-left .ic-row-title > *,
.rtl .chat-align-zigzag:nth-child(odd) .ic-row-title > *,
.rtl .chat-align-right .ic-row-actions,
.rtl .chat-align-zigzag:nth-child(even) .ic-row-actions {
	float: right;
}

.rtl #chat-title .ic-minimize,
.rtl #chat-right-panel,
.rtl #chat-toolbar li.ic-loading,
.rtl .chat-align-right .chat-row-avatar,
.rtl .chat-align-zigzag:nth-child(even) .chat-row-avatar,
.rtl .chat-align-right .ic-row-title > *,
.rtl .chat-align-zigzag:nth-child(even) .ic-row-title > *,
.rtl .chat-align-left .ic-row-actions,
.rtl .chat-align-zigzag:nth-child(odd) .ic-row-actions {
	float: left;
}

.rtl .chat-align-left .chat-row-content.avatar-margin,
.rtl .chat-align-zigzag:nth-child(odd) .chat-row-content.avatar-margin {
	margin-left: 0;
	margin-right: 14px;
}

.rtl .chat-row.chat-align-right,
.rtl .chat-row.chat-align-zigzag:nth-child(even) {
	text-align: left;
}

.rtl .chat-align-right .chat-row-content.avatar-margin,
.rtl .chat-align-zigzag:nth-child(even) .chat-row-content.avatar-margin {
	margin-left: 14px;
	margin-right: 0;
}

.rtl .chat-align-left.chat-format-bubble .chat-row-content:after,
.rtl .chat-align-zigzag:nth-child(odd).chat-format-bubble .chat-row-content:after {
	border-left-width: 8px;
	border-right-width: 0;
	left: unset;
	right: -8px;
}

.rtl .chat-align-right.chat-format-bubble .chat-row-content:after,
.rtl .chat-align-zigzag:nth-child(even).chat-format-bubble .chat-row-content:after {
	border-right-width: 8px;
	border-left-width: 0;
	left: -8px;
	right: unset;
}

.rtl .chat-user-status {
	margin-left: 5px;
	margin-right: 0;
}

.rtl #chat-message,
.rtl .ic-edit-container {
	padding-left: 45px;
	padding-right: 5px;
}

.rtl .chat-editor-counter,
.rtl .chat-submit-btn {
	left: 5px;
	right: unset;
}

.rtl .chat-submit-btn {
	transform: rotate(180deg);
}

.rtl #chat-tabs {
	margin-right: 5px;
}

.rtl .chat-message.state-notice {
	text-align: right;
}

.rtl #chat-toolbar {
	padding-right: 5px;
}

.rtl #chat-tabs li.before-active {
	border-left-width: 0;
	border-right-width: 1px;

	border-bottom-left-radius: 0;
    border-bottom-right-radius: 2px;
}

.rtl #chat-tabs li.after-active {
	border-left-width: 1px;
	border-right-width: 0;

	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 0;
}

.rtl .ic-row-date:before {
	padding-left: 5px;
	padding-right: 0;
}

.rtl .ic-row-date:after {
	padding-left: 0;
	padding-right: 5px;
}

.rtl .chat-rulelist {
	text-align: right;
	margin-left: 0;
    margin-right: 5px;
    padding-left: 0;
    padding-right: 20px;
}

.rtl .chat-scroll-button {
	left: 30px;
	right: unset;
}

.rtl.hastouch .chat-scroll-button {
	left: 20px;
	right: unset;
}

/* Dark Theme
------------------------------- */
.dark-theme #chat-body,
.dark-theme #chat-right-panel,
.dark-theme #chat-conversation-container,
.dark-theme #chat-toolbar,
.dark-theme #chat-tabs li {
	border-color: #262626;
}

.dark-theme #chat-tabs li.active {
	border-top-color: #1f1f1f;
}

.dark-theme #chat-toolbar {
	background: linear-gradient(to bottom, #1f1f1f, #191919);
}

.dark-theme #chat-toolbar li.separator {
	background-color: #444;
}

.dark-theme #chat-toolbar a:not(.disabled):hover {
    color: #e0e0e0;
}

.dark-theme #chat-toolbar a:hover {
    background-color: #2b2b2b;
    border-color: #2b2b2b;
}

.dark-theme #chat-toolbar a.active {
    border-color: #444 !important;
}

.dark-theme #chat-right-panel,
.dark-theme #chat-conversation-container,
.dark-theme #chat-tabs li.active,
.dark-theme #chat-toolbar a.active,
.dark-theme .ic-box {
	background-color: #1f1f1f;
}

.dark-theme .smiley-box a[data-smiley] {
	border-color: #1f1f1f;
}

.dark-theme .ic-box,
.dark-theme .smiley-box a[data-smiley]:hover {
	border-color: #444;
}

.dark-theme .chat-format-bubble .chat-row-content {
	background-color: #292929;
}

.dark-theme .chat-align-zigzag:not(.chat-format-bubble):nth-child(even) {
	background-color: #212121;
}

.dark-theme .chat-format-bubble .chat-row-content:after {
	border-color: transparent #292929;
}

.dark-theme .chat-row:not(.chat-format-bubble):hover,
.dark-theme .chat-row:not(.chat-format-bubble).active,
.dark-theme .chat-format-bubble .chat-row-content:hover,
.dark-theme .chat-format-bubble.active .chat-row-content {
    background-color: #272727;
}

.dark-theme .options-box li a {
	color: #8c8c8c;
}

.dark-theme .options-box li a:hover {
    background-color: #2b2b2b;
}

.dark-theme .chat-editor-counter .mask {
    stroke: #404040;
}

.dark-theme .chat-scroll-button {
	background-color: #1a1a1a;
	box-shadow: 0 0 4px 0px #2e2e2e;
}

.medium-dark-theme #chat-content,
.medium-dark-theme #chat-content a {
	color: #000;
}

/* Responsive Layout
------------------------------- */
@media only screen and (max-width: 950px) {
	#chat-left-panel 	{ width: 80%; }
	#chat-right-panel	{ width: 19.4% }
}

@media only screen and (max-width: 750px) {
	#chat-left-panel 	{ width: 75%; }
	#chat-right-panel	{ width: 24.4% }
}

@media only screen and (min-width: 500px) and (max-width: 600px) {
	.ic-row-date {
		display: block;
		font-size: 0.9em;
	}
	
	.ic-row-date:before {
		content: '';
		padding: 0;
	}
}

@media only screen and (max-width: 500px) {
	#chat-left-panel,
	#chat-right-panel,
	.rtl #chat-left-panel,
	.rtl #chat-right-panel  {
		float: none;
		width: auto;
	}
	
	#chat-right-panel {
		clear: both;
		height: auto !important;
		margin-top: 10px;
		max-height: 60px;
		overflow: auto;
	}
	
	ul.ic-userlist > li {
		display: inline-block;
		margin: 2px 0;
	}
	
	#chat-message { width: 90%; }
	#chat-message textarea { font-size: 12px; }

	.chat-dialog-fieldset dl,
	.chat-dialog-fieldset dt,
	ul.topiclist .chat-dialog-fieldset dd {
		display: block;
	}
}

@media only screen and (max-width: 430px) {
	#chat-toolbar li.ic-loading { margin-left: 0; }
	#chat-toolbar li.chat-responsive-refresh, #chat-toolbar li.chat-responsive-hide { display: none; }
	#chat-toolbar li.chat-responsive-menu { display: inline-block; }
	
	#chat-notices .fa { display: none; }
	
	.ic-row-date { font-size: 0.9em; }
	
	.chat-row-avatar {
		height: 30px;
		width: 30px;
	}
	
	.ic-row-text.avatar-margin, .ic-row-title.avatar-margin {
		margin-left: 38px;
	}
	
	.chat-archive-bar,
	.rtl .chat-archive-bar {
		float: none;
		margin-bottom: 10px;
		text-align: center;
	}
}
