/*
Theme Name: The Hall State School
Theme URI: http://thehallss.eq.edu.au/
Version: 2013.1
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:.65em 0;
    }

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

            h2 {
                color:#89ae00;
            }

            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.5;
}

    html {
        font-family: Calibri, Tahoma, Arial, sans-serif;
        font-size: 100%; /* Baseline: this means that 1em = 16px */
        min-height:100%;
        background:#929e53 url(images/footer_mobile.jpg) no-repeat 70% 100%;
    }

    body {
        background:transparent url(images/header_mobile.jpg) no-repeat center top;
        color: #3e4f00;
    }

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

.site_content {
    box-shadow:0 0 40px rgba(0,0,0,0.4);
    background:#fcfff6 url(images/noise_lines.png);
    position:relative;
}

article, .contentbox .sidebar {
    padding:0 3%;
}
    
    article {
        padding:1em 3%;
    }

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

.site_info {
    padding:1.5em 3%;
    background-image:radial-gradient(50% -99%, farthest-corner, rgba(195,180,16,0.6) 36%, rgba(0,0,0,0) 78%);
    background-image:-webkit-radial-gradient(50% -99%, farthest-corner, rgba(195,180,16,0.6) 36%, rgba(0,0,0,0) 78%);
}

    .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 {
            width:250px;
            max-width:100%;
            margin:0 auto;
        }

/* 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:2.5em;z-index:100;display:block;}
.nav li li:hover ul, .nav li li.sfHover ul {top:0; left:-250px;}
ul#menu-main-nav{width:100%;}

/* main item width */
nav ul li ul, nav ul li li {width: 250px;}

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

/* Customise from here... */
header>nav {
    background:#7f980d;
    background:rgba(127,152,14,0.8);
    background-image:url(images/knitting250px.png);
    box-shadow:0 0 70px rgba(0,0,0,0.6);
    text-align:center;
    font-size:1.15em;
    line-height:1.5;
    padding:4% 0;
}

.nav a {
    color: #253004;
    text-shadow:1px 1px 0 rgba(255,255,255,0.3);
    padding:.25em .5em;
    display:block;
    text-decoration: none;
    -webkit-transition:all 90ms ease-in-out;
    -moz-transition:all 90ms ease-in-out;
    transition:all 90ms ease-in-out;
}

nav a:hover, nav a:active, nav .sfHover>a {
    color: #3e5106;
}

nav .current_page_item>a, .single-post nav .current_page_parent>a, nav .current_page_ancestor>a, nav .current-post-ancestor>a, nav .current-menu-item>a, nav .current-menu-ancestor>a/*, .single-aacommerce_product nav .menu-item-151>a */ {
    color:#fff;
    text-shadow:none;
}

.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:1em 3%;
    margin:0 auto;
    overflow:hidden;
}

    .mobile_sub_menu h2 {
        margin:0;
    }

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

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

    #menu-icon {
        width: 93.333%;
        line-height:2.5;
        font-size:1.3em;
        cursor: pointer;
        display: block;
        text-align: center;
        margin: 0 auto;
        border-radius: 3px;
        background: rgba(255,255,255,0.4);
        background-image:-moz-linear-gradient(top, rgba(255,255,255,0.4), rgba(255,255,255,0.15));
        background-image:-webkit-linear-gradient(top, rgba(255,255,255,0.4), rgba(255,255,255,0.15));
        background-image:linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(255,255,255,0.15));
        box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
    }

            #menu-icon:hover {
                background: rgba(255,255,255,0.6);
                background-image:-moz-linear-gradient(top, rgba(255,255,255,0.7), rgba(255,255,255,0.4));
                background-image:-webkit-linear-gradient(top, rgba(255,255,255,0.7), rgba(255,255,255,0.4));
                background-image:linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(255,255,255,0.4));
            }

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

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

    header nav>.contentbox>ul {
        clear: both;
        position: relative;
        z-index: 10000;
    }

    nav ul li {width:100%;}

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

    header nav>ul {width:100%;}

}

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

article h1 {
    font-size: 1.6em;
}

article h2 {
    font-size: 1.25em;
}

article h3 {
    font-size: 1em;
}

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

article a {
    color:#89ae00;
}

article a:hover {
    color:#6b8700;
    border-bottom:1px dotted #6b8700;
    text-decoration:none;
}

.colourcode {
    text-shadow:1px 1px 0 rgba(255,255,255,0.5);
}

    .code_blue, .code_blue a {
        color:#3181ff;
    }

    .code_yellow, .code_yellow a {
        color:#dcb800;
    }

    .code_red, .code_red a {
        color:#f00;
    }

/* the next 3 rules are for the way WP sets its image floats */

article .alignleft {
    float:left;
    clear:left;
    text-align:left;
    margin:.5em 1.5em 1em 0;
}

article .alignright {
    float:right;
    clear:right;
    text-align:left;
    margin:.5em 0 1em 1.5em;
}

article .aligncenter {
    text-align:center;
    margin:0 auto;
}

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

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

}

img {
    border:5px solid #fff;
    max-width:100%;
    height:auto;
}

/* These 2 will make image captions look a bit like polaroids */
.wp-caption {
    background:#fff;
    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 3%;
}

.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.3em;
    margin:1.5em 0;
}

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

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

/* Tables */

table, th, td {
    border:none;
    border:1px solid #dadfcc;
    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, .blog_navigation a {
    color: #fff;
    background: #89ae00;
    border:none;
    cursor:pointer;
    font-weight:bold;
    border-radius:3px;
    box-shadow:inset 0 0 15px rgba(0,0,0,0.3);
    padding: .5em .75em;
    text-decoration: none;
}

    .button:hover, .blog_navigation a:hover {
        background:#3e5106;
        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;
}

/* Blog Navigation */

.blog_navigation {
    clear:both;
}

    .blog_navigation .alignleft, .blog_navigation .alignright {
        margin-bottom:.5em;
    }

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

.sidebar {
    background:#dadfcc;
    background:rgba(83,100,11,0.1);
}

.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;
}

.news_post_excerpt.has_thumbnail {
    padding-left:165px;
}

    .news_post_excerpt.has_thumbnail .alignleft {
        margin:0 0 0 -165px;
    }

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

    .news_post_excerpt.has_thumbnail {
        padding-left:0;
    }

        .news_post_excerpt.has_thumbnail .alignleft {
            margin:1em auto;
        }

}

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

article .latest_news {
    text-align:left;
    padding:1px 2.5% 2%;
    margin:0;
    border-left:2px solid #dadfcc;
    border-left:2px solid rgba(83,100,11,0.1);
    background:rgba(83,100,11,0.05);
}

    .latest_news ul, .latest_news li {
        list-style:none;
        margin:0;
        padding:0;
    }

    .latest_news h3 {
        margin:0;
    }

    .latest_news a {
        display:block;
        padding:.35em .75em .35em 115px;
        font-family:"proxima-nova-alt-condensed", sans-serif;
    }

        .latest_news li:nth-child(even) {
            background:rgba(255,255,255,0.6);
            border-radius:4px;
        }

        .latest_news a:hover {
            border:none;
        }

        .latest_news img {
            width:100px;
            display:block;
            float:left;
            margin:0 15px 0 -115px;
            border:none;
        }

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

    .cta, #cta3 {
        width: 100%;
        margin: 0 auto 1em auto;
        float: none;
    }

}

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

#mapp0_layout {
    clear:both;
    border: 5px solid #fff !important;
    margin:0;
}

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

footer {
    color:#fff;
    color:rgba(255,255,255,0.8);
    text-shadow:2px 2px 5px rgba(0,0,0,0.5);
    font-size:.9em;
    padding:1em 0;
    clear: both;
}

    footer a {
        color:#fff;
        color:rgba(255,255,255,0.9);
        text-decoration:none;
        border-bottom:1px dashed #fff;
        border-bottom:1px dashed rgba(255,255,255,0.5);
    }

        footer a:hover {
            color:#fff;
            border-bottom:1px solid #fff;
        }

    footer p {
        margin:.35em 0;
    }

    section.credits {
        padding:0 3%;
        clear:both;
        text-align:center;
    }


/* Rich Contact Widget */

.widget_rc_widget ul, .widget_rc_widget li {
    list-style:none;
    margin:0;
    padding:0;
}

    .widget_rc_widget>ul>li {
        margin:0 0 .5em;
    }

    .widget_rc_widget .email {
        font-size:.8em;
    }

    .widget_rc_widget .tel:before {
        content: "Phone: ";
        font-weight:bold;
    }

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

    footer .widgetarea {
        width:100%;
        padding:0;
        margin:1em 0;
    }

    footer>nav, footer .vcard, section.credits {
        width: auto;
        float: none;
    }

}