/*
Theme Name: Precision Engraving
Theme URI: http://www.almostanything.com.au
Description: Responsive starting point
Version: 2015
Author: Almost Anything Web and Graphic Design
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 */

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

    *, *:before, *:after {
        box-sizing: inherit;
    }

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

                .site_title {
                    margin:0;
                }

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

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

/* Accessibility (skip links, screen reader text) */

.screen-reader-text, .skiplink {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

    .skiplink:focus, .screen-reader-text:focus {
        font-weight:bold;
        background:#eee;
        box-shadow:0 0 10px rgba(0,0,0,0.25);
        top:0;
        left:0;
        float:left;
        width: auto;
        height: auto;
        z-index:9999;
        display:block;
        position:fixed;
        z-index: 100000; /* Above WP toolbar. */
        padding:.5em .75em;
        clip: auto !important;
}

/***************************************************************
 *
 * 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;
    background: #FFF;
}

    html {
       font-family: "acumin-pro",sans-serif;
	   font-weight:300;
    }

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

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

.main_wrap, .contentbox .sidebar, footer {
    padding:0 5%;
}

    .main_wrap {
        clear:both;
		background:#FFF;
		padding:0;
    }
	
	.main_wrap:after {
        content:"";
		width:100%;
		height:80px;
		background:#000 url(images/page-bottom.png) top center no-repeat;
		background-size:cover;
		display:block;
    }
	
	.page-template-template-services .main_wrap:after, .page-template-template-products .main_wrap:after {
        content:"";
		width:100%;
		height:80px;
		background: url(images/Cta-angles_03.png) top center no-repeat;
		background-size:cover;
		display:block;
    }
	
	.home .main_wrap {
        clear:both;
		background:transparent;
		padding:0 5%;
    }
	
	.home .main_wrap:after {
        display:none;
    }
	
    
article {
    padding:1.5em 0 1em;
	color:#000;
}

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

header {position:fixed; z-index:9999; width:100%; top:0; margin:0 auto; border-top:8px solid #000;}

 header:after {
	content:"";
	width:100%;
	height:110px;
	/*background:url(images/header-bottom-shadow.png) top center no-repeat;*/
	background:url(images/header-bottom-shadow-new.png) top center no-repeat;
	background-size:cover;
	display:block;
	margin-top:-10px;
 }

.topbar {
	/*background:#000;
	color:#FFF;
	padding:0.5em 0 0.5em;*/
	display:none;
	}
	
.topbar ul, .topbar ul li {
	list-style:none;
	margin:0;
	padding:0;
	}
	
.topbar ul {display:flex; flex-flow: row wrap; align-content: flex-start; padding:0;}	

.topbar ul li {width:100%; font-family: "acumin-pro-extra-condensed",sans-serif; font-weight:600;}	

.topbar ul li#text-3 {text-align:right; color:#FFF;}	

.topbar ul li#text-3 img {width:34px; height:34px; float: right; margin-top:9px}

.topbar a {color:#FFF; text-decoration:none;}

.topbar a:hover {color:#FFF; text-decoration:underline;}

.topbar #text-2 h2 {padding: 0 0 0 7%; margin:0; font-weight:200; font-size:1.8em; font-family: "acumin-pro"; text-transform:uppercase; }

.topbar #text-3 {font-size:1.4em; font-weight:200; font-family: "acumin-pro"}

.site_info {background:#FFF; padding: 0.5em 0 0;}

.site_info .contentbox {
	display:flex; 
	flex-flow: row wrap; 
	align-content: flex-start;
}

.LogoCont {width:30%;}

    .site_title {
        text-indent:-9999px;
        width:0;
        height:0;
    }
	
    .site_logo, .site_logo img {
        display:block;
        background:none;
        position:relative;
        border:none;
		width:100%;
		max-width:425px;
    }

        .site_logo {
            
        }

            @media (min-width:969px) {
                .site_logo img {
                    margin:0 1.5em 0 0;
                }
				
            }

            @media (max-width:750px) {
				
				
				.topbar ul li#text-2, .topbar ul li#text-3 img {display:none;}
				
				
            }
			
			 @media (max-width:970px) {
				
				.LogoCont {width:80%;}
				
				.topbar ul li, .topbar ul li#text-3 {width:100%; text-align:center;}
								
				
            }

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

        @media (max-width:750px) {
            .site_info__usereditable {
                margin:1em 0 0;
            }
        }

        .site_info__usereditable {
            text-align:center;
        }

        .site_info__usereditable>li {
            display:block;
            margin:.75em 0 0;
            font-size:1.5em;
            line-height:1.25;
        }

        .site_info__usereditable a[href*="tel"] {
            text-decoration:none;
        }

        @media (min-width:875px) {

            .site_info>.contentbox {
                /*display:table;*/
            }

            .site_logo, .site_info__usereditable {
                display:table-cell;
                vertical-align: middle;
            }

                .site_info__usereditable {
                    text-align:right;
                }

                    .site_info__usereditable>li {
                        display:inline-block;
                        vertical-align: middle;
                        margin:.25em 0 .25em 1.25em;
                    }

                        .site_info__usereditable>li:first-child {
                            margin-left:0;
                        }

        }
		
	.FeaturedImg {
		width: 100%!important;
		min-height: 550px;
		background-attachment: fixed !important;
		background-size: cover !important;
		margin-top: 120px;
		position: relative;
		z-index: 0;
		background-repeat: no-repeat !important;
		background-position: center center !important;
}

@media (max-width:1025px) {
	.FeaturedImg {
		width: 100%!important;
		min-height: 350px;
		background-attachment: scroll!important;
		background-size: cover !important;
		margin-top: 130px;
		position: relative;
		z-index: 0;
		background-repeat: no-repeat !important;
		background-position: center center !important;
}
}
	
	
	.blog .FeaturedImg {display:none;}

/***************************************************************
 *
 * Navigation
 *
 ***************************************************************/

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

/* Customise from here... */
nav {
    line-height:2;
    padding:0;
	width:70%;
}

.nav a {
	font-family: "acumin-pro-extra-condensed",sans-serif; 
	font-weight:500;
    color: #000;
    text-decoration: none;
    /*border-bottom:3px solid #000;*/
    display:block;
	text-transform:uppercase;
	font-size: 1.4em;
    
    /* Preferable to a large line height with no top/bottom padding;
    no top/bottom padding causes links that text-wrap to look the same as a couple of one line links... */
    line-height:1.3;
    padding: .5em 0.5em;
}

    nav a {
        display:inline-block;
        padding:.15em .5em;
    }

    .nav a:hover, .nav .sfHover>a {
	color:red;
	border-bottom:1px solid red;
    }

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-parent>a,
nav .current-menu-ancestor>a,
nav .current-page-ancestor>a {
	/*border-bottom:3px solid red;*/
	color:red;
}

    .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-parent>a,
    .nav .current-menu-ancestor>a,
    .nav .current-page-ancestor>a {
        color: red;
    }

@media (max-width:1190px) {
	.nav a {font-size: 1.2em; padding: .4em;}
}


.contains_submenu>a {
    position:relative;
}

    .show_nav_children {
        position:absolute;
        top:-.25em;
        bottom:-.25em;
        right:-3%;
        line-height:2.5;
        font-weight:bold;
        cursor:pointer;
    }

/*
 * Section menu
 */

.section-menu {
    padding:1em 5% .5em;
    overflow:hidden;
}

    .main_wrap+.section-menu {
        padding-top:0;
    }

    .section-menu .sub-menu {
        display:-ms-flexbox;
        display:-webkit-flex;
        display:flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -ms-align-items: stretch;
        -webkit-align-items: stretch;
        align-items: stretch;
        -ms-flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
        flex-wrap:wrap;
        padding:0;
        margin:0 -.25em;
        font-size:1em;
    }

        .section-menu .sub-menu .sub-menu {
            font-size:.9em;
        }

        .section-menu .sub-menu li {
            margin:0 .25em .5em;
            display:-ms-flexbox;
            display:-webkit-flex;
            display:flex;
            -ms-flex:1 0 auto;
            -webkit-flex:1 0 auto;
            flex:1 0 auto;
        }

            .section-menu .sub-menu .sub-menu li {
                margin:.5em .25em 0;
            }

            .section-menu li .current-menu-item.menu-item-has-children, .section-menu li .current-menu-parent.menu-item-has-children {
                -ms-flex-direction: column;
                -webkit-flex-direction: column;
                flex-direction: column;
                -ms-flex:1 1 auto;
                -webkit-flex:1 1 auto;
                flex:1 1 auto;
                background:#f4f4f4;
                padding:.75em .7em;
            }

    .section-menu a {
        line-height:1.3;
        text-decoration:none;
        color:#333;
        border: 1px solid #ccc;
        padding: .5em .75em;
        min-width:100%;
        -ms-flex:1;
        -webkit-flex:1;
        flex:1;
    }

        .section-menu .current-menu-item>a {
            border: 1px solid #000;
            color:#000;
        }

            .section-menu .sub-menu .current-menu-item>a, .section-menu .sub-menu .current-menu-parent>a {
                background:#fff;
            }

        .section-menu a:hover {
            border-color:#333;
            color:#333;
            text-decoration:underline;
        }


    /* Hide current page link (hopefully!) */
    .section-menu .menu>li>a {
        display:none;
    }

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

/* Expanded (desktop) menu styles */
@media (min-width:969px) {

    /* 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 { z-index:100; display:block; }
        .nav>li:hover>ul, .nav>li.sfHover>ul { top:2.3em; }

    .nav ul ul { left:auto; right:-250px; }
        .nav li li:hover ul, .nav li li.sfHover ul { top:0; }

    header .nav ul, header .nav li li {width: 250px;}

    .nav {
        margin-left:-.7em;
		margin-top: 45px;
    }

    .nav li ul {
        display: none;
    }

    .nav .sub-menu, .nav .children {
        background:#222;
    }

        .sub-menu .current_page_item>a,
        .single-post .sub-menu .current_page_parent>a,
        .sub-menu .current_page_ancestor>a,
        .sub-menu .current-menu-item>a,
        .sub-menu .current-menu-parent>a,
        .sub-menu .current-menu-ancestor>a,
        .sub-menu .current-page-ancestor>a {
            background: #eee;
        }

    .contains_submenu>a {
        padding-right:1.5em;
    }

        .show_nav_children {
            padding:0 .75em 0 .5em;
        }

}


/* Mobile menu styles */
@media (max-width: 970px) {
	
	nav {width:20%;}

    /* Provide space for the plus/minus symbol */
    .contains_submenu>a {
        padding-right:2.5em;
    }

        /* Element for showing/hiding sub-menus */
        .show_nav_children {
            position:absolute;
            top:-.25em;
            bottom:-.25em;
            right:-3%;
            line-height:2.5;
            z-index:10;
            padding:0 5% 0 .75em;
            padding:0 calc(3% + .5em) 0 .75em;
        }

    /* Turn off floats, we want vertical flow */
    .nav ul, .nav li { float:none; }

        /* Indent sub-menus */
        .sub-menu, .nav .children {
            padding:0 0 0 1em;
            font-size:.9em;
        }

    /* Off screen menu */

    .site_info nav {
        line-height:0;
    }

    /* Reduce vertical padding */
    .nav a {
        padding:.35em 1em;
    }

        /* Make sure background stretches to edge of menu */
        .nav .sub-menu a, .nav .children a {
            margin-left: -1.5em;
            padding-left: 2.5em;
        }

    /* Checkbox input used to toggle nav display.
       Doesn't need to appear because it's linked with the label. */
    .menu-icon {
        position: absolute;
        clip: rect(0, 0, 0, 0);
    }

    .menu-icon-label { 
        color:#000;
        cursor:pointer;
        line-height: 1.2;
        font-weight:bold;
        padding-right: 2.3em;
        position: relative;
        display: block;
        float: right;
        clear: left;
		text-indent:-9999px;

        /* Enhance tap target area */
        border: 1em solid transparent;
        border-width:1em 0;
    }

        /* Setup base rules for page content overlay and hamburger icon */
        .menu-icon-label:after, .menu-icon-label:before {
            content:"";
            display:block;
            top:0;
            right: 0;
            bottom: 0;
        }

        /* Overlay for page content */
        .menu-icon-label:before {
            -moz-transition:opacity 125ms ease-in-out;
            -webkit-transition:opacity 125ms ease-in-out;
            transition:opacity 125ms ease-in-out;
            background: rgba(0,0,0,0.6);
            position:fixed;
            z-index: 20;
            
            /* Mobile Safari doesn't cover the page without negative values... */
            top:-200px;
            bottom:-200px;
            left:-200px;
        }

            /* Hide and deactivate overlay if menu is closed */
            .menu-icon:not(:checked) ~ .menu-icon-label:before {
                opacity:0;
                pointer-events:none;

                /* Needed to hide overlay for IE 10 < (no support for pointer-events) */

                /* IE9 */
                -ms-transform:matrix(0,0,0,0,0,0);
                
                /* IE10 */
                -ms-transform:translate3d(100%,0,0);
            }

        /* Hamburger icon */
        .menu-icon-label:after {
            position:absolute;
            width: 1.5em;
            background:linear-gradient(to bottom, #000 0, #000 15%, transparent 15%, transparent 42%, #000 42%, #000 57%, transparent 57%, transparent 85%, #000 85%);
        }

    .nav {
        /* Positioning */
        top: 0;
        right: 0;
        bottom:0;
        z-index: 100;
        position: fixed;

        /* Make scrolling allowance for tall menus */
        overflow-y: auto;
        overflow-x: hidden;

        /* Width, margin, padding */
        width:80%;
        margin:0;
        padding:.5em 0 0;

        /* Slide-in animation. Custom cubic bezier used to provide a fast initial slide, slowing down near the end.  */
        -moz-transition:-moz-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03), transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        -webkit-transition:-webkit-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03), transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:-webkit-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:-moz-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);

        /* Don't grab any clicks (we turn clicks on when the menu is definitely activated) */
        pointer-events:none;

        /* Styles */
        background: #000;
        font-size: 1.1em;
    }
	
	/* Mobile Menu Link color - If different from standard */
	.nav a,	.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-parent>a,
    .nav .current-menu-ancestor>a,
    .nav .current-page-ancestor>a {
        color: #FFF;
    }


        /* Turn pointer events back on when the nav is active */
        .menu-icon:checked ~ .nav {
            pointer-events:auto;
        }

        /* This is a FLIPped animation (https://aerotwist.com/blog/flip-your-animations/) */
        .menu-icon:not(:checked) ~ .nav {
            -moz-transform:translate3d(100%,0,0);
            -webkit-transform:translate3d(100%,0,0);
            transform:translate3d(100%,0,0);
            will-change:transform;
        }

            /* IE9 doesn't get anything particular fancy! */
            .ie9 .menu-icon:not(:checked) ~ .nav {
                display:none;
            }

        /* Deal with the WP admin bar */

        @media (max-width:600px) {
            .logged-in .nav {
                padding-top:56px;
                padding-top:calc(46px + .5em);
            }
        }

        @media (min-width:601px) {
            .logged-in .nav {
                top: 46px; 
            }
        }

        @media (min-width:782px) {
            .logged-in .nav {
                top:32px;
            }
        }

       Inset box shadow (left edge of menu only)
           Recommended using only if .nav has a dark background.
        .nav:after {
            content:"";
            display:block;
            box-shadow: 0 0 60px rgba(0,0,0,0.25);
            position:absolute;
            top:0;
            bottom:0;
            left: -100%;
            width: 100%;
            z-index: -10;
        }

}

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

article h1, article h2, article h3, article h4, article h5, article h6 {
	font-family: "acumin-pro-extra-condensed",sans-serif;
	font-weight:300;
}

article h1 {
    font-size: 1.8em;
	padding-bottom:10px;
	border-bottom:2px solid red;
}

article h2 {
    font-size: 1.4em;
	padding-bottom:5px;
	border-bottom:1px solid red;
}

article h3 {
    font-size: 1.2em;
}

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

article a {
	color:#000;
	text-decoration:underline;
}

article a:hover {
    color:red;
	text-decoration:underline;
}

article h1.MenuHeader {border-top:3px solid red; border-bottom:3px solid red; text-align:center; margin-top:20px;}

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

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

    #colorbox img {
        max-width:none;
    }
    
/* 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, .gallery-caption {
            margin:.35em 1em 0 0;
            padding: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;
		border:3px solid #CCC;
		box-shadow:0 0 10px #CCC;
    }
	
	.gallery img:hover {
		border:3px solid red;
    }

@media (max-width: 350px) {

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

    .gallery img {
        max-width:inherit;
    }

}

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

blockquote:before {
    content: "\00201C";
    font-size: 5em;
    position: absolute;
    left: 0;
    top: -.3em;
    color:#333;
}

/* Definition Lists */

dt {
    display:block;
    margin-top: 0.5em;
    font-weight:bold;
}

    dt:first-child {
        margin-top:0;
    }

dd {
    padding-left:1em;
}

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

tr:nth-child(odd) {background:#CCC;}
	
	
/* Custom Menu - Products 

ul#menu-products, ul#menu-products li {
	margin:0;
	padding:0;
	list-style:none;
	text-indent:0;
	}
	
ul#menu-products {display:flex; flex-flow: row wrap; align-content: flex-start;}

ul#menu-products li {
	width: 30%;
	margin: 10px 1% 10px ;
	border:1px solid #ccc;
	box-shadow: 0 0 10px #CCC;
	border-radius: 10px;
	overflow: hidden;
}

ul#menu-products li:hover {box-shadow: 0 0 20px #CCC, 0 0 10px #888; border:3px solid red;}

ul#menu-products li a {text-align:center; display:block; text-decoration:none;}

.menu-item a.menu-image-title-after.menu-image-not-hovered img, .menu-item a.menu-image-hovered.menu-image-title-after .menu-image-hover-wrapper {padding-right:0!important; padding:0; width:100%;}

ul#menu-products li span.menu-image-title {display:block; padding:10px 0 10px;}

@media (max-width:960px) {
	
	ul#menu-products li {
	width: 48%;
	}
}

@media (max-width:620px) {
	
	ul#menu-products li {
	width: 98%;
	}
	
} */


/* Custom Menu - Products / services Round */

ul#menu-products, ul#menu-products li, ul#menu-products-1, ul#menu-products-1 li, ul#menu-services, ul#menu-services li {
	margin:0;
	padding:0;
	list-style:none;
	text-indent:0;
	}

ul#menu-products, ul#menu-services, ul#menu-products-1 {display:flex; flex-flow: row wrap; align-content: flex-start; justify-content:center;}

ul#menu-products li, ul#menu-services li, ul#menu-products-1 li {
	width: 18%;
	margin: 10px 1% 10px ;
	overflow: hidden;
	text-align:center;
	font-weight: 100;
}

ul#menu-products li a, ul#menu-services li a, ul#menu-products-1 li a {text-decoration:none; color:#000; font-weight: 300;}

.cta1 ul#menu-products li a, .cta1 ul#menu-services li a, .cta1 ul#menu-products-1 li a {text-decoration:none; color:#FFF; font-weight:300;}

ul#menu-products li a:hover, ul#menu-services li a:hover, ul#menu-products-1 li a:hover {text-decoration:none; color:red;}

ul#menu-products li img, ul#menu-services li img, ul#menu-products-1 li img {width:200px; height:200px; border-radius:50%; overflow:hidden; margin:10px auto 10px; /*box-shadow: 0 0 10px #CCC; border:1px solid #ccc;*/ padding:0; display:block;}

ul#menu-products li img:hover, ul#menu-services li img:hover, ul#menu-products-1 li img:hover {border:3px solid red;}


@media (max-width:1300px) {
	
	ul#menu-products li, ul#menu-services li, ul#menu-products-1 li {
	width: 23%;
	}
	
	ul#menu-products li img, ul#menu-services li img, ul#menu-products-1 li img {width:180px; height:180px; border-radius:50%; overflow:hidden; margin:10px auto 10px; box-shadow: 0 0 10px #CCC; border:1px solid #ccc; padding:0;}
}



@media (max-width:960px) {
	
	ul#menu-products li, ul#menu-services li, ul#menu-products-1 li {
	width: 30%;
	}
	
	ul#menu-products li img, ul#menu-services li img, ul#menu-products-1 li img {width:180px; height:180px; border-radius:50%; overflow:hidden; margin:10px auto 10px; box-shadow: 0 0 10px #CCC; border:1px solid #ccc; padding:0;}
}

@media (max-width:760px) {
	
	ul#menu-products li, ul#menu-services li, ul#menu-products-1 li {
	width: 48%;
	}
}

@media (max-width:400px) {
	
	ul#menu-products li, ul#menu-services li, ul#menu-products-1 li {
	width: 98%;
	}
	
} 

.page-template-template-services ul#menu-services li a:hover, .page-template-template-products ul#menu-products li a:hover, .page-template-template-products ul#menu-products-1 li a:hover {text-decoration:none; color:#FFF!important;}

.page-template-template-services ul#menu-services li img:hover, .page-template-template-products ul#menu-products li img:hover, .page-template-template-products ul#menu-products-1 li img:hover {border:3px solid #FFF;}


/* Custom Menu - Services 

ul#menu-services, ul#menu-services li {
	margin:0;
	padding:0;
	list-style:none;
	text-indent:0;
	}
	
ul#menu-services {display:flex; flex-flow: row wrap; align-content: flex-start;}

ul#menu-services li {
	width: 30%;
	margin: 1%;
	border:1px solid #ccc;
	box-shadow: 0 0 10px #CCC;
}

ul#menu-services li:hover {box-shadow: 0 0 20px #CCC, 0 0 10px #888; border:1px solid red;}

ul#menu-services li a {text-align:center; display:block; text-decoration:none;}

.menu-item a.menu-image-title-after.menu-image-not-hovered img, .menu-item a.menu-image-hovered.menu-image-title-after .menu-image-hover-wrapper {padding-right:0!important; padding:0; width:100%;}

ul#menu-services li span.menu-image-title {display:block; padding:10px 0 10px;}

@media (max-width:960px) {
	
	ul#menu-services li {
	width: 48%;
	}
}

@media (max-width:620px) {
	
	ul#menu-services li {
	width: 98%;
	}
	
}*/


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

.FlexBoxFourCol {display:flex; flex-flow: row wrap; align-content: flex-start; list-style:none;}

.FlexBoxFourCol li {width:25%; text-align:center; margin-bottom:20px;}

.FlexBoxFourCol img {max-width:80%; margin:0 auto; border:1px solid #ccc;}

@media (max-width:700px) {
	.FlexBoxFourCol li {width:30%; text-align:center; margin-bottom:20px;}
}

@media (max-width:550px) {
	.FlexBoxFourCol li {width:50%; text-align:center; margin-bottom:20px;}
}


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

.FlexBoxThreeCol {display:flex; flex-flow: row wrap; align-content: flex-start;list-style:none;}

.FlexBoxThreeCol li {width:33%; text-align:center; margin-bottom:20px;}

.FlexBoxThreeCol img {max-width:80%; margin:0 auto; border:1px solid #ccc;}


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

.FlexBoxTwoCol {display:flex; flex-flow: row wrap; align-content: flex-start; list-style:none;}

.FlexBoxTwoCol li {width:50%; text-align:center; margin-bottom:20px;}

.FlexBoxTwoCol img {max-width:80%; margin:0 auto; border:1px solid #ccc;}


/* News */

.news_post_excerpt {
	margin: 1%;
	border:1px solid #ccc;
	box-shadow: 0 0 10px #CCC;	
	padding:0 2%;
	position:relative;
}

a.readmore {position:absolute; bottom:0; right:0; background:#000; color:#FFF; text-decoration:none; padding:3px 10px; font-family: "acumin-pro-extra-condensed", sans-serif; font-weight: 600;}

a.readmore:hover {position:absolute; bottom:0; right:0; background:#F60000; color:#000; text-decoration:none;}

.blog_navigation h2 {font-size:1.3em; border-bottom:2px solid red; padding-bottom:5px;}

.blog_navigation .alignright a, .blog_navigation .alignleft a {background:#000; color:#FFF; text-decoration:none; padding:3px 10px; font-family: "acumin-pro-extra-condensed", sans-serif; font-weight: 600;}

.blog_navigation .alignright a:hover, .blog_navigation .alignleft a:hover { background:#F60000; color:#000; text-decoration:none;}

/* CTA Buttons */

.button, button {
    color: #fff;
    background: #000;
    cursor:pointer;
    font-weight:300;
	border:1px solid #FFF;
    border-radius:3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;  
    padding: .1em .75em .25em;
    text-decoration: none;
	font-family: "acumin-pro-extra-condensed",sans-serif; 
	font-weight:300;
}

    .button:hover, button:hover {
        color:#FFF;
        background:#F60000;
		border:1px solid red;
		text-decoration:none;
    }

    .button--inline {
        display:inline-block;
        padding:.05em .5em .1em;
        line-height:1.3;
        margin:0 .2em;
    }

/* Gravity Forms Style fixes */ 

.gform_wrapper form {
    margin-top: 0;
}

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

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

:root .gform_wrapper .gfield_checkbox li input[type=checkbox],
:root .gform_wrapper .gfield_radio li input[type=radio],
:root .gform_wrapper .gfield_checkbox li label,
:root .gform_wrapper .gfield_radio li label {
    display:inline-block;
    vertical-align:top;
    float:none;
    white-space: normal;
}

    :root .gform_wrapper.gform_wrapper .gfield_checkbox li input[type=checkbox],
    :root .gform_wrapper.gform_wrapper .gfield_radio li input[type=radio] {
        margin-top: .25em;
    }

    :root .gform_wrapper .gfield_checkbox li label {
        margin:0 0 0 .25em;
    }

    :root .gform_wrapper .gfield_radio li label {
        margin:0 0 0 .5em;
    }
    
    :root .gform_wrapper .gfield_checkbox li label,
    :root .gform_wrapper .gfield_radio li label {
        margin-right:1em;
        line-height:1.25;
    }

/* Cut back on vertical spacing! */

:root .gform_wrapper .top_label .gfield_label,
:root .gform_wrapper .field_sublabel_above .gfield_date_day label,
:root .gform_wrapper .field_sublabel_above .gfield_date_month label,
:root .gform_wrapper .field_sublabel_above .gfield_date_year label,
:root .gform_wrapper .field_sublabel_above .gfield_time_ampm label,
:root .gform_wrapper .field_sublabel_above .gfield_time_hour label,
:root .gform_wrapper .field_sublabel_above .gfield_time_minute label,
:root .gform_wrapper .field_sublabel_above .ginput_complex label,
:root .gform_wrapper .field_sublabel_above .instruction {
    margin:.6em 0 .15em;
}

:root .gform_wrapper .ginput_complex label {
    font-size:.85em;
}

:root .gform_wrapper label.gfield_label+div.ginput_container {
    margin-top:0;
}

:root .gform_wrapper .gfield_checkbox li, :root .gform_wrapper .gfield_radio li {
    margin:0 .25em;
    overflow:initial;
    white-space: nowrap;
}

:root .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
 *
 ***************************************************************
 

/* We don't need the home page content so lets hide that for now */

.home .cta-container-lower, .home .main_wrap {display:none;}

.cta {
    width:100%;
    margin: 0;
	color:#FFF;
}

.cta .contentbox {padding:0px 5%; text-align:center;}

.cta h1 {
	font-family: "acumin-pro-extra-condensed",sans-serif; 
	font-weight:300;
	font-size:2.5em
	}

.cta1 {color:#FFF; text-align:center; font-weight:300; padding:0; position:relative; background: #000;}

.cta1Insert {
	width:100%;
	height:80px;
	background-image:url(images/Cta-angles_black_top.png); 
	background-repeat:no-repeat;
	background-position:top center;
	background-color:transparent;
	background-size:cover;
	display:block;
	margin-top:-80px;
	position: relative;
	}

.cta2 {background:url(images/industrial-hero.jpg) center center no-repeat; background-attachment:fixed;  background-size:cover; padding:150px 0 150px; text-shadow:0px 0px 10px #000, 1px 1px 3px #000; position:relative; z-index:0;}


@media (max-width:750px) {
	.cta2 {
		width: 100%!important;
		min-height: 350px;
		background-attachment: scroll!important;
		background-size: cover !important;
		margin-top: -80px;
		position: relative;
		z-index: 0;
		background-repeat: no-repeat !important;
		background-position: center center !important;
}
}

.cta1 .button, .cta2 .button {background:#FFF; border:1px solid #FFF; color:#000; text-shadow:none;}

.cta1 .button:hover, .cta2 .button:hover {background:transparent; color:#FFF; border:1px solid #FFF}	

.cta2:before {
	content:"";
	width:100%;
	height:80px;
	background:transparent url(images/Cta-angles_black.png) top center no-repeat;
	background-size:cover;
	display:block;
	position:absolute;
	top:0;
	}

.cta3 {background:#fff; color:#000; z-index:1; position:relative;}

.cta3Insert {
	width:100%;
	height:80px;
	background-image:url(images/Cta-angles_01.png); 
	background-repeat:no-repeat;
	background-position:top center;
	background-color:transparent;
	background-size:cover;
	display:block;
	margin-top:-100px;
	position: relative;
	}

.cta3:after {
	content:"";
	width:100%;
	height:110px;
	background:url(images/Cta-angles_03_BLACK.jpg) top center no-repeat;
	background-size:cover;
	display:block;
	}

.cta img {width:100%; max-width:600px;}

.cta4 {background:#F60000; color:#FFF;}

.cta4:after {
	content:"";
	width:100%;
	height:110px;
	background:#000 url(images/Cta-angles_05.png) top center no-repeat;
	background-size:cover;
	display:block;
	}
	
.cta3 p:first-of-type {display:inline;}	
	
.cta3 .button {background:#FFF!important; border:1px solid #000!important; color:#000!important;}

.cta3 .button:hover {background:#000!important; color:#FFF!important;}	

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

.contact--widgetcontent, .contact--widgetcontent>li {
    list-style:none;
    margin:0;
    padding:0;
}

.FlexboxCont {display:flex; flex-flow: row wrap; align-content: flex-start;}

.FlexBoxOne, .FlexBoxTwo {width:48%;}

@media (max-width:800px) {
	.FlexBoxOne, .FlexBoxTwo {width:100%;}
}

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


.footer-widgets .gform_wrapper .top_label input.medium, .footer-widgets .gform_wrapper .top_label select.medium {width: 100%;
background: #ccc;}


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

    footer .contentbox {
        padding:1em 5%;
    }

    footer a {
        color:#fff;
    }
			

footer .widgetarea {
    width:33.333%;
    padding: 0 3% 1em 0;
    float: left;
	}
	
footer .widgetarea h2 {	
	font-family: "acumin-pro-extra-condensed",sans-serif; 
	font-weight:300;
	font-size:1.8em;
	border-bottom:1px solid #FFF;
	padding-bottom:10px;
}

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


footer .menu, footer .menu li {
	list-style:none;
    margin:0;
    padding:0;
}

footer .menu li a {color:#FFF; text-decoration:none;}

footer .menu li a:hover {color:red; text-decoration:underline;}

.footer_logo, .footer_logo img {width:300px; margin:0 auto;}

section.credits {
    clear:both;
    color:#FFF;
    padding:1.5em 0 0;
    text-align:center;
	font-size:12px;
}

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

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

section.credits span.divider {color:red;}

/* 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 (max-width:800px) {

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

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

}

@media (max-width:600px) {

	section.credits span.divider {display:none;}
	
		section.credits span.AA {display:block;}


}

article.newspage {margin-top: 170px!important;}