﻿/* -------------------------------------------------- */
/*              RESPONSIVE GRID SYSTEM                */
/* -------------------------------------------------- */

/*
	1.  BASIC PAGE SETUP
	2.  MAIN LAYOUT
	3.  NAVIGATION
	4.  HEADINGS
	5.  PARAGRAPHS
	6.  LISTS
	7.  LINKS
	8.  COLOURS
	9.  IMAGES
	10. TABLES
	11. GOOGLE MAPS
    12. FORMS
    13. ACCORDION
    14. OTHER
*/


/* -------------------------------------------------- */
/*               1. BASIC PAGE SETUP                  */
/* -------------------------------------------------- */

body {
    color: #ffffff;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    background: #010101;
    background-image: url(../images/bg_main.jpg);
    background-position: top center
}

@font-face {
    font-family: 'muliregular';
    src: url('../muli-webfont.woff2') format('woff2'), url('../muli-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'mulibold';
    src: url('../muli-bold-webfont.woff2') format('woff2'), url('../muli-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


/* -------------------------------------------------- */
/*                  2. MAIN LAYOUT                    */
/* -------------------------------------------------- */
#skiptomain {
    display: none;
}

#wrapper {
    clear: both;
    margin: 0px auto;
    max-width: 1000px;
    content: "";
    display: table;
    background-color: #4c4c4c;
    background-image: url(../images/bg_body.jpg);
    background-repeat: repeat-y;
    background-position: right
}

@media screen and (max-width: 960px) {
    #wrapper {
        margin: 0px auto;
        background-color: #4c4c4c;
        background-image: none
    }
}

#header {
    clear: both;
    color: #ffffff;
    height: auto;
    margin: 0px auto;
    padding: 0px;
    position: relative;
    max-width: 100%;
    text-align: center;
    border-bottom: 0px;
}

#banner {
    width: 100%;
    height: auto;
    margin: 0px auto;
    padding: 2px 0px 0px 0px;
    border-bottom: 2px solid #5c1819;
}

.maincontentcontainer {
    width: 100%;
}

.headcontent {
    clear: both;
    color: #333;
    margin: 0px auto;
    padding: 0px;
    position: relative;
    max-width: 1000px;
    line-height: 1.5em;
}

.maincontent {
    clear: both;
    color: #333;
    margin: 0px auto;
    padding: 0px 20px;
    position: relative;
    max-width: 1000px;
    line-height: 1.5em;
}

#footercontainer {
    width: 100%;
    margin: 0px auto;
    padding: 0px;
    text-align: center;
    background-color: #000000;
}

#footer {
    clear: both;
    color: #000;
    margin: 0px auto;
    padding: 5px 20px;
    position: relative;
    max-width: 1000px;
    text-align: center;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .maincontent {
        padding: 0px;
    }
}

/* -------------------------------------------------- */
/*                   3. NAVIGATION                    */
/* -------------------------------------------------- */
.navigation {
    float: right;
    clear: both;
    width: 100%;
    color: #ffffff;
    margin: 0px;
    padding: 0px;
    position: relative;
    text-align: right;
    font-weight: normal;
    font-family: muliregular;
    text-transform: uppercase;
    z-index: 1000;
    position: absolute;
    top: 0px
}

@media screen and (max-width: 768px) {
    .navigation {
        z-index: auto;
        position: relative;
        top: auto;
        margin: 0px auto;
        float: none;
        text-align: center
    }
}

.menu ul {
    width: auto;
    color: #ffffff;
    margin: 5px 10px;
    padding: 0px;
    display: inline-block;
    max-width: 100%;
    text-align: right;
}

.menu li {
    float: left;
    /*width: 100px;*/
    width: 122px;
    border: 1px solid #39e5b7;
    margin: auto 3px;
    padding: 0px;
    font-size: 11px;
    font-weight: bold;
    min-height: 120px;
    text-align: center;
    background-color: #4c4c4c;
}

.menu a {
    color: #ffffff;
    /*width: 90px;*/
    margin: 0px;
    padding: 5px;
    display: inline-block;
    line-height: 18px;
    vertical-align: middle;
}

.menu li:hover, .menu li.current-item {
    float: left;
    /*width: 110px;*/
    width: 122px;
    margin: auto 3px;
    border: 1px solid #ff4f88;
    padding: 0px;
    font-size: 11px;
    min-height: 120px;
    text-align: center;
    background-color: #ff4f88;
}

    .menu a:hover, .menu li.current-item a {
        color: #000000;
        margin: 0px;
        padding: 0px;
        display: inline-block;
        line-height: 18px;
        vertical-align: middle;
    }

.menu li::after {
    width: 0;
    display: inline-block;
    content: "\00A0";
    line-height: 118px;
    vertical-align: middle
}

/*----- Responsive -----*/
@media screen and (max-width: 960px) {
    .menu ul {
        margin: 5px;
    }

    .menu a {
        /*width: 86px;*/
        padding: 5px 2px;
        line-height: 15px;
        overflow: hidden
    }

        .menu a:hover, .menu li.current-item a {
            font-size: 11px;
            line-height: 15px
        }

    .menu li, .menu li:hover, .menu li.current-item {
        /*width: 94px;*/
        min-height: 86px;
        font-size: 11px;
    }
}

@media screen and (max-width: 768px) {
    .menu ul {
        margin: 5px;
    }

    .menu a {
        width: 80px;
        line-height: 15px;
    }

        .menu a:hover, .menu li.current-item a {
            font-size: 11px;
            line-height: 15px;
        }

    .menu li, .menu li:hover, .menu li.current-item {
        width: 90px;
        min-height: 90px;
        font-size: 11px;
    }
}

@media screen and (max-width: 768px) {
    .navigation {
        max-width: 450px;
        margin: 0px auto
    }

    .menu ul {
        margin: 5px;
    }

    .menu a {
        width: 130px;
        line-height: 15px;
    }

        .menu a:hover, .menu li.current-item a {
            font-size: 11px;
            line-height: 15px;
        }

    .menu li, .menu li:hover, .menu li.current-item {
        width: 140px;
        min-height: 60px;
        font-size: 11px;
        margin: 2px;

    }

        .menu li::after {
            width: 0;
            display: inline-block;
            content: "\00A0";
            line-height: 60px;
            vertical-align: middle;
        }
}

/* -------------------------------------------------- */
/*                  5. AESTHETIC                      */
/* -------------------------------------------------- */
.lft {
    margin-right: 25px
}

.rgt {
    margin-left: 25px
}

.cnt {
    margin: 25px;
    text-align: center
}



hr.light {
    height: 1px;
    border: 0;
    margin: 0px 15px 20px 5px;
    display: block;
    padding: 0px;
    border-top: 2px solid #ff4f88;
    text-align: center
}

hr.dark {
    height: 1px;
    border: 0;
    margin: 40px 15px 20px 15px;
    display: block;
    padding: 0px;
    border-top: 2px solid #39e5b7;
    text-align: center
}



/* -------------------------------------------------- */
/*                   4. HEADINGS                      */
/* -------------------------------------------------- */
h1.dark, h2.dark, h3.dark, h4.dark, h5.dark, h6.dark {
    color: #b3b3b3;
    margin: 20px 15px;
    padding: 0px;
    text-align: left;
    font-family: muliregular;
    font-weight: normal;
    line-height: normal;
    border-bottom: 3px solid #39e5b7;
}

h1.light, h2.light, h3.light, h4.light, h5.light, h6.light {
    color: #4c4c4c;
    margin: 20px 15px 20px 5px;
    padding: 0px;
    text-align: left;
    font-family: muliregular;
    font-weight: normal;
    line-height: normal;
    border-bottom: 3px solid #ff4f88;
}

h1.dark, h1.light {
    font-size: 38px;
}

    h1.dark:first-letter {
        color: #39e5b7
    }

    h1.light:first-letter {
        color: #ff4f88
    }

h2.dark, h2.light {
    font-size: 30px;
}

    h2.dark:first-letter {
        color: #39e5b7
    }

    h2.light:first-letter {
        color: #ff4f88
    }

h3.dark, h3.light {
    font-size: 20px;
    margin-top: 30px;
    margin-bottom: 0px;
}

    h3.dark:first-letter {
        color: #39e5b7
    }

    h3.light:first-letter {
        color: #ff4f88
    }

h4 {
    font-size: 20px;
}

    h4.dark {
        color: #39e5b7;
        border-bottom: 0px;
        margin: 30px 15px -10px 15px;
    }

    h4.light {
        color: #ff4f88;
        border-bottom: 0px;
        margin: 30px 15px -10px 5px;
    }

h5 {
    font-size: 16px;
}

    h5.dark {
        color: #39e5b7;
        border-bottom: 0px;
    }

    h5.light {
        color: #ff4f88;
        border-bottom: 0px;
    }

h6 {
    color: #ffffff;
    margin: 0px 10px;
    padding: 0px;
    font-size: 12px;
    text-align: center;
    font-family: muliregular;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

@media screen and (max-width: 768px) {
    h1.space {
        text-align: left;
        padding-top: 50px;
    }

    h3 {
        margin: 0px;
    }

    h4 {
        margin: 20px 0px -20px 20px
    }
}

/* -------------------------------------------------- */
/*                 5. PARAGRAPHS                      */
/* -------------------------------------------------- */

p, ol, ul, dl, address {
    margin-bottom: 1.5em;
}

p {
    margin: 15px;
    padding: 0px;
    hyphens: auto;
    font-size: 14px;
    text-align: justify;
    line-height: 24px;
    font-family: muliregular;
}

    p.light {
        color: #000000;
        margin: 15px 15px 15px 5px;
    }

    p.dark {
        color: #ffffff;
    }

    p.quote {
        color: #39e5b7;
        margin: 15px 35px;
        padding: 0px;
        hyphens: auto;
        font-size: 13px;
        font-style: italic;
        text-align: justify;
        line-height: 22px;
        font-family: muliregular;
    }


    p.credits {
        color: #ffffff;
        margin: 0px 20px;
        padding: 5px 0px;
        hyphens: auto;
        font-size: 9px;
        text-align: center;
        font-family: muliregular;
        line-height: normal;
        letter-spacing: 1px;
    }

    p.forms {
        font: normal 15px arial;
        color: #000000;
        margin: 0px 5px 5px 15px;
        padding: 0px;
        line-height: 24px;
        text-align: left;
        font-family: muliregular
    }


/* -------------------------------------------------- */
/*                     6. LISTS                       */
/* -------------------------------------------------- */

ul, ol {
    color: #000000;
    margin: 15px;
    padding: 0px;
    hyphens: auto;
    font-size: 14px;
    text-align: justify;
    line-height: 20px;
    font-family: muliregular;
}

    ul.dark, ol.dark {
        color: #39e5b7;
    }

    ul.light, ol.light {
        color: #ff4f88;
    }

li {
    margin: 2px 10px;
    padding: 2px 10px;
}

    li ul, li ol {
        margin: 0;
        font-size: 1em; /* 16 / 16 = 1 */
    }

dl, dd {
    margin-bottom: 1.5em;
}

dt {
    font-weight: normal;
}

div.panel ul {
    margin: 10px 0px 10px 4px;
    padding: 10px 0px 10px 4px;
}
/* -------------------------------------------------- */
/*                     7. LINKS                       */
/* -------------------------------------------------- */
a:link, a:visited, a:hover, a:active {
    text-decoration: none
}

    a:link.light, a:visited.light {
        color: #000000;
        text-decoration: none;
    }

    a:hover.light, a:active.light {
        color: #ff4f88;
        text-decoration: none;
    }

    a:link.dark, a:visited.dark {
        color: #ffffff;
        text-decoration: none;
    }

    a:hover.dark, a:active.dark {
        color: #39e5b7;
        text-decoration: none;
    }

    a:link.quick, a:visited.quick {
        color: #ffffff;
        text-decoration: none;
    }

    a:active.quick, a:hover.quick {
        color: #94191c;
        text-decoration: none;
    }

    a:link.credits, a:visited.credits {
        color: #ffffff;
        text-decoration: none;
    }

    a:active.credits, a:hover.credits {
        color: #ff4f88;
        text-decoration: none;
    }


/* -------------------------------------------------- */
/*                  8. COLOURS                        */
/* -------------------------------------------------- */
.clr1 {
    color: #39e5b7;
}
/* aqua       */
.clr2 {
    color: #ff4f88;
}
/* pink       */
.clr3 {
    color: #b3b3b3;
}
/* light grey */
.clr4 {
    color: #4c4c4c;
}
/* dark grey  */
.clr5 {
    color: #ffffff;
}
/* white      */
.clr6 {
    color: #000000;
}
/* black      */


/* -------------------------------------------------- */
/*                    9. IMAGES                       */
/* -------------------------------------------------- */
img {
    border-style: none;
    border-color: inherit;
    border-width: 0;
    width: auto\9; /* ie8 */
    height: auto\9;
    margin: 0px;
    padding: 0px;
    max-width: 100%;
}

    img.content {
        margin: 20px auto 0px 5px;
        max-width: 96%
    }

    img.floatleft {
        float: left;
        margin: 5px 20px 0px 15px;
        border: 5px solid #ffffff;
    }

    img.floatright {
        float: right;
        margin: 5px 15px 5px 20px;
        border: 5px solid #ffffff
    }


@media screen and (max-width: 600px) {
    img.floatright, img.floatleft {
        float: none;
        margin: 5px 20px;
    }
}



/* -------------------------------------------------- */
/*                 11. GOOGLE MAPS                    */
/* -------------------------------------------------- */
.google-maps {
    position: relative;
    padding-bottom: 0%; /* This is the aspect ratio */
    height: 0;
    overflow: hidden;
    min-height: 300px;
    margin: 30px 15px 15px 15px;
    width: 96%;
    border: 5px solid #39e5b7;
}

    .google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 99% !important;
        height: 100% !important;
    }

@media screen and (max-width: 768px) {
    .google-maps {
        width: 90%;
        margin: 20px 15px;
    }
}



/* -------------------------------------------------- */
/*                    12. FORMS                       */
/* -------------------------------------------------- */
input, textarea {
    font-size: 15px;
    text-align: left;
    line-height: 24px;
    font-family: muliregular;
    width: 100%;
    max-width: 96%;
    color: #39e5b7;
    padding: 3px 10px;
    background: #181616;
    border: 0px;
}

input {
    height: 22px;
}

textarea {
    height: 80px;
    width: 100%;
}

.submit {
    width: auto;
    margin: 0px;
    padding: 3px 10px;
    float: none;
    height: 30px;
    line-height: 20px;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #bdbdbd;
}

::-moz-placeholder { /* Firefox 19+ */
    color: #bdbdbd !important;
    opacity: 1
}

:-ms-input-placeholder { /* IE 10+ */
    color: #bdbdbd;
}

:-moz-placeholder { /* Firefox 18- */
    color: #bdbdbd;
}





/* -------------------------------------------------- */
/*                     14. OTHER                      */
/* -------------------------------------------------- */


/*  SECTIONS  ============================================================================= */

.section {
    clear: both;
    padding: 0px;
    margin: 0px;
}


/*  CODE  ============================================================================= */

pre.code {
    padding: 0;
    margin: 0;
    font-family: monospace;
    white-space: pre-wrap;
    font-size: 1.1em;
}

strong.code {
    font-weight: normal;
    font-family: monospace;
    font-size: 1.2em;
}


/*  EXAMPLE  ============================================================================= */

#example .col {
    background: #ccc;
    background: rgba(204, 204, 204, 0.85);
}

/*  SAMPLE  ============================================================================= */

#sample .col {
    background: #ccc;
    padding: 1em 0;
    background: rgba(204, 204, 204, 0.85);
}

/*  CALCUATIONS  ============================================================================= */

#calculated .col {
    background: #ccc;
    padding: 1em 0;
    background: rgba(204, 204, 204, 0.85);
}

/*  NOTES  ============================================================================= */


.note {
    position: relative;
    padding: 1em 1.5em;
    margin: 0 0 1em 0;
    background: #fff;
    background: rgba(255, 255, 255, 0.5);
    overflow: hidden;
}

    .note:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        border-width: 0 16px 16px 0;
        border-style: solid;
        border-color: transparent transparent #cccccc #cccccc;
        background: #cccccc;
        -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
        -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
        box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
        display: block;
        width: 0; /* Firefox 3.0 damage limitation */
    }

    .note.rounded {
        -webkit-border-radius: 5px 0 5px 5px;
        -moz-border-radius: 5px 0 5px 5px;
        border-radius: 5px 0 5px 5px;
    }

        .note.rounded:before {
            border-width: 8px;
            border-color: #ff #ff transparent transparent;
            background: url(/images/bodyback.png);
            -webkit-border-bottom-left-radius: 5px;
            -moz-border-radius: 0 0 0 5px;
            border-radius: 0 0 0 5px;
        }

/*  SCREENS  ============================================================================= */

.siteimage {
    max-width: 90%;
    padding: 5%;
    margin: 0 0 1em 0;
    background: transparent url(/images/stripe-bg.png);
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
}

    .siteimage:hover {
        background: #bbb url(/images/stripe-bg.png);
        position: relative;
        top: -2px;
    }

/*  COLUMNS  ============================================================================= */

.twocolumns {
    -moz-column-count: 2;
    -moz-column-gap: 2em;
    -webkit-column-count: 2;
    -webkit-column-gap: 2em;
    column-count: 2;
    column-gap: 2em;
}

/*  BUTTONS  ============================================================================= */


.button {
    display: inline-block;
    outline: none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font-weight: normal;
    color: #fff;
    padding: .5em 1em;
    margin: 1px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
    background: #cc1122 url(/images/glass.png) repeat-x 0 50%;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 1.1em;
}

    .button:hover {
        background: #dd2233 url(/images/glass.png) repeat-x 0 50%;
        color: #fff;
        text-decoration: none;
    }

    .button:active {
        background: #dd2233 url(/images/glass.png) repeat-x 0 50%;
        color: #fff;
        position: relative;
        top: 1px;
    }

    .button:visited {
        color: #fff;
    }



/*  GLOBAL OBJECTS ============================================================================= */

.breaker {
    clear: both;
}

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

.group:after {
    clear: both;
}

.group {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}


.floatleft {
    float: left;
}

.floatright {
    float: right;
}


/* VENDOR-SPECIFIC ============================================================================= */

html {
    -webkit-overflow-scrolling: touch;
    -webkit-tap-highlight-color: rgb(52,158,219);
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

.clearfix {
    zoom: 1;
}

::-webkit-selection {
    background: rgb(23,119,175);
    color: rgb(250,250,250);
    text-shadow: none;
}

::-moz-selection {
    background: rgb(23,119,175);
    color: rgb(250,250,250);
    text-shadow: none;
}

::selection {
    background: rgb(23,119,175);
    color: rgb(250,250,250);
    text-shadow: none;
}

button, input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
}

::-webkit-input-placeholder {
    font-size: .875em;
    line-height: 1.4;
}

input:-moz-placeholder {
    font-size: .875em;
    line-height: 1.4;
}

.ie7 img,
.iem7 img {
    -ms-interpolation-mode: bicubic;
}

input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
}

input[type=search] {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

p {
    /* http://www.w3.org/TR/css3-text/#hyphenation */
    -webkit-hyphens: auto;
    -webkit-hyphenate-character: "\2010";
    -webkit-hyphenate-limit-after: 1;
    -webkit-hyphenate-limit-before: 3;
    -moz-hyphens: auto;
}


.box2 {
    height: auto;
    margin: 10px auto;
    padding: 1px;
    max-width: 96%;
    background-color: #333333;
}







/* Colors for form validity */
input:valid,
textarea:valid {
    /* Styles */
}

input:invalid,
textarea:invalid {
    -webkit-box-shadow: 0 0 2px #f00;
    -moz-box-shadow: 0 0 2px #f00;
    box-shadow: 0 0 2px #f00;
}

.no-boxshadow input:invalid,
.no-boxshadow textarea:invalid {
    background-color: #ccc;
}


b, strong {
    font-weight: bold;
}

small {
    font-size: 1em; /* 16 / 16 = 1 */
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -.5em;
}

sub {
    bottom: -.25em;
}

.subtext {
    color: #666;
}

.nomore {
    display: none !important;
}
