html, body {
margin: 0;
padding: 0;
background-color: #1A1A1A; }
#root {
position: relative;
width: 475.52246mm;
height: 237.26mm;
margin: 0 auto;
letter-spacing: -.25em; }
#root > * {
letter-spacing: normal; }
#header {
display: inline-block;
width: 15mm;
height: 207.26mm;
margin-right: 5mm;
background-color: white; }
#header h1 {
margin: 0 0 15mm 0;
padding: 0.3em;
position: absolute;
bottom: 0;
left: 0;
transform-origin: 0% 0%;
transform: rotate(270deg); }
#main {
display: inline-block;
width: 455.04741mm;
overflow: hidden; }
#main #page-left {
float: left;
background-position: right; }
#main #page-right {
float: right;
background-position: left; }
#main .page {
position: relative;
width: 227.41mm;
height: 207.26mm;
background-repeat: no-repeat;
background-size: contain; }
#main .page .overlay {
position: relative;
width: 100%;
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
z-index: 1; }
#main .page .maps {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2; }
#main .page .maps .map {
position: absolute;
background-color: rgba(50, 50, 50, 0.8);
cursor: pointer; }
#navigation {
width: 455.04741mm;
height: 30mm;
overflow: hidden;
margin: 0 0 0 20mm;
padding: 0;
background-color: rgba(26, 26, 26, 0.7);
text-align: center;
transition: opacity .3s ease-in-out; }
#pagination {
color: #fff;
font-size: 1em;
padding: 1mm 0;
letter-spacing: -.25em;
opacity: 0.3;
transition: opacity .3s ease-in-out; }
#pagination > * {
letter-spacing: normal; }
#pagination div {
display: inline-block;
width: 49.9%; }
#pagination div span.p {
display: inline-block;
vertical-align: middle;
min-width: 3em;
text-align: center; }
#pagination div span.l {
cursor: pointer;
line-height: -1em; }
#pagination div span.l.hidden {
visibility: hidden; }
#pagination div.wrapper-l {
left: 0;
text-align: right; }
#pagination div.wrapper-r {
right: 0;
text-align: left;
border-left: 1px solid white; }
#pagination:hover {
opacity: 1; }
#railway ul {
padding: 1mm 0;
margin: 0;
text-align: justify;
display: -ms-flexbox;
display: flex;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: justify;
justify-content: space-between; }
#railway ul li {
list-style: none;
opacity: 0.2;
transition: opacity 0.3s ease-in-out; }
#railway ul li.current, #railway ul li.active:hover {
opacity: 1; }
#railway ul li span {
display: inline-block;
background-color: white;
width: 1mm;
height: 7mm;
background-position: center;
background-size: cover; }
#railway ul li span.active {
width: 7mm;
cursor: pointer; }
#railway ul:hover span {
opacity: 1; }