/* ======================================== */
/* Fonts                                    */
/* ======================================== */

/* Font license: https://susekrawagna.at/a/font/OFL.txt */

@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 400;
  src: url("/a/font/Lekton_v17_400.woff2") format('woff2');
}

@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 700;
  src: url("/a/font/Lekton_v17_700.woff2") format('woff2');
}

/* ======================================== */
/* Reset                                    */
/* ======================================== */

html,
body,
div,
span,
h1,
h2,
h3,
p,
blockquote,
img,
a,
ul,
ol,
figure,
table,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

html {
    overflow-y: scroll;
}

ol,
ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: inline-block;
}

hr {
    border: none;
    border-bottom: 1px solid #ddd;
}

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

/* ======================================== */
/* Source of All Evil                       */
/* ======================================== */

body {
    background-color: #fff;
    color: #666;
    font: normal 16px Verdana, Arial, sans-serif;
    padding: 1.875em 0 1.875em 0; /* 30px / 16px = 1.875 ;; 122px / 16px = 7.625  */
}

/* ======================================== */
/* Page Layout                              */
/* ======================================== */

#page {
    width: 67.5em; /* 1080px / 16px = 67.5 */
    margin: 0 1.875em 0 7.625em; /* 30px / 16px = 1.875 ;; 122px / 16px = 7.625  */
}

#page .left {
    width: 27.78%; /* 420px / 1240 px */
    float: left;
}

#page .right {
    width: 66.67%; /* 800px / 1240 px */
    float: right;
}

article > section,
section > section {
    margin-bottom: 3em;
}

section > article {
    margin-bottom: 2em;
}

p:last-child,
li:last-child,
section:last-child,
nav:last-child,
article:last-child,
article.news-entry h1 {
    margin-bottom: 0;
}

/* ======================================== */
/* Typography and Colors                    */
/* ======================================== */

article p,
article table {
    font-size: 0.75em; /* 12px / 16px = 0.75 */
    line-height: 1.5em; /* 18px / 12px = 1.5 */
    margin-bottom: 1em;
}

article table {
    border-spacing: 0;
    border-collapse: collapse;
}

article table tr td {
    vertical-align: top;
    padding-right: 1em;
}

article table tr td:first-child {
    white-space: nowrap;
}

#header,
#footer,
#page aside,
h1,
h2,
h3,
.gallery nav {
    font-family: "Lekton", sans-serif;
}

h1,
h2,
h3 {
    font-size: 1em;
}

article h1,
article h2,
article h3 {
    margin-top: 3em;
    margin-bottom: 1.5em;
    font-size: 0.8125em;
    line-height: 1.5em; /* 18px / 12px = 1.5 */
}

article h1:first-child,
article h2:first-child,
article h3:first-child {
    margin-top: 0;
}

article h1 span {
    color: #000;
}

article > p > img {
    max-width: 83.34%; /* 600px / 720px = 0.8333 */
}

aside {
    font-size: 0.8125em; /* 13px / 16px = 0.8125 */
    line-height: 1.3846em; /* 18px / 13px = 1.3846 */
}

a {
    color: #666;
    text-decoration: underline;
}

a:hover,
a.active:hover {
    color: #fa910a;
}

a.active {
    color: #000;
    font-weight: bold;
}

article a {
    text-decoration: underline;
}

/* ======================================== */
/* Header                                   */
/* ======================================== */

#header {
    height: 5em; /* 80px / 16px = 5 */
    margin-bottom: 5.75em; /* 92px / 16px = 5.75 */
    border: 1px solid #fa910a;
    border-left: none;
}

#header a {
    text-decoration: none;
    color: #000;
}

#header a:hover {
    color: #fa910a;
}

#header h1 {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
}

#header h1 {
    height: 100%;
    font-size: 1em; /* 16px */
    padding-left: 0.3125em; /* 5px / 16px = 0.3125 */
}

#header h1 a {
    display: inline-block;
    height: 100%;
    font-size: 1.25em; /* 20px / 16px = 1.25 */
    line-height: 3.4em; /* 68px / 20px = 3.4 */
}

/* ======================================== */
/* Footer                                   */
/* ======================================== */

#footer {
    display: inline-block;
    padding: 0.54em 3em 0.81em 0.3125em;
    border: 1px solid #ddd;
    border-left: none;
    margin-top: 5.75em; /* 92px / 16px = 5.75 */
}

#footer p {
    font-size: 0.6875em; /* 11px / 16px = 0.6875 */
    color: #bbb;
}

#footer a {
    color: #bbb;
}

/* ======================================== */
/* Homepage                                 */
/* ======================================== */

#Home #header,
#Home #footer {
    background-color: #fff;
    border-color: #fff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.4);
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.4);
}

#Home #footer {
    display: none;
    position: absolute;
    bottom: 1.875em; /* 30px / 16px = 1.875 */
}

#Home {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 64.375em; /* 1030px / 16px = 64.375 */
    background: url("/a/res/background.jpg") no-repeat left top;
}

/* ======================================== */
/* Navigation, Menu, Submenu, Downloads     */
/* ======================================== */

/*
// Menu
*/

#nav,
#nav ul,
#nav ul li {
    height: 100%; /* 80px von #header */
}

#nav ul li {
    display: inline-block;
    margin-right: 2.5em; /* 40px / 16px = 2.5 */
}

#nav ul li a {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    line-height: 5.2308em; /* 68px / 13px = 5.2308 */
    height: 101.25%; /* 81px / 80px = 1.0125 */
    font-size: 0.8125em; /* 13px / 16px = 0.8125 */
    font-weight: bold;
    text-transform: lowercase;
}

#nav ul li a.active {
    border-bottom: 1px solid #fff;
}

#nav ul li a.active span {
    border-bottom: 1px solid #fa910a;
    padding-bottom: 0.154em; /* 2px / 13px = 0.154 */
}

/*
// Submenu
*/

aside > section,
aside > nav {
    margin-bottom: 5em;
}

aside nav {
    text-transform: lowercase;
}

aside nav a {
    text-decoration: none;
}

aside nav > ul {
    padding-left: 1.65em;
    text-indent: -1.65em;
}

aside nav.downloads > ul {
    padding-left: 1.3em;
    text-indent: -1.3em;
}

aside nav > ul > li:before {
    content: ">> ";
}

aside nav.downloads > ul > li:before {
    content: "⊻ ";
}

aside nav > ul li {
    margin-bottom: 1.5em;
}

aside nav > ul li ul {
    padding-left: 1.65em;
    margin-top: 1.5em;
}

aside nav > ul li ul li {
    margin-bottom: 0.23em; /* 3px / 13px = 0.23 */
}

/*
// Downloads menu
*/

.gallery nav {
    margin-bottom: 1em;
}

.gallery figure {
    max-width: 83.34%; /* 600px / 720px = 0.8333 */
    margin-bottom: 2em;
}

.gallery figure img {
    width: auto;
    height: auto;
}

.gallery figure h1 {
}

.gallery figure figcaption {
}

.gallery nav ul li {
    font-size: 0.8125em;
    display: inline-block;
    margin-right: 0.5em;
    color: #fff;
}

.gallery nav ul li.next {
    margin-right: 2em;
}

.gallery nav ul li a,
.gallery nav ul li span {
    display: inline-block;
    padding: 0 0.25em;
}

.gallery nav ul li a {
    text-decoration: none;
    color: #aaa;
}

.gallery nav ul li a.active {
    font-weight: normal;
    text-decoration: underline;
    color: #fa910a;
}

.gallery nav ul li a:hover,
.gallery nav ul li a.active:hover {
    color: #fa910a;
}

h1.separator {
    text-align: center;
    margin-bottom: 3em;
    text-transform: lowercase;
}

h1.separator hr {
    z-index: -1;
    padding-top: 0.5em;
    margin-bottom: -0.5em;
}

h1.separator span {
    font-size: 0.8125em;
    background-color: #fff;
    z-index: 1;
    display: inline-block;
    padding: 0 1em;
}

/* ======================================== */
/* Print Style                              */
/* ======================================== */

@media print {
    * {
        background: transparent !important;
        color: black !important;
    }
    pre,
    blockquote,
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    h1,
    h2,
    h3 {
        page-break-after: avoid;
    }
}
