@font-face {
    font-family: "value";
    font-weight: normal;
    font-style: normal;
    src: url("../font/value-regular.woff") format("woff"), url("../font/value-regular.woff2") format("woff2"), url("../font/value-regular.ttf") format("truetype");
}
@font-face {
    font-family: "value";
    font-weight: bold;
    font-style: normal;
    src: url("../font/value-bold.woff") format("woff"), url("../font/value-bold.woff2") format("woff2"), url("../font/value-bold.ttf") format("truetype");
}
*,
*::after,
*::before {
    box-sizing: border-box;
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    font: inherit;
    font-size: 100%;
    border: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
body {
    line-height: 1;
    tap-highlight-color: rgba(0, 0, 0, 0);
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote::before,
blockquote::after,
q::before,
q::after {
    content: none;
}
sub,
sup {
    position: relative;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
input,
textarea,
button,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inhert;
    font-size: inherit;
    color: inherit;
}
select {
    text-indent: 0.01px;
    text-overflow: "";
    border: 0;
    border-radius: 0;
}
select::-ms-expand {
    display: none;
}
code,
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}
a {
    text-decoration: none;
    border: none;
    outline: none;
}
html {
    height: 100%;
}
body {
    background-color: #000;
    color: #fff;
    font-family: "value", "sans";
    font-weight: normal;
    line-height: 1.2em;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    height: 100%;
}
:root {
    font-size: 24px;
}
@media (max-width: 1600px) {
    :root {
        font-size: 22px;
    }
}
@media (max-width: 1280px) {
    :root {
        font-size: 20px;
    }
}
@media (max-width: 640px) {
    :root {
        font-size: 16px;
    }
}
header,
main,
aside {
    position: fixed;
    width: 100%;
}
a {
    color: #fff;
}
section > *:not(picture),
article > *:not(picture),
aside > * {
    max-width: 30em;
    margin-left: 48px;
    margin-right: 48px;
    text-shadow: 0px 0px 0.5em #000, 0px 0px 1em #000, 0px 0px 2em #000;
}
@media (max-width: 480px) {
    section > *:not(picture),
    article > *:not(picture),
    aside > * {
        margin-left: calc(((((100vw - 360px) / 120) * 24) + 24px));
        margin-right: calc(((((100vw - 360px) / 120) * 24) + 24px));
    }
}
@media (max-width: 360px) {
    section > *:not(picture),
    article > *:not(picture),
    aside > * {
        margin-left: 24px;
        margin-right: 24px;
    }
}
header {
    z-index: 6;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
header .logo {
    position: absolute;
    top: 48px;
    left: 72px;
    width: 129px;
    height: 48px;
    min-width: 86px;
    min-height: 32px;
    background-image: url(../gfx/logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    pointer-events: all;
    cursor: pointer;
    opacity: 1;
    transition: opacity 200ms ease;
    color: transparent;
    pointer-events: none;
}
@media (max-width: 1920px) {
    header .logo {
        top: calc((48 / 1920) * 100vw);
        left: calc((72 / 1920) * 100vw);
        height: 190px;
        width: 190px;
    }
}
@media (max-width: 1280px) {
    header .logo {
        top: 32px;
        left: 48px;
    }
}
@media (max-width: 480px) {
    header .logo {
        top: calc((32 / 480) * 100vw);
        left: calc(((((100vw - 360px) / 120) * 24) + 24px));
        min-width: 64px;
        min-height: 24px;
    }
}
@media (max-width: 360px) {
    header .logo {
        top: 24px;
        left: 24px;
    }
}
header .toggle {
    position: absolute;
    top: 55.5px;
    right: 72px;
    width: 33px;
    height: 33px;
    min-width: 22px;
    min-height: 22px;
    background-image: url(../gfx/toggle.png);
    background-size: 300% 100%;
    background-repeat: no-repeat;
    background-position: left;
    pointer-events: all;
    cursor: pointer;
    opacity: 1;
    transition: opacity 200ms ease;
}
html.view_info header .toggle {
    background-position: right;
}
@media (max-width: 1920px) {
    header .toggle {
        top: calc((55.5 / 1920) * 100vw);
        right: calc((72 / 1920) * 100vw);
        height: calc((33 / 1920) * 100vw);
        width: calc((33 / 1920) * 100vw);
    }
}
@media (max-width: 1280px) {
    header .toggle {
        top: 52px;
        right: 48px;
    }
}
@media (max-width: 480px) {
    header .toggle {
        top: calc((52 / 480) * 100vw);
        right: calc(((((100vw - 360px) / 120) * 24) + 24px));
        height: calc((22 / 480) * 100vw);
        width: calc((22 / 480) * 100vw);
        min-width: 16px;
        min-height: 16px;
    }
}
@media (max-width: 360px) {
    header .toggle {
        top: 28px;
        right: 24px;
    }
}
main {
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    width: 100%;
    height: 100%;
}
section,
article {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-align: center;
}
section picture,
article picture {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
section picture img,
article picture img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: opacity 400ms;
}
article.picture_top picture img {
    -o-object-position: top;
    object-position: top;
}
h2,
h3 {
    font-weight: bold;
}
section {
    z-index: 2;
}
section picture {
    opacity: 1;
    transition: opacity 1200ms 1200ms;
}
html.status_init section picture {
    opacity: 0;
}
section h2 {
    z-index: 2;
    font-size: calc((7 / 6) * 1em);
    line-height: 1.2em;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 800ms 3200ms, transform 1600ms ease-out 3000ms;
}
html.status_init section h2 {
    transform: translateY(-0.8em);
    opacity: 0;
}
article {
    z-index: 3;
    display: flex;
    justify-content: space-around;
}
article.display {
    z-index: 4;
}
article picture {
    transition: opacity 0s 1200ms;
    opacity: 0;
}
article.display picture {
    opacity: 1;
    transition: opacity 800ms 400ms;
}
article picture::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 192px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 5;
}
article picture img:nth-of-type(2) {
    opacity: 0;
}
article::before {
    content: "";
    position: relative;
    height: 50%;
    display: block;
}
article .text {
    margin-top: 2.4em;
    margin-bottom: 1.2em;
    z-index: 2;
    opacity: 0;
    transform: translateY(-0.8em);
    transition: opacity 400ms 0s, transform 0s 600ms;
}
article.display .text {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 800ms 1200ms, transform 1200ms ease-out 1000ms;
    pointer-events: all;
}
@media (max-width: 1920px) {
    article picture::before {
        height: calc((192 / 1920) * 100vw);
    }
}
@media (max-width: 1280px) {
    article picture::before {
        height: 128px;
    }
}
@media (max-width: 640px) {
    article picture img:nth-of-type(2) {
        opacity: 1;
    }
}
aside {
    z-index: 5;
    position: fixed;
    top: 0;
    left: 0;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
    transition: opacity 400ms 200ms;
}
html.view_info aside {
    opacity: 1;
    transition: opacity 400ms 0s;
}
aside > * {
    opacity: 0;
    transform: translateY(-0.8em);
    transition: opacity 400ms 0s, transform 0s 600ms;
}
html.view_info aside > * {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 600ms 400ms, transform 800ms ease-out 0s;
}
aside span {
    display: inline-block;
}
html.view_info aside a {
    pointer-events: all;
    -webkit-user-select: all;
    -moz-user-select: all;
    -ms-user-select: all;
    user-select: all;
}
aside address {
    max-width: 36em;
    font-size: calc((5 / 6) * 1em);
    line-height: 1.2em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

aside address::after {
    content: "";
    position: relative;
    display: block;
    height: 1px;
    width: 6em;
    margin: 2em 0;
    background-color: currentColor;
}
aside address a:first-of-type {
    margin-bottom: 1.2em;
}