﻿
/* Reset */

* {
    margin: 0;
    padding: 0;
}

a img {
    border: none;
}

body {
    font: 16px/22px Helvetica, sans-serif;
    height: 100%;
}

html {
    height: 100%;
}


/* Tags */

body {
    background: linear-gradient(90deg, #eee, #eee 255px, #000 255px, #000 256px, #fff 256px);
}

dl {
}
    dd {
        margin: 0 0 8px 8px;
        max-width: 792px;
    }
    dt {
        font: bold 16px/22px Helvetica, sans-serif;
        margin: 8px 0 0 0;
    }
        dt::after {
            content: ':';
        }

figure {
    border: 1px solid #000;
    line-height: 0;
    margin: 8px 16px;
}

form {
}
    input {
        box-sizing: border-box;
        display: block;
        font: 16px/16px Arial, sans-serif;
        margin: 4px 4px 8px 4px;
    }
        input.fullWidth {
            width: 100%;
        }
        input[type='submit'] {
            background: #c00;
            border: 1px solid #000;
            color: #fff;
            cursor: pointer;
            float: right;
            font: 16px/16px Helvetica, sans-serif;
            margin: 16px 0 4px 0;
            padding: 8px 12px;
        }
            input[type='submit']:hover {
                text-decoration: underline;
            }
        input[type='text'] {
            padding: 4px 8px;
        }
    label {
        display: inline-block;
    }
        label::after {
            content: ':';
        }
    textarea {
        box-sizing: border-box;
        display: block;
        font-family: inherit;
        font-size: inherit;
        margin: 4px 4px 8px 4px;
        max-width: 600px;
        min-height: 100px;
        padding: 4px;
        width: 100%;
    }

h1 {
    clear: both;
    color: #c00;
    font: 32px/32px "Times New Roman", Times, serif;
    font-weight: bold;
    margin: 8px 0 8px -8px;
}

h2 {
    clear: both;
    font: 20px/24px Arial, Helvetica, sans-serif;
    margin: 24px 0 0 -4px;
}
    h2::after {
        content: ':';
    }
h3 {
    font: inherit;
    margin: 24px 0 0 0;
    text-decoration: underline;
}

p {
    margin: 12px 0;
    max-width: 800px;
}

ul {
    margin: 12px 24px;
    max-width: 752px;
}
    ul.small li {
        display: inline-block;
        width: 200px;
    }

section {
    margin: 0 0 0 272px;
    max-width: 1200px;
    padding: 8px 24px;
}

table {
    background: #eee;
    border: 1px solid #000;
    border-collapse: collapse;
    font: 14px/14px Helvetica, sans-serif;
    margin: 12px 0;
    max-width: 800px;
    width: 100%;
}
    td {
        border: 1px solid #000;
        padding: 6px 8px;
    }
        td.currency {
            text-align: right;
        }
    th {
        background: #c00;
        border: 1px solid #000;
        color: #fff;
        font: 16px/26px Arial, Helvetica, sans-serif;
        padding: 0 4px;
    }
    tr {
    }
        tr.group_a {
            background: #ddd;
        }
        tr.group_b {
        }


/* Classes */

.col2 {
    float: left;
    margin: 0 auto;
    min-width: 300px;
    width: 50%;
}

.formRow {
    max-width: 600px;
}

.headerIcon {
    border: none;
}

.required {
    color: #c00;
    display: inline-block;
    font: 14px/16px Arial, Helvetica, sans-serif;
}
    .required::before {
        content: '* ';
        font-weight: bold;
    }

.socialFeed {
    padding: 0 2px;
}

.teamViewerIcon {
    display: inline-block;
    height: 60px;
    margin: 0 auto 8px auto;
    position: relative;
    width: 120px;
}
    .teamViewerIcon .label {
        color: #fff;
        display: block;
        font: bold 11px/13px Arial, sans-serif;
        left: 45px;
        position: absolute;
        text-align: center;
        top: 17px;
        width: 70px;
    }


/* Master page parts */


#mainHeader {
    background: #fff;
    background: linear-gradient(90deg, #fff, #ccc);
    font: 12px/16px Arial, Helvetica, sans-serif;
    height: 80px;
    text-align: right;
}

    #mainLogo {
        display: inline-block;
        float: left;
        margin: 16px;
    }

    #mainHeader .contact {
        display: inline-block;
        margin: 12px 64px;
        text-align: left;
        vertical-align: top;
    }


#mainNav {
    background: #c00;
    background: linear-gradient(90deg, #800, #a11);
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
    height: 38px;
    padding: 0 0 0 255px;
}

    #mainNav a {
        color: #eee;
        display: block;
        line-height: 38px;
        padding: 0px 12px;
        text-decoration: none;
    }
        #mainNav a:hover {
            background: #800;
        }
    #mainNav img {
        height: 40px;
        width: 320px;
    }
    #mainNav li {
        border-left: 1px solid #000;
        display: inline-block;
    }
        #mainNav li:last-of-type {
            border-right: 1px solid #000;
        }


#mobileSocial {
    display: none;
    float: right;
    height: 76px;
    line-height: 0;
    margin: 2px 4px;
    width: 32px;
}
    #mobileSocial .socialIcon {
        display: block;
        max-height: 32px;
        margin: 4px 0;
        padding: 0;
        width: 32px;
    }
    #mobileSocial img {
        height: 100%;
        width: 100%;
    }


#sidebar {
    background: #eee;
    border-right: 1px solid #000;
    height: calc(100vh - 120px);
    position: absolute;
    text-align: center;
    top: 120px;
    width: 255px;
}

    #socialStrip {
        margin: 8px 2px 0 8px;
        text-align: left;
    }

    #sidebar .section {
        border-bottom: 1px solid #000;
        margin: 0 0 4px 0;
    }
        #sidebar .section:last-of-type {
            border-bottom: none;
        }
    #sidebar .socialIcon {
        display: inline;
        height: 32px;
        padding: 0;
        width: 32px;
    }
        #sidebar .socialIcon img {
            height: 32px;
            width: 32px;
        }
    #sidebar .title {
        background: #ccc;
        border-bottom: 1px solid #000;
        display: block;
        margin: 0 0 4px 0;
        padding: 8px;
    }

    #sidebar a {
        color: inherit;
        display: block;
        padding: 2px;
        text-decoration: none;
    }
        #sidebar a:hover {
            text-decoration: underline;
        }
    #sidebar li {
        color: #333;
        display: block;
        font: 14px/16px Arial, Helvetica, sans-serif;
        padding: 0 4px 0 8px;
        text-align: left;
    }
        #sidebar li::before {
            content: '>>';
            float: left;
            margin-right: 4px;
        }
    #sidebar nav {
        margin: 0 0 16px 0;
    }


main {
    padding: 0 0 32px 0;
}


/* Responsive - Medium screen size */

@media screen and (max-width: 910px) {
    body {
        background: #fff;
    }
    section {
        margin-left: 16px;
    }
    #mainHeader .contact {
        margin: 12px 24px 12px 0;
    }
    #mainNav {
        padding: 0;
        text-align: center;
    }
    #mobileSocial {
        display: block;
    }
    #sidebar {
        display: none;
    }
}


/* Responsive - Small screen size */

@media screen and (max-width: 720px) {
    #mainHeader {
    }
        #mainHeader .contact {
            display: none;
        }
        .headerIcon {
            display: none;
        }
        #hamburger {
            background: url('/_assets/images/ico_hamburger.png') no-repeat right 4px top 4px;
            cursor: pointer;
            height: 40px;
            position: absolute;
            right: 0;
            top: 80px;
            width: 100%;
            z-index: 5;
        }
        #mainNav {
            height: auto;
            padding: 40px 0 0 0;
        }
            #mainNav.collapsed li {
                display: none;
            }
            #mainNav li {
                border: none;
                border-top: 1px solid #000;
                display: block;
                text-align: left;
            }
    #mobileSocial {
        right: 0;
        position: absolute;
        top: 0;
    }
    figure {
        display: none;
    }
    section {
        max-width: calc(100vw - 50px);
        overflow: auto;
    }
}


/* Responsive - Crazy small screen size */

@media screen and (max-width: 400px) {
    #mainLogo {
        margin-right: 8%;
        padding-right: 8px;
        text-align: left;
    }
    #mainLogo img {
        width: 100%;
    }
    #mobileSocial {
        height: auto;
        width: 8%;
    }
        #mobileSocial .socialIcon {
            width: 100%;
        }
}