.label,
.button
{
	position:relative;
	display:inline-block;
	padding:0 12px;
	border-radius:8px;
	height:30px;
	font-size:18px;
	line-height:30px;
	color:var(--dark);
	text-decoration:none;
	
}
.label.flex
{
	display:flex;
}
.label.round
{
	padding:0;
	width:30px;
	border-radius:50%;
	text-align:center;
	
	transition:
		border-radius .1s cubic-bezier(.23,.34,.18,1) .2s,
		width var(--slide-in-fast);
}
.label.round.active
{
	border-radius:8px;
}
.label.shadow
{
	box-shadow:
		0 -1px 10px rgba(0,0,0,.06),
		0 1px 1px rgba(0,0,0,.15);
}
.label.select
{
	position:relative;
	padding:0 !important;
	width:auto;
}
.label.select::after,
.label.filter::after
{
	content:url(../media/select.svg);
	position:absolute;
	right:8px;
	top:-2px;
	pointer-events:none;
}
.select select
{
	opacity:0;
}
.select .selected
{
	position:absolute;
	left:12px;
	top:0;
	width:calc(100% - 30px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events:none;
}

.label.filter::after
{
	content:url(../media/search.svg);
	top:4px;
}
.label.filter.clear::after
{
	content:url(../media/close.svg);
	top:2px;
	cursor:pointer;
}

.label select
{
	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	
	width:100%;
	height:100%;
	
	padding:0 30px 0 12px;

	border:none;
	border-radius:8px;

	font-family:inherit;
	font-size:inherit;
	color:inherit;
	
	outline:none;
	
	background-color:transparent;
}
.button
{
	cursor:pointer;
	user-select:none;
}
.button:not(.round).processing,
.label:not(.round).processing
{
	position:relative;
	padding-left:36px !important;
}
.label.processing > svg,
#notify.stats > svg
{
	display:none !important;
}
.button.processing::after,
.label.processing::after
{
	content:url(../media/processing.svg);
	position:absolute;
	left:10px;
	top:3px;
	width:18px;
}
.round.processing::after
{
	left:6px;
	top:4px;
}
.button > label
{
	pointer-events:none;
}
.label > label
{
	/* display:inline-block; */
	display:block; /* NOTE:review if this doesn't break public client anywhere */
	width:100%;
}
.label .logo
{
	transform:scale(calc(20/30));
	vertical-align:top;
/* 
	width:20px;
	height:20px;
	margin:0 3px -3px 3px;
 */
}
.label.action,
.button.action,
.fill.action
{
	color:var(--white);
	background-color:var(--accent);
}
.label.action:hover,
.button.action:hover
{
	color:var(--dark);
}

.label.dark,
.button.dark,
.button.cancel
{
	color:var(--light);
	background-color:var(--dark);
}
.label.blur,
.bg-blur
{
	color:var(--light);
	text-shadow:1px 1px 0px rgba(5,1,0,.3);
	background:rgba(5,1,0,.45);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
a.label.blur:hover
{
	color:var(--white);
}
.label.blur-bg /* new (lighter) style blurred button */
{
	background-color:var(--blur-bg);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	color:var(--blur-bg-text);
}
.label.blur-bg .icon
{
	color:var(--blur-bg-text);
}
.label.blur-bg:not(.disabled):hover
{
	background-color:var(--light);
}

.label.light,
.button.light
{
	background-color:var(--light);
}
.label.lighter,
.button.lighter
{
	background-color:var(--lighter);
}
.label.data
{
	background-color:var(--data);
	color:var(--dark);
}
.label.data.light
{
	background-color:var(--data-light);
}
.label.data:not(.light):not(.select):hover
{
	color:var(--light)
}
.label.pink,
.button.pink,
.fill.pink,
.label.object,
.label.book,
.label.publication
{
	background-color:var(--pink);
}
.label.object.draft
{
	background-color:var(--object-shade-1);
}
.label.object.draft.is-owner
{
	background-color:var(--object-shade-2);
}
.label.series,
.label.serie
{
	background-color:var(--content-chapter);
}
.label.blue,
.fill.blue
{
	background-color:var(--blue);
}
.label.green,
.fill.green
{
	background-color:var(--green);
}
.label.yellow,
.fill.yellow
{
	background-color:var(--yellow);
}
.label.red,
.button.red
{
	background-color:var(--red);
}
.label.person
{
	background-color:var(--person);
}
.label.institute,
.label.organisation
{
	background-color:var(--institute);
}
.label.collective
{
	background-color:var(--collective);
}
.label.year,
.label.century,
.label.decade
{
	background-color:var(--year);
}
.label.event
{
	background-color:var(--event);
}
.label.occupation
{
	background-color:var(--occupation);
}
.label.country
{
	background-color:var(--country);
}

.label.part
{
	background-color:var(--content-part);
}
.label.chapter
{
	background-color:var(--content-chapter);
}

.label.instance,
.label.place,
.label.field_of_work
{
	background-color:var(--light);
}
.label.place::after
{
	content:' (place)'
}
.label.field_of_work::after
{
	content:' (field_of_work)'
}
.label.instance::after
{
	content:' (instance)'
}

.label.small,
.button.small,
#stream-years .year:not(.active) .label
{
	padding:0 11px;
	height:24px;
	font-size:13px;
	line-height:24px;
	font-weight:500;
}
.label.small select
{
	padding:0 26px 0 11px;
}
.label.small.select::after
{
	transform:scale(.8);
	top:0;
}

.label.small.round
{
	padding:0;
	width:24px;
}
.label:not(.flex) svg.icon
{
	display:inline-block;
	margin-bottom:-3px;
	width:18px;
	height:18px;
	vertical-align:baseline;
}
.label.flex .icon /* new style flex layout buttons */
{
	margin:0 4px 0 -8px;
}

.label.round svg.icon:not(.relative)
{
	position:absolute;
	left:6px;
	top:6px;
}
.label.small.round svg.icon:not(.relative)
{
	left:5px;
	top:5px;
}

.label:not(.control) svg.icon
{
	pointer-events:none;
}
.label.small svg.icon
{
	width:14px;
	height:14px;
}
.label:not(.flex):not(.processing) svg.icon + span
{
	margin-left:5px;
	pointer-events:none;
}

.label > div
{
	width:100%;
	height:100%;
	display:flex;
	align-items: center;
}
.label:not(.expanded) .expanded,
.label.expanded span:not(.expanded)
{
	display:none;	
}

.label.control
{
	position:relative;
	width:170px;
	text-align:center;
	overflow:hidden;
}
.label.control > *
{
	position:absolute;
	z-index:2;
}
.label.control label
{
	left:0;
	width:100%;
	z-index:1;
	cursor:col-resize;
}
.label.control label strong
{
	marin-bottom:3px;
	display:block;
	font-size:12px;
}
.label.control .fill
{
	left:0;
	top:0;
	height:100%;
	width:100%;
	z-index:0
}
.label.control .icon
{
	cursor:pointer;
}
.label.control .icon.left
{
	left:14px;
	top:6px;
}
.label.control .icon.right
{
	right:14px;
	top:6px;
}

.label[data-count]
{
	position:relative;
}

.label
{
	transition:
		font-size .2s ease 0s,
		padding .2s ease 0s;
		
}

.label[data-count]::after
{
	content:'(' attr(data-count) ')';
	position:absolute;
	left:calc(100% + 4px);
	color:var(--light);
	font-weight:700;
	font-size:9.5px;
}


/* input UI */

.input-ui.control
{
	position:relative;
	width:30px;
	transition:
		border-radius .1s cubic-bezier(.23,.34,.18,1) .2s,
		width var(--slide-in-fast),
		opacity .4s ease 0s,
		/* height .4s ease 0s, */
		margin .4s ease 0s;
		
	cursor:pointer;
}
.input-ui.field,
.label.select
{
	margin:0 6px 6px 0;
}
.input-ui.field
{
	padding-right:32px;
}
.input-ui:not(.active):hover,
.input-ui svg:hover
{
	color:var(--white);
}
input,
button
{
	padding:3px 6px;
	margin:0;
	width:100%;
	height:30px;
	background-color:transparent;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	border:none;
	outline:none;
	
	font-family:'reformat-b-mono','courier new',sans-serif;
	font-size:18px;
	line-height:29px;
	color:var(--dark);
}
.input-ui input
{
	position:absolute;
	display:none;
	left:6px;
	top:0;
}
.input-ui.field input
{
	position:relative;
	padding-left:0;
	padding-right:0;
	left:auto;
}
.input-ui.field input::placeholder
{
  color:var(--dark);
  opacity:.6;
}


.input-ui svg
{
	position:absolute;
	top:6px;
	right:6px;
	pointer-events:all;
}
.input-ui svg.icon.close,
.input-ui.active svg:not(.close)
{
	display:none;
}
.input-ui.active
{
	/* width:450px; */
	border-radius:8px;
	transition:
		border-radius .1s cubic-bezier(.23,.34,.18,1) 0s,
		/* width var(--slide-in-fast); */
		width .2s cubic-bezier(.23,.34,.18,1) .05s;
}
.input-ui.reset
{
	transition:margin .4s ease 0s;
}
.input-ui.active input,
.input-ui.active:not(.insert) .close
{
	display:block;
}
