body {
	/* font-family: 'GillSansC'; */
	font-family: 'Humanist 521 BT';
	font-size: 1.4em;
	line-height: 1.35;
	color: #444;
	font-weight: 500;
}

sup {
    font-family: 'GillSansC';
    font-size: .65em;
}


a {
	color: #008cdc;
}

em {
	/* font-family: 'GillSansLightC'; */
	opacity: .8;
}

h1, h2, h3, h4 {
	/* font-family: 'GillSansC'; */
	font-weight: 500;
}

h1 {
	font-size: 2rem;
}

sup {
    font-size: .7em;
    color: #fff;
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: #444;
    border-radius: 50%;
    line-height: 1.1;
    top: 0;
    padding: .2em;
    text-align: center;
    box-sizing: content-box;
}

blockquote {
    font-size: .85em;
    padding-left: 1em;
    margin-bottom: 0;
}

.inline-icon {
  height: 1em;
  width: auto;
  vertical-align: sub;
}



.side-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.side-table tr td {
    width: auto;
    vertical-align: center;
    padding-left: 1em;
    line-height: 1.1; 
}

.side-table tr td:first-child {
    padding-left: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.side-table.first-col-align-left tr td:first-child {
    justify-content: flex-start;
}

.side-table.first-align-right tr td:first-child {
    justify-content: flex-end;
}

.side-table.first-col-align-center tr td:first-child {
    justify-content: center;
}

.side-table tr td:first-child img {
    display: block;
    height: 2.2em;
    width: auto;
    max-width: none;
}

.side-table.p0 tr td {padding-top: 0;   padding-bottom: 0}
.side-table.p1 tr td {padding-top: 1px; padding-bottom: 1px}
.side-table.p2 tr td {padding-top: 2px; padding-bottom: 2px}
.side-table.p3 tr td {padding-top: 3px; padding-bottom: 3px}
.side-table.p4 tr td {padding-top: 4px; padding-bottom: 4px}
.side-table.p5 tr td {padding-top: 5px; padding-bottom: 5px}
.side-table.p6 tr td {padding-top: 6px; padding-bottom: 6px}
.side-table.p7 tr td {padding-top: 7px; padding-bottom: 7px}
.side-table.p8 tr td {padding-top: 8px; padding-bottom: 8px}
.side-table.p9 tr td {padding-top: 9px; padding-bottom: 9px}
.side-table.p10 tr td {padding-top: 10px; padding-bottom: 10px}
.side-table.p11 tr td {padding-top: 11px; padding-bottom: 11px}
.side-table.p12 tr td {padding-top: 12px; padding-bottom: 12px}
.side-table.p13 tr td {padding-top: 13px; padding-bottom: 13px}
.side-table.p14 tr td {padding-top: 14px; padding-bottom: 14px}
.side-table.p15 tr td {padding-top: 15px; padding-bottom: 15px}
.side-table.p16 tr td {padding-top: 16px; padding-bottom: 16px}
.side-table.p17 tr td {padding-top: 17px; padding-bottom: 17px}
.side-table.p18 tr td {padding-top: 18px; padding-bottom: 18px}
.side-table.p19 tr td {padding-top: 19px; padding-bottom: 19px}
.side-table.p20 tr td {padding-top: 20px; padding-bottom: 20px}




.wheater-table tr td:first-child img {
    height: 1.5em;
}

.train-table-symbols {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    display: flex;
    height: 100%;
    align-items: center;
}

.train-table-symbols tr td {
    width: auto;
    vertical-align: center;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 1em;
    line-height: 1.1; 
}

.train-table-symbols tr td:first-child {
    padding-left: 0;
    white-space: nowrap;
    vertical-align: top;
}

.train-table-symbols tr td:first-child img {
    display: block;
    height: 2.2em;
    width: auto;
    float: right;
}

/*
sup::before {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    background-color: #444;
    border-radius: 50%;
    left: 0;
    top: 0;
    z-index: 0;
}
*/
.images-row {
    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: 20px;
    align-items: start;
}

.images-row__item {
    position: sticky;
    top: 20px;
    align-self: start;
}

.images-row__item img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .images-row {
        grid-template-columns: 1fr;
    }

    .images-row__item {
        position: static;
    }
}







.flexbar {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.text-block img {
    max-width: 100%;
}

.index h1 {
	/* font-style: italic; */
	margin-bottom: 3rem;
	letter-spacing: .05em;
	font-size: 1.75rem;
}

.book > h2 {
	font-size: 1.75rem;
	letter-spacing: .05em;
}

.book__author {
	margin-bottom: 3rem;	
}

.book__author a {
	color: #444;
	text-decoration: none;
	opacity: .7;
}

.book__name {
	font-size: 2.5rem;
	padding-right: 25%;
	margin-bottom: .8em;
	letter-spacing: .05em;
}

.book__contentlist {
	font-size: 1.1em;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: .2em;
}

h2.part_name {
	letter-spacing: 0;
	font-size: 2rem;
}

.container {
	padding-top: 3rem;
}

page.container {
    padding-bottom: 0;  
}

section.container.part {
    padding-top: 0;
}

section.container.part p:last-child {
	margin-bottom: 0;
}

.text-xxs {
	font-size: 0.6em;
	line-height: 1.4;
}

.text-xs {
	font-size: 0.7em;
	line-height: 1.4;
}

.text-md {
	font-size: 0.85em;
	line-height: 1.4;
}

.mono {
  font-family: "Martian Mono", monospace;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 111.2;
  white-space: pre;
}

@media (min-width: 992px) {
    .ps-lg-5 {
        padding-left: 6rem !important;
    }
}

footer.container {
	padding-top: 1rem;
	font-size: .95rem;
	opacity: .5;
}

footer {
	display: flex;
	justify-content: space-between;
}

footer a {
	color: #316fb1;
}

.block {
	display: flex;
	margin-bottom: 2rem;
}

.block:last-child {
	margin-bottom: 0;
}

.block__content {
	width: 70%;
	padding-right: 3em;
}

.block__sidecol {
	width: 30%;
	font-size: .95rem;
	font-weight: 400;
}

.block__sidecol-quotetitle {
	display: block;
	margin-bottom: .3em;
}

.block__sidecol h2 {
	font-size: 1.5rem;
	margin-bottom: 1.2em;
}

.bookslist {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 1rem 0 0 0;
	margin: 0 -30px;
}

.bookslist__item {
	width: 33.333%;
	padding: 0 30px;
	font-size: 1.1rem;
	margin-bottom: 2em;
	text-align: left;
}

.bookslist__item img {
	width: 100%;
	display: block;
	margin-bottom: .75em;
}

.bookslist__item-subtile {
	display: block;
	font-size: .7rem;
	opacity: .4;
	margin-top: 5px;
}

.booklist__item-link {
	color: #444;
	text-decoration: none;
	transition: all .3s ease;
	display: block;
	position: relative;
	top: 0;
}

.booklist__item-link:hover {
	top: -10px;
}

.block__sidecol-text {
	margin-bottom: 2em;
}

.block__sidecol-cover {
	margin-top: 3em;
}

.block__sidecol-cover img {
	width: 70%;
}

.list {
	list-style: none;
	padding: .5em 0 0 0;
}

.list__item {
	margin-bottom: .5em;
	font-size: 1.1rem;
}

.list__item-subtext {
	color: #000;
	opacity: .4;
	font-size: .7rem;
}

.list__item.bookpart {
	margin-bottom: 1em;
}

.list__item-part {
	text-transform: uppercase;
}