/*!
 * Alex Application
 * Layout (public pages) Stylesheet
 *
 * @version 1.1
 * @date 2018-09-17
 */

:root {
	--colorBg: hsl(0, 0%, 92.5%);
	--colorPanel: hsl(0, 0%, 100%);
	--colorInput: hsl(0, 0%, 92.5%);
	--colorBorder: hsl(0, 0%, 87.5%);
	--colorMenu: hsl(0, 0%, 15%);
	--colorMenuHover: hsl(0, 0%, 22.5%);
	--colorMuted: hsl(0, 0%, 50%);
	--colorPrimary: hsl(30, 100%, 60%);
	--colorPrimaryHover: hsl(30, 100%, 50%);
	--colorSuccessLight: hsl(150, 75%, 90%);
	--colorSuccessLightHover: hsl(150, 75%, 85%);
	--colorSuccess: hsl(150, 100%, 40%);
	--colorSuccessHover: hsl(150, 100%, 35%);

	--colorText: hsl(0, 0%, 0%);
	--colorTextInverted: hsl(0, 0%, 100%);
	--fontFamily: 'Barlow';
	--fontSizeSmall: 14px;
	--fontSize: 16px;

	--spacingXXSmall: 4px;
	--spacingXSmall: 8px;
	--spacingSmall: 12px;
	--spacing: 16px;
	--spacingMedium: 24px;
	--spacingLarge: 32px;
	--spacingXLarge: 48px;
	--spacingXXLarge: 64px;

	--inputHeight: 40px;
}

/* Body */

*, *:before, *:after {
	box-sizing: border-box;
}

body {
	background-color: var(--colorBg);
	color: var(--colorText);
	font-family: var(--fontFamily), sans-serif;
	font-size: var(--fontSize);
}

/* Grids */

.grid-gutter {
	margin-inline: calc(var(--spacingXSmall) * -1);
}

.grid-gutter > [class*='inline-'] {
	margin-inline: calc(var(--spacingXSmall));
}

.grid-gutter > .inline-1-1 {
	width: calc(100% - var(--spacing));
}

.grid-gutter > .inline-1-2 {
	width: calc(100% / 2 - var(--spacing));
}

.grid-gutter > .inline-1-3 {
	width: calc(100% / 3 - var(--spacing));
}

.grid-gutter > .inline-1-4 {
	width: calc(100% / 4 - var(--spacing));
}

.grid-gutter > .inline-2-3 {
	width: calc(100% / 3 * 2 - var(--spacing));
}

.grid-gutter > .inline-3-4 {
	width: calc(100% / 4 * 3 - var(--spacing));
}

.grid-gutter > .inline-1-5 {
	width: calc(100% / 5 - var(--spacing));
}

.grid-gutter > .inline-2-5 {
	width: calc(100% / 5 * 2 - var(--spacing));
}

.grid-gutter > .inline-3-5 {
	width: calc(100% / 5 * 3 - var(--spacing));
}

.grid-gutter > .inline-4-5 {
	width: calc(100% / 5 * 4 - var(--spacing));
}

/* Flex utility */

.flex {
	display: flex;
	align-items: center;
}

.gap-xxl {
	gap: var(--spacingXXLarge);
}

.gap-xl {
	gap: var(--spacingXLarge);
}

.gap-lg {
	gap: var(--spacingLarge);
}

.gap-md {
	gap: var(--spacingMedium);
}

.gap {
	gap: var(--spacing);
}

.gap-sm {
	gap: var(--spacingSmall);
}

.gap-xs {
	gap: var(--spacingXSmall);
}

.gap-xxs {
	gap: var(--spacingXXSmall);
}

/* Text */

h1, h2, h3 {
	font-family: 'Barlow', sans-serif;
	color: var(--colorText);
}

p {
	line-height: 1.3;
	margin-block: 0 var(--spacing);
}

a {
	color: var(--colorPrimary);
}

a:is(:hover, :focus) {
	color: var(--colorPrimaryHover);
}

strong {
	font-weight: 600;
}

.bordered-list {
	margin-bottom: var(--spacing);
}

.bordered-list li {
	display: flex;
	align-items: center;
	gap: var(--spacingXSmall);
	line-height: 1;
	padding-block: var(--spacingXSmall);
	border-bottom: 1px solid var(--colorBorder);
}

.bordered-list li a {
	color: var(--colorText);
}

.bordered-list li a:is(:hover, :focus) {
	color: var(--colorPrimary);
}

.bordered-list li:last-of-type {
	border-bottom: 0;
}

.bordered-list li label {
	display: flex;
	align-items: center;
	gap: var(--spacingXSmall);
}

/* Header */

#header_container {
	position: sticky;
	top: 0;
	background-color: var(--colorPanel);
	z-index: 3;
}

#header {
	align-items: center;
	padding-block: var(--spacing);
}

.lexicon-search-visible #header {
	position: relative;
	z-index: 1;
}

#header .wrapper {
	display: flex;
	align-items: center;
}

#header_logo {
	display: inline-block;
	line-height: 0;
}

#header_logo img {
	width: auto;
	height: 48px;
}

.header-actions {
	position: absolute;
	top: -60px;
	right: 0;
	display: flex;
	align-items: center;
	gap: var(--spacingXSmall);
}

.header-actions .button + .button {
	margin: 0;
}

#menu_lang {
	display: flex;
	align-items: center;
	gap: var(--spacingXSmall);
}

#menu_lang li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--inputHeight);
	height: var(--inputHeight);
	background-color: var(--colorInput);
	border-radius: var(--spacingXXSmall);
	transition: .25s;
}

#menu_lang li:hover {
	background-color: var(--colorBorder);
}

/* Lexicon search */

#lexicon_search_form {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 450px;
	transform: translate(-50%, -50%);
}

.lexicon-search-visible #lexicon_search {
	border-bottom-color: var(--colorInput);
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.autocompleter {
	display: none;
	position: absolute;
	top: 100%;
	flex-direction: column;
	width: 100%;
	background-color: var(--colorPanel);
	border-top: 0;
}

.autocompleter:has(.autocompleter-item) {
	border: 1px solid var(--colorBorder);
}

.autocompleter h4 {
	display: none;
}

.autocompleter-empty-result {
	margin: var(--spacingSmall);
}

.autocompleter-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacingSmall);
	font-size: var(--fontSizeSmall);
	padding: var(--spacingXSmall) 0;
	border-bottom: 1px solid var(--colorBorder);
	margin-inline: var(--spacingSmall);
}

.autocompleter-item:first-of-type {
	margin-top: var(--spacingXXSmall);
}

.autocompleter-item:last-of-type {
	margin-bottom: var(--spacingXXSmall);
}

.autocompleter-item a {
	color: var(--colorText) !important;
}

.autocompleter-item a:hover {
	color: var(--colorPrimary) !important;
}

.js-autocompleter-action {
	display: flex;
	align-items: center;
	gap: var(--spacingSmall);
}

.autocompleter-item .autocompleter-item-img {
	position: static;
	width: 28px;
	min-width: 28px;
	height: 28px;
	background-color: var(--colorBorder);
}

.autocompleter-label {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.autocompleter-item .autocompleter-item-img + .autocompleter-label {
	padding-left: 0;
}

.autocompleter-item .autocompleter-type {
	position: static;
}

/* User zone */

#user_zone {
	height: var(--spacingLarge);
	background-color: var(--colorPanel);
	color: var(--colorText);
	font-size: var(--fontSizeSmall);
	line-height: var(--fontSize);
	text-align: left;
	border-bottom: 1px solid var(--colorBorder);
}

#user_zone_userinfo {
	padding-block: var(--spacingXSmall);
}

#user_zone_actions {
	position: absolute;
	top: calc((48px + var(--spacingLarge) + var(--spacing) * 2) * -1);
	right: 0;
	display: flex;
	gap: var(--spacing);
}

.user-zone-link {
	color: var(--colorPrimary);
	font-size: var(--fontSizeSmall);
	font-weight: 600;
	padding-block: var(--spacingXSmall);
}

.user-zone-link:hover {
	color: var(--colorPrimaryHover);
}

/* Impersonate */

#user_zone_switcher .js-impersonate {
	height: var(--spacingLarge) !important;
	padding: 0 !important;
	background-color: transparent;
}

#user_zone_switcher .select2-container {
	width: auto !important;
}

#user_zone_switcher .select2-container--default .select2-selection--single {
	height: var(--spacingLarge) !important;
	background-color: transparent;
	padding: 0;
	border: 0;
}

#user_zone_switcher .select2-container .select2-selection--single .select2-selection__rendered {
	color: var(--colorPrimary);
	font-size: var(--fontSizeSmall);
	font-weight: 600;
	font-style: normal;
	line-height: var(--spacingLarge);
	padding-inline: 0 !important;
	overflow: visible;
	transition: .25s;
}

#user_zone_switcher .select2-container .select2-selection--single .select2-selection__rendered:hover {
	color: var(--colorPrimaryHover);
}

#user_zone_switcher .select2-container--default .select2-selection--single .select2-selection__arrow {
	display: none;
}

.select2-dropdown {
	min-width: 186px;
	border: 1px solid var(--colorBorder) !important;
}

.select2-search--dropdown {
	padding: 0 !important;
}

.select2-search--dropdown .select2-search__field {
	padding: 0 var(--spacingSmall) !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.select2-results {
	font-size: var(--fontSizeSmall);
}

.select2-results__option,
.select2-container--default .select2-results__group {
	padding: 0 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--colorInput) !important;
	color: var(--colorText) !important;
}

.select2-results__option.select2-results__message {
	line-height: var(--fontSizeSmall);
	padding: var(--spacingSmall) !important;
}

.select2-results__option span {
	display: flex;
	justify-content: space-between;
	align-items: center;
	white-space: nowrap;
	line-height: var(--fontSizeSmall);
	padding: var(--spacingSmall);
}

/* Menu */

#menu_open,
.menu-parent-name,
#menu .go-back {
	display: none;
}

#menu {
	background-color: var(--colorMenu);
}

#nav {
	display: flex;
	align-items: center;
	gap: calc(var(--spacingSmall) / 2);
	padding-block: calc(var(--spacingSmall) / 2);
}

#nav > li {
	position: relative;
}

#nav > li > a {
	display: flex;
	align-items: center;
	gap: var(--spacingXXSmall);
	font-size: var(--fontSizeSmall);
	font-weight: 600;
	line-height: var(--fontSize);
	color: var(--colorTextInverted);
	padding: var(--spacingSmall);
	border-radius: var(--spacingXXSmall);
	transition: .25s;
}

#nav > li:hover > a,
#nav > li.current > a {
	background-color: var(--colorMenuHover);
}

#nav ul a {
	display: flex;
	color: var(--colorTextInverted);
	font-size: var(--fontSizeSmall);
	white-space: nowrap;
	padding: var(--spacingXSmall) var(--spacingSmall);
}

#nav ul a:hover {
	color: var(--colorPrimary);
}

/* Banner */

#banner {
	position: relative;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center center;
	height: 10vw;
}

.page-index #banner {
	display: none;
}

#banner:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, rgb(0 0 0 / 75%), rgb(0 0 0 / 0%));
	z-index: 1;
}

#banner h1 {
	position: relative;
	color: var(--colorTextInverted);
	font-size: 36px;
	z-index: 2;
}

/* Content */

.wrapper {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

#content {
	padding-block: var(--spacingXLarge) var(--spacingLarge);
}

/* Startpage */

.startpage-search-panel {
	background-size: cover;
	background-position: center center;
	padding: var(--spacingXXLarge);
	border-radius: var(--spacingXSmall);
	margin-bottom: var(--spacing);
}

.startpage-search-content {
	max-width: 600px;
}

.startpage-search-content h1 {
	color: var(--colorTextInverted);
	font-size: 32px;
	line-height: 1.2;
	margin-block: 0 var(--spacing);
}

.startpage-search-content p {
	color: var(--colorTextInverted);
	line-height: 1.4;
	margin-block: 0 var(--spacingMedium);
}

.startpage-search-content #lexicon_search_form {
	position: static;
	transform: none;
	max-width: 500px;
}

.startpage-search-content .form-group-button-combo {
	gap: var(--spacingXSmall);
}

.startpage-search-content .form-group-button-combo .button {
	position: static;
	height: var(--inputHeight);
	min-width: auto;
	padding-inline: var(--spacing);
}

.startpage-search-panel .form-group-button-combo .button:after {
	content: 'i Alex';
}

.page-blocks {
	display: flex;
	flex-wrap: wrap;
}

.page-block {
	position: relative;
	min-height: calc(100% - var(--spacing));
 	background-color: var(--colorPanel);
	padding: var(--spacingMedium);
	padding-bottom: var(--spacingXSmall);
	border-radius: var(--spacingXXSmall);
	margin-bottom: var(--spacing);
	overflow: hidden;
}

.page-block-image {
	position: relative;
	line-height: 0;
}

.page-block:has(.page-block):not(:has(.block-grid)) {
	height: 100%;
	background-color: transparent;
	padding: 0;
	margin-bottom: 0;
}

.block-banner:not(:has(.fullwidth-banner)) {
	display: flex;
	flex-direction: column;
	gap: var(--spacingXXSmall);
	padding: var(--spacingXXSmall);
}

.block-banner:not(:has(.fullwidth-banner)) img {
	border-radius: var(--spacingXXSmall);
}

.banner-bottom .page-block-image,
.banner-right .page-block-image {
	order: 1;
}

.banner-left:not(:has(.fullwidth-banner)),
.banner-right:not(:has(.fullwidth-banner)) {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacingXXSmall);
}

.banner-left:not(:has(.fullwidth-banner)) .page-block-image,
.banner-right:not(:has(.fullwidth-banner)) .page-block-image {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: var(--spacingXXSmall);
	overflow: hidden;
}

.banner-left:not(:has(.fullwidth-banner)) img,
.banner-right:not(:has(.fullwidth-banner)) img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

.block-banner .block-writer-image-caption {
	padding: var(--spacingSmall);
	padding-top: calc(var(--spacingXSmall) * 2);
	font-size: var(--fontSizeSmall);
	line-height: normal;
}

.block-banner:not(:has(.fullwidth-banner)) .page-block-content {
	padding: calc(var(--spacingMedium) - var(--spacingXXSmall));
	padding-bottom: var(--spacingXXSmall);
}

.page-block:has(.fullwidth-banner) {
	padding: var(--spacingLarge);
	padding-bottom: var(--spacing);
}

.page-block:has(.fullwidth-banner) .page-block-image {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
}

.fullwidth-banner {
	position: relative;
	z-index: 1;
}

.fullwidth-banner h2,
.fullwidth-banner h3,
.fullwidth-banner p {
	color: var(--colorTextInverted);
}

.page-block.external-link {
	cursor: pointer;
	transition: .25s;
}

.page-block .pre-headline {
	color: var(--colorMuted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: var(--spacingXXSmall);
}

.page-block h2 {
	font-size: 28px;
	line-height: 1.2;
	margin-block: 0 var(--spacing);
}

.page-block h3 {
	font-size: 20px;
	line-height: 1.2;
	margin-block: 0 var(--spacing);
}

.page-block .post-headline {
	color: var(--colorMuted);
	font-size: var(--fontSizeSmall);
	font-style: italic;
	margin-top: calc(var(--spacingSmall) * -1);
}

.page-block:has(.page-block-buttons) {
	padding-bottom: calc(var(--inputHeight) + var(--spacingMedium));
}

.page-block-buttons {
	position: absolute;
	inset: var(--spacingMedium);
	top: auto;
	margin: 0;
}

.page-block .button + .button {
	margin-left: var(--spacingXSmall);
}

.page-block:has(.dark) {
	background-color: var(--colorMenu);
}

.page-block:has(.dark) img {
	border-color: var(--colorMenu);
}

.page-block:has(.dark) h3,
.page-block:has(.dark) p:not(.pre-headline) {
	color: var(--colorTextInverted);
}

.page-block:has(.dark) .button {
	background-color: var(--colorPanel);
	color: var(--colorText);
}

.page-block:has(.dark) .button:is(:hover, :focus) {
	background-color: var(--colorInput);
	color: var(--colorText);
}

.block-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing);
	margin-bottom: Var(--spacing);
}

.block-grid .page-block {
	border: 1px solid var(--colorBorder);
	margin: 0;
}

.block-writer {
	display: flex;
	align-items: flex-start;
	gap: var(--spacingMedium);
}

.block-writer-image {
	margin-bottom: var(--spacing);
}

.block-writer-image img {
	max-width: 195px;
	max-height: 174px;
	border-radius: var(--spacingXXSmall);
}

.block-writer-image-caption {
	display: block;
	color: var(--colorMuted);
	font-size: 12px;
	font-weight: italic;
	line-height: 14px;
}

.block-writer-excerpts {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: 100px;
}

.block-header {
	display: flex;
	align-items: center;
	gap: var(--spacing);
	margin-bottom: var(--spacing);
}

.block-header-image {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: var(--spacingXXLarge);
	width: var(--spacingXXLarge);
	height: var(--spacingXXLarge);
	border-radius: var(--spacingXXSmall);
	overflow: hidden;
}

.block-header-image img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

.block-header h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.block-header .post-headline {
	margin-bottom: 0;
}

.theme-article-intro,
.character-intro {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
	margin-bottom: var(--spacing);
}

.writer-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacingXXSmall);
	margin-bottom: var(--spacing);
}

.writer-chips > a {
	background-color: var(--colorInput);
	color: var(--colorText);
	font-size: var(--fontSizeSmall);
	line-height: 1;
	padding: var(--spacingXXSmall);
	border-radius: calc(var(--spacingXXSmall) / 2);
	transition: .25s;
}

.writer-chips > a:hover {
	background-color: var(--colorBorder);
}

.page-block td img {
	vertical-align: middle;
	border-radius: calc(var(--spacingXXSmall) / 2);
}

/* Forms */

input:not([type="checkbox"], [type="radio"], [type="file"]),
textarea,
select {
	appearance: none;
	width: 100%;
	max-width: none;
	height: var(--inputHeight);
	background-color: var(--colorInput);
	font-family: var(--fontFamily);
	font-size: var(--fontSizeSmall);
	line-height: var(--fontSizeSmall);
	padding: 0 var(--spacingXSmall);
	border: 1px solid transparent;
	border-radius: var(--spacingXXSmall);
}

textarea {
	resize: vertical;
	min-height: calc(var(--inputHeight) * 3);
	padding: var(--spacingXSmall);
}

select {
	background-image: url("../images/select-arrow.svg");
	background-size: 7px 4px;
	background-position: right var(--spacingXSmall) bottom 50%;
	background-repeat: no-repeat;
}

.form-group-button-combo {
	display: flex;
	align-items: center;
}

.form-group-button-combo .button {
	position: absolute;
	top: calc(var(--spacingSmall) / 2);
	right: calc(var(--spacingSmall) / 2);
	height: calc(var(--fontSizeSmall) * 2);
	padding-inline: var(--spacingSmall);
	border-radius: var(--spacingXXSmall);
}

input:is(:hover, :focus),
textarea:is(:hover, :focus),
select:is(:hover, :focus) {
	outline: none;
	border-color: var(--colorBorder);
	box-shadow: none;
}

button, .button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacingXXSmall);
	height: var(--inputHeight);
	background-color: var(--colorPrimary);
	font-family: var(--fontFamily);
	font-size: var(--fontSizeSmall);
	font-weight: 600;
	line-height: var(--fontSizeSmall);
	padding-inline: var(--spacing);
	border: 1px solid transparent;
	border-radius: var(--spacingXXSmall);
	cursor: pointer;
}

button:focus,
.button:focus {
	outline: 0;
}

button:is(:hover, :focus),
.button:is(:hover, :focus) {
	background-color: var(--colorPrimaryHover);
}

.button.t-success {
	background-color: var(--colorSuccess);
}

button.t-success:is(:hover, :focus),
.button.t-success:is(:hover, :focus) {
	background-color: var(--colorSuccessHover);
}

.button.success-ghost {
	background-color: var(--colorSuccessLight);
	color: var(--colorSuccessHover);
}

.button.success-ghost:is(:hover, :focus) {
	background-color: var(--colorSuccessLightHover);
	color: var(--colorSuccessHover);
}

.button.t-muted {
	background-color: var(--colorMuted);
}

button + button,
button + .button,
.button + button,
.button + .button {
	margin-left: var(--spacingXSmall);
}

.button-seamless {
	height: auto;
}

.button-small {
	height: calc(var(--inputHeight) - var(--spacingSmall));
	font-size: 13px;
	padding-inline: var(--spacingXSmall);
}

.button.t-neutral {
	background-color: var(--colorInput);
	color: var(--colorText);
}

.button.t-neutral:is(:hover, :focus),
.button.t-neutral.current {
	background-color: var(--colorBorder);
	color: var(--colorText);
}

.button-border {
	background-color: var(--colorPanel);
	color: var(--colorText);
	border: 1px solid var(--colorBorder);
}

.button-border:is(:hover, :focus) {
	background-color: var(--colorInput);
	color: var(--colorText);
}

button .fa,
.button .fa {
	margin: 0;
}

/* Filters */

.table-filtering {
	display: flex;
	align-items: flex-end;
	gap: var(--spacingXSmall);
	margin-bottom: var(--spacing);
}

.table-filtering > *:not(button, .button) {
	flex: 1;
}

.table-filtering .form-group {
	margin-bottom: 0;
}

.table-filtering button,
.table-filtering .button {
	margin: 0;
}

/*
 * Flash banner
 */
#flash_banner {
	position:relative;
	padding:.75rem 1.25rem;
	margin-bottom: 5px;
}

#flash_banner.info {
	background-color: #cce5ff;
	border:1px solid #b8daff;
	color: #004085;
}
#flash_banner.success {
	background-color: #d4edda;
	border:1px solid #c3e6cb;
	color: #155724;
}
#flash_banner.warning {
	background-color: #fff3cd;
	border:1px solid #ffeeba;
	color: #856404;
}
#flash_banner.danger {
	background-color: #f8d7da;
	border:1px solid #f5c6cb;
	color: #721c24;
}
#flash_banner .close {
	position: absolute;
	top:0;
	right:0;
	padding:5px 8px;
	font-size: 18px;
	cursor: pointer;
}

/* Messages */

#page_messages {
	position: fixed;
	z-index: 1;
	bottom: 20px;
	left: 20px;
	max-width: 400px;
}

.page-has-subs > .page-messages {
	margin-top: 87px;
}

.dialog-opened.page-has-subs .page-messages {
	margin-top: 0;
}

/* Panels */

.panel {
	position: relative;
	background-color: var(--colorPanel);
	padding: var(--spacingMedium);
	padding-bottom: var(--spacingXSmall);
	border-radius: var(--spacingXXSmall);
	margin-bottom: var(--spacing);
}

.panel h2,
.panel h3 {
	font-weight: 600;
	line-height: 1.1;
	margin-block: 0 var(--spacing);
}

.panel h2 {
	font-size: 20px;
}

.panel h3 {
	font-size: 18px;
}

.grid-gutter .panel, .grid-gutter-t .panel {
	margin-top: 0;
}

.panel h1:first-child, .panel h2:first-child {
	margin-top: 0;
}

.panel-fill {
	padding: 0;
}

.panel-alt-light,
.panel-alt-alex {
	background: #7b2539;
	color: #fff;
	text-align: center;
}

.panel-alt-alex h2 {
	color: #fff;
}

.panel-alt-alex .button {
	background-color: #f90;
}

.panel-alt-alex .button:hover,
.panel-alt-alex .button:focus {
	background-color: #E89000;
}

.panel-alt-dark {
	background: #4f202b;
	color: #fff;
	text-align: center;
}

/* Crime */

.panel-alt-crime {
	background: #2A2A2A;
	color: #fff;
	text-align: center;
}

.panel-alt-crime h2 {
	color: #fff;
}

.panel-alt-crime .button {
	background-color: #F63125;
}

.panel-alt-crime .button:hover,
.panel-alt-crime .button:focus {
	background-color: #bf1818;
}

/* Private */

.panel-alt-private {
	background: #FDEA9F;
	color: #17242C;
	text-align: center;
}

.panel-alt-private-dark {
	background: #15242B;
	color: #FFF;
	text-align: center;
}

.panel-alt-private-dark h2 {
	color: #fff;
}

.panel-alt-private-dark .button {
	background-color: #12CD6E;
}

.panel-alt-private-dark .button:hover,
.panel-alt-private-dark .button:focus {
	background: #27ae60;
}

.panel-alt-private-dark .button.t-alternative {
	background-color: #FA9962;
}

.panel-alt-private-dark .button.t-alternative:hover,
.panel-alt-private-dark .button.t-alternative:focus {
	background: #ED824C;
}

.panel-alt-private h2 {
	color: #17242C;
}

.panel-alt-private .button {
	background-color: #FA9962;
}

.panel-alt-private .button:hover,
.panel-alt-private .button:focus {
	background-color: #ED824C;
}

.panel-alt-private .button.t-success {
	background-color: #12CD6E;
}

.panel-alt-private .button.t-success:hover,
.panel-alt-private .button.t-success:focus {
	background-color: #27ae60;
}

.panel-alt-light h1, .panel-alt-dark h1, .panel-alt-about-light h1, .panel-alt-about-dark h1,
.panel-alt-light h2, .panel-alt-dark h2, .panel-alt-about-light h2, .panel-alt-about-dark h2 {
	color: #fff;
}

.panel-alt-about-light {
	background: #fca017 url('../images/bg-about-us.jpg') no-repeat center center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

.panel-alt-about-dark {
	background: #3b3b3b url('../images/bg-information.jpg') no-repeat center center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

.panel-alt-menu {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.panel-writer-image {
	position: relative;
	overflow: hidden;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.panel-writer-image-pointer:after {
	content: '';
	position: absolute;
	top: 20px;
	right: 0;
	border: 17px solid transparent;
	border-right-color: #fff;
}

.panel-actions {
	position: absolute;
	left: 50%;
	bottom: 20px;
	width: 220px;
	transform: translateX(-50%);
}

.panel-actions-top {
	top: 15px;
	right: 15px;
	bottom: auto;
	left: auto;
}

.panel:not(.panel-alt-menu) .panel-actions-top > a {
	color: #b6b6b6;
	font-size: 20px;
}

.panel-actions .button {
	margin-left: auto;
	margin-right: auto;
}

.panel-actions .button, .panel-actions-flow .button {
	width: 100%;
}

.panel-actions .button + .button, .panel-actions-flow .button + .button {
	margin-top: 10px;
}

.panel .panel-nav li a {
	display: block;
	padding: 8px 0;
	font-size: 14px;
	color: #303030;
}

.panel .panel-nav li a:hover, .panel .panel-nav li a:focus, .panel .panel-nav li.current a {
	text-decoration: underline;
}

.panel .panel-nav li a:after {
	content: '»';
	margin-left: 4px;
	color: #f90;
}

.panel-birthday {
	position: relative;
}

.panel-birthday .valign-center {
	z-index: 2;
}

.panel-birthday:before, .panel-birthday:after {
	content: '';
	position: absolute;
	z-index: 1;
	background-repeat: no-repeat;
}

.panel-birthday:before {
	top: 0;
	left: 0;
	width: 141px;
	height: 85px;
	background-image: url('../images/start-birthday-top-left.png');
}

.panel-birthday:after {
	right: 0;
	bottom: 0;
	width: 205px;
	height: 91px;
	background-image: url('../images/start-birthday-bottom-right.png');
}

.panel-birthday p {
	margin-left: auto;
	margin-right: auto;
	max-width: 250px;
}

.panel-books {
	background: #fff url('../images/bg-books.jpg') no-repeat right bottom;
}

.panel-banner {
	overflow: hidden;
	padding: 0;
	height: 260px;
	background-repeat: no-repeat;
	background-size: cover;
}

.panel.panel-banner h1 {
	margin: 45px 0 0 50px;
	font-size: 38px;
}

.panel-jumbotron {
	position: relative;
	padding: 0;
	line-height: 0;
	margin-bottom: 20px;
}

.panel-jumbotron .valign-center {
	position: absolute;
	width: 100%;
}

/* Panel table */

.panel header {
	display: flex;
	align-items: center;
	margin-bottom: var(--spacing);
}

.panel header h2,
.panel header h3 {
	margin-bottom: 0;
}

.panel-table-actions {
	display: flex;
	align-items: center;
	gap: var(--spacingXSmall);
	margin-left: auto;
}

.link-select-label {
	font-weight: 600;
}

/* Panel list */

.panel .panel-list {
	display: table;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	line-height: normal;
}

.panel .panel-list li {
	display: table-row;
	border-bottom: 1px solid #ededed;
}

.panel .panel-list li .image {
	display: table-cell;
	vertical-align: middle;
	width: 45px;
	padding: 9px 0;
}

.panel .panel-list li .image > span {
	display: block;
	overflow: hidden;
	position: relative;
	width: 30px;
	height: 40px;
}

.panel .panel-list li .image img {
	position: absolute;
	max-width: 110%;
	max-height: 110%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.panel .panel-list li > .name {
	display: table-cell;
	vertical-align: middle;
	padding-right: 0;
}

.panel .panel-list li .actions {
	display: table-cell;
	vertical-align: middle;
	width: 70px;
	padding-right: 7px;
	text-align: right;
}

.panel .panel-list li .actions a {
	margin-left: 15px;
}

/* Private customer registration */

.panel-register h2 {
	font-size: 18px;
	color: #303030;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.panel-register h3 {
	color: #303030;
	margin-bottom: 0;
}

.panel-register .form-group,
.panel-register .form-control-group {
	margin: 10px 0;
}

.panel-register .form-control-group input {
	margin: 0 5px 0 0;
}

.panel-register .form-control-group label {
	display: inline-block;
	width: calc(100% - 25px);
	padding: 5px 0;
	border: 0;
	vertical-align: middle;
}

.panel-register input {
	max-width: none;
}

.panel-register button {
	margin: 10px 0;
}

/* User lists */

.user-list-date-add {
	font-size: 10px;
	color: #979797;
	background: #F6F7F7;
	padding: 7px 9px;
	display: block;
	border-radius: 5px;
}

.user-list-date-add i {
	margin-right: 3px;
}

/* Faded content */

.faded-bottom {
	position: relative;
}

.faded-bottom:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 60px;
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

/* Tables */

table {
	margin-bottom: var(--spacing);
}

table tr:hover td {
	background-color: transparent !important;
}

table th {
	background-color: transparent;
	color: var(--colorText);
	font-size: var(--fontSize);
	font-weight: 600;
	line-height: 1;
	padding: var(--spacingXSmall);
	border-bottom: 1px solid var(--colorBorder);
}

.sort-column {
	display: flex;
	align-items: center;
	gap: var(--spacingXXSmall);
	color: var(--colorText);
}

.sort-column:is(:hover, :focus) {
	color: var(--colorPrimary);
}

.sort-column:after {
	content: '\f0dc';
 	font-family: 'FontAwesome';
	font-size: 10px;
}

.sort-column-up,
.sort-column-down {
	text-decoration: none;
}

.sort-column-up:after {
	content: '\f0d8';
}

.sort-column-down:after {
	content: '\f0d7';
}

table td {
	font-size: var(--fontSize);
	line-height: 1.3;
	padding: var(--spacingXSmall);
	vertical-align: middle;
}

table td.actions,
.table td.cell-icons {
	text-align: right;
}

table td.actions > a,
table td.cell-icons> a {
	line-height: 0;
	vertical-align: middle;
	padding: var(--spacingXXSmall);
}

table td a {
	color: var(--colorText);
}

table th:first-child,
table td:first-child {
	padding-left: 0;
}

table th:last-child,
table td:last-child {
	padding-right: 0;
}

table td img {
	width: var(--spacingMedium);
}

table tr:not(.title-list-edition) td {
	border-top: 1px solid var(--colorBorder);
}

table td.categories {
	font-size: var(--fontSize);
}

table td.cell-icons {
	text-align: right;
}

/* Collapse lists */

.table-collapse-parent {
	position: relative;
}

.table-collapse-list {
	height: 1.2em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.table-collapse-list li {
	display: inline-block;
}

td:not(:hover) .table-collapse-list.link-list a:after {
	content: ',';
	margin-left: 0;
	color: #2d2d2d;
}

td:hover .table-collapse-list {
	position: absolute;
	z-index: 2;
	height: auto;
	top: 0;
	left: 0;
	padding: 10px;
	background: #fff;
	border: 1px solid #dadada;
	border-radius: 3px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

td:hover .table-collapse-list li {
	display: block;
}

td:hover .table-collapse-list li a {
	display: block;
	padding: 5px 0;
}

/* List table */

.list-table {
	list-style: none;
	line-height: 1.3;
	padding: 0;
	margin: 0 0 var(--spacing) 0;
}

.list-table li {
	padding-block: var(--spacingXSmall);
	border-top: 1px solid var(--colorBorder);
	border-bottom: 1px solid var(--colorBorder);
	margin-top: -1px;
}

h3 + .list-table {
	margin-top: calc(var(--spacingXSmall) * -1);
}

.list-table + h3 {
	margin-top: var(--spacingMedium);
}

.movie-non-domestic-title,
.movie-non-original-lang {
	display: block;
	font-style: italic;
	padding-left: var(--spacing);
}

/* Forms */

.form-centered {
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;
}

.form-group,
.form-control-group {
	margin-block: 0 var(--spacing);
}

.form-group label {
	color: var(--colorText);
	line-height: 1;
	font-weight: 600;
	margin-block: 0 var(--spacingXXSmall);
}

.form-group-checkbox-radio {
	display: flex;
	align-items: center;
	gap: var(--spacing);
	margin-bottom: var(--spacing);
}

.form-group-checkbox-radio label {
	display: flex;
	align-items: center;
	gap: var(--spacingXXSmall);
}

.faux-label {
	display: flex;
	align-items: center;
	gap: var(--spacingXXSmall);
	font-weight: 600;
	margin-bottom: var(--spacingXXSmall);
}

.dialog .form-buttons {
	text-align: right;
}

.button-seamless-t {
	padding: 0;
	min-width: 0;
}

.read-more {
	display: inline-block;
	font-weight: 700;
	font-size: 13px;
	color: #f90;
}

/* Icons */

.icon .fa {
	font-size: 16px;
}

.icon-read-more {
	color: var(--colorMuted);
}

.icon-reference {
	color: var(--colorMuted);
}

.icon-award {
	color: #f1c40f;
}

.icon-favorite {
	color: #e74c3c;
}

.icon-star {
	color: #f1c40f;
}

.icon-star-disabled {
	color: #d9dcdd;
}

.icon-facebook {
	color: #3b5998;
}

.icon-twitter {
	color: #4099ff;
}

.icon-more {
	color: #95a5a6;
}

/* Share buttons */

:root:not(.js-fb-sdk) .share-facebook {
	display: none !important;
}

/* Start page */

.startpage-row-2 {
	height: 420px;
}

.startpage-banner-container {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 420px;
}

.startpage-banner-container img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

#startpage_content .panel p {
	font-size: 15px;
}

.startpage-row-1.inline-2-3 {
	width: 665px;
}

.startpage-row-1.inline-1-3 {
	width: 505px;
}

.startpage-puff .panel {
	height: 380px;
}

.startpage-image-container {
	margin: 0;
	line-height: 0;
}

.startpage-image-container img {
	width: 100%;
}

.startpage-banner-container {
	 margin: 0;
 }

.startpage-puff .panel {
	margin-top: -1px;
}

.startpage-puff h2,
.startpage-puff p {
	max-width: 220px;
	margin-left: auto;
	margin-right: auto;
}

.startpage-puff p.startpage-image-container {
	max-width: none;
}

.startpage-puff .panel:before {
	content: '';
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 20px 20px;
	border-color: transparent transparent #fff transparent;
}

.startpage-puff .panel-alt-light:before {
	border-color: transparent transparent #7b2539 transparent;
}

.startpage-puff .panel-alt-dark:before {
	border-color: transparent transparent #4f202b transparent;
}

.startpage-puff .panel-alt-crime:before {
	border-color: transparent transparent #2A2A2A transparent;
}

.startpage-puff .panel-alt-private:before {
	border-color: transparent transparent #FDEA9F transparent;
}

.panel.has-image .image-container {
	max-width: none !important;
	width: calc(100% + var(--spacingMedium) * 2);
	aspect-ratio: 16 / 10;
	margin: calc(var(--spacingMedium) * -1);
	margin-bottom: var(--spacingMedium);
	overflow: hidden;
}

.panel.has-image .image-container img {
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
}

.hero-section {
	background-image: url("/upload/startpage-banners/bg-hero-private.jpg");
	background-size: cover;
	background-position: bottom center;
	padding: 45px 60px 50px 60px;
	margin-bottom: 20px;
}

.hero-section h1 {
	font-size: 36px;
}

.hero-section p {
	font-size: 18px;
}

.hero-buttons {
	margin-top: 20px;
}

.hero-buttons .button {
	min-width: auto;
	height: 36px;
	font-size: 16px;
	line-height: 36px;
	margin-right: 10px;
}

/* News and Theme articles */

.page-news #content, .page-subscriptions #content, .page-subscriptions_2018 #content {
	max-width: 650px;
}

.news-list, .theme-article-list, .character-list {
	margin: 20px 0;
	padding: 0;
	list-style: none;
	line-height: normal;
}

.news-list li, .theme-article-list li, .character-list li {
	padding: 17px 0 10px;
	border-bottom: 1px solid #ccc;
}

.page-index .news-list li {
	padding: 0;
}

.news-list li:first-child, .theme-article-list li:first-child {
	padding-top: 0;
}

.news-list li:last-child {
	border: 0;
}

.news-list li h2 {
	margin-bottom: 0;
	font-size: 18px;
}

.news-list li h4 {
	margin: 7px 0;
	font-size: 14px;
	color: #262626;
}

.news-list li p, .theme-article-list li p {
	margin-top: 2px;
	color: #303030;
}

.news-list li .read-more {
	color: #f90;
}

.page-index .news-list li p {
	margin: 7px 0;
	font-style: italic;
	font-size: 14px;
}

/* Theme articles */

.theme-article-list li h4 {
	font-size: 15px;
	color: #303030;
}

.theme-article-list .theme-article-image {
	float: left;
	width: 90px;
}

.theme-article-list .theme-article-image .button {
	display: block;
	padding-left: 0;
	padding-right: 0;
	min-width: 90px;
	height: 25px;
	font-weight: 400;
	font-size: 11px;
	line-height: 25px;
}

.theme-article-list .theme-article-image .button .fa {
	margin-right: 0.3em;
}

.theme-article-list .theme-article-content {
	padding-left: 120px;
}

/* Characters */

.character-gender {
	margin-top: 0;
	font-style: italic;
	color: #9fa3a6;
}

.character-list li {
	padding-left: 10px;
}

.character-list .image {
	display: inline-block;
	overflow: hidden;
	position: relative;
	width: 40px;
	height: 55px;
	margin: 10px 10px 0 0;
}

.character-list .image img {
	position: absolute;
	max-width: 110%;
	max-height: 110%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.character-list .image span {
	display: block;
	font-weight: 700;
	font-style: italic;
	font-size: 12px;
	color: #686868;
	text-align: center;
	line-height: 55px;
}

.character-details-gender {
	float: right;
	font-size: 11px;
	color: #131313;
	text-align: center;
}

.character-details-gender .fa {
	display: block;
	margin-right: 0;
	font-size: 22px;
	color: #f22d2d;
}

/* Writers list */

.headline-breadcrumbs {
	display: flex;
	align-items: baseline;
	gap: var(--spacingXSmall);
	font-size: 24px;
	margin-block: 0 var(--spacing);
}

.headline-breadcrumbs i {
	font-size: var(--fontSize);
	color: var(--colorMuted);
	margin: 0;
}

.writer-list-wrapper {
	position: sticky;
	top: calc(164px + var(--spacing));
}

.writer-list-header {
	position: sticky;
	top: 0;
	z-index: 1;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	margin-bottom: 0;
}

.writer-list-header .form-search button {
	display: none;
}

.writer-list-headline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--spacing);
}

.writer-list-headline h2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 18px;
	margin-bottom: 0;
}

.writer-list {
	max-height: calc(100vh - 164px - 128px - var(--spacing) * 2);
	padding-block: 0 var(--spacingMedium);
	border-top-right-radius: 0;
	border-top-left-radius: 0;
	overflow-y: auto;
}

.lexicon-backwards-button {
	display: none;
}

.js-fetch-all-authors {
	white-space: nowrap;
}

.writer-list-wrapper .writer-list-filtered .dialog-close-button {
	display: none;
}

.expandable-places {
	margin-bottom: var(--spacing);
}

.expandable-places .button-seamless {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: auto;
}

.expandable-places .button-seamless h2 {
	margin-bottom: 0;
}

.expandable-places .button-seamless i {
	color: var(--colorMuted);
}

.nav-cols {
	column-count: 3;
	gap: var(--spacingXSmall);
	margin-bottom: var(--spacing);
}

.nav-cols-1-2 {
	column-count: 2;
}

.nav-cols li {
	position: relative;
	padding: var(--spacingXSmall);
	border: 1px solid var(--colorBorder);
	border-radius: var(--spacingXXSmall);
	margin-bottom: var(--spacingXSmall);
}

.nav-cols li a {
	position: relative;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 var(--spacing) 0 0;
}

.nav-cols a:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: '\f105';
	font-family: 'FontAwesome';
	color: var(--colorMuted);
	transform: translateY(-50%);
	transition: .25s;
}

.nav-cols a:hover:after {
	color: var(--colorPrimary);
}

.writer-nav a {
	color: var(--colorText);
	font-size: 15px;
	line-height: 1.3;
}

.letter-headline {
	position: relative;
	display: block;
	background-color: var(--colorPanel);
	color: var(--colorPrimary);
	font-weight: 700;
	padding-block: var(--spacingXXSmall);
	z-index: 1;
}

.letter-headline:after {
	position: absolute;
	left: var(--spacing);
	top: 50%;
	content: '';
	display: block;
	width: calc(100% - var(--spacing));
	height: 1px;
	background-color: var(--colorBorder);
	transform: translateY(-50%);
}

/* Writer birthdays */

.page-block:has(> #lexicon_birthday_slider) {
	padding-bottom: calc(var(--spacingMedium) + var(--spacingSmall));
}

#lexicon_birthday_slider {
	height: 180px;
	margin-bottom: calc(var(--spacing) + var(--spacingSmall) * 3);
}

#lexicon_birthday_slider .slide {
	display: flex;
	gap: var(--spacingMedium);
}

.writer-carousel-image img {
	max-width: 195px;
	max-height: 174px;
	border-radius: var(--spacingXXSmall);
}

#lexicon_birthday_slider .textslider-breadcrumbs {
	position: absolute;
	bottom: calc(var(--spacingSmall) * -4);
	left: 0;
	display: flex;
	justify-content: center;
	gap: var(--spacingSmall);
	width: calc(100% + var(--spacingMedium) * 2);
	padding-top: var(--spacingSmall);
	border-top: 1px solid  var(--colorInput);
	margin-inline: calc(var(--spacingMedium) * -1);
}

#lexicon_birthday_slider .textslider-breadcrumb {
	width: var(--spacingSmall);
	height: var(--spacingSmall);
	background-color: var(--colorInput);
	border-radius: 50%;
	margin: 0;
	transition: .25s;
}

#lexicon_birthday_slider .textslider-breadcrumb:is(:hover, :focus) {
	background-color: var(--colorBorder);
}

#lexicon_birthday_slider .textslider-breadcrumb.current {
	background-color: var(--colorPrimary);
}

#lexicon_birthday_slider .textslider-prev,
#lexicon_birthday_slider .textslider-next {
	display: none;
}

.carousel-writer-excerpts {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Writer grid */

.writer-grid-item:nth-child(odd) {
	border-right: 1px solid #dadada;
}

.writer-grid-item:nth-child(even) {
	border-left: 1px solid #dadada;
	margin-left: -1px;
}

.writer-grid-item:nth-child(2n+1), .writer-grid-item:nth-child(2n+2) {
	padding-bottom: 20px;
}

.writer-grid-item:nth-child(2n+3), .writer-grid-item:nth-child(2n+4) {
	padding-top: 20px;
	border-top: 1px solid #dadada;
}

.writer-grid-item:nth-child(2n+1), .writer-grid-item:nth-child(2n+3) {
	padding-right: 20px;
}

.writer-grid-item:nth-child(2n+2), .writer-grid-item:nth-child(2n+4) {
	padding-left: 20px;
}

/* Writer article */

.writer-panel {
	display: flex;
	gap: var(--spacingMedium);
}

.writer-content {
	width: 100%;
}

.writer-content h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacingXSmall);
}

.writer-image {
	min-width: 195px;
	width: 195px;
	margin-bottom: var(--spacing);
}

.writer-image img {
	border-radius: var(--spacingXXSmall);
}

.writer-image-caption {
	display: block;
	color: var(--colorMuted);
	font-size: 12px;
	font-style: italic;
}

.writer-facts {
	display: grid;
	grid-template-columns: 1fr 4fr;
	margin-block: 0 var(--spacing);
}

.writer-facts dt,
.writer-facts dd {
	width: 100%;
	font-weight: 400;
	line-height: 1;
	padding-block: var(--spacingXSmall);
	border-bottom: 1px solid var(--colorBorder);
	margin: 0;
}

.writer-facts dd {
	display: flex;
	justify-content: space-between;
}

.writer-facts dt:last-of-type,
.writer-facts dd:last-of-type {
	border-bottom: 0;
}

.writer-aliases {
	justify-content: flex-start !important;
	flex-wrap: wrap;
	gap: var(--spacingXXSmall);
}

.writer-alias {
	background-color: var(--colorInput);
	color: var(--colorText);
	font-size: var(--fontSizeSmall);
	line-height: 1;
	padding: var(--spacingXXSmall);
	border-radius: calc(var(--spacingXXSmall) / 2);
}

.writer-image-enlargement {
	display: none;
}

.panel-ribbon-tools {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacingXSmall);
	background-color: var(--colorPanel);
	padding: var(--spacingXSmall);
	border-radius: var(--spacingXXSmall);
	margin-bottom: var(--spacing);
}

.panel-ribbon-tools .button {
	width: 100%;
}

.context-menu {
	display: none;
	position: absolute;
	min-width: 214px;
	background-color: var(--colorPanel);
	text-align: left;
	padding: var(--spacing);
	padding-bottom: 1px;
	border-radius: var(--spacingXXSmall);
	box-shadow: 0 var(--spacingSmall) var(--spacingMedium) rgb(0 0 0 / 10%);
	margin-top: calc(var(--spacingXSmall) * -1);
	margin-left: var(--spacingMedium);
	z-index: 1;
}

.context-menu-content {
	height: auto !important;
}

.context-menu ul {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--spacing) 0;
}

.context-menu ul a {
	color: var(--colorText);
}

.context-menu ul .button-seamless {
	font-size: var(--fontSize);
	font-weight: 400;
	line-height: 1.7;
}

.context-menu .button + .button {
	margin-top: var(--spacingXSmall);
}

.user-score {
	text-align: center;
}

.user-score-stars {
	display: flex;
	align-items: center;
	gap: var(--spacingXXSmall);
}

.user-score-text {
	font-size: var(--fontSizeSmall);
	font-weight: 600;
	margin-left: var(--spacingXXSmall);
}

.context-menu .user-score-stars {
	margin-bottom: var(--spacing);
}

.user-score-stars button {
	margin: 0;
}

.writer-average-score {
	font-weight: 700;
	font-style: italic;
	font-size: 13px;
	color: #ababab;
}

.writer-aliases, .writer-opac-links {
	margin-top: 20px;
}

.writer-opac-links .link-inline {
	margin-right: 10px;
}

.writer-opac-links .link-select {
	display: block;
	margin-top: 10px;
	max-width: 100px;
}

.dialog .writer-image-caption {
	padding-right: 60px;
	color: #fff;
}

.js .js-p-sibling {
	display: none;
}

.open-map-marker {
	display: none;
	color: #f90;
}

.js .open-map-marker {
	display: inline-block;
}

.writer-map {
	width: 635px;
	height: 400px;
}

.map {
	height: 100%;
}

.writer-article {
	max-width: 540px;
	margin-inline: auto;
}

.writer-article-content {
	line-height: 1.3;
	margin-bottom: var(--spacing);
}

.writer-article-content p {
	margin-block: var(--spacingMedium) 0;
}

.writer-article-content .writer-article-indent {
	text-indent: var(--spacing);
	margin-top: var(--spacingXSmall);
}

.writer-article-byline {
	color: var(--colorMuted);
	font-size: var(--fontSizeSmall);
	line-height: 1.1;
	font-style: italic;
}

.writer-article-readmore {
	display: none;
}

.title-list-edition td {
	padding-top: 0;
}

.title-list-edition a {
	vertical-align: middle;
}

.title-list-edition .title-name {
	margin-left: var(--spacing);
}

.title-non-original-lang .title-name {
	font-style: italic;
}

/* Dictionary */

.dictionary-list dt, .dictionary-list dd {
	margin-bottom: 20px;
}

.dictionary-list dt {
	padding-top: 8px;
	width: 20%;
}

.dictionary-list dd {
	position: relative;
	width: 80%;
}

.dictionary-list dd:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -10px;
	left: -25%;
	border-bottom: 1px solid #dadada;
}

.dictionary-list dt h2 {
	font-size: 15px;
	color: #2d2d2d;
}
/* List share */

.list-share-dialog {
	font-size: 18px;
}

.list-share-dialog p {
	margin-top: 30px;
	margin-bottom: 30px;
}

.list-share-dialog .list-share-skip {
	vertical-align: middle;
	height: auto;
	font-weight: 400;
	font-size: 13px;
	line-height: normal;
}

/* FAQ */

.faq dt, .faq dd {
	display: block;
	width: auto;
	margin: 0;
}

.js .faq-has-expandable dd {
	display: none;
}

.expandable-faq .fa {
	vertical-align: middle;
	margin-left: 0.5em;
	font-size: 13px;
	color: #f90;
}

.expandable-faq button {
	vertical-align: middle;
	margin: 10px 0;
	height: auto;
	line-height: normal;
	min-width: auto;
}
.expandable-faq button h2 {
	vertical-align: middle;
	display: inline-block;
	margin: 0;
	font-weight: 700;
	font-size: 15px;
}

/* Tabs */

.tab-list-wrap {
	overflow-x: auto;
}

.tab-list-wrap + .panel,
.tab-list-wrap + .tab-panel > .panel {
	border-top-left-radius: 0;
}

.tab-list {
	display: flex;
	align-items: center;
	list-style: none;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.tab-list li {
	display: block !important;
}

.tab-list li a {
	display: block;
	color: var(--colorText);
	font-size: var(--fontSizeSmall);
	white-space: nowrap;
	padding: var(--spacing);
	border-top: var(--spacingXXSmall) solid transparent;
	border-top-left-radius: var(--spacingXXSmall);
	border-top-right-radius: var(--spacingXXSmall);
}

.tab-list li a.current {
	font-weight: 600;
	background-color: var(--colorPanel);
	border-color: var(--colorPrimary);
}

.tab-list i {
	display: none;
}

.tab-list-prev,
.tab-list-next {
	display: none !important;
}

/* Link selects */

.link-select {
	display: inline-block;
	position: relative;
	padding-right: 20px;
	min-width: 150px;
	background: #fff;
	border: 1px solid #dedede;
	border-radius: 3px;
}

.link-select:after {
	content: '\f0d7';
	position: absolute;
	top: 8px;
	right: 12px;
	font: normal normal normal 14px/1 FontAwesome;
	color: #f90;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.link-select-label {
	cursor: pointer;
}

.link-select > span, .link-select-placeholder {
	display: block;
	padding: 6px 11px;
	font-size: 14px;
	color: #101010;
}

.link-select > ul {
	position: absolute;
	z-index: 1;
	top: 100%;
	right: 0;
	left: 0;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #dedede;
	border-radius: 3px;
	list-style: none;
	line-height: normal;
}

.link-select > ul > li a {
	display: block;
	padding: 6px 11px;
}

/*
 * Login
 */

.page-login #content {
	max-width: 650px;
}

.login-layout {
	background: #333;
}

.login-layout #content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 530px;
	padding: 30px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background: #3d3d3d;
	color: #fff;
}

.login-layout #login_form {
	margin: 0 auto;
	width: 270px;
	text-align: center;
}

.login-layout #login_form input, .page-login #login_form input {
	padding: 16px 20px;
}

.page-login #login_form input {
	max-width: none;
}

.login-layout .form-group label {
	color: #fff;
}

.login-layout #logo {
	width: 193px;
	margin-bottom: 20px;
}

.login-actions {
	vertical-align: middle;
}

.login-actions.inline-right {
	text-align: right;
}

.login-reset-link {
	position: absolute;
	top: 50%;
	right: 40px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-weight: 700;
	font-size: 13px;
}

.login-remember {
	font-style: italic;
	color: #999;
}

.login-register-action {
	text-align: center;
}

/* Login dialog */

.dialog #login_form {
	margin: 0 auto;
	width: 270px;
}

.dialog #login_form h2 {
	margin-top: 35px;
	margin-bottom: 25px;
	text-align: center;
}

.dialog #login_form input {
	padding: 15px 20px;
}

/*
 * Print layout
 */

.print-layout {
	background: #fff;
}

/*
 * Quiz
 */

#quiz {
	height: 100%;
	background: #000 url('../images/quiz/backgound.jpg') center center;
	color: #3d0000;
	text-align: center;
}

.dialog-content > #quiz {
	margin: 0 -20px;
}

#quiz *:not(.fa) {
	font-family: Georgia, 'Times New Roman', Times, serif;
}

#quiz .quiz-container {
	position: relative;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 50px 60px;
	width: 880px;
	height: 710px;
	background: url('../images/quiz/book.png') no-repeat;
}

#quiz h1 {
	margin-top: 41px;
	font-size: 22px;
	color: #643735;
	text-transform: uppercase;
}

#quiz h2 {
	margin-top: 40px;
	font-weight: 700;
	font-size: 36px;
	color: #a02120;
}

#quiz h3 {
	font-weight: 700;
	font-size: 16px;
	color: #5a0303;
	text-transform: uppercase;
}

#quiz a {
	font-weight: 700;
	font-size: 13px;
	color: #000;
	text-decoration: underline;
}

#quiz a:hover, #quiz a:focus, #quiz .button-seamless:hover, #quiz .button-seamless:focus {
	color: #a02120;
}

#quiz .button-seamless {
	height: auto;
	line-height: normal;
	text-decoration: underline;
	color: #000;
}

#quiz .quiz-select-headline:before, #quiz .quiz-select-headline:after {
	content: '';
	display: inline-block;
	vertical-align: baseline;
	width: 59px;
	height: 4px;
	margin-right: 10px;
	background: url('../images/quiz/stroke_left.png') no-repeat bottom center;
}

#quiz .quiz-select-headline:after {
	margin-right: 0;
	margin-left: 10px;
	background-image: url('../images/quiz/stroke_right.png');
}

#quiz .quiz-start-link {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	width: 142px;
	height: 78px;
	background-repeat: no-repeat;
	font-weight: 400;
	font-size: 12px;
	color: #000;
	text-decoration: none;
}

#quiz .quiz-start-link:first-of-type {
	padding-right: 19px;
	background-image: url('../images/quiz/button_left.png');
	background-position: right top;
	text-align: right;
}

#quiz .quiz-start-link:first-of-type:hover, #quiz .quiz-start-link:first-of-type:focus {
	background-image: url('../images/quiz/button_left_over.png');
}

#quiz .quiz-start-link:last-of-type {
	padding-left: 19px;
	background-image: url('../images/quiz/button_right.png');
	background-position: left top;
	text-align: left;
}

#quiz .quiz-start-link:last-of-type:hover, #quiz .quiz-start-link:last-of-type:focus {
	background-image: url('../images/quiz/button_right_over.png');
}

#quiz .quiz-start-link h4 {
	margin-top: 6px;
	margin-bottom: 3px;
	font-weight: 700;
	font-size: 18px;
	color: #fff;
	text-decoration: underline;
	text-transform: uppercase;
}

#quiz .quiz-start-link p {
	margin-top: 0;
	font-family: Arial, Verdana, sans-serif;
}

#quiz .quiz-start-link p strong {
	color: #a02120;
}

#quiz .quiz-description {
	margin: 40px auto;
	max-width: 300px;
	font-size: 14px;
}

#quiz_meta .quiz-description:first-child {
	padding-top: 40px;
}

#quiz_meta .quiz-description {
	font-size: 16px;
}

#quiz_meta .quiz-description h3:first-of-type {
	margin-left: auto;
	margin-right: auto;
	max-width: 150px;
}

#quiz .quiz-highscore-link {
	display: inline-block;
	max-width: 155px;
}

#quiz .quiz-contest-call-out {
	margin-right: 30px;
	margin-left: 30px;
	padding: 0 20px;
	border: 2px dashed #a02120;
}

#quiz .quiz-contest-name {
	color: #a02120;
}

#quiz .quiz-level-type {
	font-weight: 700;
	font-size: 18px;
	color: #a02120;
	text-transform: uppercase;
}

#quiz .quiz-question-headline {
	margin-top: 0;
	height: 39px;
}

#quiz .quiz-countdown {
	margin: 0 auto;
	width: 186px;
	height: 187px;
	background: url('../images/quiz/countdown_sprite.png') no-repeat;
	line-height: 149px;
}

#quiz .quiz-countdown.ended {
	background-position: -5394px 0;
}

#quiz .quiz-countdown span {
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
	font-size: 100px;
	color: #fff;
	text-align: center;
}

#quiz .quiz-question-level {
	margin: 0 auto;
	width: 236px;
	border-bottom: 1px solid #6d4c49;
}

#quiz .quiz-incorrect-counter {
	box-sizing: border-box;
	margin: 15px auto 0;
	padding-top: 33px;
	width: 168px;
	height: 93px;
	background: url('../images/quiz/hook.png') no-repeat;
	font-weight: 700;
	font-size: 10px;
	color: #5a0303;
	text-transform: uppercase;
}

#quiz .quiz-incorrect-counter span {
	font-size: 16px;
	color: #000;
}

#quiz .quiz-cancel {
	font-size: 10px;
	text-transform: uppercase;
}

#quiz .quiz-alternatives {
	position: absolute;
	right: 90px;
	bottom: 110px;
	margin: 0 auto;
	width: 318px;
	line-height: normal;
	text-align: left;
}

#quiz .quiz-alternatives:before {
	content: '';
	display: block;
	height: 4px;
	background: url('../images/quiz/double_line.png') no-repeat;
}

#quiz .quiz-error {
	min-height: 20px;
	color: #a02120;
}

#quiz .quiz-alternatives ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#quiz .quiz-alternatives li {
	background: #f6f5f1;
	border-bottom: 1px solid #b29c97;
}

#quiz .quiz-alternatives li:first-child {
	border-top: 1px solid #b29c97;
}

#quiz .quiz-alternatives li button {
	padding: 0 10px;
	width: 100%;
	height: 35px;
	line-height: 35px;
	text-align: left;
	text-decoration: none;
}

#quiz .quiz-alternatives li button:hover, #quiz .quiz-alternatives li button:focus {
	background-image: url('../images/quiz/answer_background.jpg');
}

#quiz .quiz-alternatives li button span {
	display: inline-block;
	margin-right: 8px;
	font-weight: 700;
	font-size: 16px;
	color: #e66e01;
}

#quiz .quiz-alternatives li button:hover span, #quiz .quiz-alternatives li button:focus span {
	color: #fff;
}

#quiz_question {
	overflow: auto;
	margin: 80px auto 0;
	max-width: 300px;
	max-height: 490px;
	text-align: left;
}

#quiz_question img {
	max-height: 200px;
}

#quiz .form-group {
	margin-top: 10px;
	margin-bottom: 10px;
}

#quiz .form-group label, #quiz .form-group .faux-label {
	font-weight: 700;
	font-size: 11px;
	color: #5a0303;
	text-transform: uppercase;
}

#quiz .form-group input, #quiz .form-group select {
	border: 1px solid #6d4c49;
	border-radius: 0;
}

#quiz .button-seamless, #quiz .button-seamless:hover, #quiz .button-seamless:focus {
	min-width: 0;
}

#quiz .quiz-highscore-filter, #quiz_highscore {
	margin: 0 auto;
	max-width: 330px;
	text-align: left;
}

#quiz .quiz-highscore-filter .form-group {
	margin-top: 0;
	margin-bottom: 0;
}

#quiz .quiz-highscore-filter .form-group label {
	font-size: 10px;
	color: #000;
}

#quiz .quiz-highscore-filter table {
	margin-top: 10px;
}

#quiz .quiz-highscore-filter table, #quiz_highscore table {
	text-align: center;
}

#quiz table th, #quiz table td, #quiz table tr:hover td {
	background: none !important;
	border-bottom: 1px solid #b29c97;
	font-size: 12px;
	color: #3d0000;
}

#quiz table .quiz-cell-name {
	text-align: left;
}

#quiz table .quiz-cell-nr {
	font-weight: 700;
}

#quiz_highscore {
	overflow: auto;
	max-width: 366px;
	height: 338px;
}

#quiz .quiz-highscore-back a {
	font-size: 10px;
	color: #5a0303;
}

/*
 * Footer
 */

#footer {
	background-color: var(--colorMenu);
	padding-block: var(--spacingXLarge) var(--spacingLarge);
}

#footer .wrapper {
	padding: 0;
	background-image: url('../images/logo.svg');
	background-size: auto 48px;
	background-position: bottom var(--spacing) right 0;
	background-repeat: no-repeat;
}

.is_private #footer .wrapper {
	background-image: url('../images/logo-private.svg');
}

#footer .page-blocks {
	display: flex;
	gap: var(--spacingXXLarge);
}

#footer .page-blocks [class*='inline-'] {
	display: contents;
}

#footer .page-block {
	background: transparent;
	padding: 0;
	margin: 0;
}

#footer h3 {
	color: var(--colorTextInverted);
	font-size: 18px;
	margin-block: 0 var(--spacing);
}

#footer .nav-list {
	line-height: 1.4;
	color: var(--colorTextInverted);
	margin-bottom: var(--spacing);
}

#footer p,
#footer a {
	color: var(--colorTextInverted);
}

#footer a:is(:hover, :focus) {
	color: var(--colorPrimary);
}

/*
 * Search result list
 */

.search-result-list {
	list-style: none;
	padding: 10px 0 5px 0;
	border-bottom: 1px solid #ccc;
	margin: 0 0 20px 0;
}

.search-result-list:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

.search-result-list li {
	position: relative;
	margin-bottom: 10px;
}

.search-result-list li:not(.read-more) {
	padding-left: 20px;
}

.search-result-list li:not(.read-more):before {
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 5px;
	height: 5px;
	background-color: #000;
	border-radius: 50%;
}

/*
 * Picture enlargement dialog
 */

.p-enlargement-prev, .p-enlargement-next {
	position: absolute;
	top: 50%;
	width: 17px;
	min-width: 0;
	height: auto;
	color: #fff;
	line-height: normal;
}

.p-enlargement-prev:hover, .p-enlargement-next:hover {
	color: #f90;
}

.p-enlargement-prev .fa, .p-enlargement-next .fa {
	font-size: 22px;
}

.p-enlargement-prev {
	left: -33px;
}

.p-enlargement-next {
	right: -33px;
}

.p-enlargement-page {
	position: absolute;
	bottom: -26px;
	right: 0;
	font-size: 13px;
	font-style: italic;
	color: #fff;
}

/**
 * Textslider plugin
 * @version 1.1
 * @date 2015-05-08
 */

.textslider {
	position: relative;
}

.textslider-inner {
	position: relative;
	overflow: hidden;
	height: 100%;
}

.textslider .slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.textslider-prev, .textslider-next {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	text-indent: 100%;
}

.textslider-breadcrumbs {
	position: absolute;
}

.textslider-breadcrumb {
	display: inline-block;
	margin-right: 10px;
	width: 10px;
	height: 10px;
	text-indent: -9999px;
}

/*
*	Trial dialog
*/

.trial-dialog-container {
	position: fixed;
	right: 10px;
	bottom: 10px;
	border-top: 3px solid #f90;
	padding: 20px;
	background: #fff;
	overflow: hidden;
	max-width: 215px;
	text-align: center;
	box-shadow: 0 3px 23px rgba(0, 0, 0, 0.15);
}

.trial-dialog-container h3 {
	color: #111;
}

.button-close-trial-dialog {
	background: transparent;
	color: #BCBCBC;
	font-weight: 400;
	margin-top: 5px;
}

.button-close-trial-dialog:hover {
	color: red;
	background: transparent;
}

/*
*	Trial message
*/

.trial-message {
	background: #D6F1FB;
	color: #1A86B4;
	padding: 7px 24px;
	margin-bottom: 20px;
	border-left: 4px solid #1A86B4;
}

/*
 * jTip
 */

.jtip-container {
	position: absolute;
	z-index: 100;
	width: 250px;
	background: #fff;
	border: 2px solid #ccc;
}

.jtip-container .jtip-copy {
	padding: 0 10px;
}

/*
 * Media queries
 */

@media screen and (max-width: 1140px) {
	/* Start page specific */

	.startpage-row-2 {
		height: 470px;
	}

	.menu-root li ul li a {
		min-height: 30px;
	}
}

@media screen and (max-width: 1034px) {
	/* Content */

	#content {
		padding: 0 5px;
	}

	.page-has-subs #content {
		margin-top: 0;
	}

	/* Start page specific */

	.startpage-row-1.inline-2-3 {
		width: 663px;
	}

	.startpage-row-1.inline-1-3 {
		width: 340px;
	}
}

@media screen and (max-width: 1024px) {

	.startpage-puff .panel {
		height: auto;
	}

	.panel-actions {
		position: static;
		margin-top: 20px;
		margin-inline: auto;
		transform: none;
	}

	.startpage-row-2,
	.startpage-row-1 .panel {
		height: 440px;
		overflow: hidden;
	}
}

@media screen and (max-width: 960px) {
	/* Cookie banner */

	/*#cookie_approve_banner {
		width: auto;
	}*/

	/* Grids */

	.spread-grid {
		width: auto;
	}

	#content {
		padding: 1px 5px;
		margin: 0;
	}

	.page-has-subs #content {
		margin-top: 0;
	}

	#content > .grid-gutter {
		margin-left: 0;
		margin-right: 0;
	}
}

@media screen and (max-width: 800px) {

	/* Layout */

	.wrapper {
		padding-inline: var(--spacingSmall);
	}

	/* Header */

	#header {
		padding: 0;
	}

	#header .wrapper {
		flex-direction: column;
		align-items: flex-start;
		padding: 0;
	}

	#header_logo {
		position: static;
		padding: var(--spacingSmall);
	}

	#header_logo img {
		height: 40px;
	}

	#header #lexicon_search_form {
		position: static;
		max-width: none;
		background-color: var(--colorMenu);
		padding: calc(var(--spacingSmall) / 2);
		transform: none;
	}

	#header #lexicon_search {
		background-color: var(--colorMenuHover);
		color: var(--colorTextInverted);
	}

	.header-actions {
		position: static;
		flex-direction: column;
		gap: var(--spacingXXSmall);
		padding-inline: var(--spacingSmall);
		order: -1;
	}

	.header-actions .button.t-neutral {
		justify-content: flex-start;
		width: 100%;
		background-color: var(--colorMenuHover);
		color: var(--colorTextInverted);
		padding-inline: var(--spacingSmall);
	}

	.header-actions .button.t-neutral.current {
		color: var(--colorPrimary);
	}

	#menu_lang {
		position: absolute;
		top: var(--spacingSmall);
		right: calc(var(--inputHeight) + var(--spacingSmall) * 2);
	}

	#menu_lang li,
	#menu_lang li:hover {
		background-color: var(--colorMenuHover);
	}

	#user_zone_actions {
		position: static;
		display: flex;
		flex-direction: column;
		gap: var(--spacingXXSmall);
		padding-inline: var(--spacingSmall);
	}

	#user_zone_switcher .select2-container .select2-selection--single .select2-selection__rendered,
	.user-zone-link {
		background-color: var(--colorMenuHover);
		color: var(--colorTextInverted);
		line-height: var(--fontSize);
		padding: var(--spacingSmall) !important;
		border-radius: var(--spacingXXSmall);
	}

	#user_zone_switcher .select2-container .select2-selection--single .select2-selection__rendered:hover,
	.user-zone-link:hover {
		color: var(--colorTextInverted);
	}

	#user_zone_switcher .select2-container {
		width: 100% !important;
	}

	#user_zone_switcher .select2-container--default .select2-selection--single {
		height: auto !important;
	}

	.select2-dropdown {
		min-width: calc(100vw - var(--spacingSmall) * 2);
	}

	/* Menu */

	#menu_open {
		position: fixed;
		top: var(--spacingSmall);
		right: var(--spacingSmall);
		display: flex;
		justify-content: center;
		align-items: center;
		width: var(--inputHeight);
		height: var(--inputHeight);
		background-color: var(--colorInput);
		border-radius: var(--spacingXXSmall);
		transition: .25s;
		z-index: 9;
	}

	.is-logged-in:not(.is-menu-open) #menu_open {
		top: calc(var(--spacingLarge) + var(--spacingSmall));
	}

	.is-menu-open #menu_open {
		background-color: var(--colorMenuHover);
	}

	.menu-opener-label {
		display: none;
	}

	.open-menu {
		display: flex;
		flex-direction: column;
		gap: var(--spacingXXSmall);
		width: var(--fontSize);
		height: var(--fontSize);
	}

	.open-menu .omnu-line {
		position: relative;
		display: block;
		height: 2px;
		background-color: var(--colorText);
		transition: .25s;
	}

	.is-menu-open .omnu-line {
		background-color: var(--colorTextInverted);
	}

	#menu {
		position: fixed;
		top: 0;
		left: 100%;
		display: flex;
		flex-direction: column;
		gap: var(--spacingXXSmall);
		width: 100%;
		height: 100%;
		padding-top: calc(var(--inputHeight) + var(--spacingSmall) * 2);
		overflow-y: auto;
		pointer-events: none;
		transition: .25s;
	}

	.is-menu-open #menu {
		pointer-events: auto;
		left: 0;
	}

	#menu .wrapper {
		display: contents;
	}

	.is-menu-open .open-menu #omnu_line2, .is-member-area-open .open-menu #omnu_line2 {
		opacity: 0;
	}

	.is-menu-open .open-menu #omnu_line1, .is-member-area-open .open-menu #omnu_line1 {
		top: calc(var(--spacingSmall) / 2);
		transform: rotate(45deg);
	}

	.is-menu-open .open-menu #omnu_line3, .is-member-area-open .open-menu #omnu_line3 {
		top: calc(var(--spacingSmall) / 2 * -1);
		transform: rotate(-45deg);
	}

	.menu-root {
		margin-top: var(--spacingXSmall);
	}

	#nav {
		flex-direction: column;
		padding: 0 var(--spacingSmall);
		gap: var(--spacingXXSmall);
	}

	#nav > li {
		width: 100%;
	}

	#nav > li > a {
		justify-content: space-between;
		background-color: var(--colorMenuHover);
	}

	#nav > li.current > a {
		color: var(--colorPrimary);
	}

	.menu-root .has-subs > ul {
		position: fixed;
		top: calc(var(--inputHeight) + var(--spacingSmall) * 2);
		left: 100%;
		width: 100%;
		height: 100%;
		background-color: var(--colorMenu);
		overflow-y: auto;
		z-index: 1;
		transition: .25s;
	}

	.menu-root .has-subs > ul.show-subs {
		left: 0;
		display: flex;
		flex-direction: column;
		gap: var(--spacingXXSmall);
		padding-inline: var(--spacingSmall);
	}

	.menu-root .has-subs ul.show-subs li a {
		background-color: var(--colorMenuHover);
		font-size: var(--fontSizeSmall);
		font-weight: 600;
		line-height: var(--fontSize);
		padding: var(--spacingSmall) !important;
		border-radius: var(--spacingXXSmall);
	}

	#menu li.has-subs > a:after {
		content: '\f105';
		font-family: 'FontAwesome';
		font-size: var(--fontSize);
	}

	#menu .go-back {
		display: block;
	}

	#menu .go-back a {
		display: flex;
		align-items: center;
		gap: var(--spacingXSmall);
	}

	#menu .go-back a:before {
		content: '\f104';
		font-family: 'FontAwesome';
		font-size: var(--fontSize);
	}

	/* Banners */

	.panel-banner {
		display: flex;
		justify-content: center;
		align-items: center;
		height: auto;
		aspect-ratio: 882 / 260;
	}

	.panel.panel-banner h1 {
		text-align: center;
		line-height: 42px;
		margin: 0;
		text-shadow: 0 0 10px #000;
	}

	/* Content */

	.imgfloat-left, .imgfloat-right {
		display: block;
		float: none;
		margin: 0;
	}

	.nav-cols,
	.nav-cols-1-2 {
		column-count: 1;
	}

	/* Tables */

	.table-filtering {
		flex-direction: column;
		gap: var(--spacing);
	}

	.table-filtering > * {
		width: 100%;
	}

	.scrollable-table {
		margin-bottom: var(--spacing);
	}

	.scrollable-table table {
		table-layout: auto;
		white-space: nowrap;
		margin-bottom: 0;
	}

	.scrollable-table.has-scroll {
		position: relative;
		overflow: hidden; /* Clips the shadow created with the pseudo-element in the next rule. Not necessary for the actual scrolling. */
	}

	.scrollable-table.has-scroll:after {
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		width: 50px;
		height: 100%;
		border-radius: 10px 0 0 10px / 50% 0 0 50%;
		box-shadow: -5px 0 10px rgba(0, 0, 0, 0.25);
	}

	/* This is the element whose content will be scrolled if necessary */
	.scrollable-table.has-scroll > div {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.scrollable-table > div::-webkit-scrollbar {
		height: 12px;
	}

	.scrollable-table > div::-webkit-scrollbar-track {
		box-shadow: 0 0 2px rgba(0,0,0,0.15) inset;
		background: #f0f0f0;
	}

	.scrollable-table > div::-webkit-scrollbar-thumb {
		border-radius: 6px;
		background: #ccc;
	}

	.title-list {
		white-space: nowrap;
	}

	/* Grids */

	.spread-grid, .spread-grid .spread-row {
		display: block;
	}

	.grid-gutter {
		margin-right: 0;
		margin-left: 0;
	}

	.inline-r-block, .grid-gutter > .inline-r-block {
		display: block;
		width: auto;
	}

	.inline-r-1-2 {
		width: 50%;
	}

	.inline-r-1-3 {
		width: 33.33%;
	}

	.inline-r-1-4 {
		width: 25%;
	}

	.inline-r-2-3 {
		width: 66.66%;
	}

	.inline-r-3-4 {
		width: 75%;
	}

	.inline-r-1-5 {
		width: 20%;
	}

	.inline-r-2-5 {
		width: 40%;
	}

	.inline-r-3-5 {
		width: 60%;
	}

	.inline-r-4-5 {
		width: 80%;
	}

	.spread-grid .spread-row [class*='spread-'] {
		display: block;
		width: auto;
	}

	.inline-left.inline-r-block > *, .inline-right.inline-r-block > * {
		margin-left: 0;
		margin-right: 0;
	}

	.grid-gutter > .inline-r-block, .inline-r-block > .grid-gutter, .grid-gutter-r {
		margin-left: 0;
		margin-right: 0;
	}

	.form-stacked .form-group.inline-r-block.inline-left input, .form-stacked .form-group.inline-r-block.inline-right input {
		width: 100%;
	}

	/* Panels */

	.panel {
		padding-left: 10px;
		padding-right: 10px;
	}

	.panel header.no-flex-mobile {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--spacing);
	}

	.panel header.no-flex-mobile .panel-table-actions {
		margin-left: unset;
	}

	.grid-gutter .panel, .grid-gutter-t .panel {
		margin-bottom: 5px;
	}

	.panel-jumbotron {
		padding-left: 0;
		padding-right: 0;
	}

	/* Panel table */

	.panel header h2, .panel header .panel-table-actions {
		float: none;
	}

	/* Forms */

	.form-aligned .form-group label, .form-aligned .faux-label {
		display: block;
		width: auto;
	}

	.form-aligned .form-group input,
	.form-aligned .form-group textarea,
	.form-aligned .form-group select,
	.form-aligned .form-group .faux-input,
	.form-aligned .form-group .autocomplete-select {
		width: 100%;
	}

	input, textarea, select {
		max-width: none;
	}

	/* Start page specific */

	#startpage_content {
		margin-top: 5px;
	}

	.startpage-puff {
		margin-bottom: 10px;
	}

	.startpage-row-1 .panel {
		height: auto;
	}

	.startpage-row-1 .panel .valign-center {
		position: static;
		padding: 20px 0;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
	}

	.startpage-row-2 {
		height: auto;
	}

	.startpage-row-1 .panel-birthday {
		height: 400px;
	}

	.panel.startpage-row-2:not(.startpage-random-writer) > * {
		margin-left: auto;
		margin-right: auto;
		max-width: 200px;
	}

	.startpage-random-writer {
		height: auto;
		text-align: center;
	}

	.startpage-random-writer .panel-writer-image {
		height: 390px;
	}

	.startpage-random-writer .panel-writer-image-pointer:after {
		display: none;
	}

	.startpage-random-writer .panel-actions {
		position: static;
	}

	.hero-section {
		position: relative;
		display: block;
		height: auto;
		text-align: center;
		padding: 20px 30px;
		margin-bottom: 5px;
	}

	.hero-section:after {
		content: '';
		position: absolute;
		inset: 0;
		background-color: rgb(0 0 0 / 25%);
	}

	.hero-section-content {
		position: relative;
		z-index: 1;
	}

	.hero-section h1 {
		font-size: 28px;
	}

	.hero-section p {
		font-size: 16px;
	}

	.hero-section br {
		display: none;
	}

	.hero-buttons .button {
		height: 32px;
		font-size: 13px;
		line-height: 32px;
	}

	/* Writers list */

	.writer-list-wrapper {
		position: static;
		padding-top: 10px;
		padding-bottom: 10px;
		height: auto;
	}

	.writer-list-wrapper .dialog-close-button {
		display: none;
		top: 10px;
		right: 10px;
	}

	.writer-list {
		position: static;
		padding-bottom: var(--spacing) !important;
	}

	.writer-list-filtered h2:first-child,
	.writer-list-filtered #lexicon_writer_nav,
	.writer-list-filtered #lexicon_character_nav {
		display: block;
	}

	.writer-list-wrapper .form-search {
		height: 34px;
	}

	.writer-list-wrapper .form-search p {
		margin: 0;
	}

	.writer-list-wrapper input {
		max-width: none;
	}

	.page-lexicon_genre .js-writer-list-search,
	.page-lexicon_award .js-writer-list-search {
		display: none;
	}

	/* Writer grid */

	.writer-grid-item {
		padding: 20px 0 !important;
		border: 0 !important;
		border-top: 1px solid #dadada !important;
		border-bottom: 1px solid #dadada !important;
		margin-top: -1px;
	}

	/* Writer article */

	.writer-map {
		width: 310px;
	}

	#writer_article {
		position: relative;
	}

	.js .writer-article.js-resp-article.show-all {
		overflow: visible;
		max-height: none;
		margin-bottom: 0;
	}

	.js .writer-article.js-resp-article.show-all:after {
		display: none;
	}

	.js .writer-article-readmore {
		display: block;
		position: absolute;
		right: 0;
		bottom: 10px;
		left: 0;
		text-align: center;
	}

	.js .writer-article.show-all .writer-article-readmore {
		display: none;
	}

	td .writer-cover-page {
		min-width: 50px;
	}

	/* Dictionary */

	.dictionary-list dt, .dictionary-list dd {
		display: block;
		width: auto;
		margin-left: 0;
	}

	.dictionary-list dt {
		margin-bottom: 0;
		padding-top: 0;
	}

	.dictionary-list dd {
		margin-bottom: 10px;
		border-bottom: 1px solid #dadada;
	}

	.dictionary-list dd:after {
		display: none;
	}

	/* Tabs */

	/* Picture enlargement dialog */

	.p-enlargement-prev {
		left: 0;
	}

	.p-enlargement-next {
		right: 0;
	}

	/* Link selects */

	.link-select {
		min-width: 100px;
	}

	/* Quiz */

	#quiz {
		margin: -10px -10px 0px;
		padding: 1px 0;
	}

	#quiz .quiz-container {
		margin: 20px;
		padding: 1px 0;
		width: auto;
		height: auto;
		background: #b1aea7;
	}

	.page-quiz #content {
		margin-bottom: 0;
	}

	#quiz_question {
		margin: 10px;
		max-width: none;
	}

	#quiz .quiz-alternatives {
		position: static;
		right: 0;
		bottom: 0;
		width: auto;
		margin: 10px;
	}

	/* Footer */

	#footer {
		padding-block: var(--spacingMedium) 0;
	}

	#footer .wrapper {
		background-size: auto 40px;
		background-position: bottom var(--spacingMedium) left var(--spacingMedium);
		padding-inline: var(--spacingMedium);
		padding-bottom: calc(40px + var(--spacingMedium));
	}

	#footer .page-blocks {
		flex-direction: column;
		gap: 0;
	}
}

@media screen and (max-width: 540px) {
	html, body {
		min-height: 100%;
		height: auto;
	}

	/* Login */

	.login-layout #content {
		position: relative;
		top: 20px;
		left: auto;
		margin: 0 20px 40px;
		width: auto;
		-webkit-transform: none;
		transform: none;
	}
}

@media screen and (min-width: 1024px) {
	#nav > li.has-subs > a:after {
		content: '\f0d7';
		font-family: 'FontAwesome';
		font-size: 10px;
	}

	#nav > li.has-subs:hover > a {
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
	}

	#nav ul {
		opacity: 0;
		position: absolute;
		min-width: 100%;
		line-height: var(--fontSizeSmall);
		background-color: var(--colorMenuHover);
		padding-block: var(--spacingXXSmall);
		border-bottom-right-radius: var(--spacingXXSmall);
		border-bottom-left-radius: var(--spacingXXSmall);
		z-index: 1;
		pointer-events: none;
		transition: .25s;
	}

	#nav li:hover > ul {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(calc(var(--spacingXSmall) * -1));
	}
}

@media screen and (max-width: 1024px) {
	.left-mobile {
		text-align: left;
	}

	#banner {
		height: 132px;
		align-items: flex-end;
	}

	#banner:after {
		top: auto;
		bottom: 0;
		width: 100%;
		height: 50%;
		background-image: linear-gradient(to bottom, rgb(0 0 0 / 0%), rgb(0 0 0 / 75%));
	}

	#banner h1 {
		font-size: 20px;
	}

	#content {
		padding: var(--spacingSmall);
		padding-bottom: 1px;
	}

	.panel {
		padding: var(--spacing);
		padding-bottom: 1px;
		margin-bottom: var(--spacingSmall) !important;
	}

	/* Startpage */

	.page-index .inline-wrapper {
		display: flex;
		flex-direction: column;
	}

	.page-index .inline-r-block:has(.order-1-mobile) {
		order: -2;
	}

	.page-index .inline-r-block:has(.order-2-mobile) {
		order: -1;
	}

	.startpage-search-panel {
		position: relative;
		background-position: bottom right;
		padding: var(--spacingMedium);
		margin-bottom: var(--spacingSmall);
	}

	.startpage-search-panel:after {
		content: '';
		position: absolute;
		inset: 0;
		background-color: var(--colorMenu);
		border-radius: var(--spacingXSmall);
		opacity: .5;
	}

	.startpage-search-content {
		position: relative;
		z-index: 1;
	}

	.startpage-search-content h1 {
		font-size: 28px;
	}

	.startpage-search-content .form-group-button-combo {
		flex-direction: column;
		gap: var(--spacing);
	}

	.startpage-search-content .form-group-button-combo .button {
		width: 100%;
	}

	.page-blocks .inline-r-block {
		width: 100%;
	}

	.page-block {
		padding: var(--spacing);
		padding-bottom: 1px;
		margin-bottom: var(--spacingSmall);
	}

	.page-block h2 {
		font-size: 28px;
	}

	.page-block:has(.fullwidth-banner) {
		padding: var(--spacingMedium);
		padding-bottom: var(--spacingXSmall);
	}

	.page-block:has(.fullwidth-banner) .page-block-image img {
		max-width: none;
	}

	.banner-left:not(:has(.fullwidth-banner)),
	.banner-right:not(:has(.fullwidth-banner)) {
		grid-template-columns: 1fr;
	}

	.page-block:has(.page-block-buttons) {
		padding-bottom: 1px;
	}

	.page-block-buttons {
		position: static;
		margin-bottom: var(--spacing);
	}

	.block-grid {
		grid-template-columns: 1fr;
	}

	.block-writer {
		flex-direction: column;
	}

	.block-writer-image {
		width: 100%;
		margin-bottom: 0;
	}

	.block-writer-image img {
		max-width: 100%;
		width: 100%;
		max-height: none;
	}

	#lexicon_birthday_slider {
		height: 650px;
		margin-bottom: calc(var(--spacingSmall) * 3);
	}

	#lexicon_birthday_slider .slide {
		flex-direction: column;
		gap: var(--spacing);
	}

	#lexicon_birthday_slider .textslider-breadcrumbs {
		bottom: calc(var(--spacingSmall) * -2);
		width: calc(100% + var(--spacing) * 2);
		margin-inline: calc(var(--spacing) * -1);
	}

	.writer-carousel-image img {
		max-width: 100%;
		width: 100%;
		max-height: none;
	}

	/* Writer list */

	.writer-list-wrapper {
		padding: 0;
	}

	.writer-list-header {
		margin-bottom: 0 !important;
	}

	.writer-list {
		max-height: 115px;
	}

	.writer-panel {
		flex-direction: column;
		gap: var(--spacing);
	}

	.m-no-writer-list {
		.lexicon-backwards-button {
			display: flex;
		}

		.writer-list-header,
		.writer-list {
			display: none;
		}
	}

	.writer-image {
		width: 100%;
		margin-bottom: 0;
	}

	.writer-image img {
		width: 100%;
	}

	.writer-image-caption {
		margin-bottom: 0;
	}

	.writer-facts {
		display: block;
	}

	.writer-facts dt {
		display: block;
		font-weight: 600;
		padding: 0;
		border-bottom: 0;
		margin-bottom: var(--spacingXXSmall);
	}

	.writer-facts dd {
		justify-content: flex-start;
		gap: var(--spacingXSmall);
		width: auto;
		padding: 0;
		border-bottom: 0;
		margin-bottom: var(--spacing);
	}

	.panel-ribbon-tools {
		grid-template-columns: 1fr;
		margin-bottom: var(--spacingSmall);
	}

	.context-menu {
		min-width: calc(100% - var(--spacingSmall) * 2 - var(--spacingXSmall) * 2);
	}
}