/* Rye 400 normal latin */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Rye/latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Rye 400 normal latin-ext */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Rye/latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Crimson Pro variable normal latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(fonts/Crimson-Pro/latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Crimson Pro variable normal latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(fonts/Crimson-Pro/latin-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Crimson Pro variable italic latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url(fonts/Crimson-Pro/latin-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Crimson Pro variable italic latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-display: swap;
  font-weight: 200 900;
  src: url(fonts/Crimson-Pro/latin-ext-wght-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

* {
	box-sizing: border-box;
}
html {
	font-family: 'Crimson Pro',serif;
	font-size: 16px;
	color: #333;
}
body {
    margin: 0;
}

@media screen and (max-width: 768px) {
	html {
		font-size: 13px;
	}
	header h1 {
		margin-top: 0;
	}
}


header {
	text-align: center;
	margin-bottom: 3em;
	background: hsl(40, 3%, 40%);
	padding: 1em 1em 0.1em 1em;
	background-image: url('ebru.jpg');
	background-size: cover;
	background-position: bottom;
}

header h1 {
	font-size: 4rem;
	font-family: Rye;
	font-weight: normal;
	margin-top: 0;
}

header h1 a {
	text-decoration: none;
	color: hsl(300,50%,100%);
	text-shadow: 2px 5px 1px black;
	word-break: break-word;
}

main {
    padding: 0 2em;
}

footer {
    margin-top: 5rem;
    font-size: 0.8rem;
    color: #555;
    text-align: center;
}

.btn {
	border: none;
	padding: 0.5em 1em;
	display: inline-block;
	background: hsl(240,40%,70%);
	color: white;
	text-decoration: none;
	margin: 0.1em;
	border-radius: 0.1em;
	text-align: center;
}

.btn.big {
	font-size: 2em;
}

.btn:hover {
	background: hsl(240,40%,80%);
}

.btn.danger {
	background: hsl(0,40%,70%);
}

.btn.danger:hover {
	background: hsl(0,40%,80%);
}

#search input {
    border-radius: 4px 0 0 4px;
    background: white;
}
#random-entry {
	flex: 0 0 10em;
	height: 3rem;
	line-height: 1em;
	margin-left: 0;
	margin-top: 0;
	border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 768px) {
    #search input, #random-entry {
        border-radius: 0;
        width: 100%;
    }
}

ul.entries {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.entries li.entry {
	margin: 1em;
	background: hsl(240,60%,93%);
	display: inline-block;
	flex-grow: 1;
	box-shadow: 0 3px 3px #ccc;
	padding: 1rem;
}

.entries li > a {
	display: inline-block;
	font-size: 1.3em;
	text-decoration: none;
	color: #111;
}
.entries li .entry-info {
    font-size: 0.9rem;
}

form .field {
	display: flex;
	margin: 1em 0;
	flex-wrap: wrap;
}
form .field :not(:last-child) {
	margin-right: 1rem;
}
form .field label {
	width: 6rem;
	text-align: right;
	line-height: 3rem;
	font-weight: bold;
	flex: 0 1 8rem;
}
form .field .form-control {
	flex: 1 1 auto;
	font-size: 2rem;
	border: none;
	background: #eee;
	margin-top: 0em;
	margin-bottom: 0em;
	padding: 0.1em 0.5em;
	min-width: 6em;
	margin-right: 0;
	height: 3rem;
}
form .field textarea.form-control {
	font-size: 1.2rem;
	min-height: 8rem;
}
form .field .form-control.label-input {
    max-width: 6em;
    text-align: right;
}

.top {
	display: flex;
	margin: 0 0 0 auto;
	max-width: 90rem;
}
.top .pdf {
	flex: 1 0 30%;
	min-height: 600px;
}
.top .info {
	margin-right: 3em;
	flex: 1 1 50%;
	max-width: 40rem;
}
@media screen and (max-width: 768px) {
	.top {
		flex-wrap: wrap;
	}
	.top .info {
		flex: 1 0 100%;
		margin-right: 0;
	}
}
#abstract h1 {
    font-size: 2rem;
}
#abstract .author {
    font-weight: normal;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}
.top .info .abstract {
	padding: 1rem 2rem;
	font-size: 1.2rem;
	margin: 2rem 0;
	line-height: 1.5em;
}
.top .info .comment {
	font-style: italic;
	font-size: 1.2rem;
}
#abstract {
	margin-bottom: 2rem;
}

#show-pdf-link {
    text-align: right;
    flex: 1;
}

#bibtex pre {
	overflow-x: auto;
	white-space: pre-wrap;
	word-break: break-all;
	font-size: 0.7rem;
}

.links {
	list-style: none;
	padding: 0;
}

.link {
	margin: 0.5em 0;
	border-bottom: 2px solid hsl(240,40%,95%);
	padding: 0.5em;
	background: hsl(240,40%,97%);
}

.link a {
	text-decoration: none;
	word-break: break-all;
}

.fields dt {
    font-family: monospace;
}
.fields dd ~ dt {
	margin-top: 0.5rem;
}
.fields dt ~ dd {
	margin-top: 0.25rem;
}
.dates {
    font-weight: normal;
    color: #555;
    margin:0;
    padding:0;
    list-style: none;
}
.dates li ~ li::before {
	content: ' \00b7 ';
	margin: 0 0.3em;
	font-weight: bold;
}
.dates li {
	display: inline-block;
}

section#bibtex {
	margin-top: 6rem;
}
#search .field {
    justify-content: flex-end;
}
#introduction {
    max-width: 50rem;
    margin: 1rem auto 3rem auto;
    font-size: 1.3rem;
}

.list-inline {
	padding: 0;
	display: inline;
	list-style: none;
}
.list-inline > li {
	display: inline-block;
}
#collections.list-inline > li {
	margin-left: 0.5em;
}
.no-bullet {
	list-style: none;
	padding: 0;
}
form #collections {
	display: flex;
	flex-wrap: wrap;
	flex:  1 1;
}

form #collections > li {
	flex-basis: 20em;
}

.list-inline.comma-separated li ~ li::before {
	content: ', ';
}

.edit-collection .entries li.entry {
	flex-basis: 100%;
	display: flex;
	align-items: baseline;
}
.edit-collection .entries li.entry > a {
	flex-shrink: 1;
}
.edit-collection .entries li.entry > .entry-info {
	flex-grow: 1;
	text-align: right;
}

.edit-tags .words {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	list-style: none;
	justify-content: center;
}
.edit-tags .words input[type="checkbox"] {
	display: none;
}
.edit-tags .words .word:not(:last-child) {
	margin-right: 1em;
}
.edit-tags .words .word label {
	padding: 0.2em 1em;
	border-radius: 0.3em;
	background: #eee;
	display: inline-block;
	margin: 0.3em 0;
}
.edit-tags .words .word input:checked ~ label {
	background: hsl(240,75%,90%);
}


.bulk-comments td {
	padding-bottom: 1em;
}
.bulk-comments .name {
	width: 40%;
	text-align: right;
}
.bulk-comments .comment textarea {
	width: 100%;
	background: #eee;
	border: none;
	border-bottom: 1px solid;
	padding: 0.5em 0.2em;
}
.bulk-comments .comment textarea.changed {
	background: #eee;
	animation: wibble 0.5s infinite alternate-reverse;
}
@keyframes wibble {
	0% {
		background-color: hsl(0,50%,95%);
	}
	50% {
		background-color: hsl(120,50%,95%);
	}
	100% {
		background-color: hsl(240,50%,95%);
	}
}
