:root
{
	--page-bg:#050100;
	--page-bg-tinted:#181412;
	--page-text:#CBC6B9;

	--dark:#050100;
	--light:#CBC6B9;
	--lighter:#E9E7E2;

	--white:#fefefe;
	--dimm:rgba(5,1,0,.85);
	--blur-bg:rgba(203,198,185,.4);
	--blur-bg-off:rgba(203,198,185,1);
	--blur-bg-text:var(--dark);

	--accent:#2474FF;
	--blue:#8AB2D1;
	--pink:#C6A1CE;
	--green:#AAF7B3;
	--yellow:#FFFF79;
	--red:#F70808;
	
	--label-shadow:0px 1px 1px 0px rgba(5,1,0,.15);
	
	--object:#C6A1CE;
	--object-shade-1:#C8B8CC;
	--object-shade-2:#C8B8CC;
	--person:#AAF7B3;
	--institute:#EFEDBD; /* ==organisation */
	--organisation:#EFEDBD;
	--collective:#8AC1A0;
	--event:#FFC09A;
	--year:#8AB2D1;

/* NADD */
	--occupation:#92C59D;
	--country:#738DBE;
	
	--content-part:#DFA2C5;
	--content-chapter:#D67FA7; /* series */
	--content-section:#B85C97;
	--content-paragraph:#AB4984;
	
	--view-bg:rgba(233,231,226,1);
	--view-text:var(--dark);
	
	--slide-in:.6s cubic-bezier(.23,.34,.18,1) 0s;
	--slide-in-pub:.4s cubic-bezier(.23,.34,.18,1) 0s;
	--slide-in-fast:.3s cubic-bezier(.23,.34,.18,1) 0s;
	
	--default-type:20px;
	--default-line:1.27;
}

@media (prefers-color-scheme: dark)
{
	:root
	{
		--blur-bg:rgba(63,58,45,.3);
		--blur-bg-off:rgba(63,58,45,1);
		--blur-bg-text:var(--lighter);

		--view-bg:rgba(30,30,30,1);
		--view-text:var(--lighter);
	}
	
	.label.blur-bg:hover,
	.label.blur-bg:hover .icon
	{
		color:var(--dark);
	}
}

@font-face {
	font-family: 'archival-variable';
	src: url('fonts/archival-variable.woff2') format('woff2'),
			 url('fonts/archival-variable.woff') format('woff');
}

body
{
	margin:0;
	padding:0;
	
	font-family:'archival-variable','courier new',sans-serif;
	font-size:16px;
	line-height:19px;
	font-weight:400;
	font-style:normal;
	/* letter-spacing:-1px; */

	/* image-rendering:-webkit-optimize-contrast; */

	-webkit-text-size-adjust:100%;

	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	background-color:var(--page-bg);
	color:var(--page-text);
	
	scrollbar-color: rgba(5,1,0,.2) transparent;
}

body *
{
	box-sizing: border-box;
  -moz-box-sizing: border-box;
}
strong
{
	font-family:'suisse_intl_monoreg','courier new',sans-serif;
	font-weight:normal;
}
.is-hidden
{
	display:none !important;
}
.no-pointer-events
{
	pointer-events:none;
}
.pointer-events
{
	pointer-events:all;
}
.clickable
{
	cursor:pointer;
}
.no-transition
{
	transition:none !important;
}
.no-scrollbar
{
	scrollbar-width: none; /* FF */
	-ms-overflow-style: none; /* Edge */
}
.no-scrollbar::-webkit-scrollbar
{
	display: none;
}	
.flex-break
{
	flex-basis:100%;
	height:0;
}
.clear:after
{
	content:'';
	display:table;
	clear:both;
}
.full-width
{
	width:100% !important;
}
a
{
	color:var(--page-text);
	text-decoration: none;
}
a:hover,
a.active
{
	/* color:var(--accent); */
}
.text-accent
{
	color:var(--accent);
}
ul
{
	margin:0;
	padding:0;
	list-style:none;
}

h1,h2
{
	width:100%;
	text-align:center;
	font-weight:normal;
	line-height:1.2;
}
h1
{
	margin-top:10vh;
	font-size:5rem;
}
h2
{
	font-size:1rem;
}
input,
textarea
{
	position:relative;
	display:block;
	
	height:30px;
	border:none;
	border-radius:8px;
	padding:3px 6px;
	margin:4px 0 6px 0;

	-webkit-appearance:none;
	-moz-appearance:none;
	-ms-appearance:none;
	
	font-family:'archival-variable','courier new',sans-serif;
	font-size:16px;
	line-height:19px;
	/* letter-spacing: -1px; */
	
	color:var(--dark);
	outline:none;
	font-weight:inherit;
	font-style:normal;
}
textarea
{
	height:auto !important;
}
::placeholder
{
  color:var(--dark);
  opacity:.35;
}
::-webkit-search-results-button
{
	color:var(--dark) !important;
}

.label,
.button
{
	position:relative;
	display:inline-block;
	padding:0 12px;
	border-radius:8px;
	height:30px;
	font-size:20px;
	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.select
{
	position:relative;
	padding:0 !important;
	width:auto;
}
.label.select::after
{
	content:url(../media/select.svg);
	position:absolute;
	right:8px;
	top:-2px;
	pointer-events:none;
}
.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:hover
{
	background-color:var(--light);
}

.label.light,
.button.light
{
	background-color:var(--light);
}
.label.lighter,
.button.lighter
{
	background-color:var(--lighter);
}
.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
{
	background-color:var(--blue);
}
.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.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;
}

#page
{
	width:100%;
	height:100%;
}
.page-centered
{
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
}
#page-header
{	
	position:fixed;
	left:0;
	top:8px;
	width:100%;
	z-index:1000;
	text-align:center;
	pointer-events: none;
}
#page-header a
{
	pointer-events: all;
}
#head.large
{
	transform:translateY(calc(50vh - 50% - 8px)) scale(3);
}
.page
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}


/* 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:not(.active):hover,
.input-ui svg:hover
{
	color:var(--white);
}
.input-ui input
{
	position:absolute;
	display:none;
	left:6px;
	top:0;
	padding-top:2px;
	margin:0;
	width:calc(100% - 38px);
	background-color:transparent;
	
	font-size:20px;
	line-height:29px;
	/* letter-spacing:-1px; */
}
.input-ui.field input
{
	position:relative;
	padding-left:0;
	left:auto;
}
.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;
}

/* editable list */





@media (max-width:800px)
{
	#head.large
	{
		transform:translateY(calc(50vh - 50% - 8px)) scale(2);
	}
	.hd-only
	{
		display:none;
	}
	.label.blur-bg /* disable blur, increases mobile performance */
	{
		backdrop-filter:none;
		-webkit-backdrop-filter:none;
		background-color:var(--blur-bg-off);
	}
}
@media (min-width:800px)
{
	.sm-only
	{
		display:none;
	}
}