@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,400italic,300italic);
body {
    margin:0px;
    padding:0px;
    padding-top:80px;
    background:white;
    font-family:Open Sans, FreeSans, sans-serif;
    font-weight:400;
    font-size:12pt;
}
header {
    position:fixed;
    z-index:100;
    top:0px;
    left:0px;
    width:100%;
    height:80px;
    background:white;
    border-bottom:1px solid #ccc;
}
header div {
    max-width:1000px;
    height:80px;
    margin:auto;
    background:url('header-logotype.svg');
    background-repeat:no-repeat;
    background-position:right;
}
header h1 {
    display:inline-block;
    margin:0px;
    margin-right:60px;
    padding:0px;
    height:80px;
    width:200px;
    background:url('header-full-name.svg');
    background-repeat:no-repeat;
    background-position:left;
}
header h1 a {
    display:inline-block;
    height:80px;
    width:200px;
}
header h1 a span {
    display:none;
}
article, section {
    display:block;
    margin-top:0px;
    padding-top:0px;
}
#hero {
    background:url('frontpage-hero-500.jpg');
    background-position:center center;
    background-size:cover;
    height:500px;
    overflow:auto;
    margin-bottom:10px;
}
#hero div {
    display:block;
    width:100%;
    max-width:1000px;
    margin:auto;
    padding-top:20px;
    padding-bottom:20px;
    text-align:center;
    color:white;
    font-size:110%;
    text-shadow:0px 1px 2px rgba(0,0,0,0.5);
    position:relative;
    z-index:1;
    top:50%;
    -webkit-transform:translateY(-50%);
    -ms-transform:translateY(-50%);
    transform:translateY(-50%);
}
#hero h1 {
    font-size:250%;
    color: white;
}
#hero a {
    display:inline-block;
    text-decoration:none;
    color:#808080;
    font-size:1.2em;
    border:1px solid #fff;
    padding:10px 20px;
    background:rgba(255,255,255,0.9);
    border-radius:5px;
}
main {
    display:block;
    width:100%;
}
main article {
    display:block;
    width:100%;
}
main section, footer section {
    display:block;
    max-width:1000px;
    padding-left:10px;
    padding-right:10px;
    margin:auto;
    padding-top:50px;
    padding-bottom:50px;
}
main section:after{
    clear:both;
    content:"";
    display:block;
}
main h1 {
    font-size:20pt;
    color:#666;
}
main h1:first-child {
    margin:0px;
    margin-bottom:10px;
}
main h2 {
    font-size:17pt;
    color:#777;
}
main ul {
    margin:0px;
}
main a {
    color:#667;
}
footer {
    background:#f5f5ff;
    opacity:0.5;
    transition:opacity 1.0s linear;
}
footer:hover {
    opacity:1;
    transition:opacity 0.2s linear;
}
footer section {
    padding-bottom:40px;
    text-align:center;
    text-transform:uppercase;
    font-size:90%;
    color:#666;
}
footer a {
    color:#666;
    text-transform:none;
}
footer section div, footer section ul, footer section li {
    display:inline;
    list-style:none;
    vertical-align:middle;
    margin:0px;
    padding:0px;
}
footer section div {
    margin-right:20px;
}
.float-left {
    display:inline-block;
    float:left;
    min-width:200px;
    min-height:250px;
}
.float-right {
    display:inline-block;
    float:right;
    min-width:200px;
    min-height:250px;
}
.two-columns {
    -webkit-column-count: 2; /* Chrome, Safari, Opera */
    -moz-column-count: 2; /* Firefox */
    column-count:2;
}
.two-columns h1 {
    -webkit-column-span: all; /* Chrome, Safari, Opera */
    column-span: all;
}
.noisy-background {
    background:#e0e0ff url('background-noise-300x300.png');
}
.rounded-image {
    -webkit-border-radius:50%;
    -moz-border-radius:50%;
    border-radius:50%;
}
.spaced {
    margin:20px;
}
.centered {
    text-align:center;
}
@media all and (min-width:805px) {
    header nav {
        display:inline-block;
        padding:0px;
        margin:0px;
        height:40px;
        vertical-align:bottom;
        margin-bottom:20px;
        font-size:110%;
    }
    header nav > span {
        display:none;
    }
    header nav > ul {
        display:inline;
        margin:0px;
        padding:0px;
        float:left;
        position:relative;
        list-style:none;
    }
    header nav > ul li {
        display:inline;
        margin:0px;
        padding:0px;
        float:left;
        position:relative;
    }
    header nav > ul > li > a {
        text-transform:lowercase;
    }
    header nav ul li a {
        padding-right:20px;
        padding-left:5px;
        height:40px;
        line-height:40px;
        vertical-align:middle;
        color:#808080;
        text-decoration:none;
        display:inline-block;
    }
    header nav ul li a:hover {
        color:#aaa;
    }
    header nav ul li:hover > a {
        background:#fff;
    }
    header nav ul li:hover > ul {
        visibility:visible;
        opacity:1;
    }
    header nav ul ul, header nav ul li ul {
        margin:0px;
        padding:0px;
        visibility:hidden;
        opacity:0;
        position:absolute;
        top:40px;
        z-index:999999;
        width:200px;
        background:#fff;
        box-shadow:1px 1px 3px #ccc;
        transition:opacity 0.2s linear, visibility 0.2s linear;
    }      
    header nav ul ul li {
        clear:both;
        width:100%;
        border:0 none;
        border-bottom:1px solid #eee;
    }
    header nav ul ul li:last-child {
        border:0px;
    }
}
@media all and (max-width:1010px) {
    header h1 {
        margin-left:10px;
    }
    header div {
        background-position:right 10px center;
    }
}
@media all and (max-width:890px) {
    header div {
        background:none;
    }
}
@media all and (max-width:805px) {
    header nav {
        display:inline-block;
        position:absolute;
        right:15px;
        top:15px;
        height:50px;
        width:50px;
        overflow:hidden;
        margin:0px;
        padding:0px;
        font-size:0px;
        text-indent:-9999px;
        appearance:none;
        box-shadow:none;
        border-radius:none;
        cursor:pointer;
        transition:background 0.3s;
    }
    header nav:focus {
        outline:none;
    }
    header nav span {
        display:block;
        position:absolute;
        top:22.5px;
        left:2.5px;
        right:18px;
        width:38px;
        height:4px;
        background:#666;
    }
    header nav span::before, header nav span::after {
        position:absolute;
        display:block;
        left:0px;
        width:38px;
        height:4px;
        background:#666;
        content:"";
    }
    header nav span::before {
        top:-10px;
    }
    header nav span::after {
        bottom:-10px;
    }
    header nav:hover {
        position:absolute;
        top:0px;
        left:0px;
        width:100%;
        min-height:80px;
        overflow:visible;
        font-size:16pt;
        text-indent:0px;
        background:#d5d5d5;
        margin-bottom:100px;
    }
    header nav:hover span {
        display:block;
        position:absolute;
        top:38px;
        margin-left:auto;
        text-indent:-99999px;
    }
    header nav:hover a {
        display:block;
        color:#333;
        text-decoration:none;
        padding-top:5px;
        padding-bottom:5px;
        transition:0.2s;
    }
    header nav:hover a:hover {
        color:white;
        transition:0.2s;
    }
    header nav:hover li {
        text-indent:10px;
    }
    header nav:hover > ul {
        margin-top:80px;
        margin-left:0px;
        padding-left:0px;
        list-style:none;
        border-bottom:1px solid #ccc;
    }
    header nav:hover > ul > li {
        background:#ddd;
        border-top:1px solid #ccc;
    }
    header nav:hover > ul > li > ul {
        background:#e5e5e5;
        list-style:none;
        margin-left:0px;
        padding-left:0px;
    }
    header nav:hover > ul > li > ul > li {
        text-indent:25px;
    }
    .float-left, .float-right {
        min-height:200px;
    }
}
@media all and (max-width:640px) {
    body {
        padding-top:50px;
        font-weight:300;
    }
    header {
        height:50px;
    }
    header h1 {
        display:block;
        margin:auto;
        height:50px;
    }
    header nav {
        top:0px;
    }
    header nav:hover {
        min-height:50px;
    }
    header nav:hover span {
        display:block;
        position:absolute;
        top:23px;
        margin-left:auto;
        text-indent:-99999px;
    }
    header nav:hover > ul {
        margin-top:50px;
    }
    .float-left, .float-right {
        width:100%;
        display:block;
        float:clear;
        min-height:120px;
    }
    .spaced {
        margin:10px;
    }
    .two-columns {
        -webkit-column-count:1; /* Chrome, Safari, Opera */
        -moz-column-count:1; /* Firefox */
        column-count:1;
    }
}
@media all and (max-width:600px) {
    #hero {
        display:none;
    }
    footer {
        opacity:1;
        transition:opacity 0.2s;
    }
    footer section {
        padding-left:0px;
    }
    footer section div {
        display:block;
        width:100%;
        float:clear;
        text-align:left;
        padding:5px;
        padding-left:10px;
        margin-left:0px;
    }
}