/*
Theme Name: Chris Fisher & Associates
Theme URI: http://www.chrisfisher.com.au
Author: The Almost Anything Web and Graphic Design Crew
Author URI: http://www.almostanything.com.au
*/

/*
 * RELATIVE EMS: target/context=result
 * So if you want a 24px heading, and the parent element is 15px, you need to specify 1.6ems
 * ie 24/15=1.6
 * Got it yet Stu?
 * Similarly with widths. Elements will be a %age or their parent.
 *
 * THIS IS A MOBILE-FIRST STYLESHEET
 * If you're styling for the desktop you are editing the WRONG FILE
 * Go back, do not pass Go, do not collect $200
 */

/* Resets, Globals */

* {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}

div,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,select,button,p,table,blockquote,th,td {
    margin:0;
    padding:0;
    line-height:inherit;
}

    dl,ul,ol,h1,h2,h3,h4,h5,h6,form,fieldset,p,blockquote,table {
        margin:1em 0;
    }

        h1,h2,h3,h4,h5,h6 {
            color:#ed1c24;
            margin:1em 0 .5em;
            line-height:1.2;
        }

            h1 {
                margin:0 0 .5em;
            }

table {
    border-collapse:collapse;
    border-spacing:0;
}

address,caption,cite,code,dfn,var {
    font-style:normal;
    font-weight:normal;
}
 
caption,th {
    text-align:left;
}

sup {
    vertical-align:text-top;
}

sub {
    vertical-align:text-bottom;
}

input,textarea,select {
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    padding:0 .4em;
}

/* Clearfix */
    
.clearfix:after, header>nav:after {
    content:"";
    display:block;
    clear:both;
}

/* End Clearfix */

/* Styles to support our JS scrollbar width calculations */
.scrollbar_measure {
    width: 100px;
    height: 100px;
    overflow: scroll;
    position: absolute;
    top: -9999px;
}

/***************************************************************
 *
 * Let's play Tetris!
 * This is basic grid, we're layout out the main semantic blocks
 *
 ***************************************************************/

html, body {
    margin:0;
    padding:0;
    line-height:1.75;
    background: #f2f2f2 url(images/greyzz.png);
}

    html {
        font-family: Calibri, Tahoma, Arial, sans-serif;
    }

    body {
        color: #444;
        font-size: 100%; /* Baseline: this means that 1em = 16px */
    }

.contentbox {
    width: 100%;
    margin: auto;
    font-size: 1em; /* 20px for normal paragraph text */
}

    .main_wrap {
        clear:both;
    }

article {
    padding:2em 3% 1em;
}

/***************************************************************
 *
 * Header
 *
 ***************************************************************/

body>header {
    background:#fff url(images/client_work_greyscale_1000px.jpg) center top no-repeat;
    min-height:235px;
    /*border-radius:0 0 100px 0;*/
    box-shadow:0 0 20px rgba(0,0,0,0.15);
    margin-top:2em;
}

.site_info {
    padding:0 3%;
    height:3em;
    background:#1d1d1b;
}

    .site_title {
        text-indent:-9999px;
        width:0;
        height:0;
        margin:0;
    }

    .site_logo, .site_logo:hover, .site_logo img {
        display:block;
        background:none;
        position:relative;
        border:none;
    }

        .site_logo, .site_logo:hover {
            float:left;
            padding:20px 22px;
            margin-top:-2em;
            background:#fff;
            box-shadow:4px -5px 20px rgba(0,0,0,0.4);
            border-radius:0 0 15px 15px;
        }

/* Skip links */
#skiplinks {
    position: absolute;
    left: -9999px;
}

/***************************************************************
 *
 * Navigation
 *
 ***************************************************************/
/* Basic list reformatting */
.nav li {position:relative;}
.nav ul {position:absolute;top:-9999px;left:0;}
.nav ul, .nav ul li {display:block;}
.nav li:hover ul, .nav li.sfHover ul {top:3em;left:0;z-index:100;display:block;}
.nav li li:hover ul, .nav li li.sfHover ul {top:0; left:-250px;}

/* Basic list reformatting */
.nav, nav ul, nav li {margin:0;padding:0;list-style:none;}
    .nav ul, .nav li { float:left; }

/* Customise from here... */
header nav {
    line-height:1;
}

nav a {
    color: #fff;
    padding:1em;
    text-transform: uppercase;
    letter-spacing:.03em;
    font-weight:300;
    border-left:1px solid #fff;
    display:block;
    text-decoration: none;
}

    nav li:first-child a {
        border-left:none;
    }

    nav .sub-menu a {
        border-right:none;
        background:#fff;
        color:#ed1c24;
        padding:.4em 1em;
    }

nav a:focus, nav a:hover, nav a:active, nav a:hover, nav .sfHover>a {
    color: #fff;
    background:#ed1c24;
}

    nav .sub-menu a:hover, nav .sub-menu .sfHover>a {
        border-left-color:#ed1c24;
    }

nav .current_page_item>a, .single-post nav .current_page_parent>a, nav .current_page_ancestor>a, nav .current-menu-item>a, nav .current-menu-ancestor>a/*, .single-aacommerce_product nav .menu-item-151>a */ {
    padding-left:2.5em;
    font-weight:bold;
    position:relative;
}

    nav .sub-menu .current_page_item>a, nav .sub-menu .current-menu-item>a {
        padding-left:2em;
    }

    nav .current_page_item>a:before, nav .current_page_parent>a:before, nav .current_page_ancestor>a:before, nav .current-menu-item>a:before, nav .current-menu-ancestor>a:before, #menu-icon:before {
        position:absolute;
        left:.9em;
        top:.95em;
        background:#ed1c24;
        display:block;
        content:"";
        width:17px;
        height:17px;
    }

        nav a:hover:before, nav .sfHover>a:before, #menu-icon.active:before {
            background: #fff;
        }

        nav .sub-menu a:before {
            width:8px;
            height:8px;
            left:1em;
            top:.7em;
        }

nav li ul {
    display: none;
}

/* Displays a sub nav immediately after the main (if exists). Here for ease of use on mobile. Hide for desktop and add dropdowns if required */
.mobile_sub_menu {
    padding:2em 3% 1em;
    margin:0 auto;
    overflow:hidden;
    clear:both;
}

    .mobile_sub_menu h2 {
        margin:0 0 .25em;
    }

    .mobile_sub_menu nav a {
        color:#ed1c24;
        background:#fff;
        letter-spacing:0;
        text-transform: none;
        display:inline-block;
        padding:.3em .75em;
        border-radius:0 7px 0 0;
        border:none;
    }

        .mobile_sub_menu nav a:hover, .mobile_sub_menu nav .current_page_item>a {
            color:#fff;
            background:#ed1c24;
        }

        .mobile_sub_menu nav a:before {
            display:none;
        }

/* This is for the mobile nav icon */
#menu-icon {
    display: none;
}

/* Squish menu down into a button */
@media only screen and (max-width: 1000px) {

    #menu-icon {
        padding:0 1em 0 2.5em;
        display: inline-block;
        position:relative;
        cursor: pointer;
        color: #fff;
        line-height: 3;
    }

        #menu-icon.active {
            background:#ed1c24;
        }

    #menu-icon:after{
        content: " \2193"; /* down arrow */
    }

        #menu-icon.active:after {
            content: " \2191"; /* down arrow */
        }

    body>header nav {
        text-align:right;
        position:relative;
        float:right;
    }

    header nav>ul {
        overflow: hidden;
        position: absolute;
        top:3em;
        right:0;
        z-index: 10000;
        width:225px;
        background:#fff;
        border-radius:0 0 10px 10px;
    }

    nav a {
        padding:.45em 1em;
        border-left:none;
        color:#ed1c24;
    }

        nav .nav a:before {
            top:.5em;
        }

    .nav li:hover ul, .nav li.sfHover ul {display:none;}

    .nav ul, .nav li { float:none; }

}

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

    .site_logo {
        max-width:45%;
    }

    body>header nav {
        width:50%;
    }

    header nav>ul {
        width:100%;
    }

}

/***************************************************************
 *
 * Main Content - <article>
 *
 ***************************************************************/

article h1 {
    font-size: 1.8em;
}

article h2 {
    font-size: 1.4em;
}

article h3 {
    font-size: 1.2em;
}

article h4, article h5, article h6 {
    font-size: 1em;
}

a {
    color:#ed1c24;
}

a:hover {
    color:#000;
}

/* Make lists of services display inline, with a pipe separator */
.servicelist, .servicelist li {
    list-style:none;
    margin:0;
    padding:0;
}

    .servicelist {
        background:#fff;
        border-radius:10px;
        padding:.75em .8em .5em;
    }

    .servicelist li {
        display:inline;
    }

        .servicelist li:before {
            content:"| ";
            color:#ccc;
            font-size:1.3em;
            line-height:0;
        }

            .servicelist li:first-child:before {
                content:"";
            }

/* Clear any floated images down near the bottom of posts */
.blog_navigation {
    clear:both;
}

/* the next 3 rules are for the way WP sets its image floats. On skinny screens we'll just centre them all */
article .alignleft, article .alignright, article .aligncenter {
    text-align:center;
    margin:1.5em auto;
    display:block;
}

img {
    max-width:100%;
    height:auto;
}

a img {
    border:none;
}

/* Tubepress - thanks Thierry Koblentz (http://alistapart.com/article/creating-intrinsic-ratios-for-video)! */

.tubepress_normal_embedded_wrapper {
    width:auto !important;
}

.tubepress_normal_embedded_wrapper>div:last-child {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}

iframe.youtube-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Hide YouTube View Count */
dt.tubepress_meta.tubepress_meta_views {display:none;}

.tubepress_thumbs {
    text-align:center;
}

    .tubepress_thumbs .tubepress_thumb {
        margin:0;
        float:none;
        display:inline-block;
    }

#colorbox, #colorbox * {
    -moz-box-sizing:content-box;
    -webkit-box-sizing:content-box;
    box-sizing:content-box;
}

/* These 2 will make image captions look a bit like polaroids */
.wp-caption {
    background:#eee;
    overflow:hidden;
    max-width:100%;
}

    body.attachment .wp-caption {
        background:none;
        overflow: visible;
    }

    .wp-caption.alignnone {
        margin:1.5em 0;
    }

    .wp-caption>a, .wp-caption img {
        display:block;
    }

        .wp-caption img {
            width:100%;
        }

    .wp-caption-text {
        padding:0;
        margin:.75em 1em;
        line-height:1.3;
    }

        body.attachment .wp-caption-text {
            margin:.75em 0;
            font-weight:bold;
        }

        .gallery .wp-caption-text {
            margin:.25em 1em 0 0;
            font-size:.9em;
        }

.gallery .gallery-item {
    float: left;
    margin:0 0 .45em;
}

.gallery a, .gallery img {
    display:block;
}

    .gallery img {
        max-width:95%;
        width:auto;
        height:auto;
    }

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

    .gallery dl.gallery-item {
        float: none;
        margin: 0 0 1em;
        width:auto;
        text-align:center;
    }

        .gallery a {
            display:inline-block;
        }

    .gallery .wp-caption-text {
        text-align: center;
        font-size:inherit;
    }

    .gallery br {
        display:none;
    }

}

/*
Image sizes depending on the number of columns
Based on Hybrid theme
*/

.gallery-columns-0 .gallery-item {
    width: 100%;
}
.gallery-columns-1 .gallery-item {
    width: 100%;
}
.gallery-columns-2 .gallery-item {
    width: 50%;
}
.gallery-columns-3 .gallery-item {
    width: 33.33%;
}
.gallery-columns-4 .gallery-item {
    width: 25%;
}
.gallery-columns-5 .gallery-item {
    width: 20%;
}
.gallery-columns-6 .gallery-item {
    width: 16.66%;
}
.gallery-columns-7 .gallery-item {
    width: 14.28%;
}

/* Callouts, pullquotes */
blockquote {
    position:relative;
    padding:0 0 0 2.5em;
    margin:1.5em 0 2.25em;
    border-top:1px dotted #ed1c24;
}

    blockquote cite {
        font-style:italic;
        margin:0 0 0 1em;
    }

    blockquote:before, blockquote:after {
        content: "“";
        font-size: 5em;
        position: absolute;
        left: 0;
        top:-.08em;
        color:#ed1c24;
    }

        blockquote:after {
            line-height:0;
            right:0;
            left:auto;
            top:auto;
            bottom:-.15em;
            color:#ccc;
            content:"”";
        }

/* Tables */

table, th, td {
    border:none;
    border:1px solid #ddd;
    text-align:left;
    border-collapse:collapse;
}

    table {
        margin:1em 0;
    }

    td, th {
        line-height:1.3;
        padding:.4em .6em;
    }

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

        article table {
            border:none;
        }

        article tr, article td, article th {
            display:block;
            border:none;
        }

            article tr {
                margin:0 0 1em;
            }
            
    }

/* CTA Buttons */

.button {
    color: #fff;
    background: #ed1c24;
    border:none;
    cursor:pointer;
    font-weight:bold;
    border-radius:3px;
    box-shadow:inset 0 0 10px rgba(0,0,0,0.15);
    padding: .5em .75em;
    text-decoration: none;
}

    .button:hover {
        background:#1d1d1b;
        color:#fff;
    }

/* Gravity Forms Style fixes */ 

.gform_wrapper form {
    margin-top:0;
}

article .gform_wrapper textarea, article .gform_wrapper input[type=text], article .gform_wrapper input[type=url], article .gform_wrapper input[type=email], article .gform_wrapper input[type=tel], article .gform_wrapper input[type=number], article .gform_wrapper input[type=password], article .gform_wrapper .ginput_complex label, article .gform_wrapper .gfield_time_hour label, article .gform_wrapper .gfield_time_minute label, article .gform_wrapper .gfield_date_month label, article .gform_wrapper .gfield_date_day label, article .gform_wrapper .gfield_date_year label, article .gform_wrapper .instruction {
    font-size:1em;
}

    article .gform_wrapper textarea, article .gform_wrapper input[type=text], article .gform_wrapper input[type=url], article .gform_wrapper input[type=email], article .gform_wrapper input[type=tel], article .gform_wrapper input[type=number], article .gform_wrapper input[type=password] {
        padding:.3em;
        font-size:.9em;
        max-width:100%;
    }

article .gform_wrapper .gform_footer {
    padding:0;
}

/***************************************************************
 *
 * Sidebar
 *
 ***************************************************************/

.sidebar {
    background:#eee;
}

.sidebar, .sidebar ul, .sidebar li {
    padding: 0;
    margin: 0;
    list-style: none;
    clear: both;
}

.sidebar li ul { /* a nested list, so this should actually be displayed as a list */
    padding-left: 7.142857142857%; /* 20/280=0.07142857142857 */
}

.sidebar li ul li {
    list-style: disc;
}

/***************************************************************
 *
 * News and/or blog
 *
 ***************************************************************/
.postdate, .postmetadata {
    font-size:0.8em;
    font-style:italic;
    margin:0;
}

/***************************************************************
 *
 * Homepage
 *
 ***************************************************************/

.home img.plain {
    display:none;
}

.ctas {
    padding:4.5em 3% 0;
}

    .cta p {
        display:inline;
    }

    .cta a {
        color:#fff;
        background:#ed1c24;
        background:rgba(237,28,36,0.85);
        font-weight:800;
        text-shadow:3px 3px 4px rgba(0,0,0,0.2);
        border-radius:20px;
        padding:.45em .5em;
        margin:0 0 .75em;
        text-decoration:none;
        line-height:1.1;
        display:block;
        float:right;
        clear:right;
        font-size:2.5em;
        -webkit-transition:all 100ms ease-in-out;
        -moz-transition:all 100ms ease-in-out;
        transition:all 100ms ease-in-out;
    }

        .cta a:hover {
            background:#000;
        }

        .cta a .minorcta {
            font-size:.6em;
            font-weight:normal;
            text-align:right;
            display:block;
        }

@media only screen and (max-width:600px) {
    .cta a {
        float:left;
        clear:left;
        margin:0 0 .5em; 
        font-size:2em;
    }
}

/***************************************************************
 *
 * Contact Page
 *
 ***************************************************************/

#google_map { /* The outer div */
    margin: 1.5em 0;
    border:5px solid #fff;
}

    #google_map img {
        max-width:none;
    }

    #google_map #map_canvas { /* the inner container that defines the actual map size */
        height: 300px;
        margin: auto;
    }

/***************************************************************
 *
 * Footer
 *
 ***************************************************************/

footer {
    background:#1d1d1b;
    font-size:.8em; /* footer has been set to 12.8px */
    clear: both;
}

    footer .contentbox {
        padding:0 3%;
        background:url(images/rockhampton_advertising_logo_inverted.png) 97% 50% no-repeat;
        height:160px;
    }

    .social_media, .social_media li {
        list-style:none;
        display:block;
        float:left;
        margin:25px 15px 0 0;
        padding:0;
    }

        .social_media a {
            width:60px;
            height:60px;
            text-indent:-9999px;
            display:block;
            background:url(images/social_media_icons.png) no-repeat;
        }

            .linkedin a {
                background-position:0 -120px;
            }

            .facebook a {
                background-position:0 -60px;
            }

section.credits {
    padding:0 3%;
    font-size:.8em;
}

    .divider {
        color:#ed1c24;
        font-size:1.2em;
    }

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

    footer .contentbox {
        background:none;
        height:auto;
    }

    .social_media, .social_media li {
        margin:7px 15px 7px 0;
    }

}