.errorlist {
	color: red;
}

/* Floats */
.fl {
	float: left;
}

.fr {
	float: right;
}

.fc {
	float: clear;
}

/* Aligns */
.tar {
	text-align: right;
}

/* Paginator tweaks */
div.pagination {
	border-top: 1px solid #343a40;
	margin-top: 10px;
}

/* Book Details Page */
.li_root {
	overflow: auto;
}

.book_details_main {

}

.book_details_cover {
	width: 90%;
}

.book_details_narrow_list, .book_details_list {
	width: 90%;
}

.author-link::after {
	right: 0;
}

@media (min-width: 768px) {
	.author-link::after {
		right: 186px;
	}
	
	.book_details_main {
		width: 90%;
		margin: auto;
	}
	
	.li_root {
		display: flow-root;
	}
	
	.book_details_cover {
		text-align: center;
		padding: 5px;
		width: 45%;
	}
	
	.book_details_list {
		width: 45%;
	}

	.book_details_narrow_list {
		width: 31%;
	}
}

/* Charts */
.chartjs_container {
	position: relative;
	margin: auto;
	height: 40vh;
	width: 70vw;	
}

/* Collapsible description on the details page */
/* ref: https://jsfiddle.net/davidliang2008/cu0p613v/ */
.module .collapse, .module .collapsing {
	height: 12rem;	/* [NUM_OF_LINES] x [LINE_HEIGHT] */
}

.module .collapse {
	position: relative;	/* For ...'s content absolute positioning */
	display: block;
	overflow: hidden;
}

.module .collapse:before {
	content: ' ...';
	position: absolute;
	right: 0;
	bottom: 0;
}

.module .collapse.show {
	height: auto;	/* You need to reset the height when not collapsed */
}

.module .collapse.show:before {
	display: none;	/* Of course you don't want to display ... */
}

.module a.readMore.collapsed:after {
	content: 'vvv';
}

.module a.readMore:not(.collapsed):after {
	content: '^^^';
}

/* Width tweaks */
@media (min-width: 768px) {
	.w-md-50 {
		width: 50%!important;
	}
}

/* Licence ancor position */
div.license_container {
	position: absolute;
	bottom: 10px;
}

div.l_50 { left: 50%; }
div.l_45 { left: 45%; } /* Not in use */
div.r_10 { right: 10%; }
div.r_05 { right: 5%; }

a.license_info {
	/*	position: relative;
	left: -36px; */
	vertical-align: bottom;
	font-weight: 800 !important;
	font-size: 2em;
	text-shadow: 1px 1px white;
}

/* Cookies popup */
.dark_shadow {
	box-shadow: 0rem 0rem 1rem 1rem rgb(0 0 0 / 60%)
}

/* Mobile menu for public pages */
ul.navbar-nav {
	flex-direction: row;
}

ul.navbar-nav li {
	text-align: center;
	padding-left: 10px;
}
