:root
{
	--main_bg: #252525;
	--main_bg_lighter: #282828;
	--main_bg_lightest: #4a4a4a;
	--main_bg_darker: #202020;
	--main_bg_darkest: #1a1a1a;
	--main_fg: #b9b9b9;
	--main_fg_lighter: #d2d2d2;
	--dim_fg: #656565;
	--quote_fg: #787878;
	--quote_border: #3b3b3b;
	--quoted_emote: #787878;
	--emote: #917ac0;
	--timestamp: #6e6e6e;
	--buttons: #766396;
	--buttons_highlight: #9181ab;
	--error: #ff0000;
	--error_dark: #a80000;
	--generic_bg: #383838;
	--generic_highlight: #473a50;
	--syncmode_bg: #1e3353;
	--syncmode_fg: #2f5184;
	--syncmode_highlight: #3d69ab;
	--users_menu_alt_width: 170px;
}

@font-face
{
	font-family: "WhitneyBook";
	src: url("fonts/WhitneyHTF-Book.otf");
}

@font-face
{
	font-family: "WhitneyBook";
	src: url("fonts/WhitneyHTF-SemiBold.otf");
	font-weight: bold;
}

@media screen
{
	div#img_preload
	{
		position: absolute;
		left: -9999px;
		top:  -9999px;
	}

	div#img_preload img
	{
		display: block;
	}
}

@media print
{
	div#preloader, div#preloader img
	{
		visibility: hidden;
		display: none;
	}
}

body
{
	overflow: hidden;
}

body, button, input, textarea
{
	margin: 0; padding: 0;
	background-color: var(--main_bg);
	font-size: 15px;
	font-family: WhitneyBook, sans-serif;
}

.ui-tooltip
{
	background: var(--main_bg) !important;
	color: var(--main_fg) !important;

	font-weight: bold !important;
	font-size: .9em !important;
	border-radius: 4px !important;

	box-shadow: 2px 2px 2px rgba(0, 0, 0, .2) !important;

	padding: 8px !important;
	position: absolute !important;
	z-index: 9999 !important;
	max-width: 300px !important;
	border: none !important;
}

.emote_tooltip
{
	color: white !important;
	background-color: var(--buttons) !important;
	padding: 5px !important;
	text-align: center !important;
	font-size: .9em !important;
	border: none !important;
	box-shadow: none !important;
}

.tooltip_image_wrapper
{
	background-color: rgba(0,0,0,.6) !important;
	padding: 8px;
	margin-bottom: 3px;
	border-radius: 8px;
}

.tooltip_image
{
	background-position: center;
	background-repeat: no-repeat;
	width: 150px;
	height: 90px;
	background-size: contain;
	margin: 5px;
}

.tooltip_owner
{
	opacity: .35;
	font-size: .9em !important;
	font-weight: normal;
}

/* per disabilitare il reload della pagina quando si scrolla in cima alla chat */
.contain_overscoll
{
	overscroll-behavior: contain;
}

a.img_url:link, a.img_url:visited, a.img_url:hover
{
	display: block;
	text-decoration: none;
}

a.card_link:link, a.card_link:visited, a.card_link:hover
{
	color: #ffffff;
	text-decoration: none;
	user-select: none;
}

a.card_link:hover
{
	text-decoration: underline;
}

a.ext_url:link, a.ext_url:visited, a.ext_url:hover
{
	font-weight: normal;
	color: #1492e4;
	text-decoration: none;

	/*white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	max-width: 90%;
	display: inline-block;*/
}

a.ext_url:hover
{
	text-decoration: underline;
}

#main_content
{
	display: none;
}

.loader
{
	display: inline;
}

/* questo serve come guida per allineare verticalmente i quadratini se insierito come testo */
.loader_valign_text
{
	vertical-align: middle;
}

/* questo serve come guida per allineare verticalmente i quadratini se inserito in un div */
.loader_valign_div
{
	vertical-align: middle;
	height: 100%;
	display: inline-block;
}

.loader span
{
	background-color: #ffffff;
	display: inline-block;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-radius: 2px;
	margin: 0px 2px;
	animation: pulse 1s cubic-bezier(.5, 0, .5, 1) infinite;
}

.loader span:nth-child( 1 )
{
	animation-delay: 0s;
}

.loader span:nth-child( 2 )
{
	animation-delay: 0.15s;
}

.loader span:nth-child( 3 )
{
	animation-delay: 0.3s;
}

@keyframes pulse
{
	0%, 100% { opacity: 0.5; }
	50% { opacity: 0.1; }
}

#top_menu
{
	height: 36px;
	border-bottom: 1px solid #353535;
	box-sizing: border-box;
	position: fixed;
	top: 0px;
	width: 100%;
	background: var(--main_bg);
	padding: 0 7px;
	transition: all 0.2s ease-in;
	z-index: 1000;
}

#top_menu.sync_on
{
	background-color: var(--syncmode_bg);
	border-bottom: 1px solid #254576;
}

#top_menu:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

#pichan_button
{
	font-size: .9em;
	font-weight: bold;
	padding: 2px 8px;
	color: #ffffff;
	background-color: var(--buttons);
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;

	-moz-user-select: none;
	user-select: none;
}

#settings_button
{
	font-size: 1em;
	color: var(--main_fg);
	cursor: pointer;
	display: inline-block;
	position: fixed;
	right: 75px;
	top: 10px;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	z-index: 1001;

	-moz-user-select: none;
	user-select: none;
}

#users_button
{
	font-size: .9em;
	color: var(--main_fg);
	padding: 2px 10px;
	min-width: 38px;
	font-weight: bold;
	text-align: left;
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
	background: var(--generic_bg);
	position: fixed;
	right: 7px;
	top: 7px;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	z-index: 1001;
	transition: all 0.2s ease-in;

	-moz-user-select: none;
	user-select: none;
}

#users_button.sync_on
{
	color: #ffffff;
	background: var(--syncmode_fg);
}

#users_button.sync_on:hover
{
	color: #ffffff;
	background: var(--syncmode_highlight);
}

#users_button i.fa
{
	margin-right: 8px;
}

#users_button:hover
{
	background-color: var(--generic_highlight);
}

#users_menu
{
	font-size: .9em;
	color: var(--main_fg);
	background-color: var(--main_bg);
	padding: 10px 15px;
	line-height: 1.4em;
	padding-top: 15px;
	display: block;
	list-style: none;
	margin: 0;
	opacity: 0;
	position: fixed;
	right: 0px;
	top: -100px;
	border-bottom: 1px solid #353535;
	border-left: 1px solid #353535;
	box-sizing: border-box;
	transition: top 0.5s, opacity 0.5s cubic-bezier(.44,.01,.56,1.27);
	z-index: 999;
	box-shadow: -1px 2px 4px rgba(0, 0, 0, .5);
}

#users_menu li
{
	padding: 5px 0px;
	border-bottom: 1px solid #353535;
}

#users_menu li:first-child
{
	padding-top: 0;
}

#users_menu li:last-child
{
	padding-bottom: 0;
	border-bottom: none;
}

#users_menu li:after
{
	display: block;
	content: '';
	clear: both;
}

#users_menu li span.users_status
{
	text-align: right;
	float: right;
	min-width: 75px;
}

#users_menu li span.online
{
	color: #58ce5a;
}

#users_menu li span.idle
{
	color: #d4d655 !important;
}

#users_menu li span.sync
{
	color: #4c96e0;
}

#users_menu li span.idle-sync
{
	color: #d4d655;
}

#users_menu.open
{
	opacity: 1;
	top: 31px;
	transition: top 0.3s, opacity 0.15s cubic-bezier(.44,.01,.56,1.27);
}

#users_menu.off
{
	display: none;
}

#syncmode_status
{
	display: inline-block;
	opacity: 0;
	transform: scale(0);
	font-size: .9em;
	font-weight: bold;
	padding: 2px 20px;
	margin-left: 10px;
	color: #ffffff;
	background-color: var(--syncmode_fg);
	box-sizing: border-box;
	border-radius: 500px;
	cursor: pointer;
	vertical-align: middle;
	transition: all 0.2s ease-in;
}

#syncmode_status.sync_on
{
	transform: scale(1);
	opacity: 1;
}

#splash_screen
{
	position: fixed;
	top: 36px;
	bottom: 121px;
	width: 100%;
	z-index: 1000;
	text-align: center;
}

#settings_page
{
	font-size: 1.1em;
	line-height: 1.3em;
	display: none;
	color: var(--main_fg);
	background-color: var(--main_bg);
	padding: 15px;
	padding-top: 20px;

	position: fixed;
	top: 36px;
	bottom: 0px;

	width: 100%;
	z-index: 998;
	box-sizing: border-box;
}

#settings_content_wrapper
{
	position: fixed;
	top: 100px;
	bottom: 0px;
	right: 0px;
	left: 0px;

	overflow-y: auto;
}

#settings_content
{
	box-sizing: border-box;
	padding-top: 0px;
	padding: 15px;
}

.settings_tile
{
	display: inline-block;
}

.settings_tile:first-child
{
	margin-right: 15px;
}

#settings_page h1
{
	font-size: 1.5em;
	margin: 0 0 18px 0;
}

#settings_close
{
	font-size: 1.3em;

	position: fixed;
	top: 40px;
	right: 5px;

	padding: 15px;
	padding-right: 20px;

	cursor: pointer;
	opacity: 0.7;

	transition: opacity .2s;
	z-index: 2001;
}

#settings_close:hover
{
	opacity: 1;
}

.settings_separator
{
	box-sizing: border-box;
	border-bottom: 1px solid var(--main_bg_lightest);
	margin: 10px 0px;
	opacity: .3;
}

#picciochat
{
	overflow-x: hidden;
	overflow-y: scroll;
	position: absolute;
	top: 36px;
	right: 0px;
	bottom: 121px;
	left:0;
	text-align: left;
	background: var(--main_bg);
	padding-right: 12px;
}

.shorter_chat
{
	bottom: 263px !important;
}

.username
{
	display: inline-block;
	padding: 1px 0px 3px 10px;
	font-size: 1.05em;
	color: #6c74ce;
	font-weight: bold;
	margin-right: 3px;
}

.hidden
{
	display: none;
}

.time
{
	font-size: 0.75em;
	color: var(--timestamp);
	font-weight: bold;
	margin-right: 8px;
}

.unixtime
{
	display: none;
}

#messages
{
	list-style-type: none;
	margin: 0;
	padding: 0px;
	padding-bottom: 20px;
	color: var(--main_fg);
	background: var(--main_bg);
	word-wrap: break-word;
}

#messages li
{
	padding: 2px 0px;
}

.bookmark
{
	color: #ffffff;
	background: var(--syncmode_fg);
}

#messages span.message_content
{
	padding: 0px 10px;
	display: block;
	/*transition: all 0.2s ease-out;*/
	/*transition: background 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);*/
}

#messages span.origin
{
	display: none;
}

#messages span.original_message
{
	display: none;
}

.spoiler
{
	color: #cdcdcd;
	background-color: #0a0a0a;

	border-radius: 5px;
	padding: 0px 5px;
	cursor: pointer;

	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.spoiler_hidden
{
	color: #0a0a0a;
}

.quote .spoiler
{
	color: #cdcdcd;
	background-color: #191919;
}

.quote .spoiler_hidden
{
	color: #191919;
}

.quote
{
	border-left: 4px solid var(--quote_border);
	color: var(--quote_fg) !important;
	padding-left: 8px;
	display: inline-block;
}

.emote
{
	font-weight: bold;
	color: var(--emote);
}

.quote .emote
{
	font-weight: bold;
	color: var(--quoted_emote);
}

.quote_thumb
{
	border-radius: 8px;
	display: block;
	margin: 5px 0;
}

.quote_video
{
	border-radius: 8px;
	margin: 5px 0 !important;
}

.quote_meta
{
	border-radius: 4px;
	background-color: var(--generic_bg);
	padding: 10px;
	font-size: 0.9em;
	display: block;

	box-sizing: border-box;
	width: 100%;

	color: #bbbbbb;
	margin: 5px 0;

	text-decoration: none;
}

.quote_pichan
{
	display: block;
	text-decoration: none;

	background: #5b5269;
	padding: 6px;
	border-radius: 4px;
	color: #ffffff;
	
	margin: 5px 0;
}

.quote_pichan img
{
	border: 2px solid #7d7389;
}

/*.diff_highlight
{
	display: inline-block;
	background: #70a05f;
}*/

#messages span.deleted
{
	color: var(--dim_fg);
	font-style: italic;
}

#messages span.highlight
{
	background: var(--generic_highlight);
}

#messages img.ext_img
{
	width: 300px;
	height: 200px;
	object-fit: contain;
	margin-top: 5px;
	display: block;
}

#messages img.dark_bg
{
	background: var(--main_bg_darkest);
}

#messages video
{
	background: var(--main_bg_darkest);
	margin-top: 10px;
	display: block;
}

#messages span.metadata
{
	border-radius: 4px;
	background-color: var(--generic_bg);
	padding: 10px;
	font-size: 0.9em;
	margin: 4px 4px 4px 0px;
	display: block;

	box-sizing: border-box;
	width: 100%;
	transition: background-color 0.2s ease-out;
}

#messages span.metadata:hover
{
	background-color: var(--generic_highlight);
}

#messages span.metadata_thumb
{
	padding-right: 90px;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
	height: 70px;
}

#messages span.metadata_anim
{
	transform: scale(1, 0);
	opacity: 0;
	animation: meta_start 280ms cubic-bezier(.5,0,.45,1.35) forwards;
}

@keyframes meta_start
{
	100% { transform: scale(1, 1);  opacity: 1; }
}

#messages a.meta
{
	color: inherit;
	text-decoration: none;
}

#messages span.meta_name
{
	font-size: 0.8rem;
	display: inline-block;
	color: #adadad;

	width: 100%;
}

#messages span.meta_title
{
	font-weight: bold;
	color: #d8d8d8;

	display: inline-block;

	overflow: hidden;
	text-overflow: ellipsis;

	line-height: 1rem;
	max-height: 2rem;

	width: 100%;
}

.debug_read_message
{
	background-color: #514552;
}

.just_sent
{
	color: #737373 !important;
}

#fetched_messages
{
	display: none;
}

.emoji
{
	width: 1.3em;
	height: 1.3em;
	position: relative;
	top: 4px;
	margin-top: -0.3em;
}

.big_emoji
{
	width: 3em;
	height: 3em;
	position: relative;
	top: 0px;
	margin-top: 3px;
}

.pichan_card
{
	display: inline-block;
	margin: 8px 0px;
	background: #5b5269;
	padding: 4px;
	border-radius: 3px;
	color: #ffffff;
}

.pichan_card .nsfw
{
	 filter: blur(30px);
}

.pichan_card .nsfw_inv
{
	 filter: blur(30px) invert(100%);
}

.pichan_reply
{
	display: block;
	margin: 8px 0px;
}

.pichan_reply_container
{
	cursor: pointer;
	display: inline-block;
	background: #5b5269;
	border-radius: 3px;
	color: #ffffff;
	padding: 5px;
}

.pichan_reply span
{
	position: relative;
	top: 1px;
	margin-left: 2px;
	text-shadow: 0px 1px 0px #3a373e;
}

.reply_no_microthumb
{
	display: inline-block;
	height: 20px;
	color: #c1b4d7;
}

.reply_microthumb
{
	display: inline-block;
    overflow: hidden;
	border: 2px solid #7d7389;
	vertical-align: middle;
	align: right;
	margin-left: 8px;
	/*width: 32px;*/
	height: 32px;
}

.reply_microthumb:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.reply_microthumb img
{
	cursor: pointer;
	/*width: 32px;*/
	height: 32px;
}

.reply_microthumb .nsfw
{
	 filter: blur(5px);
}

.reply_microthumb .nsfw_inv
{
	 filter: blur(5px) invert(100%);
}

.toggle_nsfw
{
	display: inline;
	cursor: pointer;
	float: left;
	margin-top: 3px;
	width: 0%;
	color: #8d7ca2;
}

.toggle_nsfw:hover, .text_icon:hover
{
	color: #ffffff;
}

.text_icon
{
	cursor: pointer;
	float: right;
	margin-top: 3px;
	width: 0%;
	color: #8d7ca2;
	position: relative;
	right: 1em;
	text-shadow: none;
}

.card_title
{
	padding: 5px;
	text-shadow: 0px 1px 0px #3a373e;
	text-align: center;
	font-size: .9em;
}

.card_container
{
	display: inline-block;
    overflow: hidden;
	border: 2px solid #7d7389;
}

.pichan_card video
{
	margin: 0 !important;
}

.error
{
	color: #dd3011;
	font-weight: bold;
}

.broadcast
{
	color: #d3c311;
	font-weight: bold;
}

#message_loading_label, #message_new_label
{
	position: fixed;
	bottom: 135px;
	margin-left: auto;
	margin-right: auto;
	right: 0;
	left: 0;
	background: var(--syncmode_fg);
	color: #ffffff;
	padding: 9px 15px 8px 15px;
	box-sizing: border-box;
	text-align: center;
	border-radius: 5px;
	width: 230px;
	height: 35px;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, .2);
}

#message_new_label
{
	background: var(--syncmode_fg);
	width: 175px;
}

#message_new_label:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

#chat_input_area
{
	position: fixed;
	bottom: 0;
	border-top: 1px solid #353535;
	background: var(--main_bg);
	color: var(--main_fg);

	width: 100%;
	height: 120px;
	transition: background 0.1s ease-out;

	text-align: center;
}

#chat_input_area.offline
{
	background: #2d2d2d;
	z-index: 1000;
}

#chat_input_area.edit_mode
{
	background: var(--main_bg_lightest);
}

#chat_input
{
	display: inline-block;

	position: fixed;
	bottom: 0;

	width: calc(100% - 88px);
	height: 120px;

	padding: 10px;

	box-sizing: border-box;

	outline: none;
	border: none;
	border: 0;
	resize: none;
	background: none;

	color: var(--main_fg);
}

#chat_input.edit_mode
{
	color: var(--main_fg_lighter);
}

#cubitons_button
{
	position: fixed;
	right: 44px;
	bottom: 52px;

	width: 24px;
	height: 24px;

	box-sizing: border-box;
	text-align: center;

	color: var(--main_fg);
	background: var(--generic_bg);
	border-radius: 4px;

	cursor: pointer;
}

#cubitons_button svg
{
	display: inline-block;
	margin-top: 5px;
	width: 14px;
	height: 14px;
	fill: currentColor;
}

#chat_emotes_button
{
	position: fixed;
	right: 44px;
	bottom: 86px;

	width: 24px;
	height: 24px;

	box-sizing: border-box;
	text-align: center;

	color: var(--main_fg);
	background: var(--generic_bg);
	border-radius: 4px;

	cursor: pointer;
}

#chat_emotes_button i
{
	vertical-align: middle;
}

#emote_search
{
	width: calc( 100% - 63px );
	margin-top: 8px;
	border: none;
	background: var(--main_bg);
}

#emote_search::placeholder
{
	color: var(--dim_fg);
}

#chat_submit
{
	display: inline-block;

	position: fixed;
	right: 10px;
	bottom: 10px;

	width: 24px;
	height: 100px;

	cursor: pointer;
	background: var(--generic_bg);
	box-sizing: border-box;
	padding-right: 4px;
	border: 0;
	border-radius: 4px;
	text-align: center;

	opacity: 1;
	transition: background .2s, transform .2s ease-out;
}

#chat_submit:hover, #chat_emotes_button:hover, #cubitons_button:hover
{
	background: var(--generic_highlight);
}

#chat_submit:active
{
	transform: scale(0.85);
}

#chat_submit:before, #chat_emotes_button:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

#chat_submit.narrow
{
	height: 65px;
}

#chat_submit.offline
{
	display: none;
}

.arrow_right
{
	display: inline-block;

	border: solid var(--main_fg);

	border-width: 0 3px 3px 0;
	padding: 3px;

	vertical-align: middle;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

#back_to_bottom
{
	display: inline-block;

	position: fixed;
	right: 30px;
	bottom: 135px;

	width: 35px;
	height: 35px;

	border-radius: 8px;
	padding-top: 3px;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);

	cursor: pointer;

	background: var(--generic_bg);
	box-sizing: border-box;
	border: 0;

	z-index: 995;

	text-align: center;
	opacity: .8;
	transition: opacity .2s, transform .2s, background .2s ease-out;
}

#back_to_bottom.hidden
{
	opacity: 0;
	transform: scale(0);
	transition-delay: .05s;
}

#back_to_bottom:hover
{
	background: var(--generic_highlight);
}

/*#back_to_bottom:active
{
	transform: scale(0.4);
}*/

#back_to_bottom:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

#back_to_bottom.offline
{
	display: none;
}

.triangle_down
{
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 9px solid var(--main_fg);

	display: inline-block;
	vertical-align: middle;
}

/* CONTEXT MENU */

#context, #emote_context
{
	z-index: 9005;

	display: none;
	position: fixed;
	padding: 4px;
	background: var(--main_bg_darker);
	border: 1px solid #333333;
	color: var(--main_fg);

	box-shadow: 3px 3px 3px rgba(0, 0, 0, .7);
}

.context_item
{
	font-size: .9em;
	padding: 3px 6px;
	cursor: default;
	margin-bottom: 1px;
	border-radius: 3px;
	-moz-user-select: none;
	user-select: none;
}

.context_item:last-child
{
	margin-bottom: 0px;
}

.context_item:hover
{
	cursor: pointer;
	background: var(--generic_highlight);
	color: #ffffff;
}

.context_item i.fas
{
	width: 1em;
	margin-right: 8px;
	text-align: center;
}

.context_item_inactive
{
	padding: 3px 6px;
	color: #e0e0e0;
	cursor: default;
}

.context_item_red, .context_item_red:hover
{
	background: var(--error_dark);
	color: #ffffff;
	text-align: center;
	font-weight: bold;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, .7);
}

/* LOGIN */

#login_logo
{
	text-align: center;
	padding-right: 8px;
	height: 196px;
	margin: 30px;
}

#login_logo img
{
	transform: scale(0);
	opacity: 0;
	transform-origin: center center;
	animation: scale_enlarge 280ms cubic-bezier(.5,0,.45,1.35) forwards;
	animation-delay: 0.15s;
}

#login_logo img.shrink
{
	animation: scale_shrink 250ms cubic-bezier(.48,-0.37,.51,.87) forwards;
}

@keyframes scale_enlarge
{
	100% { transform: scale(1);  opacity: 1; }
}

@keyframes scale_shrink
{
	0% { transform: scale(1); opacity: 1; }
	100% { transform: scale(0); opacity: 0; }
}

#login_body
{
	background-color: var(--main_bg);
}

#login_panel, #reg_panel
{
	background-color: #2e2e2e;
	border-radius: 8px;
	padding: 30px;
	padding-top: 20px;
	display: inline-block;
	box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);
	width: 200px;
}

#login_box
{
	text-align: center;
}

.login_reg_swapper
{
	font-size: 1.05em;
	display: block;
	font-weight: bold;
	color: var(--buttons);
	cursor: pointer;
	text-align: left;
	padding-top: 10px;
}

.login_reg_swapper:hover
{
	text-decoration: underline;
	color: var(--buttons_highlight);
}

label
{
	font-size: 0.85em;
	display: block;
	font-weight: bold;
	color: #d7d7d7;
	margin-bottom: 6px;
	text-align: left;
	text-shadow: 1px 2px 2px rgba(0, 0, 0, .6);
}

.label_error
{
	color: var(--error) !important;
}

input, button
{
	font-size: 1.05em;
	color: #d7d7d7;
	background-color: #1d1d1d;
	font-weight: bold;
	border: 1px solid #0f0f0f;
	padding: 5px 10px;
	border-radius: 4px;
	width: 100%;
	box-sizing: border-box;
}

input[type=text],input[type=password]
{
	margin-bottom: 15px;
	transition: border .1s linear;
}

input:focus
{
    border: 1px solid var(--buttons_highlight);
}

button[type=submit]
{
	color: #d7d7d7;
	background-color: var(--buttons);
	font-weight: bold;
	border: 0;
	padding: 10px 10px;

	border-radius: 4px;
	display: block;
	cursor: pointer;
	box-sizing: border-box;
	transition: all 0.2s ease-out;
}

button[type=submit]:hover
{
	background-color: var(--buttons_highlight);
}

button[type=submit]:active
{
	transform: scale(0.9);
}

button:focus, input:focus
{
	outline: 0;
}

.input_error
{
    border: 1px solid var(--error) !important;
}

#emote_upload_form div.text_field:nth-child(3)
{
	margin-top: 8px;
}

.text_field
{
	margin-bottom: 8px;
	background-color: var(--main_bg_darkest);
	border-radius: 4px;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	font-weight: bold;
	height: 32px;
}

.text_field:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.text_field i
{
	vertical-align: middle;
	padding: 0px 8px;
	padding-top: 1px;
}

.text_field input
{
	display: inline-block;
	border: none;
	background: none;
	width: calc( 100% - 40px );
	margin: 0px;
	padding: 0px;
	vertical-align: middle;
	font-size: .9em;
}

.text_field input::placeholder
{
	color: var(--dim_fg);
}

div.cubiton
{
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	width: 20px;
	height: 30px;
	position: relative;
	top: 10px;
	margin-top: -16px;
}

img.emote_img
{
	margin-top: 5px;
}

#emote_help
{
	display: inline-block;
	float: right;
	position: relative;
	top: 4px;
	color: var(--buttons);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

#emote_guidelines
{
	background: var(--buttons);
	color: white;
	border-radius: 4px;
	padding: 4px 12px;
	padding-top: 12px;
	margin: 0;
	margin-top: 10px;
	font-size: .9em;
	line-height: 1.2em;
	list-style-position: inside;
}

#emote_guidelines li
{
	margin-top: 4px;
	margin-bottom: 4px;
}

#settings_emotes_menu
{
	height: 205px;
	padding-bottom: 33px;
}

.higher_emote_menu
{
	height: 405px !important;
}

#emote_menu_resize
{
	text-align: center;
	cursor: pointer;
	font-size: 1.5em;
	padding: 4px 0px;
	color: var(--dim_fg);
	-webkit-tap-highlight-color: transparent;
}

#emote_menu_resize:hover
{
	color: var(--main_fg);
}

#chat_emotes_menu
{
	position: fixed;
	bottom: 121px;
	z-index: 9999;
	border-radius: 0;
	border-top: 1px solid #353535;
	height: 182px;
	margin: 0;
	width: calc(100% - 16px);
}

.emotes_menu
{
	background-color: var(--main_bg_darkest);
	border-radius: 4px;
	width: 100%;
	height: 150px;
	box-sizing: border-box;
	padding: 8px;
	margin-bottom: 8px;
}

.emotes_menu div
{
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.emotes_box_wrapper
{
	display: inline-block;
	box-sizing: border-box;
	width: calc( 100% - 63px );
	height: 100%;
	vertical-align: top;
	background: #0d0d0d;
	overflow-y: scroll;
}

#chat_emotes_menu .emotes_box_wrapper
{
	height: 126px !important;
}

.emotes_box
{
	padding: 5px;
}

.emote_thumb
{
	width: 48px;
	height: 48px;
	margin: 5px;
	display: inline-block;
	border-radius: 4px;
	cursor: pointer;
	overflow: hidden;
	box-sizing: border-box;
}

.emote_thumb_img
{
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.emotes_box .help_message
{
	display: inline-block;
	padding: 2px;
	color: var(--main_bg_lightest);
}

.emote_categories_wrapper
{
	display: inline-block;
	box-sizing: border-box;
	float: right;
	height: 100%;
	vertical-align: top;
	overflow-y: scroll;
}

.emote_categories
{
	box-sizing: border-box;
	padding: 5px 10px;
}

.emote_categories div
{
	display: block;
	width: 43px;
	height: 43px;
	border-radius: 50%;
	cursor: pointer;
	margin-bottom: 3px;
	box-sizing: border-box;
	/*opacity: .3;*/
	vertical-align: middle;
	text-align: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 39px;
	border: 2px solid var(--main_bg_darkest);
	filter: grayscale(100%) opacity(25%);
}

.emote_categories div.emote_new_category
{
	background: #0d0d0d;
}

.emote_categories div i
{
	vertical-align: middle;
}

.emote_categories div.emote_new_category:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.emote_category_highlight
{
	/*opacity: 1 !important;*/
	/*border: 5px solid #766396 !important;*/
	/*background-size: 40px !important;*/
	filter: none !important;
}

.emote_categories img:last-child
{
	margin-bottom: 0px;
}

.upload_field
{
	background-color: var(--main_bg_darkest);
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	width: calc( 100% - 32px );
	display: inline-block;
	margin-top: 15px;
}

#upload_progress_container
{
	position: absolute;
	width: calc( 100% - 95px );
	height: 32px;
	display: inline-block;
}

#upload_progress
{
	position: absolute;
	width: 0%;
	background: var(--buttons);
	height: 32px;
	display: inline-block;
}

.upload_wrap
{
	display: inline-block;
	width: 34px;
    height: 32px;
	background: var(--generic_bg);
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.upload_wrap:hover
{
	background: var(--generic_highlight);
}

div.upload_wrap i
{
	position: absolute;
	padding: 8px;
}

div.upload_wrap input
{
	position: absolute;
	display: block !important;
	width: calc( 100% - 62px) !important;
	height: 32px !important;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}

#upload_filename
{
	position: absolute;
	display: inline-block;
	font-size: .9em;
	margin-left: 12px;
	margin-top: 6px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: calc( 100% - 130px );
	z-index: 1;
	text-shadow: 0px 1px 0px rgba( 0, 0, 0, .5 );
}

button#emote_submit
{
	background: var(--generic_bg);
	width: 32px;
	height: 32px;
	display: inline-block;
	transition: none;
	position: absolute;
	right: 15px;
	padding: 0px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	margin-top: 15px;
}

button#emote_submit:hover
{
	background: var(--generic_highlight);
}

button#emote_submit i
{
	vertical-align: middle;
}

button#emote_submit:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

#cubitons_menu
{
	position: fixed;
	bottom: 121px;
	z-index: 9999;
	border-radius: 0;
	border-top: 1px solid #353535;
	height: 127px;
	margin: 0;
	width: calc(100% - 16px);
	background-color: var(--main_bg_darkest);
	color: var(--main_fg);
	padding: 15px;
	box-sizing: border-box;
}

#cubitons_menu_box
{
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

.cubiton_thumb
{
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 4px;
	background-color: #0d0d0d;
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
}

.settings_switch
{
	position: relative;
	display: inline-block;
	width: 44px;
	height: 26px;
	margin: 8px 0px 0px 0px;
	-webkit-tap-highlight-color: transparent;
}

.settings_switch input
{
	display: none;
}

.settings_switch_slider
{
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--main_bg_darkest);
	transition: .2s;
	border-radius: 26px;
}

.settings_switch_slider:before
{
	position: absolute;
	content: '';
	height: 18px;
	width: 18px;
	left: 4px;
	bottom: 4px;
	background-color: var(--main_fg);
	transition: .2s;
	box-shadow: 0px 1px 0px rgba(0, 0, 0, .1);
	border-radius: 50%;
}

input:checked + .settings_switch_slider
{
	background-color: var(--buttons);
}

input:focus + .settings_switch_slider
{
	box-shadow: 0 0 1px var(--buttons);
}

input:checked + .settings_switch_slider:before
{
	transform: translateX(18px);
	background-color: white;
}

/* @MEDIA */

@media only screen and (min-width: 550px)
{
	#messages span.metadata
	{
		width: 500px;
	}
}

@media only screen and (min-width: 710px)
{
	body
	{
		background: var(--main_bg_darker);
	}

	#picciochat, #back_to_bottom
	{
		margin-right: var(--users_menu_alt_width);
	}

	#message_loading_label, #message_new_label
	{
		right: var(--users_menu_alt_width);
	}

	#chat_input_area
	{
		right: var(--users_menu_alt_width);
		width: calc(100% - var(--users_menu_alt_width));
	}

	#splash_screen
	{
		width: calc(100% - var(--users_menu_alt_width));
	}

	#chat_input
	{
		width: calc(100% - var(--users_menu_alt_width) - 88px);
	}

	#chat_submit
	{
		right: calc(var(--users_menu_alt_width) + 10px);
	}

	#chat_emotes_button
	{
		right: calc(var(--users_menu_alt_width) + 44px);
	}

	#cubitons_button
	{
		right: calc(var(--users_menu_alt_width) + 44px);
	}

	button#emote_submit
	{
		right: calc(var(--users_menu_alt_width) + 15px);
	}

	#back_to_bottom
	{
		margin-right: var(--users_menu_alt_width);
	}

	#users_button
	{
		display: none;
	}

	#users_menu
	{
		opacity: 1;
		right: 0;
		top: 36px;
		width: var(--users_menu_alt_width);
		border: 0;
		transition: none;
		box-shadow: none;
		background: var(--main_bg_darker);
	}

	#users_menu li span.users_status
	{
		min-width: 10px;
	}

	#users_menu.open
	{
		opacity: 1;
		top: 36px;
		transition: none;
	}

	#users_menu.off
	{
		display: block;
	}

	#settings_button
	{
		right: 5px;
	}

	#settings_page
	{
		width: calc( 100% - var(--users_menu_alt_width) );
	}

	#settings_close
	{
		right: var(--users_menu_alt_width);
	}

	#settings_emote
	{
		width: calc(100% - var(--users_menu_alt_width) );
	}

	div.upload_wrap input
	{
		width: calc( 100% - 62px - var(--users_menu_alt_width) ) !important;
	}

	#upload_progress_container
	{
		width: calc( 100% - 95px - var(--users_menu_alt_width) );
	}

	#upload_filename
	{
    	width: calc( 100% - 130px - var(--users_menu_alt_width) );
	}

	#chat_emotes_menu, #cubitons_menu
	{
		width: calc(100% - var(--users_menu_alt_width) - 16px);
	}
}

@media screen and (max-device-width: 600px)
{
	body, button, input, textarea
	{
		font-size: 16px;
	}

	.message_line
	{
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}

	#users_menu, #users_menu.open
	{
		transition: none;
	}

	#users_button:hover
	{
		background: var(--generic_bg);
	}

	button#emote_submit:hover
	{
		background: var(--generic_bg);
	}

	.upload_wrap:hover
	{
		background: var(--generic_bg);
	}

	.emotes_box .help_message
	{
		font-size: .9em;
		line-height: 1.1em;
	}

	#message_loading_label, #message_new_label
	{
		bottom: 65px;
		margin-left: unset;
		left: 15px;
	}

	.card_title
	{
		font-size: 1.21em;
	}

	.toggle_nsfw
	{
		margin-top: 4px;
	}

	.toggle_nsfw:hover
	{
		color: #8d7ca2;
	}

	.toggle_nsfw:active
	{
		color: #ffffff;
	}

	#chat_input_area
	{
		height: 50px;
		background: var(--main_bg_lighter);
	}

	#picciochat, #splash_screen, #chat_emotes_menu, #cubitons_menu
	{
		bottom: 51px;
	}

	#chat_emotes_menu, #cubitons_menu
	{
		width: 100%;
	}

	#chat_input
	{
		height: 28px;
		padding: 4px;
		padding-left: 10px;
		bottom: 11px;
		left: 11px;
		width: calc(100% - 22px - 106px - 11px);
		background: var(--main_bg_darkest);
		border-radius: 4px;
		transition: background 0.5s ease-in;
	}

	#chat_input:disabled
	{
		background: var(--main_bg_darker);
	}

	#chat_submit, #chat_emotes_button, #cubitons_button
	{
		width: 28px;
		height: 28px;
		right: 11px;
		bottom: 11px;
		-webkit-tap-highlight-color: transparent;
	}

	#emote_guidelines
	{
		font-size: .85em;
		line-height: 1.08;
	}

	#settings_emotes_menu
	{
		height: 150px;
		padding: 8px;
	}

	#emote_menu_resize
	{
		display: none;
	}

	#chat_emotes_button
	{
		right: 50px;
	}

	#cubitons_button
	{
		right: 89px;
	}

	#cubitons_button svg
	{
		margin-top: 6px;
		width: 16px;
		height: 16px;
	}

	#chat_emotes_menu .emote_thumb
	{
		width: 55px;
		height: 55px;
		margin: 6px;
	}

	#chat_submit:hover, #chat_emotes_button:hover, #cubitons_button:hover
	{
		background: var(--generic_bg);
	}

	#back_to_bottom
	{
		width: 55px;
		height: 55px;

		right: 15px;
		bottom: 65px;
		transition: none;
	}

	#back_to_bottom:hover
	{
		background: var(--generic_bg);
	}

	#back_to_bottom:active
	{
		transform: none;
	}

	.triangle_down
	{
		border-left: 9px solid transparent;
		border-right: 9px solid transparent;
		border-top: 12px solid #a0a0a0;
	}
}
