* {
    box-sizing: border-box;
}
body {
    height: 100vh;
    background-color: #000;
    background-image: url(img/background.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}
#utu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}
#utu-overlay > div {
    background-image: url(img/background.png);
    background-position: center center;
    background-size: 50vmin;
    mix-blend-mode: multiply;
    width: 100vmax;
    height: 100vmax;
}
body > section {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(50vw, 100%, 70vw);
    height: 85vh;
    background-color: rgba(255,255,255,0.55);
    background-blend-mode: screen;
    border: 8px double #000;
    border-radius: 15px;

    padding: 0 2.5vmin;

    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;

    overflow: hidden;
    display: flex;
    flex-direction: column;
}
body > section > div {
    margin-left: -2.5vmin;
    margin-right: -2.5vmin;

    padding: 0 2.5vmin;

    overflow-y: auto;
    flex: 1;
}
body > section > footer {
    padding: 0.5em 2.5vmin;
    border-top: 1px solid rgba(0,0,68,0.3);
    text-align: center;
    font-size: 0.8em;
    color: #004;
}
h1 {
    text-align: center;
    max-height: 25%;
}
h1 > img {
    max-width: 100%;
    max-height: 95%;
}
h2 {
    margin-left: -2.5vmin;
    padding-left: 2.5vmin;
    padding-top: 5px;
    padding-bottom: 5px;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    background: linear-gradient(
        to right,
        rgba(255,255,255,.75) 0%,
        rgba(255,255,255,.75) 75%,
        rgba(255,255,255,0) 95%
    );
    color: #004;
}
p, th, td, footer {
    color: #004;
    text-shadow:
        -1px -1px 0 rgba(255,255,255,.25),
        1px 1px 0 rgba(255,255,255,.25),
        -1px 1px 0 rgba(255,255,255,.25),
        1px -1px 0 rgba(255,255,255,.25),
        -2px -2px 2px rgba(255,255,255,.1),
        -2px 2px 2px rgba(255,255,255,.1),
        -2px 2px 2px rgba(255,255,255,.1),
        2px -2px 2px rgba(255,255,255,.1);
}
footer {
    color: #004;
    text-shadow:
            -1px -1px 0 rgba(255,255,255,.1),
            1px 1px 0 rgba(255,255,255,.1),
            -1px 1px 0 rgba(255,255,255,.1),
            1px -1px 0 rgba(255,255,255,.1),
            -2px -2px 2px rgba(255,255,255,.1),
            -2px 2px 2px rgba(255,255,255,.1),
            -2px 2px 2px rgba(255,255,255,.1),
            2px -2px 2px rgba(255,255,255,.1);
}
td {
    font-weight: 500;
}
p {
    font-weight: 500;
}
table#contacts {
    width: 100%;
}
a:not(.social-media) {
    color: #048;
    text-decoration: none;
}
a:not(.social-media):hover {
    color: #04f;
    text-decoration: underline;
}
td.social-media {
    text-align: center;
    vertical-align: middle;
}
td.social-media > a > img {
    height: 48px;
    width: auto;
}
td.social-media > a + a {
    padding-left: 24px;
}
div + section > div > img {
    max-width: 98%;
    margin: 0 auto;
}
