@font-face { font-display: swap; font-family: 'Urbana-Light'; src: url('https://cdn.sebastianposch.at/Urbana/32D604_0_0.eot');src: url('https://cdn.sebastianposch.at/Urbana/32D604_0_0.eot?#iefix') format('embedded-opentype'),url('https://cdn.sebastianposch.at/Urbana/32D604_0_0.woff2') format('woff2'),url('https://cdn.sebastianposch.at/Urbana/32D604_0_0.woff') format('woff'),url('https://cdn.sebastianposch.at/Urbana/32D604_0_0.ttf') format('truetype'); }

* {
    font-family: 'Urbana-Light', sans-serif;
}


/**
 * Font Sizes
 */
.fat { font-size: 299%; line-height: 125%; }
.huge, h1 { font-size: 222%; line-height: 112%; }
.bigger, h2 { font-size: 199%; line-height: 104%; }
.big, h3 { font-size: 166%; line-height: 120%; }
h4 { font-size: 115%; }
header, footer { font-size: 88%; }
.small, .small span { font-size: 90%; line-height: 100%; }
h5, h6, .tiny, textarea, #breadcrumbs { font-size: 82%; line-height: 100%; }
pre, .pre,.mono { font-size: 54%; line-height: 100%; }
.logo { font-size: 120%; }
.footer-logo { font-size: 100%; }
#back-to-top { font-size: 1.44em; }
#spinner i { font-size: 144px }
#tagline { font-size: 80%; line-height: 120%; margin-bottom: 8px; }


/**
 * Margins & Paddings
 */
h1 {
    padding-top: 4px; padding-bottom: 12px;
    margin-bottom: 4px; padding-bottom: 10px;
}
h2, h3 {
    margin-bottom: 4px; padding-bottom: 10px;
}
h4 {
    margin-top: 8px;
    padding-top: 8px;
    margin-bottom: 4px; padding-bottom: 10px;
}
h5, h6 {
    margin: 0.5em 0 3px 0; padding-bottom: 3px;
}
p {
    margin-top: 0.18em; margin-bottom: 0.24em; padding-bottom: 0.33em;
}
li {
    margin-top: 0.11em; margin-bottom: 0.22em; padding-bottom: 0.18em;
}
ul {
    margin-top: 0.11em; margin-left: 0; padding-left: 0;
}
.separator, hr {
    margin: 16px 0 16px 0;
}


/**
 * Lists
 */
ul li, menu li {
    list-style-type: none;
}
ul li:before, menu li:before {
    content: ">";
    padding-right: 6px;
}
ol {
    list-style-position: inside;
    list-style: none;
    counter-reset: item;
}
ol:not(.blank) li {
    counter-increment: item;
}
ol:not(.blank) li:before {
    margin-right: 0;
    content: counter(item) ". ";
    border-radius: 100%;
    padding-right: 7px;
    text-align: center;
    display: inline-block;
}


/**
 * Images
 */
.image, article .inner img {
    clear: both;
    width: auto;
    height: auto;
    /*max-width: 100vw;*/
    max-width: 100%;
    max-height: 100vh;
}
.image-list li:before {
    content: "";
}


/**
 * Monospace, Preformatted, Code Blocks
 */
.mono, pre, .pre { cursor: pointer; }
.mono {
    font-family: 'Share Tech Mono', 'Ubuntu Mono', monospace;
    font-weight: normal;
}
pre, .pre {
    font-family: 'Share Tech Mono', 'Ubuntu Mono', monospace;
    font-weight: normal;

    overflow-x: auto;
    overflow-y: auto;
    width: auto;
    max-height: 1024px;
/*
    width: 650px!ie7;
    max-height: 600px;
*/
    margin: 4px 0 10px 0;
    padding: 8px;
    padding-bottom: 20px!ie7;
    border-radius: 8px;
}


/**
 * Structure
 */
main, header, footer, #breadcrumbs {
    clear: both;
}
main, aside {
    float: left;
}
.inner {
    padding: 7px 16px 12px 16px;
    border-radius: 16px;
}
.inner:not(header .inner, aside .inner) {
    margin-bottom: 32px;
}
header * { margin: 0; padding: 0; }
header .inner { border-top-left-radius: 0; border-top-right-radius: 0; }
footer .inner { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.logo *, .footer-logo * { text-decoration: none; font-weight: bold; }
header .inner { display: table; layout: fixed; width: 100%; }
.header-l { background-color: transparent; float: left;  width: 33%; display: table-cell; vertical-align: middle; line-height: 32px; }
.header-r { background-color: transparent; float: right; width: 63%; display: table-cell; vertical-align: middle; line-height: 32px; }
.footer-l { background-color: transparent; float: left;  width: 40%; display: table-cell; vertical-align: middle; line-height: 32px; }
.footer-r { background-color: transparent; float: right; width: 60%; display: table-cell; vertical-align: middle; line-height: 32px; }


#header-menu li {
    padding-right: 0;
    margin-right: 0;
}
#header-menu li a {
    border-radius: 8px;
    padding: 8px;
}


#back-to-top {
    position: fixed;
    bottom: 0.77em;
    right: 0.77em;
    border-radius: 8px;
    padding: 10px 16px 10px 16px;
    display: none;
}


#announcer {
    width: 66%;
    margin: 8px auto 16px auto;
}


#spinner-bg, #spinner {
    position: fixed; /* absolute; */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-width: 100%;
    min-height: 100vh;
    display: none;
}
#spinner-bg {
    z-index: 20000;
    background-color: rgba(0, 0, 0, 0.57);
}
#spinner {
    z-index: 20001;
}
#spinner-inner {
    position: relative;
    width: 400px;
    top: calc(50% - 200px);
    left: calc(50% - 200px);
    padding: 16px;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.44);
}
#spinner i, #spinner-text {
    position: relative;
    top: calc(50% - 80px);
/*
    left: calc(50% - 80px);*/
    z-index: 20003;
    opacity: 1.0;
}


/**
 * Desktops
 */
@media screen and (min-width: 1024px) {
    .desktop-only {
        display: block;
    }
    .mobile-only {
        display: none;
    }

    body, html {
        width: 100%;
        height: 100%;
        font-size: 29px;
        line-height: 34px;

        font-size: 32px;
        line-height: 37px;
    }

    main, header, footer, #breadcrumbs {
        padding-left: 60px;
    }

    main, /*header,*/ footer, #breadcrumbs {
        width: 66%;
    }
    aside {
        width: 30%;
    }

    .image-container {
        min-height: 400px;
    }
    .image-container img {
        min-height: 256px;
        max-width: 600px;
        max-height: 400px;
    }
}


/**
 * Mobile
 */
@media screen and (max-width: 1024px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: block;
    }
    body, html {
        font-size: 24px;
        line-height: 29px;
    }

    .fat { font-size: 200%; line-height: 115%; }
    .huge, h1 { font-size: 150%; line-height: 106%; }
    .bigger, h2 { font-size: 125%; line-height: 104%; }
    .big, h3 { font-size: 125%; line-height: 120%; }
    .small, .small span, h4, h5, h6, header, footer { font-size: 110%; line-height: 100%; }
    .tiny, textarea/*, #breadcrumbs*/ { font-size: 88%; line-height: 100%; }
    #breadcrumbs { font-size: 72%; line-height: 100%; }
    .logo { font-size: 100%; }
    .footer-logo { font-size: 100%; }

    main, header, footer, aside {
        clear: both;
        width: 100%;
    }
    .inner {
        border-radius: 0;
        width : 100%;
    }
    footer {
        padding-bottom: 64px;
    }

    .image-container {
        min-height: 320px;
    }
    .image-container img {
        min-height: 256px;
        max-width: 800px;
        max-height: 320px;
    }

    #spinner-bg {
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
    }
    #spinner-inner {
        width: 256px;
        max-width: 256px;
        top: calc(50% - 128px);
        left: calc(50% - 128px);
    }
    #spinner i {
        top: calc(10% - 40px);
        left: calc(10% - 40px);
    }
}
@media screen and (max-width: 960px) {
    .image-container {
        min-height: 220px;
    }
    .image-container img {
        min-height: 160px;
        max-width: 600px;
        max-height: 220px;
    }
}

@media screen and (max-width: 500px) {
    html, body {
        font-size: 20px;
        line-height: 25px;
    }

    .not-micro-mobile, .postfix, .serp-quality {
        display: none;
    }
    .clear-micro-mobile { clear: both;
    }

    #spinner-inner {
        width: 180px;
        max-width: 180px;
        top: calc(50% - 90px);
        left: calc(50% - 90px);
        padding: 8px;
    }
    #spinner i {
        top: calc(50% - 100px);
        left: calc(50% - 100px);
    }
    #spinner i { font-size: 100px }
}

