:root {
	--jj-navy: #0b3a6a;
	--jj-blue: #20558a;
	--jj-link: #1a4d80;
	--jj-action: #0b6cb5;
	--jj-ink: #212121;
	--jj-muted: #5c6770;
	--jj-line: #d6dde3;
	--jj-paper: #ffffff;
	--jj-page: #f4f6f8;
	--jj-soft: #e8f1f8;
}

.jj-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

html {
	font-size: 19px;
}

body {
	margin: 0;
	background: var(--jj-page);
	color: var(--jj-ink);
	font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.05rem;
	line-height: 1.65;
}

button,
input,
select,
textarea,
.form-control,
.btn,
.table,
.dataTables_wrapper,
.nav-tabs > li > a,
.pagination > li > a,
.dropdown-menu,
ul li.menus,
.error {
	font-size: 1.05rem;
}

.jj-mast {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--jj-paper);
	border-bottom: 4px solid var(--jj-blue);
	padding: 14px 28px;
}

.jj-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--jj-navy);
	text-decoration: none;
}

.jj-brand img {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.jj-brand strong {
	display: block;
	font-size: 1.55rem;
	line-height: 1.15;
	font-weight: 700;
}

.jj-brand small,
.jj-mast-side {
	display: block;
	color: var(--jj-muted);
	font-size: 1rem;
}

.jj-brand small span {
	display: block;
}

.jj-mast-side {
	text-align: right;
}

.jj-search {
	display: flex;
	gap: 8px;
	align-items: center;
	box-sizing: border-box;
	max-width: 100%;
	background: var(--jj-blue);
	padding: 14px 28px;
}

.jj-search input[type="search"],
.jj-search input[type="text"],
.jj-search input.stay {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	height: 48px;
	border: 0;
	border-radius: 4px;
	padding: 0 14px;
	font-size: 1.15rem;
	float: none;
	background: #fff;
}

.jj-search button,
.jj-btn,
button.jj-btn {
	background: var(--jj-navy);
	color: #fff;
	border: 0;
	border-radius: 4px;
	min-height: 44px;
	padding: 0 18px;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
	line-height: 44px;
}

.jj-search button {
	background: #fff;
	color: var(--jj-navy);
}

.jj-btn-pdf {
	background: #fff;
	color: var(--jj-action);
	border: 1px solid var(--jj-action);
	line-height: 42px;
}

.jj-nav {
	background: #fff;
	border-bottom: 1px solid var(--jj-line);
	padding: 0 18px;
}

.jj-nav-toggle {
	display: none;
	margin: 8px 0;
	background: var(--jj-blue);
	color: #fff;
	border: 0;
	border-radius: 4px;
	padding: 8px 12px;
}

.jj-nav .collapse {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	height: auto !important;
}

.jj-nav a {
	color: var(--jj-link);
	text-decoration: none;
	font-weight: 650;
	font-size: 1.05rem;
	padding: 12px 12px;
	display: inline-block;
}

.jj-nav a:hover {
	color: var(--jj-action);
	background: var(--jj-soft);
	text-decoration: none;
}

.jj-nav-gap {
	flex: 1;
}

.jj-page {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 260px;
	gap: 18px;
	max-width: 1240px;
	margin: 18px auto;
	padding: 0 16px 32px;
	align-items: start;
}

.jj-side,
.jj-toc,
.jj-main,
.middle-menu,
.panel {
	background: var(--jj-paper);
	border: 1px solid var(--jj-line);
	border-radius: 6px;
}

.jj-side,
.jj-toc {
	padding: 8px 0 12px;
}

.jj-side h2,
.jj-toc strong {
	display: block;
	margin: 0;
	padding: 10px 14px;
	color: var(--jj-navy);
	font-size: 0.95rem;
	border-bottom: 1px solid var(--jj-line);
}

.jj-side a,
a .ok,
.ok {
	display: block;
	background: transparent;
	border: 0;
	border-top: 0;
	color: var(--jj-link);
	font-size: 0.95rem;
	font-weight: 600;
	padding: 8px 14px;
	text-align: left;
}

.jj-side a:hover,
.ok:hover {
	background: var(--jj-soft);
	color: var(--jj-navy);
	text-decoration: none;
}

.jj-toc a {
	display: block;
	padding: 8px 14px;
	color: var(--jj-ink);
	text-decoration: none;
	border-bottom: 1px solid #eef2f5;
}

.jj-toc a:hover {
	background: var(--jj-soft);
}

.jj-toc a span {
	display: block;
	color: var(--jj-muted);
	font-size: 1rem;
	font-weight: 500;
}

.jj-toc .alertalert-success {
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
}

.jj-main {
	padding: 8px 22px 28px;
	min-width: 0;
}

.jj-kicker {
	color: var(--jj-action);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 18px 0 0;
}

.jj-main h1,
.middle-menu h1,
.jj-lead h1 {
	color: var(--jj-navy);
	font-size: 2rem;
	margin: 4px 0 8px;
	font-weight: 700;
}

.jj-lead p {
	color: var(--jj-muted);
	max-width: 46rem;
}

.jj-lead .jj-search {
	background: transparent;
	padding: 8px 0 4px;
}

.jj-lead .jj-search input {
	border: 2px solid var(--jj-blue);
}

.jj-lead .jj-search button {
	background: var(--jj-blue);
	color: #fff;
}

.jj-count {
	color: var(--jj-muted);
	border-bottom: 1px solid var(--jj-line);
	padding-bottom: 8px;
	margin-top: 18px;
}

.jj-cite {
	padding: 16px 0;
	border-bottom: 1px solid var(--jj-line);
}

.jj-title {
	font-size: 1.3rem;
	line-height: 1.35;
	margin: 0 0 4px;
	font-weight: 650;
}

.jj-title a {
	color: var(--jj-link);
	text-decoration: none;
}

.jj-title a:hover {
	text-decoration: underline;
}

.jj-authors {
	margin: 0;
	color: #333;
	font-size: 1.05rem;
}

.jj-meta {
	margin: 2px 0 8px;
	color: var(--jj-muted);
	font-size: 1rem;
}

.jj-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin: 0 0 12px;
	color: var(--jj-muted);
	font-size: 1rem;
}

.jj-stats span {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
}

.jj-stats strong {
	color: var(--jj-navy);
	font-variant-numeric: tabular-nums;
}

.jj-stats-compact {
	margin: 0 0 8px;
	font-size: 0.95rem;
	gap: 8px 14px;
}

.jj-journal {
	font-style: italic;
}

.jj-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.jj-actions .jj-btn {
	min-height: 34px;
	line-height: 34px;
	padding: 0 12px;
	font-size: 0.9rem;
}

.jj-article h1 {
	font-size: 1.7rem;
	line-height: 1.3;
	color: var(--jj-navy);
	margin-bottom: 8px;
}

.jj-abstract {
	text-align: left;
}

.jj-citebox {
	background: var(--jj-soft);
	border-left: 4px solid var(--jj-blue);
	padding: 12px 14px;
	margin-top: 18px;
}

.jj-issue-list {
	display: grid;
	gap: 10px;
	padding: 16px;
}

.jj-issue {
	display: block;
	border: 1px solid var(--jj-line);
	border-radius: 6px;
	padding: 14px 16px;
	color: var(--jj-navy);
	text-decoration: none;
	font-weight: 700;
}

.jj-issue:hover {
	border-color: var(--jj-blue);
	background: var(--jj-soft);
	text-decoration: none;
}

.jj-issue span {
	display: block;
	color: var(--jj-muted);
	font-weight: 500;
}

.jj-archive-intro {
	color: var(--jj-muted);
	max-width: 42rem;
	margin-top: 0;
}

.jj-years {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 4px;
}

.jj-years a {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--jj-line);
	border-radius: 999px;
	color: var(--jj-navy);
	background: #fff;
	font-weight: 700;
	text-decoration: none;
}

.jj-years a:hover {
	border-color: var(--jj-blue);
	background: var(--jj-soft);
	text-decoration: none;
}

.jj-volume {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--jj-line);
	scroll-margin-top: 12px;
}

.jj-volume-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 12px;
}

.jj-volume-head h2 {
	margin: 0;
	color: var(--jj-navy);
	font-size: 1.35rem;
}

.jj-volume-head p {
	margin: 0;
	color: var(--jj-muted);
}

.jj-archive-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.jj-issue-card {
	display: flex;
	flex-direction: column;
	min-height: 148px;
	border: 1px solid var(--jj-line);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

.jj-issue-card.is-latest {
	border-color: var(--jj-blue);
}

.jj-issue-open {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	padding: 14px 16px 10px;
	color: var(--jj-navy);
	text-decoration: none;
}

.jj-issue-open:hover {
	background: var(--jj-soft);
	text-decoration: none;
}

.jj-issue-open strong {
	font-size: 1.15rem;
	line-height: 1.3;
}

.jj-issue-open span {
	color: var(--jj-muted);
	font-weight: 500;
}

.jj-badge {
	align-self: flex-start;
	margin-bottom: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--jj-soft);
	color: var(--jj-action);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.jj-toc-link {
	margin: 0 16px 14px;
	color: var(--jj-action);
	font-weight: 700;
	font-size: 0.9rem;
}

.nav-tabs {
	border-bottom: 1px solid var(--jj-line);
	margin-top: 12px;
}

.nav-tabs > li > a {
	color: var(--jj-link);
	border-radius: 4px 4px 0 0;
}

.nav-tabs > li.active > a {
	color: var(--jj-navy);
	font-weight: 700;
}

.form-control,
input.done,
input.middle-menue,
select.form-control,
textarea.form-control {
	border: 1px solid #b7c3ce;
	border-radius: 4px;
	box-shadow: none;
	min-height: 40px;
}

.btn,
button[type="submit"] {
	border-radius: 4px;
}

.btn-danger,
button[name="signup"],
button[name="loggin"],
button[name="fire"],
.jj-main button[type="submit"],
.jj-main input[type="submit"] {
	background: var(--jj-blue);
	border-color: var(--jj-navy);
	color: #fff;
	min-height: 44px;
	padding: 0 18px;
	font-weight: 700;
}

.jj-footer {
	max-width: 1240px;
	margin: 0 auto 24px;
	padding: 16px;
	color: var(--jj-muted);
	font-size: 0.9rem;
	text-align: center;
}

.jj-footer a {
	color: var(--jj-link);
}

.header {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: #fff;
	border-bottom: 4px solid var(--jj-blue);
	border-radius: 0;
	margin: 0;
	padding: 12px 20px;
	text-align: left;
	overflow: visible;
}

.header .logo {
	float: none;
	width: 64px;
	height: 64px;
	border-radius: 0;
}

.header .pull-left,
.header .pull-right {
	float: none !important;
}

.header .issn,
.header .dating {
	margin: 0;
	color: var(--jj-muted);
}

.container[style*="ffffe6"] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	color: var(--jj-muted);
}

.naming {
	color: var(--jj-navy);
	font-size: 1.6rem;
}

.issn,
.dating {
	color: var(--jj-muted);
	font-size: 1rem;
}

ul li.menus {
	background: transparent;
	border-right: 0;
	float: none;
	display: inline-block;
}

ul li.menus a,
.navbar-nav > li > a {
	color: var(--jj-link) !important;
	font-weight: 650;
}

.navbar-inverse {
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--jj-line);
}

.well,
.panel-default,
.panel-info {
	background: #fff;
	border: 1px solid var(--jj-line);
	border-radius: 6px;
	box-shadow: none;
}

table.dataTable,
.table {
	background: #fff;
}

.dataTables_wrapper {
	padding: 8px;
}

@media (max-width: 980px) {
	.jj-page {
		grid-template-columns: 1fr;
	}
	.jj-mast {
		flex-direction: column;
		align-items: flex-start;
	}
	.jj-mast-side {
		text-align: left;
	}
	.jj-nav-toggle {
		display: inline-block;
	}
	.jj-nav .collapse {
		display: none !important;
	}
	.jj-nav .collapse.in {
		display: block !important;
	}
	.jj-nav a {
		display: block;
	}
	.container-fluid > .row {
		display: flex;
		flex-direction: column;
	}
	.container-fluid > .row > [class*="col-"] {
		float: none;
		width: 100%;
		max-width: 100%;
	}
	.container-fluid > .row > * {
		order: 2;
	}
	.container-fluid > .row > .jj-main {
		order: 1;
	}
	.jj-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.nav-tabs {
		display: flex;
		flex-wrap: wrap;
	}
	.jj-mast-side span {
		display: block;
	}
}

.jj-crumb {
	margin: 16px 0 0;
	color: var(--jj-muted);
	font-size: 0.9rem;
}

.jj-crumb a {
	color: var(--jj-link);
	font-weight: 650;
	text-decoration: none;
}

.jj-crumb a:hover {
	text-decoration: underline;
}

.jj-issue-head .jj-actions {
	margin: 14px 0 0;
}

.jj-toc-article {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 4px 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--jj-line);
}

.jj-pages {
	margin: 4px 0 0;
	color: var(--jj-action);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.jj-pages a {
	color: inherit;
	text-decoration: none;
}

.jj-pages a:hover {
	text-decoration: underline;
}

.jj-pager {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
}

.jj-pager a {
	display: block;
	max-width: 48%;
	padding: 12px 14px;
	border: 1px solid var(--jj-line);
	border-radius: 6px;
	color: var(--jj-navy);
	text-decoration: none;
	font-weight: 700;
}

.jj-pager a:hover {
	border-color: var(--jj-blue);
	background: var(--jj-soft);
}

.jj-pager a span,
.jj-pager small {
	display: block;
	color: var(--jj-muted);
	font-weight: 500;
	font-size: 1rem;
}

.jj-pager .is-next {
	margin-left: auto;
	text-align: right;
}

.jj-toc a.is-current {
	background: var(--jj-soft);
	box-shadow: inset 3px 0 0 var(--jj-blue);
}

.jj-prose {
	max-width: 48rem;
	font-size: 1.125rem;
	line-height: 1.75;
}

.jj-prose h1,
.jj-prose h2,
.jj-prose h3,
.jj-prose h4 {
	color: var(--jj-navy);
	line-height: 1.3;
	margin: 1.2em 0 0.4em;
}

.jj-prose p,
.jj-prose ul,
.jj-prose ol {
	margin: 0 0 0.9em;
}

.jj-prose [style*="text-align:justify"],
.jj-prose [style*="text-align: justify"],
.jj-abstract [style*="text-align:justify"],
.jj-abstract [style*="text-align: justify"],
.jj-main [style*="text-align:justify"],
.jj-main [style*="text-align: justify"] {
	text-align: left !important;
}

.jj-prose ul,
.jj-prose ol {
	padding-left: 1.2em;
}

.jj-prose a {
	color: var(--jj-link);
}

.jj-prose img {
	max-width: 100%;
	height: auto;
}

.jj-prose table,
.jj-main table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	margin: 12px 0 20px;
}

.jj-prose td,
.jj-prose th,
.jj-main table td,
.jj-main table th {
	border: 1px solid var(--jj-line);
	padding: 8px 10px;
	vertical-align: top;
}

.jj-main table th {
	background: var(--jj-soft);
	color: var(--jj-navy);
}

.jj-main label {
	display: block;
	margin-top: 12px;
	color: var(--jj-navy);
	font-weight: 650;
}

.jj-main .error {
	color: #9b1c1c;
	font-weight: 650;
}

.jj-form {
	max-width: 40rem;
}

.tab-content {
	padding-top: 8px;
}

@media (max-width: 640px) {
	.jj-mast,
	.jj-search,
	.jj-nav {
		padding-left: 12px;
		padding-right: 12px;
	}
	.jj-search button,
	.jj-btn {
		padding-left: 12px;
		padding-right: 12px;
	}
	.jj-archive-grid,
	.jj-toc-article {
		grid-template-columns: 1fr;
	}
	.jj-pager {
		flex-direction: column;
	}
	.jj-pager a,
	.jj-pager .is-next {
		max-width: none;
		margin-left: 0;
		text-align: left;
	}
	.jj-main {
		padding-left: 14px;
		padding-right: 14px;
	}
	.jj-prose,
	.jj-title,
	.jj-main h1 {
		overflow-wrap: break-word;
	}
	.jj-main table {
		display: block;
		overflow-x: auto;
	}
}
