/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media screen {

	/* ---------------- overall style ---------------- */
    
    body {
        margin:0;
        background-color:#fcfcfc;
        font-family: "Lucida Grande", Arial, Verdana, sans-serif;
        color:#444;
        font-size:16px;
        line-height:130%;
    }
    
    h1,h2,h3,h4,h5,h6 {
        line-height:110%;
    }
    
    .site_maxwidth {
        width:100%;
        max-width:1920px;
        margin:0 auto;
    }
    
    .panel_maxwidth {
        width:90%;
        max-width:1280px;
        margin:0 auto;
    }
    
    input {
        font-family: "Lucida Grande", Arial, Verdana, sans-serif;
        font-size:14px;
        color:#444;
    }
    
    select {
        font-family: "Lucida Grande", Arial, Verdana, sans-serif;
        font-size:14px;
        color:#444;
    }
    
    input[type=number] {
        -moz-appearance:textfield;
        -webkit-appearance:textfield;
    }
    
    .ic_button {
        display:inline-block;
        background-color:#666;
        color:#fff;
        font-size:14px;
        font-weight:700;
        line-height:100%;
        padding:12px;
        text-decoration:none;
        border:none;
    }
    
    .ic_button[data-color='green'] {
        background-color:#6CB545;
    }
    
    .ic_button[data-color='black'] {
        background-color:#444;
    }
    
    .ic_button[data-color='lightgrey'] {
        background-color:#EEEEEE;
        color:#444;
    }
    
    .ic_button[data-color='orange'] {
        background-color:#F28920;
    }
    
    .ic_button[data-size='large'] {
        padding:16px;
    }
    
    .ic_button:active {
        box-shadow:inset 1px 1px 8px rgba(0,0,0,0.2);
    }
    
    #contactus {
        display:none;
    }
    
	/* ---------------- header ---------------- */
    
    /* -- mobile header -- */
    
    #header_mobile {
        display:block;
        margin-bottom:32px;
    }
    
    #header_mobile .header_section .inner {
        width:90%;
        max-width:1280px;
        margin:0 auto;
    }
    
    #header_mobile .header_1 {
        border-bottom:1px solid #ccc;
        background-color:#fff;
    }
    
    #header_mobile .header_1 .inner {
        display:table;
    }
    
    #header_mobile .header_1 .inner .left {
        display:table-cell;
        vertical-align:middle;
        padding:16px 0;
    }
    
    #header_mobile .header_1 .inner .right {
        display:table-cell;
        vertical-align:middle;
        text-align:right;
    }
    
    #header_mobile .header_1 .mobile_logo img {
        width:220px;
        height:auto;
    }
    
    #header_mobile .header_2 {
        background-color:#fff;
    }
    
    #header_mobile .header_2 .inner {
        display:table;
    }
    
    #header_mobile .header_2 .inner .left {
        display:table-cell;
        vertical-align:middle;
    }
    
    #header_mobile .header_2 .inner .right {
        display:table-cell;
        vertical-align:middle;
        text-align:right;
        padding:12px 0;
    }
    
    #header_mobile .header_2 .phone_number {
        text-decoration:none;
        color:#444;
        font-weight:700;
        font-size:14px;
        line-height:16px;
    }
    
    #header_mobile .header_2 .cart_link {
        color:#6ab73d;
        font-size:12px;
        line-height:14px;
        text-decoration:none;
        display:inline-block;
        vertical-align:middle;
    }
        
    #header_mobile .header_2 .cart_link img {
        width:auto;
        height:auto;
        max-width:24px;
        max-height:24px;
        display:inline-block;
        vertical-align:middle;
        margin-left:8px;
    }
    
    #header_mobile .header_3 {
        display:none;
        background-color:#fff;
        border-top:1px solid #ccc;
        padding:16px 0;
    }
    
    #header_mobile .header_3.open {
        display:block;
    }
    
    #header_mobile .header_3 ul {
        padding:0;
        margin:0;
    }
    
    #header_mobile .header_3 ul li {
        list-style:none;
    }
    
    #header_mobile .header_3 ul li a {
        display:block;
        padding:4px 0;
        color:#444;
        text-decoration:none;
    }
        
    #header_mobile .header_4 {
        background-color:#363636;
        color:#fff;
    }
    
    #header_mobile .header_4 a {
        color:#fff;
        text-decoration:none;
    }
    
    #header_mobile .header_4 .inner {
        display:table;
    }
    
    #header_mobile .header_4 .inner .left {
        display:table-cell;
        vertical-align:middle;
        font-size:14px;
    }
    
    #header_mobile .header_4 .inner .right {
        display:table-cell;
        vertical-align:middle;
        text-align:right;
    }
    
    #header_mobile .header_4 .products_expand {
        display:inline-block;
        padding:16px 0;
    }
    
    #header_mobile .header_4 .arrow {
        display:inline-block;
        margin-left:4px;
    }
    
    #header_mobile .header_4 .arrow.flip {
        transform:rotate(180deg) translateY(-4px);
    }
    
    #header_search_mobile .box {
        display:inline-block;
    }

    #header_search_mobile .search_input {
        height:30px;
        line-height:30px;
        padding:0 8px;
        width:96px;
        background-color:#363636;
        border:none;
        border-bottom:1px solid #363636;
        color:#fff;
        text-align:right;
    }

    #header_search_mobile .search_input:focus {
        border-color:#6AB73D;
    }

    #header_search_mobile .search_button {
        background-color:#363636;
        color:#fff;
        border:none;
        width:32px;
        height:32px;
        padding:0 8px;
        cursor:pointer;
        font-weight:700;
        background-image:url('/images/icons/icon_search_white.png');
        background-size:16px 16px;
        background-position:center center;
        background-repeat:no-repeat;
    }
    
    #header_search_mobile label {
        display:inline-block;
        vertical-align:middle;
        line-height:32px;
    }
    
    #header_search_mobile label img {
        display:inline-block;
        width:16px;
        height:auto;
        vertical-align:middle;
    }
    
    #header_mobile .header_5 {
        padding:16px 0;
        background-color:#363636;
        color:#fff;
        border-top:1px solid #666;
        display:none;
    }
    
    #header_mobile .header_5.open {
        display:block;
    }
        
    #header_cats_mobile ul {
        padding:0;
        margin:0;
    }
    
    #header_cats_mobile ul li {
        list-style:none;
    }
    
    #header_cats_mobile ul li a {
        display:block;
        color:#fff;
        text-decoration:none;
    }
        
    #header_cats_mobile > ul > li > a {
        padding:8px 0;
        border-bottom:1px dotted #666;
        font-weight:700;
    }
    
    #header_cats_mobile > ul > li:last-child > a {
        border:none;
    }
    
    #header_cats_mobile > ul > li > ul {
        display:none;
        padding:4px 0 8px 16px;
    }
    
    #header_cats_mobile > ul > li.open > ul {
        display:block;
    }
    
    #header_cats_mobile > ul > li.open > a {
        color:#6AB73D;
        color:#89d560;
    }
    
    #header_cats_mobile > ul > li > ul > li > a {
        padding:4px 0;
    }
    
    #header_cats_mobile > ul > li > ul > li.all_in_cat > a {
        color:#999;
    }
    
    #header_cats_mobile > ul > li > ul > li > ul {
        display:none;
        padding:4px 0 4px 16px;
    }
        
    #header_cats_mobile > ul > li > ul > li.open > ul {
        display:block;
    }
    
    #header_cats_mobile > ul > li > ul > li.open > a {
        color:#6AB73D;
        color:#89d560;
    }
    
    #header_cats_mobile > ul > li > ul > li > ul > li > a {
        padding:4px 0;
        font-size:14px;
        color:#ddd;
    }
    
    #header_cats_mobile > ul > li > ul > li > ul > li.all_in_cat > a {
        color:#999;
    }
        
    /* -- desktop header -- */
    
    #header_desktop {
        display:none;
        position:relative;
        width:100%;
        max-width:1920px;
        margin:0 auto;
        z-index:9999;
        margin-bottom:32px;
    }
    
    #header_desktop.cart_header {
        box-shadow:1px 1px 8px rgba(0,0,0,0.1);
    }

    #header_desktop .header_section {

    }

    #header_desktop .header_section .inner {
        width:90%;
        max-width:1280px;
        margin:0 auto;
        display:flex;
		justify-content:space-between;
		align-items:center;
    }

    #header_desktop .header_section .inner > .left {
        display:block;
        text-align:left;
    }

    #header_desktop .header_section .inner > .right {
        display:block;
        text-align:right;
    }
	
	#header_desktop .header_section.header_4 .inner > .right {
		flex:0 0 auto;
	}

    /* - - - - light grey top bar - - - - */

    #header_desktop .header_1 {
        position:relative;
        background-color:#f5f5f5;
        color:#999;
        padding:0;
        font-size:14px;
        z-index:400;
    }

    #header_desktop .header_1 a {
        color:#999;
    }

    #header_desktop .header_1 .left .link {
        display:inline-block;
        color:#666;
        text-decoration:none;
        height:48px;
        line-height:48px;
        padding:0 8px;
    }

    #header_desktop .header_1 .left .link:hover {
        color:#444;
    }

    #header_desktop .header_1 .client_area_dropdown {
        display:inline-block;
    }

    #header_desktop .header_1 .client_area_dropdown:hover .link {
        color:#444;
        background-color:#eee;
    }

    #header_desktop .header_1 .client_area_dropdown ul {
        position:absolute;
        display:none;
        padding:0;
        margin:0;
        width:192px;
        background-color:#eee;
    }

    #header_desktop .header_1 .client_area_dropdown:hover ul {
        display:block;
    }

    #header_desktop .header_1 .client_area_dropdown ul li {
        list-style:none;
        padding:0;
    }

    #header_desktop .header_1 .client_area_dropdown ul li a {
        display:block;
        color:#444;
        padding:8px 16px;
        text-decoration:none;
    }

    #header_desktop .header_1 .client_area_dropdown ul li a:hover {
        background-color:#ddd;
        text-decoration:none;
    }

    #header_desktop .header_1 .client_area_dropdown ul li:first-child a {
        padding-top:16px;
    }

    #header_desktop .header_1 .client_area_dropdown ul li:last-child a {
        padding-bottom:16px;
    }

    #header_desktop .header_1 .right {

    }

    #header_desktop .header_1 .right > ul {
        margin:0;
        padding:0;
    }

    #header_desktop .header_1 .right > ul > li {
        position:relative;
        list-style:none;
        display:inline-block;
        padding:0;
    }

    #header_desktop .header_1 .right > ul > li > a {
        display:inline-block;
        text-decoration:none;
        padding:0 8px;
        height:48px;
        line-height:48px;
    }

    #header_desktop .header_1 .right > ul > li:hover > a {
        color:#444;
        background-color:#eee;
    }

    #header_desktop .header_1 .right > ul > li > ul {
        display:none;
        position:absolute;
        background-color:#eee;
        color:#666;
        text-align:left;
        padding:0;
        margin:0;
        width:240px;
    }

    #header_desktop .header_1 .right > ul > li.wider > ul {
        width:310px;
    }

    #header_desktop .header_1 .right > ul > li:hover > ul {
        display:block;
    }

    #header_desktop .header_1 .right > ul > li > ul > li {
        display:block;
        list-style:none;
        padding:0;
    }

    #header_desktop .header_1 .right > ul > li > ul > li > a {
        display:block;
        text-decoration:none;
        padding:8px 16px;
        line-height:110%;
        color:#444;
    }

    #header_desktop .header_1 .right > ul > li > ul > li > a:hover {
        background-color:#ddd;
    }

    #header_desktop .header_1 .right > ul > li > ul > li:first-child > a {
        padding-top:16px;
    }

    #header_desktop .header_1 .right > ul > li > ul > li:last-child > a {
        padding-bottom:16px;
    }

    /* - - - - white bar with logo - - - - */

    #header_desktop .header_2 {
        position:relative;
        background-color:#fff;
        color:#363636;
        padding:40px 0;
        font-size:16px;
        z-index:300;
    }
	
	#header_desktop .header_2 .top {
		font-size:1.1em;
	}
	
	#header_desktop .header_2 .bot {
		font-size:0.8em;
		color:#666;
		margin:8px 0 0 0;
	}

    #header_desktop .header_2 a {
        color:#363636;
    }

    #header_desktop .header_2 .left .logo img {
        width:400px;
    }

    #header_desktop .header_2 .right .icon_phone {
        width:16px;
        height:auto;
        vertical-align:middle;
    }

    #header_desktop .header_2 .right a {
        font-size:20px;
        font-weight:700;
        text-decoration:none;
    }

    /* - - - - black bar with categories - - - - */

    #header_desktop #header_3_spacer {
        position:relative;
        display:block;
        height:72px;
        z-index:200;
        background-color:#eee;
    }

    #header_desktop .header_3 {
        position:absolute;
        visibility:visible;
        top:0;
        right:0;
        left:0;
        background-color:#363636;
        color:#fff;
        border-bottom:8px solid #6cb545;
        font-size:14px;
        z-index:200;
        transition:opacity 0.3s, visibility 0s 0s;
    }
	
	#header_desktop .header_3 .right {
		flex:0 0 auto;
	}
	
    #header_desktop .header_3 .right a {
        color:#fff;
    }
	#header_desktop .header_3 .cart_link_button {
		display:inline-block;
		line-height:100%;
		padding:8px;
		background-color:#f17b1d;
		color:#fff;
		text-decoration:none;
		font-size:0.8em;
		margin:0 8px 0 0;
	}
	
    #header_desktop .header_3 .cart_link {
        display:inline-block;
        vertical-align:middle;
        text-decoration:none;
    }

    #header_desktop .header_3 .cart_link .cart_total {
        display:inline-block;
        vertical-align:middle;
        font-size:12px;
        margin-right:8px;
    }

    #header_desktop .header_3 .cart_link .cart_number {
        display:inline-block;
        vertical-align:middle;
        background-color:#6CB545;
        color:#fff;
        width:24px;
        height:24px;
        line-height:24px;
        text-align:center;
        border-radius:50%;
        text-shadow:1px 1px 2px rgba(0,0,0,0.5);
        margin-right:8px;
        font-weight:700;
    }

    #header_desktop .header_3 .cart_link img {
        display:inline-block;
        width:24px;
        height:24px;
        vertical-align:middle;
    }

    #header_desktop .header_3 .mid {
        display:none;
        transition:line-height 0.2s;
        vertical-align:middle;
        font-size:14px;
    }

    #header_desktop .header_3 .mid a {
        display:inline-block;
        text-decoration:none;
        margin-left:8px;
        color:#fff;
    }

    #header_desktop .header_3 .mid .icon {
        display:inline-block;
        max-width:24px;
        max-height:16px;
        width:auto;
        height:auto;
        margin-right:4px;
    }

    #header_cats {

    }

    #header_cats a {
        color:#fff;
    }

    #header_cats > ul {
        padding:0;
        margin:0;
    }

    #header_cats > ul > li {
        display:inline-block;
        position:relative;
        list-style:none;
        padding:0;
    }

    #header_cats > ul > li > a {
        display:inline-block;
        text-decoration:none;
        padding:0 8px;
        height:64px;
        line-height:64px;
        transition:height 0.2s, line-height 0.2s;
    }

    #header_cats > ul > li > .divider {
        display:inline-block;
        color:#999;
    }

    #header_cats > ul > li:hover > a {
        color:#89d560;
    }

    #header_cats > ul > li > ul {
        display:none;
        position:absolute;
        background-color:#363636;
        width:384px;
        padding:16px;
        margin:0;
    }

    #header_cats > ul > li:hover > ul {
        display:block;
    }

    #header_cats ul ul a {
        text-decoration:none;
        display:block;
        padding:4px 0;
    }

    #header_cats ul ul a:hover {
        text-decoration:none;
    }

    #header_cats > ul > li > ul > li {
        padding:0;
        list-style:none;
        display:inline-block;
        width:100%;
    }

    #header_cats > ul > li > ul > li > a {
        padding:4px 8px;
    }

    #header_cats > ul > li > ul > li > a {
        color:#fff;
        font-weight:700;
    }

    #header_cats > ul > li > ul > li > a:hover {
        background-color:#eee;
        color:#363636;
    }

    #header_cats > ul > li > ul > li > ul {
        padding:4px 0 4px 8px;
        margin:0 0 32px 0;
    }

    #header_cats > ul > li > ul > li > ul > li {
        padding:0;
        color:#999;
        list-style:none;
        font-size:12px;
    }

    #header_cats > ul > li > ul > li > ul > li > a {
        padding:4px 8px;
    }

    #header_cats > ul > li > ul > li > ul > li > a {
        color:#ddd;
    }

    #header_cats > ul > li > ul > li > ul > li > a:hover {
        background-color:#eee;
        color:#363636;
    }

    /* columns */

    #header_cats > ul > li.col_2 > ul {
        -moz-column-count:2;
        -webkit-column-count:2;
        column-count:2;
        width:512px;
    }

    #header_cats > ul > li.col_3 > ul {
        -moz-column-count:3;
        -webkit-column-count:3;
        column-count:3;
        width:768px;
    }

    #header_cats > ul > li.col_4 > ul {
        -moz-column-count:4;
        -webkit-column-count:4;
        column-count:4;
        width:960px;
    }

    #header_cats > ul > li.col_5 > ul {
        -moz-column-count:5;
        -webkit-column-count:5;
        column-count:5;
        width:1280px;
        max-height:760px;
    }

    #header_cats > ul > li.col_2 > ul > li,
    #header_cats > ul > li.col_3 > ul > li{
        display:inline-block;
        width:100%;
    }

    #header_cats > ul > li.col_2 > ul > li > a,
    #header_cats > ul > li.col_3 > ul > li > a,
    #header_cats > ul > li.col_4 > ul > li > a,
    #header_cats > ul > li.col_5 > ul > li > a {
        /*color:#89d560;*/
    }

    /* fixed */

    #header_desktop .header_3.hidden {
        opacity:0;
        visibility:hidden;
        transition:opacity 0.3s, visibility 0s 0.3s;
    }

    #header_desktop .header_3.hidden.fixed {
        opacity:1;
        visibility:visible;
        transition:opacity 0.3s, visibility 0s 0s;
    }

    #header_desktop .header_3.fixed {
        position:fixed;
        top:0;
        right:0;
        left:0;
        max-width:1920px;
        margin:0 auto;
    }

    #header_desktop .header_3.fixed.small {
        border-bottom-width:0px;
		padding:8px 0;
		height:48px;
		box-sizing:border-box;
    }

    #header_desktop .header_3.fixed.small #header_cats > ul > li > a {
        height:32px;
        line-height:32px;
    }

    #header_desktop .header_3.fixed .left {
        display:none;
    }

    #header_desktop .header_3.fixed .mid {
        display:table-cell;
        line-height:64px;
    }

    #header_desktop .header_3.fixed.small .mid {
        line-height:32px;
    }
	
	#header_desktop .header_3.fixed .mid .phone {
		display:inline-block;
		margin-right:8px;
		font-size:1.2em;
		font-weight:700;
	}
	

    /* - - - - grey bar with links and search - - - - */
	
	#header_desktop #header_4_spacer {
        position:relative;
        display:block;
        height:66px;
        z-index:150;
    }
	
    #header_desktop .header_4 {
        position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
        background-color:#fafafa;
        background: linear-gradient(to bottom, #eee 0%, #fcfcfc 100%);
        padding:16px 0;
        font-size:14px;
        z-index:100;
    }

    #header_desktop .header_4 .promo {
        display:inline-block;
        margin-right:16px;
        text-decoration:none;
        color:#666;
        font-size:12px;
        text-transform:uppercase;
    }

    #header_desktop .header_4 .promo img {
        display:inline-block;
        margin-right:8px;
        width:auto;
        height:auto;
        max-width:20px;
        max-height:16px;
        vertical-align:middle;
    }

    #header_desktop .header_4 .promo:hover {
        color:#444;
        text-decoration:underline;
    }
		
	#header_desktop .header_4 .value_props {
		display:flex;
		justify-content:flex-start;
		margin:0 32px 0 0;
	}
	
	#header_desktop .header_4 .value_props a {
		display:flex;
		flex:1 1 auto;
		align-items:center;
		color:#222;
		font-weight:700;
		text-decoration:none;
		text-transform:uppercase;
		padding:4px 16px;
		border-right:1px solid #ddd;
		font-size:0.8em;
		line-height:120%;
	}
	
	#header_desktop .header_4 .value_props a:first-child {
		padding-left:0;
	}
	
	#header_desktop .header_4 .value_props a:last-child {
		padding-right:0;
		border-right:0;
	}
	
	#header_desktop .header_4 .value_props a .icon {
		margin:0 8px 0 0;
	}
	
	#header_desktop .header_4 .value_props a .icon img {
		display:inline-block;
		width:auto;
		height:auto;
		max-width:24px;
		max-height:24px;
	}
	
	#header_desktop .header_4 .value_props a .text {
		
	}
	
	#header_desktop .header_4.hidden {
		opacity:0;
	}
	
	#header_desktop .header_4.fixed {
		position:fixed;
        top:48px;
        right:0;
        left:0;
		bottom:auto;
        max-width:1920px;
        margin:0 auto;
        box-shadow:2px 2px 8px rgba(0,0,0,0.2);
		padding:0;
		background-color:#f5f5f5;
		background:#f5f5f5;
	}
	
	#header_desktop .header_4.hidden.fixed {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s, visibility 0s 0s;
	}
	
	#header_desktop .header_4.fixed .value_props {
		padding:0;
		justify-content:space-between;
		margin:0;
	}
		
	#header_desktop .header_4.fixed .value_props a {
		font-size:0.8em;
	}
	
	#header_desktop .header_4.fixed .value_props a .icon img {
		max-width:16px;
		max-height:16px;
	}
	
	#header_desktop .header_4.fixed .value_props br {
		display:none;
	}
	
	#header_desktop .header_4.fixed .right {
		display:none;
	}
	
	#header_desktop #header_4_spacer.compact {
		height:48px;
	}
	
	#header_desktop .header_4.compact {
		top:0;
        right:0;
        left:0;
		bottom:auto;
        max-width:1920px;
        margin:0 auto;
        box-shadow:2px 2px 8px rgba(0,0,0,0.2);
		padding:0;
		background-color:#f5f5f5;
		background:#f5f5f5;
	}
	
	#header_desktop .header_4.compact.fixed {
		top:48px;
	}
	
	#header_desktop .header_4.compact .value_props {
		padding:0;
		justify-content:space-between;
		margin:0;
	}
		
	#header_desktop .header_4.compact .value_props a {
		font-size:0.8em;
	}
	
	#header_desktop .header_4.compact .value_props a .icon img {
		max-width:16px;
		max-height:16px;
	}
	
	#header_desktop .header_4.compact .value_props br {
		display:none;
	}
	
	#header_desktop .header_4.compact .right {
		display:none;
	}

    #header_search {
		
    }

    #header_search .box {
        display:inline-block;
    }

    #header_search .search_input {
        height:30px;
        line-height:30px;
        padding:0 8px;
        width:128px;
        background-color:#fff;
        border:1px solid #ccc;
    }

    #header_search .search_input:focus {
        border-color:#666;
    }

    #header_search .search_button {
        background-color:#ccc;
        color:#444;
        border:none;
        width:32px;
        height:32px;
        padding:0 8px;
        cursor:pointer;
        font-weight:700;
        background-image:url('/images/icons/icon_search_white.png');
        background-size:16px 16px;
        background-position:center center;
        background-repeat:no-repeat;
    }

    #header_search .search_button:hover {
        background-color:#6CB545;
    }
	
	.sitewide_messages {
		width:90%;
		margin:32px auto;
		max-width:1280px;
	}
	
	.sitewide_messages .message {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		padding:16px;
		margin:0 0 8px 0;
		text-align:center;
	}
	
	.sitewide_messages .message .icon {
		margin:0 0 8px 0;
	}
	
	.sitewide_messages .message .icon img {
		width:auto;
		height:auto;
		max-width:32px;
		max-height:32px;
	}
	
	.sitewide_messages .message .description {
		
	}
	
	.sitewide_messages .message p {
		margin:8px 0;
	}
	
	.sitewide_messages .message p:first-child {
		margin-top:0;
	}
	
	.sitewide_messages .message p:last-child {
		margin-bottom:0;
	}
    
	/* ---------------- footer ---------------- */
    
    #footer_2017 {
        width:100%;
        max-width:1920px;
        margin:32px auto 0 auto;
    }

    #footer_2017 .footer_section .footer_inner {
        width:90%;
        max-width:1280px;
        margin:0 auto;
    }
    
    /* -- light grey section with form -- */

    #footer_2017 .footer_top {
        background-color:#EEEEEE;
        padding:32px 0;
    }
	
	#footer_2017 .footer_top h4.headline_green {
		color:#6cb545;
		width:90%;
		max-width:1280px;
		margin:0 auto 16px auto;
		font-size:20px;
	}
    
    #footer_2017 .footer_top .left {
        margin-bottom:32px;
    }
    
    #footer_2017 .footer_top .footer_inner h4 {
        display:table;
        width:100%;
        margin:0 0 16px 0;
    }
    
    #footer_2017 .footer_top .footer_inner h4 .icon {
        display:table-cell;
        padding-right:8px;
        vertical-align:middle;
    }
    
    #footer_2017 .footer_top .footer_inner h4 .icon img {
        height:24px;
        width:auto;
    }
    
    #footer_2017 .footer_top .footer_inner h4 .text {
        display:table-cell;
        vertical-align:middle;
    }
    
    #footer_2017 .footer_top p {
        margin:0.6em 0;
        font-size:14px;
        line-height:130%;
    }
    
    #footer_2017 .footer_top p.small {
        font-size:12px;
        color:#999;
    }

    #footer_2017 .footer_top .email_link {
        display:inline-block;
        text-decoration:none;
        color:#999;
    }
    
    #footer_2017 form {
        
    }
    
    #footer_2017 form .form_row {
        
    }
    
    #footer_2017 form .form_row:before,
    #footer_2017 form .form_row:after {
        display:table;
        content:'';
        clear:both;
    }
    
    #footer_2017 form .form_row .field {
        margin-bottom:12px;
    }
    
    #footer_2017 form label {
        display:inline-block;
        font-size:14px;
        margin-bottom:2px;
    }
    
    #footer_2017 form label .req {
        color:#6AB73D;
    }
    
    #footer_2017 form input[type='text'],
    #footer_2017 form input[type='email'],
    #footer_2017 form input[type='tel'],
    #footer_2017 form input[type='number'],
    #footer_2017 form input[type='password'] {
        box-sizing:border-box;
        width:100%;
        height:40px;
        padding:0 8px;
        border:1px solid #ccc;
        border-bottom-width:2px;
        background-color:#fff;
        color:#444;
        font-size:14px;
    }

    #footer_2017 form input[type='text']:focus,
    #footer_2017 form input[type='email']:focus,
    #footer_2017 form input[type='tel']:focus,
    #footer_2017 form input[type='number']:focus,
    #footer_2017 form input[type='password']:focus {
        border-color:#666;
    }

    #footer_2017 form input[type='text']:invalid,
    #footer_2017 form input[type='email']:invalid,
    #footer_2017 form input[type='tel']:invalid,
    #footer_2017 form input[type='number']:invalid,
    #footer_2017 form input[type='password']:invalid {
        border-bottom-color:#ccc;
        box-shadow:none;
        outline:none;
    }

    #footer_2017 form input[type='text']:invalid:focus,
    #footer_2017 form input[type='email']:invalid:focus,
    #footer_2017 form input[type='tel']:invalid:focus,
    #footer_2017 form input[type='number']:invalid:focus,
    #footer_2017 form input[type='password']:invalid:focus {
        border-bottom-color:#666;
    }

    #footer_2017 form input[required][type='text']:valid,
    #footer_2017 form input[required][type='email']:valid,
    #footer_2017 form input[required][type='tel']:valid,
    #footer_2017 form input[required][type='number']:valid,
    #footer_2017 form input[required][type='password']:valid {
        border-bottom-color:#6CB545;
        box-shadow:none;
        outline:none;
    }
    
    #footer_2017 form textarea {
        box-sizing:border-box;
        width:100%;
        height:96px;
        padding:12px;
        resize:vertical;
        background-color:#fff;
        border:1px solid #ccc;
        border-bottom-width:2px;
        font-size:14px;
        font-family:"Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
    }

    #footer_2017 form textarea:focus {
        border-color:#666;
    }

    #footer_2017 form textarea:invalid {
        border-bottom-color:#ccc;
        outline:none;
        box-shadow:none;
    }

    #footer_2017 form textarea:invalid:focus {
        border-bottom-color:#666;
    }

    #footer_2017 form textarea[required]:valid {
        border-bottom-color:#6CB545;
    }

    /*
    #footer_2017 form input[type='submit'] {
        padding:12px;
        border:none;
        background-color:#6CB545;
        color:#fff;
        font-size:14px;
        font-weight:500;
        text-transform:uppercase;
        cursor:pointer;
    }
    
    #footer_2017 form input[type='submit']:active {
        background-color:#629F42;
    }
    */
    
    /* -- white bar with client logos -- */
    
    #footer_2017 .footer_logos {
        background-color:#fff;
        padding:32px 0;
        text-align:center;
    }
    
    #footer_2017 .footer_logos img {
        max-width:100%;
    }
    
    #footer_2017 .footer_logos .logo_heading {
        font-size:16px;
        font-weight:700;
        color:#666;
    }
    
    #footer_2017 .footer_logos .left {
        margin-bottom:32px;
    }
    
    #footer_2017 .footer_logos .left img {
        max-width:30%;
    }
    
    #footer_2017 .footer_logos .right .logo_heading {
        margin-bottom:16px;
    }
    
    #footer_2017 .footer_logos .right img {
        width:80%;
        max-width:360px;
    }
    
    /* -- black bar with links -- */
    
    #footer_2017 .footer_bot {
        background-color:#363636;
        padding:32px 0;
        color:#fff;
        font-size:14px;
    }

    #footer_2017 .footer_bot a {
        display:inline-block;
        color:#fff;
        text-decoration:none;
    }
    
    /* -- chat box -- */
        
    #contact_button {
        display:inline-block;
        position:fixed;
        right:8px;
        bottom:8px;
        padding:8px 12px;
        background-color:#f06f1a;
        /*background:linear-gradient(135deg, #f28920 0%, #f06f1a 100%);*/
        color:#fff;
        font-weight:700;
        text-decoration:none;
        box-shadow:2px 2px 8px rgba(0,0,0,0.2);
        /*border-top-left-radius:4px;
        border-top-right-radius:4px;*/
        transition:opacity 0.1s, background-color 0.1s;
        font-size:12px;
    }
    
    #contact_button:active {
        box-shadow:inset 2px 2px 4px rgba(0,0,0,0.2);
    }
    
    #contact_button.faded {
        background-color:#666;
        opacity:0.25;
        transition:opacity 2s, background-color 2s;
    }
    
    #contact_button img {
        display:inline-block;
        vertical-align:middle;
        height:16px;
        margin-left:4px;
    }
    
    #contact_popup,
    #quote_popup {
        max-width:600px;
        padding:32px;
    }
    
    .popup_form .heading {
        margin:0 0 16px;
        font-size:24px;
        text-align:center;
		font-weight:700;
    }
    
    .popup_form .intro {
        margin:16px 0 24px 0;
        font-size:18px;
        line-height:130%;
        text-align:center;
    }
    
    .popup_form .row {
        margin-bottom:16px;
    }
    
    .popup_form label {
        display:block;
        margin-bottom:4px;
        color:#666;
    }
    
    .popup_form label .req {
        color:#7DC656;
    }
    
    .popup_form input[type='text'],
    .popup_form input[type='email'],
    .popup_form input[type='tel'] {
        box-sizing:border-box;
        width:100%;
        border:1px solid #ccc;
        height:40px;
        line-height:40px;
        padding:0 12px;
        font-size:16px;
        border-bottom:2px solid #ccc;
        font-family:"Lucida Grande", Arial, Verdana, sans-serif;
    }
    
    .popup_form input[type='text']:focus,
    .popup_form input[type='email']:focus,
    .popup_form input[type='tel']:focus {
        border-color:#666;
    }
    
    .popup_form input[type='text'][required]:valid,
    .popup_form input[type='email'][required]:valid,
    .popup_form input[type='tel'][required]:valid {
        border-bottom-color:#7DC656;
    }
    
    .popup_form input[type='text'][required]:invalid,
    .popup_form input[type='email'][required]:invalid,
    .popup_form input[type='tel'][required]:invalid {
        box-shadow:none;
    }
    
    .popup_form textarea {
        box-sizing:border-box;
        width:100%;
        min-height:128px;
        border:1px solid #ccc;
        border-bottom:2px solid #ccc;
        padding:12px;
        font-size:16px;
        font-family:"Lucida Grande", Arial, Verdana, sans-serif;
        max-width:100%;
        resize: vertical;
    }
    
    .popup_form textarea:focus {
        border-color:#666;
    }
    
    .popup_form textarea:valid {
        border-bottom-color:#7DC656;
    }
    
    .popup_form textarea:invalid {
        box-shadow:none;
    }
    
    .popup_form select {
        box-sizing:border-box;
        width:100%;
        height:40px;
        border:none;
        border:1px solid #ccc;
    }
    
    .popup_form select:focus {
        border-color:#666;
    }
        
    .popup_form input[type='submit'] {
        border:none;
        padding:12px 16px;
        background-color:#f06f1a;
        background:linear-gradient(135deg, #f28920 0%, #f06f1a 100%);
        color:#fff;
        font-weight:700;
        font-size:16px;
        text-decoration:none;
    }
    
    .popup_form .product_details {
        
    }
    
    .popup_form .product_details .inner {
        display:table;
        width:100%;
    }
    
    .popup_form .product_details .image {
        display:table-cell;
        vertical-align:middle;
        width:40px;
    }
    
    .popup_form .product_details .image img {
        width:40px;
        height:auto;
    }
    
    .popup_form .product_details .text {
        display:table-cell;
        vertical-align:middle;
        padding:0 0 0 16px;
    }
    
    .popup_form .product_details .text .code {
        font-size:12px;
        color:#999;
    }
    
    .popup_form .product_details .text .name {
        font-size:18px;
        color:#444;
        font-weight:700;
    }
    
    .popup_form .product_details .qty {
        
    }
    
    .popup_form .product_details .qty label {
        display:inline-block;
    }
    
    .popup_form .product_details .qty input {
        display:inline-block;
        width:40px;
        height:32px;
        line-height:32px;
        padding:0 8px;
    }
    
    #addtocart_popup {
        text-align:center;
    }
    
    #addtocart_popup .row {
        margin:0;
    }
	
	.quote_form_static {
		max-width:512px;
		margin:32px auto;
	}
    
	/* ---------------- home ---------------- */
    
    .home_text_content {
		display:flex;
		flex-direction:column;
		margin:-8px;
    }
	
	.home_text_content .column {
		margin:8px;
	}
	
	.home_text_content h3 {
		font-size:20px;
		font-weight:500;
	}
    
    .home_text_content p {
        color:#666;
        font-size:16px;
        line-height:140%;
        margin:24px 0;
    }
	
	.home_headline {
		display:flex;
		flex-direction:column;
		margin:0 0 24px 0;
	}
	
	.home_headline h1 {
		font-size:24px;
		margin:0 0 8px 0;
		color:#222;
		line-height:90%;
	}
	
	.home_headline h2 {
		font-size:16px;
		margin:0;
		color:#999;
		font-weight:500;
		line-height:100%;
	}
    
    /* ---------------- shop pages ---------------- */
    
    .shop_content_container {
        
    }
    
    /* -- heading -- */
    
    .catalog_heading {
        margin:0 0 48px 0;
    }
    
    .catalog_heading h1 {
        margin:0 16px 8px 0;
        display:inline-block;
        vertical-align:middle; 
    }
    
    .catalog_heading h1 a {
        color:#323232;
        text-decoration:none;
    }
    
    .catalog_heading .view_products {
        display:inline-block;
        vertical-align:middle;
        color:#999;
        text-decoration:none;
        border:1px solid #eee;
        line-height:100%;
        padding:8px;
        font-size:14px;
    }
        
    /* -- breadcrumb -- */
    
    .shop_breadcrumb {
        /*border-top:1px solid #eee;
        border-bottom:1px solid #eee;*/
        background-color:#f5f5f5;
        color:#999;
        font-size:14px;
        padding:16px;
        margin:0 0 48px 0;
    }
    
    .shop_breadcrumb a {
        color:#999;
        text-decoration:none;
    }
	
	.shop_breadcrumb.flex {
		display:flex;
		flex-direction:column;
	}
	
	.shop_breadcrumb.flex .left {
		margin-bottom:12px;
	}
	
	.shop_breadcrumb.flex .left a:last-child {
		color:#666;
		font-weight:700;
	}
    
    /* -- list containers -- */
    
    .list_container {
        margin:0 0 48px 0;
    }
        
    .list_container .list_heading h2 {
        color:#6CB545;
        text-transform:uppercase;
        font-weight:500;
        margin:0 0 16px 0;
        font-size:20px;
    }
    
    .list_container .list_heading .table_div {
        display:flex;
        width:100%;
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
    }
    
    .list_container .list_heading.cols .table_div .left,
    .list_container .list_heading.cols .table_div .mid,
    .list_container .list_heading.cols .table_div .right {
        padding:24px 0;
    }
    
    .list_container .list_heading.cols h2 {
        margin:0;
    }
    
    .list_container .list_heading .table_div .left {
        padding-right:16px;
		width:100%;
    }
    
    .list_container .list_heading.cols .table_div .mid {
        text-align:right;
		width:50%;
    }
    
    .list_container .list_heading.cols .table_div .mid label {
        font-size:10px;
        display:inline-block;
    }
    
    .list_container .list_heading .table_div .right {
        text-align:right;
    }
    
    .list_container .list_heading .view_options {
        width:200px;
        display:none;
    }
    
    .list_container .list_heading .view_options a {
        display:inline-block;
        vertical-align:middle;
        color:#666;
        background-color:#eee;
        padding:8px;
        font-size:12px;
        margin:2px;
    }
    
    .list_container .list_heading .view_options a:active {
        box-shadow:inset 1px 1px 4px rgba(0,0,0,0.2);
    }
    
    .list_container .list_heading .view_options a.active {
        background-color:#6CB545;
        color:#fff;
    }
    
    .list_container .list_heading .view_options a .icon {
        display:inline-block;
        vertical-align:middle;
        width:12px;
        height:12px;
        margin-right:8px;
        background-size:contain;
        background-position:center center;
    }
    
    .list_container .list_heading .view_options a .text {
        display:inline-block;
        vertical-align:middle;
    }
    
    .list_container .list_heading .view_options a.list_view .icon {
        background-image:url('/images/icons/icon_list_grey.png');
    }
    
    .list_container .list_heading .view_options a.list_view.active .icon {
        background-image:url('/images/icons/icon_list_white.png');
    }
    
    .list_container .list_heading .view_options a.grid_view .icon {
        background-image:url('/images/icons/icon_grid_grey.png');
    }
    
    .list_container .list_heading .view_options a.grid_view.active .icon {
        background-image:url('/images/icons/icon_grid_white.png');
    }
    
    /* -- product list -- */
    
    /* default list view */
        
    .product_list {
        
    }
    
    .product_list > ul {
        padding:0;
        margin:0;
    }
    
    .product_list > ul > li {
        list-style:none;
        padding:0;
        margin:0;
    }
    
    .product_list_item {
        background-color:#fff;
        box-shadow:2px 2px 8px rgba(0,0,0,0.1);
        margin:0 0 32px 0;
    }
    
    .product_list_item .image {
        width:192px;
        margin:0 auto;
    }
    
    .product_list_item .image a {
        display:block;
        height:192px;
        line-height:192px;
        padding:16px;
        text-align:center;
        vertical-align:middle;
    }
    
    .product_list_item .image a img {
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
        vertical-align:middle;
    }
    
    .product_list_item .text {
		display:block;
        padding:24px;
        border-top:1px solid #eee;
        border-bottom:1px solid #eee;
		color:#444;
		text-decoration:none;
    }
    
    .product_list_item .text .h3 {
        margin:0 0 16px 0;
        font-size:18px;
        line-height:120%;
		font-weight:700;
    }
    
    .product_list_item .text .h3 a {
        color:#444;
        text-decoration:none;
    }
    
    .product_list_item .text .excerpt {
        margin:16px 0;
        font-size:14px;
        line-height:130%;
    }
    
    .product_list_item .text .excerpt p {
        margin:8px 0;
    }
    
    .product_list_item .readmore {
        margin:16px 0 0 0;
    }
    
    .product_list_item .readmore .a {
        display:inline-block;
        border:1px solid #6CB545;
        color:#6CB545;
        line-height:100%;
        padding:12px 16px;
        text-decoration:none;
        font-size:14px;
        text-transform:uppercase;
    }
    
    .product_list_item .readmore .a:active {
        box-shadow:inset 1px 1px 4px rgba(0,0,0,0.2);
    }
    
    .product_list_item .buy {
        padding:24px;
        color:#444;
    }
    
    .product_list_item .buy .price {
        padding:0 0 16px 0;
        border-bottom:1px solid #eee;
    }
    
    .product_list_item .buy .price .was {
        color:#999;
        text-decoration:line-through;
        font-size:14px;
    }
    
    .product_list_item .buy .price .ex_gst {
        font-size:14px;
        font-weight:700;
        margin-bottom:4px;
    }
    
    .product_list_item .buy .price .ex_gst .large {
        font-size:20px;
    }
    
    .product_list_item .buy .price .inc_gst {
        font-size:12px;
        color:#ccc;
    }
    
    .product_list_item .buy .price .inc_gst .large {
        font-size:14px;
    }
    
    .product_list_item .buy .stock {
        padding:16px 0;
        border-bottom:1px solid #eee;
        vertical-align:middle;
        line-height:115%;
    }
    
    .product_list_item .buy .stock .table_div {
        display:table;
        width:100%;
    }
    
    .product_list_item .buy .stock .stock_number {
        font-size:16px;
    }
    
    .product_list_item .buy .stock .stock_message {
        font-size:12px;
    }
    
    .product_list_item .buy .stock .quote_message {
        font-size:14px;
    }
    
    .product_list_item .buy .stock .table_div .left {
        display:table-cell;
        vertical-align:middle;
        padding-right:12px;
        width:16px;
    }
    
    .product_list_item .buy .stock .table_div .right {
        display:table-cell;
        vertical-align:middle;
    }
    
    .product_list_item .buy .stock img {
        width:auto;
        height:auto;
        max-width:16px;
        max-height:16px;
    }
    
    .product_list_item .buy .add_to_cart {
        padding:16px 0 0 0;
    }
    
    .product_list_item .buy .add_to_cart .table_div {
        display:table;
        width:100%;
    }
    
    .product_list_item .buy .add_to_cart .left {
        display:table-cell;
        width:48px;
        padding-right:8px;
        vertical-align:top;
    }
    
    .product_list_item .buy .add_to_cart .left input {
        width:100%;
        height:40px;
        line-height:40px;
        padding:0 4px;
        border:1px solid #999;
        box-sizing:border-box;
        font-size:16px;
        font-weight:700;
        text-align:center;
    }
    
    .product_list_item .buy .add_to_cart .right {
        display:table-cell;
        vertical-align:top;
    }
    
    .product_list_item .buy .add_to_cart .right input,
    .product_list_item .buy .add_to_cart .right a {
        position:relative;
        height:40px;
        line-height:40px;
        padding:0 16px 0 40px;
        border:none;
        background-color:#f06f1a;
        background: url('/images/icons/icon_cart_white.png'), linear-gradient(135deg, #f28920 0%, #f06f1a 100%);
        background-size:auto 16px, auto auto;
        background-position:12px 12px, center center;
        background-repeat:no-repeat, no-repeat;
        color:#fff;
        text-transform:uppercase;
        font-weight:700;
        font-size:14px;
        box-sizing:border-box;
        text-align:right;
        cursor:pointer;
        border-radius:0;
    }
    
    .product_list_item .buy .add_to_cart .right a {
        background:none;
        background-color:#6CB545;
        padding:0 24px;
    }
    
    .product_list_item .buy .add_to_cart .right input:active {
        box-shadow:inset 1px 1px 4px rgba(0,0,0,0.2);
    }
    
    
    
    /* -- pagination -- */
    
    .product_pagination {
        margin-top:32px;
    }
    
    .product_pagination a,
    .product_pagination .pagination span.number,
    .product_pagination .pagination span.dots {
        display:inline-block;
        background-color:#666;
        line-height:100%;
        padding:12px;
        margin:0 4px 0 0;
        text-decoration:none;
        color:#fff;
    }
    
    .product_pagination .pagination {
        display:inline-block;
    }
    
    .product_pagination .pagination span.number {
        color:#fff;
        background-color:#999;
    }
    
    .product_pagination .pagination span.dots {
        background-color:transparent;
        color:#444;
    }
    
    /* -- category list -- */
    
    .catalog_list > ul {
        padding:0;
        margin:0;
    }
    
    .catalog_list > ul > li {
        list-style:none;
        padding:0;
        margin:0;
    }
    
    .catalog_list .catalog_list_item {
        display:block;
        background-color:#fff;
        box-shadow:2px 2px 8px rgba(0,0,0,0.1);
        margin:0 0 8px 0;
        color:#444;
        text-decoration:none;
    }
    
    .catalog_list .catalog_list_item .table_div {
        display:table;
        width:100%;
    }
    
    .catalog_list .catalog_list_item .image {
        display:table-cell;
        vertical-align:middle;
        text-align:center;
        width:64px;
        height:64px;
        border-right:1px solid #eee;
    }
    
    .catalog_list .catalog_list_item .image img {
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
        vertical-align:top;
    }
    
    .catalog_list .catalog_list_item .text {
        display:table-cell;
        vertical-align:middle;
        padding:16px;
        height:38px;
    }
    
    .catalog_list .catalog_list_item .text h3 {
        font-size:18px;
        margin:0;
        font-weight:500;
    }
    
    /* -- product detail -- */
    
    .product_detail > ul {
        padding:0;
        margin:0;
    }
    
    .product_detail > ul > li {
        list-style:none;
        padding:0;
        margin:0;
    }
    
    .product_detail_top {
        margin-bottom:32px;
    }
    
    .product_detail_top .product_images {
        margin-bottom:32px;
    }
    
    .product_detail_top .product_images .images_container {
        background-color:#fff;
        border:1px solid #ddd;
    }
    
    .product_detail_top .product_images .large_image {
        display:block;
        background-color:#fff;
        border-bottom:1px solid #ddd;
        text-align:center;
    }
    
    .product_detail_top .product_images .large_image img {
        width:auto;
        height:auto;
        max-width:100%;
        max-height:256px;
    }
    
    .product_detail_top .product_images .thumbnails {
        background-color:#eee;
        height:84px;
        overflow:hidden;
        overflow-x:scroll;
    }
    
    .product_detail_top .product_images .thumbnails .inner {
        height:64px;
        margin:4px;
    }
    
    .product_detail_top .product_images .thumbnails a {
        display:inline-block;
        width:64px;
        height:64px;
        background-color:#fff;
        margin:0 4px 0 0;
    }
    
    .product_detail_top .product_images .thumbnails a:last-child {
        margin:0;
    }
    
    .product_detail_top .product_images .thumbnails a img {
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
        vertical-align:top;
    }
    
    .product_detail_top .product_purchase_info {
        
    }
    
    .product_detail_top .product_heading {
        margin:0 0 32px 0;
    }
    
    .product_detail_top .product_heading h1 {
        margin:0 0 16px 0;
        font-size:20px;
    }
    
    .product_detail_top .product_heading .product_code {
        font-size:14px;
    }
    
    .product_detail_top .product_heading .product_intro {
        font-size:14px;
    }
    
    .product_detail_top .product_purchase_box {
        background-color:#fff;
        box-shadow:2px 2px 8px rgba(0,0,0,0.1);
        padding:24px;
        margin-bottom:32px;
    }
    
    .product_detail_top .stock_info {
        padding-bottom:16px;
        margin-bottom:16px;
        border-bottom:1px solid #ddd;
    }
    
    .product_detail_top .stock_info .item {
        display:table;
        width:100%;
        font-size:14px;
    }
    
    .product_detail_top .stock_info .item .icon {
        display:table-cell;
        vertical-align:top;
        width:32px;
    }
	
	.product_detail_top .stock_info a.item {
		display:block;
		color:#444;
		text-decoration:none;
	}
    
    .product_detail_top .stock_info .item .icon img {
        width:auto;
        height:auto;
        max-width:24px;
        max-height:24px;
        padding-right:8px;
    }
	
	.product_detail_top .stock_info .item.warranty .icon img {
		max-width:22px;
		max-height:22px;
	}
	
	#bonus_warranty_info_popup {
		width:90%;
		height:auto;
		max-width:1024px;
		min-height:512px;
	}
    
    .product_detail_top .stock_info .item .text {
        display:table-cell;
        vertical-align:top;
        padding-bottom:16px;
    }
    
    .product_detail_top .stock_info .item:last-child .text {
        padding-bottom:0;
    }
	
	.product_detail_top .stock_info .item.strong .text {
		font-size:1.2em;
		font-weight:700;
	}
    
    .product_detail_top .stock_info .item .text .stock_question {
        display:inline-block;
        vertical-align:middle;
        margin-left:4px;
        cursor:help;
        margin-top:-2px;
    }
    
    .product_detail_top .variations {
        padding-bottom:16px;
        margin-bottom:16px;
        border-bottom:1px solid #ddd;
        font-size:14px;
    }
	
	.product_detail_top .buy_info .table_div {
		display:flex;
		flex-direction:column;
	}
	
	.product_detail_top .buy_info .table_div .left {
		margin:0 0 16px 0;
	}
    
    .product_detail_top .buy_info {
        
    }
    
    .product_detail_top .buy_info .price {
        margin-bottom:16px;
    }
    
    .product_detail_top .buy_info .price_was {
        font-size:14px;
        text-decoration:line-through;
        color:#999;
        margin-bottom:8px;
    }
    
    .product_detail_top .buy_info .price_ex_gst {
        font-size:14px;
    }
    
    .product_detail_top .buy_info .price_ex_gst .big {
        font-size:18px;
        font-weight:700;
    }
    
    .product_detail_top .buy_info .price_inc_gst {
        font-size:12px;
        color:#999;
    }
    
    .product_detail_top .buy_info .price_inc_gst .big {
        font-size:16px;
    }
	
	.product_detail_top .volume_pricing {
		margin:16px 0;
	}
	
	.product_detail_top .volume_pricing .top {
		display:inline-block;
		color:#6cb545;
		text-decoration:none;
	}
	
	.product_detail_top .volume_pricing .top:after {
		display:inline-block;
		content:'▼';
		font-size:8px;
		margin-left:4px;
	}
	
	.product_detail_top .volume_pricing.open .top:after {
		content:'▲';
	}
	
	.product_detail_top .volume_pricing ul {
		display:none;
		padding:0;
		margin:4px 0;
	}
	
	.product_detail_top .volume_pricing.open ul {
		display:block;
	}
	
	.product_detail_top .volume_pricing ul li {
		list-style:none;
	}
	
	.product_detail_top .volume_pricing ul li .unit {
		display:inline-block;
		margin-right:8px;
		font-weight:700;
		color:#444;
	}
	
	.product_detail_top .volume_pricing ul li .price {
		display:inline-block;
		color:#666;
		margin:0;
	}
	
	.product_detail_top .volume_pricing ul li .price .small {
		font-size:10px;
	}
    
    .product_detail_top .buy_info .add_to_cart {
        
    }
    
    .product_detail_top .buy_info .add_to_cart input[type='number'] {
        width:40px;
        height:38px;
        line-height:38px;
        border:1px solid #ccc;
        padding:0 8px;
        vertical-align:top;
        font-size:16px;
    }
    
    .product_detail_top .buy_info .add_to_cart a {
        color:#fff;
        text-decoration:none;
    }
    
    .product_detail_top .buy_info .add_to_cart input[type='submit'] {
        vertical-align:top;
        height:40px;
        padding:0 16px;
        border:none;
        background-color:#f17b1d;
        background: linear-gradient(135deg, #f28920 0%, #f06f1a 100%);
        font-weight:500;
        font-size:14px;
        color:#fff;
        text-transform:uppercase;
        cursor:pointer;
        border-radius:0;
    }
	    
    .product_detail_top .buy_info .add_to_cart .quote_popup_button {
        padding:12px 16px;
    }
    
    .product_detail_top .product_top_extras {
        
    }
    
    .product_detail_top .product_top_extras .left {
        margin-bottom:16px;
    }
    
    .product_detail_top .product_top_extras .left img {
        display:inline-block;
        width:auto;
        height:auto;
        max-width:16px;
        max-height:16px;
    }
	
	.product_detail_top .product_review {
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		background-color:#fff;
		margin:0 0 48px 0;
	}
	
	.product_detail_top .product_review .top {
		display:flex;
		flex-direction:column;
		background-color:#363636;
		color:#fff;
		padding:24px;
	}
	
	.product_detail_top .product_review .top .left {
		margin:0 0 12px 0;
	}
	
	.product_detail_top .product_review .top .right {
		
	}
	
	.product_detail_top .product_review .top .right a {
		color:#fff;
		text-decoration:none;
		font-weight:700;
	}
	
	.product_detail_top .product_review .top .right img {
		display:inline-block;
		vertical-align:middle;
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		margin:0 8px 0 0;
	}
	
	.product_detail_top .product_review .bot {
		background-color:#fff;
		display:flex;
		flex-direction:column;
		padding:24px;
	}
	
	.product_detail_top .product_review .bot .left {
		display:none;
		margin:0 0 16px 0;
	}
	
	.product_detail_top .product_review .smile {
		width:auto;
		height:auto;
		max-width:64px;
		max-height:64px;
	} 
	
	.product_detail_top .product_review .bot .right {
		
	}
	
	.product_detail_top .product_review .stars_wrap {
		margin:0 0 24px 0;
	}
	
	.product_detail_top .product_review .stars {
		display:flex;
		max-width:160px;
	}
	
	.product_detail_top .product_review .person_top {
		display:none;
	}
	
	.product_detail_top .product_review .stars .star {
		display:inline-block;
		width:auto;
		height:auto;
		margin:0 4px 0 0;
		max-width:24px;
		max-height:24px;
	}
	
	.product_detail_top .product_review .quote {
		font-size:1.1em;
		font-style:italic;
		margin:0 0 12px 0;
	}
		
	.product_detail_top .product_review .person {
		
	}
	
	.product_detail_top .product_review .person .name {
		font-weight:700;
	}
	
	.product_detail_top .product_review .person .date {
		color:#999;
	}
	    
    .product_detail_bot .tabs {
        display:none;
    }
    
    .product_detail_bot .tabs .tab {
        display:inline-block;
        border-top-left-radius:8px;
        border-top-right-radius:8px;
        background-color:#E5E5E5;
        color:#444;
        padding:12px;
        text-decoration:none;
        font-size:14px;
        margin:4px 4px 0 0;
    }
    
    .product_detail_bot .tabs .tab.active {
        background-color:#6CB545;
        color:#fff;
    }
        
    .product_detail_bot .panels {
        border-top:4px solid #6CB545;
    }
	
	.product_detail_bot .panels img {
		max-width:100%;
		height:auto;
	}
	
	.product_detail_bot .panels .mobile_panel_toggle {
		display:none;
	}
	
	.product_detail_bot .panels.compact_mobile .mobile_panel_toggle {
		display:flex;
		justify-content:space-between;
		background-color:#fff;
		padding:16px;
		margin:0 0 8px 0;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		color:#222;
		font-weight:700;
		text-decoration:none;
	}
	
	.product_detail_bot .panels.compact_mobile .mobile_panel_toggle:after {
		position:relative;
		display:inline-block;
		content:'+';
		text-align:right;
	}
	
	.product_detail_bot .panels.compact_mobile .mobile_panel_toggle.open:after {
		content:'-';
	}
	
	.product_detail_bot .panels.compact_mobile .panel {
		display:none;
	}
	
	.product_detail_bot .panels.compact_mobile .panel.open {
		display:block;
	}
    
    .product_detail_bot .panel {
        display:block;
        padding:16px;
        background-color:#fff;
        box-shadow:2px 2px 8px rgba(0,0,0,0.1);
        margin-bottom:16px;
    }
        
    .product_detail_bot .panel .h2 {
        margin:0 0 16px 0;
		font-weight:700;
		font-size:24px;
		line-height:105%;
    }
	
	/* ---- product shipping options ---- */
	
	.product_shipping_options {
		
	}
	
	.product_shipping_options .option {
		background-color:#fcfcfc;
		border:1px solid #6cb545;
		padding:16px;
		margin-bottom:16px;
	}
	
	.product_shipping_options .option .option_headline {
		font-size:1.2em;
		font-weight:700;
		margin:-16px -16px 16px -16px;
		background-color:#6cb545;
		color:#fff;
		padding:16px;
	}
	
	.product_shipping_options .option .option_subline {
		font-weight:500;
		font-style:italic;
	}
	
	.product_shipping_options .option .option_cost {
		font-weight:700;
	}
        
    /* ---------------- cart and checkout ---------------- */
    
    .cart_page {
        
    }
        
    .cart_page .remove {
        display:inline-block;
        vertical-align:middle;
        color:#c00;
        text-decoration:none;
        padding:4px;
        font-size:18px;
        font-weight:700;
    }
    
    .cart_page .cart_progress {
        display:table;
        width:100%;
        margin:32px 0;
    }
    
    .cart_page .cart_progress .step {
        display:table-cell;
        width:33.33%;
        padding:0 1px;
        vertical-align:bottom;
        text-align:left;
        text-decoration:none;
        color:#444;
    }
    
    .cart_page .cart_progress .step .text {
        font-size:14px;
        margin-bottom:2px;
    }
    
    .cart_page .cart_progress .step .bar {
        display:block;
        width:100%;
        height:8px;
        background-color:#ccc;
    }
    
    .cart_page .cart_progress .step.on .bar {
        background-color:#6CB545;
        background-color:#f28920;
    }
    
    .cart_page .cart_page_heading {
        margin:32px 0;
    }
    
    .cart_page .cart_page_heading h1 {
        display:inline-block;
        margin:0 16px 0 0;
        vertical-align:middle;
    }
    
    .cart_page .cart_page_heading .ic_button {
        padding:8px;
        font-size:14px;
        vertical-align:middle;
    }
    
    .cart_page .cart_section {
        margin-bottom:32px;
    }
    
    .cart_page .cart_section h2 {
        margin:0 0 12px 0;
        font-weight:500;
        text-transform:uppercase;
        font-size:20px;
    }
    
    .cart_page .cart_section .cart_section_box {
        background-color:#fff;
        box-shadow:2px 2px 8px rgba(0,0,0,0.2);
    }
    
    .cart_page .cart_subtotal {
        background-color:#eee;
        padding:16px;
    }
    
    .cart_page .cart_product {
        padding:24px 16px;
        border-bottom:1px solid #ddd;
    }
    
    .cart_page .cart_product .top {
        display:table;
        width:100%;
        vertical-align:top;
    }
    
    .cart_page .cart_product .top .left {
        display:table-cell;
        vertical-align:middle;
        padding-right:16px;
    }
    
    .cart_page .cart_product .product_thumbnail {
        display:inline-block;
        width:48px;
        height:48px;
    }
    
    .cart_page .cart_product .product_thumbnail img {
        display:inline-block;
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
    }
    
    .cart_page .cart_product .top .right {
        display:table-cell;
        vertical-align:middle;
        padding:0 0 24px 0;
    }
    
    .cart_page .cart_product .top .right h3 {
        font-size:16px;
        font-weight:500;
        line-height:120%;
        margin:0;
    }
    
    .cart_page .cart_product .top .right .variation {
        font-size:14px;
        font-style:italic;
        color:#999;
    }
    
    .cart_page .cart_product .bot {
        
    }
    
    .cart_page .cart_product .bot .table_div {
        display:table;
        width:100%;
    }
    
    .cart_page .cart_product .bot .left {
        display:table-cell;
        vertical-align:middle;
    }
        
    .cart_page .cart_product .bot .left .qty {
        font-size:12px;
        display:inline-block;
        vertical-align:middle;
    }
    
    .cart_page .cart_product .bot .left .qty_box {
        display:inline-block;
        vertical-align:middle;
    }
    
    .cart_page .cart_product .bot .left .qty_box input {
        width:40px;
        height:24px;
        padding:8px;
        border:1px solid #ccc;
        font-size:16px;
        font-weight:700;
        text-align:center;
    }
    
    .cart_page .cart_product .bot .left .qty_box input:focus {
        border-color:#363636;
    }
    
    .cart_page .cart_product .bot .left .qty_box input:valid:focus{
        border-color:#6CB545;
    }
        
    .cart_page .cart_product .bot .right {
        display:table-cell;
        vertical-align:middle;
        padding-left:8px;
        text-align:right;
    }
    
    .cart_page .cart_product .bot .right .price_ex_gst {
        display:block;
        font-size:12px;
        color:#999;
    }
    
    .cart_page .cart_product .bot .right .price_inc_gst {
        display:block;
        font-size:16px;
        font-weight:700;
    }
    
    .cart_page .cart_subtotal {
        text-align:right;
    }
    
    .cart_page .cart_subtotal .label {
        font-size:14px;
        display:inline-block;
        text-transform:uppercase;
    }
    
    .cart_page .cart_subtotal .price_ex_gst {
        display:inline-block;
        font-size:12px;
        color:#999;
        margin-left:16px;
    }
    
    .cart_page .cart_subtotal .price_inc_gst {
        display:inline-block;
        font-size:18px;
        font-weight:700;
        margin-left:16px;
    }
    
    .cart_page .cart_discount_buttons {
        
    }
    
    .cart_page .cart_discount_buttons.hide {
        display:none;
    }
    
    .cart_page .cart_discount_buttons a {
        display:inline-block;
        margin:0 4px 4px 0;
        line-height:16px;
        padding:12px;
        color:#fff;
        text-decoration:none;
    }
    
    .cart_page .cart_discount_heading {
        display:none;
    }
    
    .cart_page .cart_discount_heading.show {
        display:block;
    }
    
    .cart_page .cart_discount_buttons a.green {
        background-color:#6CB545;
    }
    
    .cart_page .cart_discount_buttons a.black {
        background-color:#444;
    }
    
    .cart_page .cart_discount_fields {
        display:none;
    }
    
    .cart_page .cart_discount_fields.show {
        display:block;
    }
    
    .cart_page .cart_discount_fields .discount_item {
        padding:24px 16px;
        border-bottom:1px solid #ddd;
    }
    
    .cart_page .cart_discount_fields .discount_item .left {
        margin-bottom:8px;
    }
    
    .cart_page .cart_discount_fields .discount_item .left label {
        display:block;
        margin-bottom:2px;
    }
    
    .cart_page .cart_discount_fields .discount_item .left input[type='text'] {
        width:96px;
        height:16px;
        padding:8px;
        border:1px solid #ccc;
        font-size:14px;
        font-weight:700;
    }
    
    .cart_page .cart_discount_fields .discount_item .left input[type='submit'] {
        height:34px;
        line-height:34px;
        padding:0 12px;
        background-color:#6CB545;
        color:#fff;
        border:none;
        font-size:14px;
        font-weight:700;
        margin-right:4px;
    }
    
    .cart_page .cart_discount_fields .discount_item .right {
        text-align:right;
        font-weight:700;
    }
    
    .cart_page .cart_discount_subtotal {
        display:none;
    }
    
    .cart_page .cart_discount_subtotal.show {
        display:block;
    }
    
    .cart_page .cart_calc_shipping {
        
    }
    
    .cart_page .cart_calc_shipping .left {
        padding:24px 16px;
        border-bottom:1px solid #ddd;
    }
    
    .cart_page .cart_calc_shipping .right {
        padding:16px;
        text-align:right;
    }
    
    .cart_page .cart_calc_shipping .row {
        margin-bottom:16px;
    }
    
    .cart_page .cart_calc_shipping label {
        display:block;
        margin-bottom:4px;
    }
    
    .cart_page .cart_calc_shipping select {
        box-sizing:border-box;
        width:100%;
        height:32px;
        border:1px solid #ccc;
        padding:0 8px;
    }
    
    .cart_page .cart_calc_shipping select:focus {
        border-color:#444;
    }
    
    .cart_page .cart_finalise {
        padding:24px 16px;
        background-color:#555;
        color:#fff;
        text-align:right;
    }
    
    .cart_page .cart_finalise .total_large {
        font-size:14px;
        font-weight:500;
        margin-bottom:4px;
    }
    
    .cart_page .cart_finalise .total_large .large {
        display:inline-block;
        margin-left:16px;
        font-size:22px;
        font-weight:700;
    }
    
    .cart_page .cart_finalise .total_small {
        font-size:12px;
        color:#ccc;
        margin-bottom:8px;
    }
    
    .cart_page .cart_finalise .total_button {
        
    }
    
    .cart_page .cart_finalise .total_button input[type='submit'] {
        background-color:#f28920;
        background:linear-gradient(135deg, #f28920 0%, #f06f1a 100%);
        line-height:16px;
        font-weight:700;
        text-transform:uppercase;
        color:#fff;
        padding:16px;
        border:none;
        font-size:16px;
    }
    
    .cart_page .cart_finalise .total_button input[type='submit'].faded {
        opacity:0.5;
    }
    
    .cart_page .cart_finalise {
        margin-bottom:32px;
    }
	
	.cart_terms {
		margin:0 0 32px 0;
	}
	
	.cart_terms .item {
		display:flex;
	}
	
	.cart_terms .item .icon {
		padding:4px 0;
		margin-right:12px;
	}
	
	.cart_terms .item .icon img {
		width:auto;
		height:auto;
		max-width:24px;
		max-height:24px;
	}
	
	.cart_terms .item .text p {
		margin:4px 0;
	}
	
	.cart_terms .item .text .button {
		display:inline-block;
		padding:8px;
		background-color:#eee;
		color:#222;
		text-decoration:none;
	}
	    
    .cart_page .tax_warning {
        padding:16px;
        margin:0 0 32px 0;
        color:#666;
        font-size:14px;
        border:1px solid #ddd;
        background-color:#fff;
    }
        
    .cart_page .returning_customer {
        padding:24px 16px;
        border-bottom:1px solid #ddd;
    }
    
    .cart_page .returning_customer p {
        margin:0 0 16px 0;
    }
    
    .cart_page .returning_customer .ic_button {
        margin:0 4px 4px 0;
    }
    
    .cart_page .log_in {
        display:none;
        padding:24px 16px;
    }
    
    .cart_page .log_in.show {
        display:block;
    }
	
	.cart_page .subgroup {
		background-color:#f5f5f5;
		padding:16px;
		margin:0 -16px;
	}
    
    .cart_page .form_row {
        
    }
    
    .cart_page .form_row:before,
    .cart_page .form_row:after {
        display:table;
        content:'';
        clear:both;
    }
        
    .cart_page .form_row .half,
    .cart_page .form_row .full,
    .cart_page .form_row .quarter {
        margin-bottom:12px;
    }
        
    .cart_page .form_row label {
        display:block;
        font-size:14px;
        margin-bottom:2px;
		line-height:120%;
    }
    
    .cart_page .form_row label .req {
        display:inline-block;
        margin-left:2px;
        color:#6CB545;
        color:#F28920;
    }
	
	.cart_page .form_row label .light {
		display:inline-block;
		font-size:0.9em;
		color:#999;
		font-weight:500;
		line-height:100%;
	}
	    
    .cart_page .form_row input[type='text'],
    .cart_page .form_row input[type='number'],
    .cart_page .form_row input[type='email'],
    .cart_page .form_row input[type='tel'],
    .cart_page .form_row input[type='password'] {
        box-sizing:border-box;
        height:32px;
        line-height:32px;
        padding:0 8px;
        width:100%;
        border:1px solid #ccc;
    }
	
	.cart_page .form_row.strong label {
		font-weight:700;
	}
	
	.cart_page .form_row.strong input[type='text'],
    .cart_page .form_row.strong input[type='number'],
    .cart_page .form_row.strong input[type='email'],
    .cart_page .form_row.strong input[type='tel'],
	.cart_page .form_row.strong input[type='password'] {
		height:48px;
		line-height:48px;
		border-width:1px;
		border-color:#ccc;
	}
	
	.cart_page .form_row.weak label {
		color:#999;
	}
	
	.cart_page .form_row.weak input[type='text'],
    .cart_page .form_row.weak input[type='number'],
    .cart_page .form_row.weak input[type='email'],
    .cart_page .form_row.weak input[type='tel'],
	.cart_page .form_row.weak input[type='password'] {
		border:none;
		border-bottom:1px solid #ddd;
	}
	    
    .cart_page .form_row input[type='text']:focus,
    .cart_page .form_row input[type='number']:focus,
    .cart_page .form_row input[type='email']:focus,
    .cart_page .form_row input[type='tel']:focus,
    .cart_page .form_row input[type='password']:focus {
        border-color:#666;
    }
    
    .cart_page .form_row input[type='text']:invalid,
    .cart_page .form_row input[type='number']:invalid,
    .cart_page .form_row input[type='email']:invalid,
    .cart_page .form_row input[type='tel']:invalid,
    .cart_page .form_row input[type='password']:invalid {
        /*border-color:#ccc;*/
        box-shadow:none;
    }
    
    .cart_page .form_row input[type='text']:focus:invalid,
    .cart_page .form_row input[type='number']:focus:invalid,
    .cart_page .form_row input[type='email']:focus:invalid,
    .cart_page .form_row input[type='tel']:focus:invalid,
    .cart_page .form_row input[type='password']:focus:invalid {
        border-color:#666;
    }
        
    .cart_page .form_row input[type='text']:focus:valid,
    .cart_page .form_row input[type='number']:focus:valid,
    .cart_page .form_row input[type='email']:focus:valid,
    .cart_page .form_row input[type='tel']:focus:valid,
    .cart_page .form_row input[type='password']:focus:valid {
        border-color:#6CB545;
    }
    
    .cart_page .form_row select {
        box-sizing:border-box;
        width:100%;
        height:32px;
        line-height:32px;
        padding:0 8px;
        border:1px solid #ccc;
    }
	
	.cart_page .form_row.weak select {
		border-color:#ddd;
	}
    
    .cart_page .form_row select:invalid {
        box-shadow:none;
        border-color:#ccc;
    }
    
    .cart_page .form_row select:focus:invalid {
        border-color:#666;
    }
    
    .cart_page .form_row select:focus:valid {
        
        border-color:#6CB545;
    }
    
    .cart_page .form_row p {
        margin:0;
    }
    
    .cart_page .billing_details,
    .cart_page .shipping_details,
    .cart_page .create_account,
    .cart_page .payment_details {
        padding:24px 16px;
    }
        
    .cart_page .shipping_country_row .change_country a {
        display:inline-block;
        color:#6cb545;
        font-size:14px;
    }
    
    .cart_page .payment_details {
        display:none;
    }
    
    .cart_page .payment_details.show {
        display:block;
    }
    
    .cart_page .payment_type_item {
        width:100%;
        border-bottom:1px solid #ddd;
        font-size:14px;
        color:#999;
    }
	
	.cart_page .payment_type_item label {
		display:table;
		width:100%;
	}
    
    .cart_page .payment_type_item strong {
        font-size:16px;
        font-weight:700;
        color:#444;
    }
    
    .cart_page .payment_type_item .left {
        display:table-cell;
        padding:24px 16px;
		width:32px;
    }
    
    .cart_page .payment_type_item .right {
        display:table-cell;
        padding:24px 16px 24px 0;
    }
    
    .cart_page .form_row .card_exp select {
        float:left;
        width:49%;
    }
    
    .cart_page .form_row .card_exp select:nth-child(2) {
        margin-right:1%;
    }
    
    .cart_page .form_row .card_exp select:nth-child(3) {
        margin-left:1%;
    }
    
    .cart_page .shipping_details .shipping_detail_fields {
        display:none;
    }
    
    .cart_page .shipping_details .shipping_detail_fields.show {
        display:block;
    }
	
	.cart_page .autocomplete_warning {
		visibility:hidden;
		padding:0;
		height:0;
		background-color:#F28920;
		color:#fff;
		font-size:0.8em;
	}
		
	.cart_page .autocomplete_warning.neutral {
		background-color:#ddd;
		color:#444;
	}
	
	.cart_page .autocomplete_warning.show {
		visibility:visible;
		height:auto;
		padding:8px;
		background-color:#FFF0E1;
		color:#F28920;
		transition:color 0.5s 2s, background-color 0.5s 2s;
	}
	
	.cart_page .autocomplete_warning.neutral.show {
		background-color:#f5f5f5;
		color:#999;
	}
    
    .cart_page .receipt_table {
        
    }
    
    .cart_page .receipt_table td {
        padding:8px 16px 8px 0;
        border-bottom:1px dotted #ccc;
    }
    
    .cart_page .receipt_table tr:last-child td {
        border:none;
    }
    
    .cart_page_receipt {
        padding-bottom:160px;
    }
    
    .cart_page_receipt .overlay {
        position:absolute;
        top:0;
        right:0;
        bottom:0;
        left:0;
        background-color:rgba(255,255,255,0.9);
    }
    
    .cart_page_receipt .overlay .spinner {
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
    }
        
	/* ---------------- back pages ---------------- */
    
    .clarea_nav {
        padding-bottom:24px;
        margin-bottom:24px;
        border-bottom:1px solid #ddd;
    }
    
    .clarea_nav .ic_button {
        margin:2px;
    }
    
    /* -- info pages -- */
    
    .info_page {
        font-size:16px;
        max-width:768px;
    }
    
    .info_page h1,
    .info_page h2,
    .info_page h3,
    .info_page h4 {
        margin:2em 0 1em 0;
    }
    
    
    .info_page p {
        font-size:1em;
        line-height:130%;
        margin:0.75em 0;
    }
    
    .info_page p.p_large {
        font-size:18px;
    }
    
    .info_page ul {
        
    }
    
    .info_page ul li {
        margin:8px 0;
    }
    
    .info_page a {
        color:#6CB545;
        color:#308A00;
        text-decoration:underline;
    }
	
	/* ---- custom product description ---- */
	
	.custom_product_description {
		
	}
	
	.custom_product_description p {
		margin:1em 0;
	}
	
	.custom_product_description ul {
		padding:0 0 0 16px;
		margin:1em 0;
	}
	
	.custom_product_description ul li {
		list-style:disc;
		margin:0.5em 0;
		line-height:120%;
	}
	
	.custom_product_description img {
		max-width:100%;
	}
	
	.custom_product_description a {
		color:#6cb545;
		text-decoration:underline;
	}
	
	.custom_product_description h1,
	.custom_product_description h2,
	.custom_product_description h3,
	.custom_product_description h4, 
	.custom_product_description h5 {
		margin:1.5em 0 1em 0;
	}
	
	.custom_product_description p:first-child,
	.custom_product_description ul:first-child,
	.custom_product_description h1:first-child,
	.custom_product_description h2:first-child,
	.custom_product_description h3:first-child,
	.custom_product_description h4:first-child, 
	.custom_product_description h5:first-child {
		margin-top:0;
	}
	
	.custom_product_description p:last-child,
	.custom_product_description ul:last-child,
	.custom_product_description h1:last-child,
	.custom_product_description h2:last-child,
	.custom_product_description h3:last-child,
	.custom_product_description h4:last-child, 
	.custom_product_description h5:last-child {
		margin-bottom:0;
	}
		
	.custom_product_description .custom_top {
		display:flex;
		flex-direction:column;
		margin:0 0 2em 0;
	}
	
	.custom_product_description .top_sidebar {
		margin:0 0 1em 0;
	}
	
	.custom_product_description .top_main {
		
	}
	
	.custom_product_description .columns_2 {
		display:flex;
		flex-direction:column;
	}
	
	.custom_product_description .columns_2 .column {
		margin:0 0 1em 0;
	}
	
	.custom_product_description .grey_box {
		padding:16px;
		background-color:#eee;
		border:1px solid #ccc;
		margin:1em 0;
	}
	
	.custom_product_description .grey_box img + h1,
	.custom_product_description .grey_box img + h2,
	.custom_product_description .grey_box img + h3,
	.custom_product_description .grey_box img + h4 {
		margin-top:0;
	}
	
	.custom_product_description .grey_box .icon {
		float:right;
		margin:0 0 16px 16px;
		width:auto;
		height:auto;
		max-width:96px;
		max-height:96px;
	}
	
	.custom_product_description .spec_table {
		background-color:#f5f5f5;
		padding:16px;
		border:1px solid #ddd;
		margin:1em 0;
	}
	
	.custom_product_description .spec_table table {
		width:100%;
		border-collapse:collapse;
	}
	
	.custom_product_description .spec_table table td {
		padding:8px 8px 8px 0;
		border-top:1px dotted #ccc;
		border-bottom:1px dotted #ccc;
		font-size:0.9em;
		line-height:105%;
	}
			
	.custom_product_description .related_banner {
		margin:1em 0;
		padding:16px;
		background-color:#222;
		color:#fff;
	}
	
	.custom_product_description .related_banner a {
		color:#9add77;
	}
	
	/* ---- news ---- */
	
	#article_detail {
		display:flex;
		flex-direction:column;
	}
	
	#article_detail .col_main {
		margin:0 0 32px 0;
		padding:0 0 32px 0;
		border-bottom:1px solid #ccc;
	}
	
	#article_detail .col_sidebar {
		
	}
	
	#article_detail .col_sidebar .sidebar_item {
		margin:0 0 24px 0;
	}
	
	#article_detail .col_sidebar .sidebar_item h4 {
		margin:0 0 8px 0;
		color:#666;
	}
	
	#article_detail .col_sidebar .sidebar_item ul {
		margin:0;
		padding:0;
	}
	
	#article_detail .col_sidebar .sidebar_item ul li {
		border-bottom:1px dotted #ddd;
		list-style:none;
	}
	
	#article_detail .col_sidebar .sidebar_item ul li a {
		display:block;
		padding:8px 0;
		line-height:120%;
		color:#666;
		text-decoration:none;
		font-size:0.9em;
	}
	
	#article_detail .article_headline {
		margin:0 0 16px 0;
	}
	
	#article_detail .article_subline {
		font-size:0.8em;
		line-height:140%;
	}
	
	#article_detail .article_subline .author_title {
		color:#999;
	}
	
	#article_detail .article_subline .article_date {
		color:#6ab73d;
		margin-top:8px;
	}
	
	#article_detail .article_content p {
		color:#444;
		line-height:140%;
		font-weight:300;
		margin:1.5em 0;
	}
	
	#article_detail .article_content a {
		color:#6cb545;
		color:#479c1a;
	}
	
	#article_detail .article_content img {
		height:auto;
		max-width:100%;
		vertical-align:top;
	}
	
	#article_detail .article_content figure {
		max-width:100%;
		margin:1em 0;
	}
	
	#article_detail .article_content figure img {
		max-width:100%;
		height:auto;
		vertical-align:top;
	}
	
	#article_detail .article_content figure figcaption {
		padding:1em 0;
		border-bottom:1px solid #ddd;
		color:#666;
		font-size:0.9em;
		line-height:120%;
	}
	
	#article_detail .article_content blockquote {
		position:relative;
		padding:2em;
		background-color:#f5f5f5;
		margin:2em 0;
	}
	
	#article_detail .article_content blockquote:before {
		position:absolute;
		display:block;
		content:'“';
		font-size:2em;
		top:12px;
		left:8px;
	}
	
	#article_detail .article_content blockquote:after {
		position:absolute;
		display:block;
		content:'”';
		font-size:2em;
		right:8px;
		bottom:0;
	}
	
	.article_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.article_list .article_item {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
		padding:8px;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
	}
	
	.article_list .article_item .image {
		margin:0 0 12px 0;
	}
	
	.article_list .article_item .image img {
		width:100%;
		height:auto;
		vertical-align:top;
	}
	
	.article_list .article_item .text {
		padding:8px;
	}
	
	.article_list .article_item .text h3 {
		margin:0 0 8px 0;
	}
	
	.article_list .article_item .text h3 a {
		color:#222;
		text-decoration:none;
	}
	
	.article_list .article_item .text .article_subline {
		font-size:0.8em;
		line-height:140%;
	}
	
	.article_list .article_item .text .author_title {
		color:#999;
	}
	
	.article_list .article_item .text .article_date {
		color:#6ab73d;
		margin-top:8px;
	}
	
	.article_list .article_item .text .excerpt {
		font-size:0.9em;
		line-height:140%;
	}
	
	.article_list .article_item .action {
		margin:16px 0 0 0;
	}
	
	.article_list .article_item .text .action_text {
		display:inline-block;
		position:relative;
		padding:0 0 0 12px;
		color:#6ab73d;
		font-weight:700;
		line-height:140%;
		text-decoration:none;
	}
	
	.article_list .article_item .text .action_text:before {
		display:inline-block;
		position:absolute;
		content:'›';
		top:0;
		left:0;
	}
	
	.article_list .article_item .text .action_button {
		display:inline-block;
		background-color:#6ab73d;
		color:#fff;
		font-weight:700;
		padding:12px 16px;
		text-decoration:none;
	}
	
	.article_pagination {
		margin:32px 0 0 0;
	}
	
	.article_pagination .item {
		display:inline-block;
		padding:12px 16px;
		background-color:#222;
		color:#fff;
		font-weight:700;
		text-decoration:none;
	}
	
	.article_pagination .item[href=''] {
		background-color:#eee;
		color:#ddd;
	}
	
	
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 480px) {

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */

	/* ---------------- footer ---------------- */

	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */

	/* ---------------- back pages ---------------- */
	
	/* ---- news ---- */
	
	.article_list .article_item {
		padding:16px;
	}
	
	.article_list .article_item .text {
		padding:16px;
	}

}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 768px) {

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */
	
	.sitewide_messages .message {
		padding:16px 24px;
		flex-direction:row;
		align-items:center;
		text-align:left;
	}
	
	.sitewide_messages .message .icon {
		margin:0 24px 0 0;
	}
	
	.sitewide_messages .message .icon img {
		max-width:48px;
		max-height:48px;
	}
	
	/* ---------------- footer ---------------- */
        
    #footer_2017 .footer_top {
        padding:48px 0;
    }
	
	#footer_2017 .footer_top h4.headline_green {
		margin-bottom:32px;
		font-size:24px;
	}
    
    #footer_2017 .footer_top .footer_inner {
        display:table;
    }
    
    #footer_2017 .footer_top .footer_inner .left {
        display:table-cell;
        vertical-align:top;
        width:340px;
    }
    
    #footer_2017 .footer_top .footer_inner .right {
        display:table-cell;
        vertical-align:top;
    }
    
    #footer_2017 .footer_top .footer_inner .left {
        padding-right:48px;
    }
    
    #footer_2017 .footer_top .footer_inner h4 .icon {
        padding-right:12px;
    }
    
    #footer_2017 .footer_top .footer_inner h4 .icon img {
        height:40px;
    }
    
    #footer_2017 .footer_top p {
        font-size:16px;
    }
    
    #footer_2017 .footer_top p.small {
        font-size:14px;
    }
    
    #footer_2017 .footer_logos {
        padding:48px 0;
    }
    
    #footer_2017 .footer_logos .footer_inner {
        display:table;
        width:auto;
    }
    
    #footer_2017 .footer_logos .left {
        display:table-cell;
        width:auto;
    }

    #footer_2017 .footer_logos .right {
        display:table-cell;
        width:50%;
        padding-left:32px;
    }
    
    /* -- chat box -- */
    
    #contact_button {
        font-size:14px;
    }
        
    #contact_popup,
    #quote_popup {
        padding:48px;
    }
    
	/* ---------------- home ---------------- */
	
	.home_headline {
		flex-direction:row;
		justify-content:flex-start;
		align-items:flex-end;
	}
	
	.home_headline h1 {
		margin:0 24px 0 0;
	}
    
	.home_text_content {
		flex-direction:row;
		margin:-8px -32px;
	}
	
	.home_text_content .column {
		flex:0 0 calc( 50% - 64px );
		margin:8px 32px;
	}
		
    /* ---------------- shop pages ---------------- */
    
    /* -- catalog list -- */
    
    .catalog_list {
        
    }
    
    .catalog_list > ul {
        padding:0;
        margin:0;
        display:flex;
        justify-content:space-between; 
        flex-wrap:wrap;
    }
    
    .catalog_list > ul > li {
        flex:0 0 49.5%;
        list-style:none;
        padding:0;
        margin:0;
    }
    
    .catalog_list .catalog_list_item {
        
    }
    
    .catalog_list .catalog_list_item .text {
        padding:24px;
    }
    
    /* -- product detail -- */
        
    .product_detail_top > .table_div {
        display:table;
        width:100%;
    }
        
    .product_detail_top .product_images {
        display:table-cell;
        vertical-align:top;
        width:320px;
    }
	
	.product_detail_top .product_images .images_container {
		width:320px;
	}
    
    .product_detail_top .product_purchase_info {
        display:table-cell;
        vertical-align:top;
        padding-left:32px;
    }
    
    .product_detail_bot .tabs {
        display:block;
    }
    
    .product_detail_bot .panel {
        display:none;
        padding:32px;
    }
    
    .product_detail_bot .panel.open {
        display:block;
    }
    
    .product_detail_bot .panel .h2 {
        margin:0 0 24px 0;
    }
	
	.product_detail_bot .panels.compact_mobile .mobile_panel_toggle {
		display:none;
	}
	
	/* ---- product shipping options ---- */
	
	.product_shipping_options .option_list {
		display:flex;
		flex-wrap:wrap;
	}
	
	.product_shipping_options .option {
		margin:0 16px 16px 0;
	}
    
    /* -- product list -- */
    
    .list_container .list_heading .view_options {
        display:block;
    }
    
    .list_container .list_heading.cols .table_div .mid label {
        font-size:16px;
        margin-right:4px;
    }
    
    /* grid view */
    
    .product_list[data-view='grid_view'] {
        
    }
    
    .product_list[data-view='grid_view'] > ul {
        
    }
    
    .product_list[data-view='grid_view'] > ul > li {
        
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image {
        width:auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image a {
        margin:0 auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .text {
        border:none;
        padding:0 24px 8px 24px;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .text .h3 {
        margin:0;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .excerpt .excerpt_text {
        display:none;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .readmore {
        display:none;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .buy {
        padding-top:0;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .price {
        border:none;
        padding:0;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .price .was {
        
    }
    
    .product_list[data-view='grid_view'] .product_list_item .price .ex_gst {
        color:#999;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .price .inc_gst {
        
    }
    
    .product_list[data-view='grid_view'] .product_list_item .stock {
        display:none;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .add_to_cart {
        display:none;
    }
    
    /* grid view */
    
    .product_list[data-view='grid_view'] {
        
    }
    
    .product_list[data-view='grid_view'] > ul {
        display:flex;
        flex-flow:wrap;
    }
    
    .product_list[data-view='grid_view'] > ul > li {
        flex:0 0 49%;
        margin:4px 0.5%;
    }
    
    .product_list[data-view='grid_view'] .product_list_item {
        margin:0;
        height:100%;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image {
        width:100%;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image a {
        height:256px;
        line-height:256px;
    }
    
    /* ---------------- cart and checkout ---------------- */
    
    .cart_page .cart_section {
        margin-bottom:48px;
    }
    
    .cart_page .remove {
        padding:8px;
    }
    
    .cart_page .cart_progress {
        margin:48px 0;
    }
    
    .cart_page .cart_page_heading {
        margin:48px 0;
    }
        
    .cart_page .cart_subtotal {
        padding:24px 32px;
    }
    
    .cart_page .cart_subtotal .price_inc_gst {
        font-size:22px;
    }
    
    .cart_page .cart_product {
        padding:32px;
        box-sizing:border-box;
        display:table;
        width:100%;
    }
    
    .cart_page .cart_product .top {
        display:table-cell;
        text-align:left;
        vertical-align:middle;
        width:50%;
    }
    
    .cart_page .cart_product .product_thumbnail {
        width:64px;
        height:64px;
    }
    
    .cart_page .cart_product .top .right {
        padding-bottom:0;
    }
    
    .cart_page .cart_product .top .right h3 {
        
    }
    
    .cart_page .cart_product .bot {
        display:table-cell;
        text-align:right;
        vertical-align:middle;
        padding-left:32px;
        width:100%;
    }
        
    .cart_page .cart_product .bot .right {
        padding-left:16px;
    }
    
    .cart_page .cart_product .bot .right .price_inc_gst {
        font-size:18px;
    }
    
    .cart_page .cart_discount_buttons {
        
    }
    
    .cart_page .cart_discount_fields .discount_item {
        padding:32px;
    }
    
    .cart_page .cart_discount_fields .discount_item .table_div {
        display:table;
        width:100%;
    }
    
    .cart_page .cart_discount_fields .discount_item .left {
        display:table-cell;
        vertical-align:middle;
    }
    
    .cart_page .cart_discount_fields .discount_item .left input[type="text"] {
        width:160px;
    }
    
    .cart_page .cart_discount_fields .discount_item .right {
        display:table-cell;
        vertical-align:middle;
        text-align:right;
    }
    
    .cart_page .cart_calc_shipping {
        display:table;
        width:100%;
    }
    
    .cart_page .cart_calc_shipping .left {
        padding:32px;
        display:table-cell;
        vertical-align:bottom;
        border-bottom:none;
    }
    
    .cart_page .cart_calc_shipping .right {
        padding:32px 32px 32px 0;
        display:table-cell;
        vertical-align:bottom;
    }
    
    .cart_page .cart_calc_shipping .right strong {
        display:inline-block;
        margin-left:16px;
    }
    
    .cart_page .cart_calc_shipping .row {
        
    }
    
    .cart_page .cart_finalise {
        padding:32px;
    }
    
    .cart_page .cart_finalise .total_large {
        font-size:20px;
        margin-bottom:8px;
    }
    
    .cart_page .cart_finalise .total_large .large {
        font-size:26px;
    }
    
    .cart_page .cart_finalise .total_small {
        margin-bottom:24px;
        font-size:14px;
    }
    
    .cart_page .returning_customer,
    .cart_page .log_in,
    .cart_page .billing_details, 
    .cart_page .shipping_details, 
    .cart_page .create_account, 
    .cart_page .payment_details {
        padding:32px;
    }
    
    .cart_page .form_row .half,
    .cart_page .form_row .full,
    .cart_page .form_row .quarter {
        margin-bottom:16px;
    }
    
    .cart_page .form_row .half {
        float:left;
        width:49%;
    }
    
    .cart_page .form_row .half:nth-child(1) {
        margin-right:1%;
    }
    
    .cart_page .form_row .half:nth-child(2) {
        margin-left:1%;
    }

    .cart_page .form_row label {
        margin-bottom:4px;
    }
    
    .cart_page .shipping_country_row .change_country a {
        margin-top:28px;
    }
    
	/* ---- custom product description ---- */
	
	.custom_product_description .custom_top {
		flex-direction:row;
	}
	
	.custom_product_description .top_sidebar {
		flex:0 0 260px;
		margin:0 0 0 64px;
	}
	
	/* ---------------- back pages ---------------- */
	
	/* ---- news ---- */
	
	.article_list .article_item {
		flex-direction:row;
		align-items:flex-start;
	}
	
	.article_list .article_item .image {
		flex:0 0 160px;
	}
	
	.article_list .article_item .image {
		margin:0;
	}
	
	.article_list .article_item .text {
		padding:0 16px;
		max-width:600px;
	}
	
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1024px) {

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */
    
    /* -- mobile header -- */
    
    #header_mobile {
        display:none;
    }
    
    /* -- desktop header -- */
    
    #header_desktop {
        display:block;
    }
    
	/* ---------------- footer ---------------- */
    
    #footer_2017 {
        margin-top:48px;
    }
    
    #footer_2017 form .form_row .field.half {
        float:left;
        width:49%;
    }

    #footer_2017 form .form_row .field.half:nth-child(1) {
        margin-right:1%;
    }
    
    #footer_2017 form .form_row .field.half:nth-child(2) {
        margin-left:1%;
    }
    
    #footer_2017 form .form_row .field.half.align_right {
        text-align:right;
    }
    
    #footer_2017 .footer_logos .left {
        width:560px;
    }
    
    /* -- chat box -- */
    
    #contact_popup,
    #quote_popup {
        padding:64px;
    }
    
	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */
    
	.shop_breadcrumb.flex {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		padding:8px 16px;
	}
	
	.shop_breadcrumb.flex .left {
		margin:0 16px 0 0;
	}
	
    /* -- product list -- */
    
    .product_list {
        
    }
    
    .product_list_item {
        display:table;
        width:100%;
        margin-bottom:16px;
    }
    
    .product_list_item .image {
        display:table-cell;
        vertical-align:top;
        border:none;
        width:256px;
    }
    
    .product_list_item .image a {
        width:192px;
    }
    
    .product_list_item .text {
        display:table-cell;
        vertical-align:top;
        padding:32px;
        border:none;
    }
    
    .product_list_item .buy {
        display:table-cell;
        vertical-align:top;
        padding:32px;
        width:256px;
    }
    
    /* grid view */
    
    .product_list[data-view='grid_view'] > ul > li {
        flex:32% 0 0;
        margin:8px 0.5%;
    }
    
    .product_list[data-view='grid_view'] .product_list_item {
        display:block;
        margin:0;
        width:auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image {
        display:block;
        width:auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .image a {
        width:auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .text {
        display:block;
        padding:16px 32px 8px 32px;
        width:auto;
    }
    
    .product_list[data-view='grid_view'] .product_list_item .buy {
        display:block;
        padding:0 32px 32px 32px;
        width:auto;
    }
    
    /* -- product detail -- */
    
	.product_detail_top .buy_info .table_div {
		flex-direction:row;
		align-items:flex-end;
		justify-content:space-between;
	}
	
	.product_detail_top .buy_info .table_div .left {
		margin:0 32px 0 0;
	}
	
	.product_detail_top .buy_info .add_to_cart input[type='number'] {
        width:64px;
        height:46px;
        line-height:46px;
        padding:0 12px;
        font-size:16px;
    }
        
    .product_detail_top .buy_info .add_to_cart input[type='submit'] {
        height:48px;
        padding:0 64px;
        font-size:16px;
    }
	
    .product_detail_top .product_top_extras .table_div {
        display:table;
        width:100%;
    }
    
    .product_detail_top .product_top_extras .left {
        display:table-cell;
        vertical-align:middle;
    }
    
    .product_detail_top .product_top_extras .right {
        display:table-cell;
        vertical-align:middle;
        text-align:right;
    }
	
	.product_detail_top .product_review .top {
		padding:24px 32px;
	}
	
	.product_detail_top .product_review .bot {
		padding:32px;
		flex-direction:row;
	}
	
	.product_detail_top .product_review .bot .left {
		display:block;
		margin:0 24px 0 0;
	}
	
	.product_detail_top .product_review .stars_wrap {
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	
	.product_detail_top .product_review .person_top {
		display:block;
		text-align:right;
	}
	
	.product_detail_top .product_review .person_bot {
		display:none;
	}
	
	/* ---- custom product description ---- */
	
	.custom_product_description .columns_2 {
		flex-direction:row;
		margin:0 -16px;
	}
	
	.custom_product_description .columns_2 .column {
		margin:16px;
		flex:1 1 50%;
	}
	
	.custom_product_description .spec_table .columns_2 {
		margin:-16px;
	}
    
	/* ---------------- back pages ---------------- */
	
	/* ---- news ---- */
	
	#article_detail {
		flex-direction:row;
		justify-content:space-between;
	}
	
	#article_detail .col_main {
		width:100%;
		margin:0;
		padding:0;
		border:none;
	}
	
	#article_detail .col_sidebar {
		flex:0 0 25%;
		margin:0 0 0 64px;
	}
	
	.article_list .article_item {
		padding:24px;
	}
	
	.article_list .article_item .image {
		flex:0 0 256px;
	}
	
	.article_list .article_item .text {
		padding:0 24px;
	}

}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1366px) {

	/* ---------------- overall style ---------------- */
    
    .ic_button {
        font-size:16px;
        padding:16px;
    }
    
    .ic_button:hover {
        background-color:#777;
    }
    
    .ic_button[data-color='green']:hover {
        background-color:#7DC656;
    }
    
    .ic_button[data-color='black']:hover {
        background-color:#555;
    }
    
    .ic_button[data-color='lightgrey']:hover {
        background-color:#f5f5f5;
    }
    
    .ic_button[data-color='orange']:hover {
        background-color:#F28920;
        background-color:#F39A31;
        background-color:#f8912a;
    }
    
    .ic_button[data-size='large'] {
        padding:20px;
    }
    
	/* ---------------- header ---------------- */
    
    #header_desktop .header_2 {
        font-size:18px;
    }
    
    #header_desktop .header_2 .right a {
        font-size:24px;
    }
	
	#header_desktop .header_3 .cart_link_button:hover {
		background-color:#f68a34;
	}
	
	#header_desktop #header_4_spacer {
        height:102px;
    }
	
	#header_desktop .header_4 .value_props {
		padding:16px 0;
	}
	
	#header_desktop .header_4 .value_props a {
		font-size:0.9em;
		padding:4px 24px;
	}
	
	#header_desktop .header_4 .value_props a .icon {
		margin-right:12px;
	}
	
	#header_desktop .header_4 .value_props a .icon img {
		max-width:24px;
		max-height:24px;
	}
	
	#header_desktop .header_4 .value_props a:hover {
		text-decoration:underline;
	}
        
	/* ---------------- footer ---------------- */
    
    #footer_2017 {
        margin-top:64px;
    }
    
    #footer_2017 .footer_top {
        padding:96px 0;
    }
    
    #footer_2017 .footer_top .footer_inner .left {
        padding-right: 64px;
    }
    
    #footer_2017 .footer_logos {
        padding:64px 0;
    }
    
    /* -- chat box -- */
    
    #contact_button {
        font-size:16px;
    }
    
    #contact_button:hover {
        background-color:#ff8433;
    }
        
    #contact_popup,
    #quote_popup {
        padding:64px 96px;
    }
    
    .popup_form .intro {
        margin-bottom:32px;
    }
    
    .popup_form input[type='submit']:active {
        box-shadow:inset 1px 1px 4px rgba(0,0,0,0.3);
    }
    
    .popup_form input[type='submit']:hover {
        background:#F28820;
    }
        
	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */
    
    .catalog_heading .view_products:hover {
        background-color:#6CB545;
        border-color:#6CB545;
        color:#fff;
    }
    
    /* -- breadcrumb -- */
    
    .shop_breadcrumb a:hover {
        color:#666;
        text-decoration:underline;
    }
    
    /* -- list containers -- */
    
    .list_container {
        margin:0 0 64px 0;
    }
    
    .list_container .list_heading h2 {
        margin:0 0 24px 0;
    }
    
    /* -- product list -- */
    
    .product_list {
        
    }
    
    .product_list_item {
        
    }
    
    .product_list_item .image {
        
    }
    
    .product_list_item .image a {
        width:256px;
        height:256px;
    }
    
    .product_list_item .text {
        padding:40px;
        border:none;
    }
    
    .product_list_item .text .h3 {
        margin-bottom:24px;
    }
    
    .product_list_item .text .h3 a:hover {
        text-decoration:underline;
    }
    
    .product_list_item .text .excerpt {
        margin:24px 0;
    }
    
    .product_list_item .text .readmore {
        margin-top:24px;
    }
    
    .product_list_item .text .readmore a:hover {
        background-color:#6CB545;
        background:linear-gradient(135deg, #7bc752 0%, #6CB545 100%);
        color:#fff;
    }
    
    .product_list_item .buy {
        padding:40px;
        width:256px;
    }
    
    .product_list_item .buy .add_to_cart .left input:focus {
        border-color:#444;
    }
    
    .product_list_item .buy .add_to_cart .right input:hover {
        background: url('/images/icons/icon_cart_white.png'), linear-gradient(135deg, #ffa144 0%, #f06f1a 100%);
        background-size:auto 16px, auto auto;
        background-position:12px 12px, center center;
        background-repeat:no-repeat, no-repeat;
    }
    
    .product_list_item .buy .add_to_cart .right a:hover {
        background:none;
        background-color:#7DC656;
    }
    
    /* -- catalog list -- */
    
    .catalog_list {
        
    }
    
    .catalog_list > ul > li {
        flex:0 0 33%;
    }
    
    .catalog_list .catalog_list_item {
        
    }
    
    .catalog_list .catalog_list_item .image {
        width:96px;
        height:96px;
    }
    
    .catalog_list .catalog_list_item .text {
        padding:32px 24px;
    }
    
    .catalog_list .catalog_list_item:hover .text h3 {
        text-decoration:underline;
    }
    
    /* -- pagination -- */
    
    .product_pagination a:hover {
        background-color:#6CB545;
        color:#fff;
    }
    
    /* -- product detail -- */
    
    .product_detail_top .product_images {
        width:512px;
    }
	
	.product_detail_top .product_images .images_container {
		width:512px;
	}
    
    .product_detail_top .product_images .large_image img {
        max-height:480px;
    }
	
	.product_detail_top .stock_info a.item:hover {
		text-decoration:underline;
	}
		
	.product_detail_top .buy_info .add_to_cart.fixed input[type='submit'] {
		position:fixed;
		top:82px;
		right:8px;
		animation-name:fadeIn;
		animation-duration:0.5s;
		animation-iteration-count:1;
	}
    
    .product_detail_top .product_purchase_info {
        padding-left:64px;
    }
		
	.product_detail_top .product_review .top {
		flex-direction:row;
		justify-content:space-between;
	}
	
	.product_detail_top .product_review .top .left {
		margin:0 16px 0 0;
	}
	
	.product_detail_top .product_review .top .right {
		text-align:right;
	}
	
	.product_detail_top .product_review .top .right a:hover {
		text-decoration:underline;
	}
	
	.product_detail_top .product_review .bot {
		
	}
	
    .product_detail_bot .tabs .tab {
        font-size:16px;
    }
    
    .product_detail_bot .tabs .tab:hover {
        background-color:#eee;
    }
    
    .product_detail_bot .tabs .tab.active:hover {
        background-color:#6CB545;
    }
    
    .product_detail_bot .panel {
        padding:48px;
    }
	
	/* ---- custom product description ---- */
	
	.custom_product_description p,
	.custom_product_description ul {
		margin:1.2em 0;
	}
	
	.custom_product_description h1,
	.custom_product_description h2,
	.custom_product_description h3,
	.custom_product_description h4,
	.custom_product_description h5 {
		margin:1.8em 0 1.2em 0;
	}
	
	.custom_product_description .columns_2 {
		flex-direction:row;
		margin:0 -32px;
	}
	
	.custom_product_description .columns_2 .column {
		margin:32px;
	}
	
	.custom_product_description .grey_box {
		padding:32px;
	}
	
	.custom_product_description .spec_table {
		padding:32px;
	}
	
	.custom_product_description .spec_table .columns_2 {
		margin:-32px;
	}
    
    /* ---------------- cart and checkout ---------------- */
    
    .cart_page .cart_section h2 {
        font-size:24px;
    }
    
    .cart_page .cart_subtotal {
        padding:32px 48px;
    }
    
    .cart_page .cart_subtotal .price_ex_gst {
        margin-left:16px;
        width:128px;
    }
    
    .cart_page .cart_subtotal .price_inc_gst {
        margin-left:16px;
        width:140px;
    }
    
    .cart_page .cart_product {
        padding:48px;
    }
    
    .cart_page .cart_product .bot .right .price_ex_gst {
        display:inline-block;
    }
    
    .cart_page .cart_product .bot .right .price_inc_gst {
        display:inline-block;
        margin-left:16px;
        width:140px;
    }
        
    .cart_page .cart_discount_buttons {
        
    }
    
    .cart_page .cart_discount_fields .discount_item {
        padding:48px;
    }
    
    .cart_page .cart_calc_shipping .right strong {
        width:140px;
    }
    
    .cart_page .cart_calc_shipping .left {
        padding:48px;
    }
    
    .cart_page .cart_calc_shipping select {
        height:40px;
    }
    
    .cart_page .cart_calc_shipping .row {
        margin-bottom:24px;
    }
    
    .cart_page .cart_calc_shipping .row:last-child {
        margin-bottom:0;
    }
    
    .cart_page .cart_calc_shipping .right {
        padding:48px 48px 48px 0;
    }
    
    .cart_page .cart_finalise {
        padding:48px;
    }
    
    .cart_page .cart_finalise .total_large .large {
        width:140px;
        margin-left:16px;
    }
    
    .cart_page .returning_customer,
    .cart_page .log_in,
    .cart_page .billing_details, 
    .cart_page .shipping_details, 
    .cart_page .create_account, 
    .cart_page .payment_details {
        padding:48px;
    }
    
	/* ---------------- back pages ---------------- */
	
	/* ---- news ---- */
	
	#article_detail .col_sidebar {
		margin:0 0 0 128px;
	}
	
	#article_detail .col_sidebar .sidebar_item ul li a {
		padding:12px 0;
	}
	
	#article_detail .col_sidebar .sidebar_item ul li a:hover {
		color:#444;
		text-decoration:underline;
	}
	
	.article_list {
		margin:-12px;
	}
	
	.article_list .article_item {
		margin:12px;
		padding:32px;
		font-size:1.1em;
	}
	
	.article_list .article_item .image {
		flex:0 0 320px;
	}
	
	.article_list .article_item .image:hover {
		opacity:0.95;
	}
	
	.article_list .article_item .text {
		padding:0 32px;
	}
	
	.article_list .article_item .text h3 {
		margin:0 0 16px 0;
	}
	
	.article_list .article_item .text h3 a:hover {
		text-decoration:underline;
	}
	
	.article_list .article_item .text .action_text:hover {
		text-decoration:underline;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1600px) {

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */

	/* ---------------- footer ---------------- */

	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */
    
    /* -- product detail -- */
    
    .product_detail_bot .panel {
        padding:64px;
    }

	/* ---------------- back pages ---------------- */

}


/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1900px) {

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */

	/* ---------------- footer ---------------- */

	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */

	/* ---------------- back pages ---------------- */

}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

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

	/* ---------------- overall style ---------------- */

	/* ---------------- header ---------------- */

	/* ---------------- footer ---------------- */

	/* ---------------- home ---------------- */
    
    /* ---------------- shop pages ---------------- */

	/* ---------------- back pages ---------------- */

}

@keyframes fadeIn {
	
	from{
		opacity:0;
	}
	
	to {
		opacity:1;
	}
	
}