/*
Theme Name: The Caves Quarry
Theme URI: http://www.almostanything.com.au
Description: A generic starting point. Mobile-first, fully responsive. Home page has 3 Calls to Action. Main content with right sidebar. Horizontal Nav, requiring WP built-in menu management. Inbuilt homepage CTA management.
Version: 2012.2
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 {
            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.5;
}

    html {
        font-family: Calibri, sans-serif;
		font-style:italic;
		background:#fff;
    }

    body {
        color: #5b3215;
        font-size: 100%; /* Baseline: this means that 1em = 16px */
		background:#FFF url(images/bg-home.jpg) top center no-repeat;
		min-height:1000px;
    }

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

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

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

.site_info {
    padding:1.5em 3%;
}

    .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;
		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:2em;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 li { float:left; }

	 ul#menu-main-menu {float:right; margin-right:3%;}

/* Customise from here... */
header {
		border-bottom:3px solid #FFF;
		background: rgb(255,255,255); /* Old browsers */
		background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(203,185,142,1) 100%); /* FF3.6+ */
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(203,185,142,1))); /* Chrome,Safari4+ */
		background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* Opera 11.10+ */
		background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* IE10+ */
		background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* W3C */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cbb98e',GradientType=0 ); /* IE6-9 */
}

header>nav {
    line-height:2;
    padding:0% 3%;
}

.nav a {
    color: #FFF;
    background:#a38b52;
    padding:0 1em;
    border:none;
    display:block;
    text-decoration: none;
	font-weight:bold;
}

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

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, nav .current-page-ancestor>a/*, .single-aacommerce_product nav .menu-item-151>a */ {
    background:#5b3215;
    color: #fff;
	padding:0.5em 1em;
	border-bottom-left-radius:0.5em;
	border-bottom-right-radius:0.5em;
}

.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:0em 3%;
    margin:0 auto;
    overflow:hidden;
    background: #eee;
	display:none;
}

    .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 {
        padding:0 .75em;
        display: block;
        text-align: center;
        line-height: 3;
        color: #FFF;
        background: #5b3215;
        cursor: pointer;
    }

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

        #menu-icon.active:after {
            content: " \2191"; /* down arrow */
        }
	
	ul#menu-main-menu {float:none; margin:0 auto; text-align:center; width:95%; position:absolute; z-index:9999; background:#FFF; background-color:rgba(255,255,255,0.8);}
	
	.nav a {
    color: #5b3215;
    background:transparent;
    padding:0 1em;
    border:none;
    display:block;
    text-decoration: none;
	font-weight:bold;
}

.nav a:focus, .nav a:hover, .nav a:active, nav a:hover, nav .sfHover>a {
    background:#5b3215;
    color: #FFF;
}

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, nav .current-page-ancestor>a/*, .single-aacommerce_product nav .menu-item-151>a */ {
    background:#a38b52;
    color: #fff;
	padding:0.5em 1em;
	border-bottom-left-radius:0;
	border-bottom-right-radius:0;
}
	
	
 
    .mobile_sub_menu {
        border-top: 1px solid #333; /* Hacky - bottom border gets cut off menu :( */
		display:none;
    }

    header nav {
        margin:0 0 1em;
    }

    header nav>ul {
        clear: both;
        position: relative;
        z-index: 10000;
        background: #f8f8f8;
        border: 1px solid #999;
        border-top:none;
    }

    .nav { margin:0 0 1em; }

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

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

}

/***************************************************************
 *
 * Main Content - <article>
 *
 ***************************************************************/
#content {background:#FFF; background-color:rgba(255,255,255,0.9); margin-top:3em;}

#content.home {background:transparent; background-color:transparent; margin-top:12em;}

article.home {text-align:center;}

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

article a {
	color:#5b3215;
	}

article a:hover {
	color:#a38b52;
	text-decoration:none;
}

/* 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;
}

#content img {border:2px solid #a38b52;}

#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 3%;
}

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

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

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

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

    .gallery dl.gallery-item {
        margin: 0 0 1em;
		float:none;
		display:inline-block;
        width:45%;
        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 #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: #a38b52;
    border:none;
    cursor:pointer;
    font-weight:bold;
    border-radius:3px;
    padding: .5em .75em;
    text-decoration: none;
}

    .button:hover {
         background:#5b3215;
		 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
 *
 ***************************************************************/

.cta {
    width:30%;
    margin: 0 3% 1em 0;
    background: #ccc;
    float: left;
}

    #cta3 {
        margin-right:0;
        width:33%;
    }

    .cta a {
        display:block;
        padding: .75em 1em;
    }

    .cta p {
        display:inline;
    }
	
	.menu-products-container {
		margin:0em 0 1em;
	}
	
	ul#menu-products {
	list-style:none;
	padding:0;
	margin:0;	
	}
	
	ul#menu-products li {
	width:30%;
	margin-right:1%;
	display:inline-block;
	height:150px;
	background:#000000;
	border-radius:0.5em;
	background-color:#a38b52;
	overflow:hidden;
	border:2px solid #FFF;
	text-align:center;
	}
	
	ul#menu-products li:hover {
	background-color:#5b3215;
	box-shadow:0 0 10px #000;
	}
	
	ul#menu-products li a {
		color:#FFF;
		text-decoration:none;
		font-weight:bold;
		display:block;
		font-size:1.4em;
		padding:4.8em 0 1em;
	}
	
/* Backgrounds */
	ul#menu-products li.menu-item-31 a {background:url(images/cta-aggregate.jpg) center -60px no-repeat;}
	
		ul#menu-products li.menu-item-32 a {background:url(images/cta-gravel.jpg) center -60px no-repeat;}
		
			ul#menu-products li.menu-item-33 a {background:url(images/cta-roadbase.jpg) center -60px no-repeat;}
			
/* Hide items based on page - Jason doesn't want to see the select menu item duplicated */

body#page20 li#menu-item-31, body#page16 li#menu-item-32, body#page18 li#menu-item-33  {display:none;}			

	
@media only screen and (max-width:600px) {
	ul#menu-products li {display:block; width:100%; margin-bottom:0.5em;}
}


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

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

}

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

#google_map { /* The outer div */
    margin: 1.5em 0;
}

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

.cgmp-centering-container-handle {clear:both;}

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

footer {
    clear: both;
	border-bottom:3px solid #FFF;
	border-top:3px solid #FFF;
		background: rgb(255,255,255); /* Old browsers */
		background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(203,185,142,1) 100%); /* FF3.6+ */
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(203,185,142,1))); /* Chrome,Safari4+ */
		background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* Opera 11.10+ */
		background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* IE10+ */
		background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(203,185,142,1) 100%); /* W3C */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cbb98e',GradientType=0 ); /* IE6-9 */
}

    footer .contentbox {
        padding:1em 0;
    }

footer .widgetarea {
    width:100%;
    padding: 0.5em 3% 1em;
	text-align:center;
	font-size:1.2em;
	margin:0 auto;
}

footer .widgetarea>ul, footer .widgetarea>ul>li {
    list-style:none;
    margin:0;
    padding:0;
}

section.credits {
    clear:both;
    padding:0.5em 6% 0.5em;
	width:100%;
	max-width:1000px;
	text-align:center;
	font-size:12px;
	margin:0 auto;
}

section.credits a {
	color:#5b3215;
	text-decoration:none;	
}

section.credits a:hover {
	color:#a38b52;
	text-decoration:underline;	
}

/* Rich Contact Widget */

.widgetarea.primary, .widgetarea.secondary {
	display:none;	
}

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

}