/* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

img {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}



/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*
    FONT DEFINITIONS
*/
body {
    font-family: "Open Sans", "Arial", "Helvetica", sans-serif;;
    background-color: #F4F4F4;

    font-size: 11pt;
}

h1, h2, h3 {
    font-weight: 600; 
    letter-spacing: 0px;
}

body>header, body>header h1, body>footer {
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}

h1 a {
    text-decoration: none;
}

h1 a:hover {
    text-decoration: underline;
}

#textcontent>aside, article header p, small {
    font-size: 0.9em;
}


/*
    MAIN HEADER AND FOOTER
*/

body>header {
    margin: 0;
    padding: 3px 135px 3px 10px;

    line-height: 20px;

    background-image: url('../img/loittostripes.svg');
    background-position: 95% 50%;
    background-repeat: repeat-y;
}

body>header h1 {
    margin: 0;

    font-size: 18px;
    display: inline-block;
}

body>header h1 span {
    display: inline-block;
}

body>footer {
    clear: both;
    text-align: center;

    margin: 60px 0 0 0;
    padding: 3px 0;

    font-size: 12px;
    letter-spacing: 1.5px;
}

body>header, body>header a, body>footer, body>footer a {
    color: white;
}



/*
    CONTENT LAYOUT
    (two-column for text content)
*/
#textcontent {
    position: relative;
    max-width: 800px;

    padding: 25px 10px 0 10px;
    margin: 0 auto;
}

section.main {
    float: left;
    max-width: 580px;
}

#textcontent>aside {
    float: left;
    width: 200px;
}

.navlink {
    display: none;

    position: absolute;
    top: 0px;
    right: 15px;

    text-align: right;
}


/*
    CONTENT
*/

.card { /* card styling */
    background-color: white;
    border-radius: 10px;
    box-shadow: 3px 3px 10px #DDD;

    border-width: 2px;
    border-style: solid;
    border-color: white;

    padding: 10px;
}

.minicard {
    display: inline-block;
    margin: 0 10px 10px 0;

    text-align: center;
}

article {
    position: relative;

    padding: 8px;
    margin-bottom: 25px;
}

article header h1 {
    margin-top: 0;
    margin-bottom: 0;

    line-height: 105%;
}

article header p {
    margin-top: 0;
}

article header span {
    display: inline-block;
}

article.short {
    padding-left: 225px;
    min-height: 205px;
}

article.short aside { /* icon image */
    position: absolute;
    top: 1px;
    left: 1px;

    height: 98%;
    width: 200px;

    border-style: solid;
    border-width: 2px;
    border-radius: 10px;

    overflow: hidden;
}

article.short div {
    position: absolute;
    top: 0;
    left: 50%;

    height: 100%;
    width: 2000px;
    margin-left: -1000px;

    text-align: center;
}

article.short aside img, article.short aside video, .minicard img {
    height: 100%;
    width: auto;
}

article.long header {
    border-style: solid;
    border-width: 0 0 0 25px;

    padding-left: 10px;
}

article h2, article h3 {
    clear: both;
}

article .leftimage {
    float: left;
    margin-right: 5px;
}

article .addendum {
    font-size: 0.9em;
    float: right;
}

div.pagination {
    font-weight: 600;
    text-align: center;
    margin-bottom: 30px;

    font-size: 1.1em;
}

div.pagination .current {
    padding-left: 15px;
    padding-right: 15px;
}

.narrativetable td {
    vertical-align: top;
}

.narrativetable h3, .narrativetable h4 {
    margin-top: 0;
}



/*
    VISUALISATIONS
*/

section.visualisation {
    width: 100%;
    height: 750px;
    height: 95vh;

    padding: 1px;

    background-color: white;
    box-shadow: 3px 3px 10px #DDD;
}

section.visualisation iframe {
    width: 100%;
    height: 100%;

    border: 0;
    overflow: hidden;
}

#morecontent {
    position: relative;
    display: inline-block;

    left: 30px;
    top: -14px;

    height: 13px;
    font-size: 13px;

    background-color: #E9E9E9;
    padding: 0px 3px;

    border: 0px solid #CCC;
    border-width: 1px 1px 0 1px;
    border-radius: 10px 10px 0 0;

    z-index: 999;
}

#morecontent a {
    text-decoration: none;
    color: black;
}


/*
    SIDEBAR STYLING
*/
#textcontent>aside {
    padding: 0 10px;
}

#textcontent .inline {
    display: inline;
}

#textcontent>aside section {
    margin-bottom: 25px;
    clear: both;
}

#textcontent>aside section h2 {
    font-size: 100%;
    line-height: 100%;

    margin: 8px 0;

    font-weight: 700;
}

#textcontent>aside p, #textcontent>aside ul {
    margin-top: 5px;
    margin-bottom: 5px;
}

#textcontent>aside ul {
    padding-left: 20px;
}



/*
    COLOR DEFINITIONS
        Use three visually similar primary-like colors for main categories
*/
.cat1-text, .cat1 a {
    color: #F2A240; 
}
.cat1-border {
    border-color: #F2A240;
}
.cat1-background {
    background-color: #F2A240;
}

.cat2-text, .cat2 a {
    color: #317DB5; 
}
.cat2-border {
    border-color: #317DB5;
}
.cat2-background {
    background-color: #317DB5;
}

.cat3-text, .cat3 a {
    color: #B62D46; 
}
.cat3-border {
    border-color: #B62D46;
}
.cat3-background {
    background-color: #B62D46;
}

.catx-text, .catx a {
    color: #888;    
}
.catx-border {
    border-color: #888;
}
.catx-background {
    background-color: #888;
}







/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (max-width: 830px) {

    section.main {
        max-width: 100%;
    }

    #textcontent>aside {
        width: 100%;
        padding: 0;
    }

    .navlink {
        display: block;
    }

}

@media only screen and (max-width: 550px) {
    article.short {
        padding-left: 10px;
    }

    article.short aside {
        position: relative;
        left: -2px;
        top: -2px;

        margin-bottom: 10px;

        width: 100%;
        height: 200px;
    }

    article.short aside div {
        left: 0;
        margin-left: 0;
        width: 100%;

        top: 0;
        height: 100%;
    }

    article.short aside img, article.short aside .hovericon {
        width: 100%;
        height: auto;

        margin: auto;
    }

    .narrativetable td {
        display: block;
    }

    .narrativetable td:last-child {
        margin-bottom: 2em;
    }

}

@media print 
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .noprint {
        display: none !important;
    }
}