/* -- Resets and Defaults -------------------------- */

    /* -- Resets -- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font:inherit;padding:0;border:0;margin:0;vertical-align:baseline;background-repeat:no-repeat;}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}html,body{width:100%}body{font-size:16px;line-height:1.2;margin:0;overflow-x:hidden;padding:0;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;-ms-text-size-adjust:none}a{text-decoration:none;}*{box-sizing:border-box}input:focus,select:focus,textarea:focus,button:focus {outline: none;}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0;}input[type=number] { -moz-appearance:textfield; }

    /* -- Mods -- */
.noborders { border: none !important; }
.justified { text-align: justify; }
.justified:after { content: ""; display: inline-block; width: 100%; }
.hide { display: none !important; }
.clearfix:after {
    clear: both;
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}

    /* -- Defaults -- */
body { background-color: #fff; }

body,
h1,
input,
a { 
    color: #20271f;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    margin: 0;
}

a:hover { text-decoration: underline; }

h2 {
    font-weight: 700;
    font-size: 1.333em;
    margin: 0;
    padding-bottom: 35px;
}

h3 {
    color: #3baf29;
    padding: 16px 0;
    font-size: 1em;
    font-weight: 700;
}

h3 a { color: #3baf29; font-weight: 700; }

strong { font-weight: bold; }

p {
    color: #242424;
    padding: 5px 0 20px;
    font-size: 1em;
    line-height: 145%;
}

.single_page b {
	font-weight: bold;
}

    /* -- Content Styles -- */
.main_header {
    background-color: #20271f;
    border-bottom: 3px solid #3baf29;
    color: #fff;
    font-size: 1.777em;
    height: 43px;
    left: 0;
    line-height: 40px;
    overflow: hidden;
    padding-left: 20px;
    position: absolute;
    text-overflow: ellipsis;
    top: -43px;
    width: 100%;
    white-space: nowrap;
}

main {
    background-color: #e1e1e1;
    background-image: url("../images/background-truck-2.jpg");
    background-repeat: no-repeat;
    background-size: 100% auto;
    box-shadow: inset 0 -150px 125px -50px #e1e1e1;
    display: block;
    height: 100%;
    padding-top: 125px;
    position: relative;
    width: 100%;
}

main.front_page { padding-top: 0; }

main.truck { background-image: url("../images/background-truck.jpg"); }

.single_page {
    background-color: #fff;
    margin: 0;
    position: relative;
    padding: 60px 40px 20px;
}
.single_page:before,
.single_page:after { content: ' '; display: table; }
.single_page:after { clear: both; }

.single_page aside {
    background-color: #20271f;
    color: #fff;
    display: none;
    float: right;
    margin: -60px -40px 0 40px;
    padding: 60px 40px 80px;
    width: 33%;
}

.single_page aside a { color: #fff; }
.single_page aside h2 { font-size: 1.333em; line-height: 145%; padding-bottom: 0; }
.single_page aside ul { color: #3baf29; line-height: 145%; font-size: 1em; }
.single_page .breadcrumbs { font-size: 1em; margin-bottom: 120px; }

.single_page aside .featured {
    border-top: 2px solid #fff;
    display: block;
    line-height: 1;
    margin: 40px -40px 0 0;
    padding: 40px 60px 0 0;
    font-size: 1.777em;
    text-transform: uppercase;
}
.single_page aside .featured em { color: #3baf29; }

.single_page article { border-bottom: 1px solid #d4d4d4; padding: 50px 0 30px; }
.single_page article:first-of-type{ padding-top: 0; }
.single_page article:last-of-type { border: none; }

.service img { margin: 0 auto; }
.service { clear: both; }
.service h2 { padding: 15px 0; }
.service p { font-size: 1em; }
.service em a,
.service em { 
    color: #3baf29;
    margin-top: 20px;
    text-transform: uppercase;
}


.faq_page h2 { font-size: 1.333em; }
.faq_page h2 .faq_open_answer { color: #3baf29; font-weight: 300; } 
.single_page.faq_page article:first-of-type,
.faq_page .faq_answer { font-size: 1em; padding: 20px 20px 5px; margin: 0 0 30px; }
.faq_page article { border: none; }
.faq_page .faq_answer p,
.faq_page .faq_answer li { font-size: 1em; }


a[href^="mailto"] {
    background-image: url("../images/email.png");
    background-position: 5% 50%;
    background-size: auto 1.333em;
    color: #d4d4d4;
    padding-left: 2.75em;
    text-decoration: underline;
}
a.email:hover { color: #242424; }

.content { display: block; }

.content ul { -webkit-columns: 2; -moz-columns: 2; columns: 2; margin: 0 20px 20px 0; }
.content li { padding-bottom: 5px; }

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

.archive-news section h2 {
    padding-top: 30px;
}

.archive-news section article {
    padding: 5px 0 30px;
}

.archive-news section article .permalink{
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
}

.archive-news section .no-decoration{
    text-decoration: none;
}

    /* -- Responsive -- */
@media screen and (min-width: 530px) {
    main { padding-top: 175px; }
    .main_header { border-bottom: 4px solid #3baf29; font-size: 2.369em; height: 57px;
            line-height: 53px; padding-left: 27px; top: -57px; width: 300px; }
}

@media screen and (min-width: 600px) {
    h2 { font-size: 1.777em; }
    h3 { font-size: 1.333em; }
}

@media screen and (min-width: 800px) {
    .service img { float: right; margin-left: 40px; }
}

@media screen and (min-width: 800px) {
    main { padding-top: 200px; }
    .single_page aside { display: block; }
    .faq_page .content { margin-right: 33%; }
}

@media screen and (min-width: 1000px) {
    h3 { font-size: 1.777em; }
    .content li,
    p { font-size: 1.333em; }
    main { padding-top: 225px; }
    .single_page { margin: 0 10%; padding-bottom: 100px; }
    .faq_page .faq_answer {
        background-image: -webkit-gradient(linear, left top, right top, from(#e1e1e1, to(transparent)));
        background-image: -webkit-linear-gradient(left, #e1e1e1, transparent);
        background-image: -moz-linear-gradient(left, #e1e1e1, transparent);
        background-image: -o-linear-gradient(left, #e1e1e1, transparent);
        background-image: linear-gradient(to right, #e1e1e1, transparent);
    }
}

@media screen and (min-width: 1250px) {
    .single_page aside .featured { font-size: 2.369em; }
    .single_page aside ul { font-size: 1.333em; }
}

@media screen and (min-width: 1500px) {
    .single_page { margin: 0 15%; }
    .main_header { border-bottom: 6px solid #3baf29; font-size: 3.157em; height: 86px;
            line-height: 80px; padding-left: 40px; top: -86px; width: 580px; }
    .single_page { padding-bottom: 150px; }
    .single_page + .continuation { margin-top: -100px; }
}

@media screen and (min-width: 1700px) {
    .single_page aside .featured { font-size: 3.157em; }
}

/* -- Header --------------------------------------- */

header > div,
header > nav { padding: 0 10px 0; }
header,
header input,
header a { color: #fff; }

header a.external_login {
    border-right: 1px solid white;
    margin-right: 20px;
    padding-right: 20px;
}

    /* -- Account Navigation -- */
.account_nav {
    background-color: #20271f;
    height: 40px;
    line-height: 40px;
    overflow: hidden;
    padding: 0;
    -webkit-transition: all .35s ease; 
          -moz-transition: all .35s ease; 
          -ms-transition: all .35s ease; 
          -o-transition: all .35s ease; 
          transition: all .35s ease;    text-align: right;
}
.account_nav > div { display: inline-block; height: 40px; position: relative; text-align: center; }
.account_nav .cart {float: left; position: absolute; visibility: hidden;}
.account_nav .account {float: right;}
.account_nav span,
.account_nav a { text-align: left; }
.account_nav .shopping_cart { background-image: url("../images/shopping-cart.png");
    background-position: 0 50%; border: none; font-size: .75em; font-weight: 700;
    padding-left: 38px; }
.shopping_cart span { font-weight: 300; }
.account_nav .shopping_cart_label { font-size: .75em; }
.account_nav .welcome,
.account_nav .shopping_cart_label { display: none; }
.account_nav div > a { margin-left: 15px; padding: 0 20px 0; }
.account_nav .account .invoice_payment { border: none; margin-left: 0; padding-left: 0; }

#header_login_form {
    display: block;
    height: 160px;
    margin-top: 20px;
    padding: 30px 0;
    text-align: center;
    width: 100%;
    z-index: 30;
}
#header_login_form p { color: #fff; display: inline-block; padding: 0; width: 100%; vertical-align: top; }
#header_login_form label { display: inline-block; font-size: .75em; width: 100px; }
#header_login_form .login-remember { width: 180px; }
#header_login_form .login-submit { width: 70px; }
#header_login_form .login-remember input { width: 15px; }
#header_login_form .login-remember label { width: 140px; }
#header_login_form input {
    border: 1px solid #242424;
    background-color: #fff;
    color: #fff;
    display: block;
    padding: 7px;
    margin: 0 auto 5px;
    width: 150px;
}
#header_login_form input { color: #242424; font-size: .75em; }
#header_login_form input[type="checkbox"] { display: inline-block; }
#header_login_form p.login-remember { display: block; margin: 0 auto 5px; }
#header_login_form input[type=submit] {
    border: none;
    background-color: #3baf29;
    background-image: url('../images/r-arrow.png');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 20px;
    border-radius: 0;
    box-shadow: none;
    text-indent: 999px;
    width: 70px;
}
#header_login_form input[type=submit]:hover { background-color: #207d12; }
#header_login_form input[type=submit]:active { margin-left: 1px; margin-top: 1px; }
.show_login_form { height: 280px !important; }

.signage { text-align: center; }
.primary_logo { display: inline-block; padding: 30px 0; vertical-align: top; }
.primary_logo img {width: 280px;}
.swi_phone_number { display: inline-block; vertical-align: top; width: 100%; }
.swi_phone_number span {
    color: #3baf29;
    display: block;
    font-style: italic;
    font-weight: 700;
    width: 100%;
}
.swi_phone_number a {
    background-image: url("../images/cell-phone.png");
    background-position: 0 50%;
    background-size: contain;
    color: #242424;
    display: inline-block;
    font-size: 1.333em;
    padding-left: 30px;
    margin: 10px;
}
.swi_phone_number a:hover { text-decoration: none; }

    /* -- Navigation Menu -- */
header > nav { background-color: #3baf29; height: 55px; position: relative; }

.primary_nav {
    background-color: #3baf29;
    left: -250px;
    position: absolute;
    top: 55px;
    vertical-align: middle;
    width: 250px;
    z-index: 10;
}
.primary_nav div.search,
.primary_nav a {
    display: inline-block;
    font-weight: 400;
    padding-left: 20px;
    width: 100%;
    height: 50px;
    line-height: 45px;
    text-align: left;
    vertical-align: middle;
}
.primary_nav a:hover,
.primary_nav a:active { background-color: #207d12; text-decoration: none;}
.call_to_action .request_quote_button,
.primary_nav a.request_quote_button {
    background-color: #20271f;
    border-radius: 30px 30px 0 0;
    display: inline-block;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.333em;
    font-weight: 700;
    height: 55px;
    line-height: 55px;
    padding: 0 40px;
    text-shadow: 3px 3px #111710;
    width: auto;
    z-index: 500;
}
.primary_nav a.request_quote_button {
    bottom: 66%;
    box-shadow: 0px 10px 80px -10px #111710;
    position: fixed;
    right: 0;
    -webkit-transform: rotate(-90deg); 
          -moz-transform: rotate(-90deg); 
          -ms-transform: rotate(-90deg); 
          -o-transform: rotate(-90deg); 
          transform: rotate(-90deg);    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    -o-transform-origin: right bottom;
    transform-origin: right bottom;
}
.call_to_action .request_quote_button {
    border-radius: 35px;
    font-size: 1.333em;
    height: 70px;
    line-height: 70px;
    margin-bottom: 70px;
    position: static;
}
.call_to_action .request_quote_button:after,
.primary_nav a.request_quote_button:after { content: '!'; }
.call_to_action .request_quote_button:hover,
.primary_nav a.request_quote_button:hover { background-color: #20271f; border: none; text-decoration: underline; }
.call_to_action .request_quote_button:active { box-shadow: -1px 9px 80px -10px #111710; right: 79px; top: -24px; }
.primary_nav a.request_quote_button.current-menu-item { background-color: #20271f; border: none; }
.primary_nav nav.submenu {
    background-color: #145d09;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;}
.primary_nav nav.submenu a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.primary_nav .supermenu:focus .submenu,
.primary_nav .supermenu:hover .submenu { max-height: 1000px; }

.primary_nav input { background-color: transparent; position: absolute;
    top: -45px; height: 40px; }
.primary_nav .search {
    background-image: url("../images/search-2.png");
    background-position: 7% 56%;
    font-size: 0;
    position: absolute;
    top: -55px;
    left: 0;
    width: 20px;
}
.search_field {
    border: 1px solid #fff;
    height: 40px;
    font-size: 1em;
    left: 10px;
    margin: 0;
    padding-left: 35px;
    text-align: center;
    width: 180px;
}
.search_field::-webkit-input-placeholder { color: #fff; }
.is_focused::-webkit-input-placeholder {
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    text-indent: -200%;
}
.search_field:-moz-placeholder { color: #fff; }
.is_focused:-moz-placeholder {
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    text-indent: -200%;
}
.search_field::-moz-placeholder { color: #fff; }
.is_focused::-moz-placeholder {
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    text-indent: -200%;
}
.search_field:-ms-input-placeholder { color: #fff; }
.is_focused:-ms-input-placeholder {
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    text-indent: -200%;
}
#s.has_content,
#s:focus { text-align: left; }
.search_submit {
    background-image: url("../images/search-button.png");
    border: none;
    height: 40px;
    left: 200px;
    margin: 0;
    text-indent: -10000px;
    width: 40px;
}

.menu_toggle { display: none; }
.menu_button {
    position: absolute;
    background-image: url("../images/menu-icon-sm.png");
    border: none;
    height: 55px;
    left: 10px;
    top: 10px;
    width: 40px;
}

.primary_nav,
.social_nav,
.menu_button { -webkit-transition: all .35s ease; 
          -moz-transition: all .35s ease; 
          -ms-transition: all .35s ease; 
          -o-transition: all .35s ease; 
          transition: all .35s ease; }
.menu_toggle:checked ~ .menu_button { left: 260px; }
.menu_toggle:checked ~ .primary_nav { left: 0; }
.menu_toggle:checked ~ .social_nav { padding-left: 300px; }

.social_icon svg { height: 40px; width: 40px; }
.social_icon { height: 55px; line-height: 55px; }
.social_nav {
    display: inline-block;
    height: 55px;
    margin: 10px;
    padding-left: 50px;
    padding-right: 80px;
    text-align: right;
    vertical-align: middle;
    width: 100%;
}

/** Child Nav Menu */

.submenu .supermenu nav a {
	position: relative;
	padding-left: 56px;
}

.submenu .supermenu nav a::before {
	content: '';
	width: 24px;
	height: 18px;
	display: inline-block;
	border-bottom: 1px solid #fff;
	/* border-left: 1px solid #fff; */
	margin-right: 8px;
	position: absolute;
	top: 6px;
	left: 24px;
}

    /* -- Responsive -- */
@media screen and (min-width: 500px) and (max-width: 1100px) {
    .primary_nav { left: -300px; width: 300px; }
    .search_field { width: 230px; }
    .search_submit { left: 250px; }
    .menu_toggle:checked ~ .menu_button { left: 310px; }
    .menu_toggle:checked ~ .social_nav { padding-left: 350px; }
}

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

    .menu_button { display: none; }

    .primary_nav { display: inline-block; position: static; width: auto;}

    .primary_nav div.search,
    .primary_nav a { font-weight: 300; padding: 0 10px; width: auto; }
    .primary_nav a:hover,
    .supermenu > .current-menu-parent,
    .supermenu > .current-menu-item,
    .primary_nav > .current-menu-item { background-color: #3baf29; border-bottom: 4px solid #fff;
        text-decoration: none; }
    .primary_nav .supermenu { display: inline-block; position: relative; }
    .primary_nav a.request_quote_button { border-radius: 50px; font-size: 1.777em; height: 80px; line-height: 80px;
        position: absolute; -webkit-transform: rotate(0); 
          -moz-transform: rotate(0); 
          -ms-transform: rotate(0); 
          -o-transform: rotate(0); 
          transform: rotate(0); right: 20px; top: -15px; }
    .primary_nav a.request_quote_button:active { right: 19px; top: -14px; }

    .primary_nav .search { background-image: url("../images/search.png");
        border-bottom: 4px solid #3baf29; position: static; }

    .primary_nav div.submenu,
    .primary_nav nav.submenu {
        background-clip: content-box;
        background-color: rgba(0, 0, 0, 0.6);
        border: none;
        display: none;
        left: -100px;
        padding-top: 20px;
        position: absolute;
        top: 50px;
        z-index: 10;
    }
    .primary_nav nav.submenu.animation { display: block; opacity: 0; -webkit-transition: all .35s ease; 
          -moz-transition: all .35s ease; 
          -ms-transition: all .35s ease; 
          -o-transition: all .35s ease; 
          transition: all .35s ease;; z-index: -10; }
    .primary_nav nav.submenu { background-color: rgba(0, 0, 0, 0.8); width: 650px; }
    div.submenu.show,
    .supermenu:hover .submenu { display: block; }
    div.submenu.animation.show,
    .supermenu:hover .submenu.animation { opacity: 1; z-index: 20; }

    .primary_nav .submenu fieldset { display: block; padding: 10px 5px; height: 40px; width: 350px; }
    .primary_nav .submenu input {
        border: none;
        background-position: 50% 50%;
        padding: 0;
        position: static;
        margin: 0 10px;
        text-align: center;
        float: left;
        font-size: 1em;
        font-weight: 300;
        height: 21px;
        width: 260px;
    }
    .submenu input[type=submit] {
        border-left: 1px solid #fff;
        background-image: url("../images/search.png");
        background-repeat: no-repeat;
        background-position: 50% 50%;
        text-indent: -10000px;
        width: 40px;
        height: 20px;
    }
    .primary_nav .submenu a { float: left; text-align: left; width: 50%; }
    .primary_nav .submenu a:hover { border: none; background-color: rgba(0, 0, 0, 0.3); }

    .social_icon svg{ height: 45px; width: 45px; }
    .social_icon {padding-bottom: 1px; }
    .social_nav { height: 45px; margin-top: 5px; padding: 0 10px 0 0; width: auto; }
    .social_nav a:hover { border: none; text-decoration: none; }
}

@media screen and (min-width: 350px) {
    .account_nav .cart {position: static; visibility: visible;}
    .show_login_form { height: 220px !important; }
    #header_login_form { margin-top: 40px }
    #header_login_form input { display: inline-block; margin: 0 0 5px 0; }
    #header_login_form p.login-remember { display: inline-block; }
    .swi_phone_number a { font-size: 1.333em; padding-left: 40px; }
}

@media screen and (min-width: 550px) {
    .primary_logo img {width: 300px;}
    .account_nav {height: 40px; padding: 0 5%; }
    .account_nav > div {display: inline-block; text-align: left; }
    .account_nav div > a { border-left: 1px solid #fff;}
    .swi_phone_number a { background-size: initial; }
    .swi_phone_number a { font-size: 3.157em; padding-left: 45px; }
}

@media screen and (min-width: 600px) {
    .account_nav .welcome,
    .account_nav .shopping_cart_label { display: inline; }
    .account_nav .cart,
    .account_nav .account {float: none;}
    #header_login_form { margin-top: 0; }
}

@media screen and (min-width: 768px) {
    #header_login_form { text-align: left; }
    .signage { text-align: justify; }
    .primary_logo { padding: 50px 0 35px; }
    .primary_logo img {width: 320px;}
    .swi_phone_number { text-align: right; padding: 40px 0 35px; width: auto; }
    .swi_phone_number a { margin-top: 0; margin-right: 0; }
}

@media screen and (min-width: 1001px) {
    .primary_logo img { width: 380px; }
}


@media screen and (min-width: 1251px) {
    header > div,
    header > nav { padding: 0 50px 0; }
    .primary_nav div.search,
    .primary_nav a {padding: 0 12px;}
    .primary_nav nav.submenu { background-color: rgba(0, 0, 0, 0.6); width: 1000px; }
    .primary_nav .submenu a { width: 33%; }
    .social_nav { padding: 0 350px 0 0; }
    .call_to_action .request_quote_button { border-radius: 50px; font-size: 2.369em; height: 100px; line-height: 100px; }
}

@media screen and (min-width: 1376px) {
    header > div,
    header > nav { padding: 0 75px 0; }
    .primary_nav div.search,
    .primary_nav a {padding: 0 18px; }
    .primary_nav a.request_quote_button { right: 50px; }
    .primary_nav a.request_quote_button:active { right: 49px; }
    .swi_description p { padding: 10px 33%; }
    .swi_description .tagline { margin: 20px 30% 0; }
}

@media screen and (min-width: 1576px) {
    header > div,
    header > nav { padding: 0 100px 0; }
    .primary_nav div.search,
    .primary_nav a {padding: 0 20px; }
    .primary_nav nav.submenu { width: 1320px; }
    .primary_nav .submenu a { width: 25%; }
    .primary_nav a.request_quote_button { font-size: 2.369em; height: 100px; line-height: 100px; right: 60px; top: -25px; }
    .primary_nav a.request_quote_button:active { right: 59px; top: -24px; }
    .social_nav { padding: 0 450px 0 0; }
}

@media screen and (min-width: 1776px) {
    .primary_nav a.request_quote_button { font-size: 2.369em; height: 100px; line-height: 100px; right: 80px; top: -25px; }
    .primary_nav a.request_quote_button:active { right: 79px; }
    .social_nav { padding: 0 550px 0 0; }
}

/* -- Footer --------------------------------------- */

footer {
    background-color: #20271f;
    border-bottom: 50px solid #111710;
    padding: 35px 10px 0;
    position: relative;
    text-align: center;
}

footer > nav {
    display: inline-block;
    line-height: 2;
    padding-bottom: 30px;
    text-align: center;
    width: 100%;
}
footer > div {
    color: #fff;
    display: inline-block;
    line-height: 1.5em;
    text-align: center;
    vertical-align: top;
    width: 100%;
}
footer nav > nav { display: block; margin-bottom: 10px; }
.secondary_nav a { color: #fff; display: block; line-height: 2; margin-bottom: 5px; padding: 0 10px;}
nav > a:last-child { border: none; }
footer .secondary_social_nav a { margin: 15px 5px; }
footer .secondary_social_nav svg { width: 35px; }

.secondary_logo { padding-bottom: 5px; }

footer div a { color: #fff; display: block; }

.mm_logo { bottom: -40px; left: 0; overflow: hidden; position: absolute; right: 0; text-align: center; width: 100%; }
.mm_logo svg,
.mm_logo polygon,
.mm_logo path { fill: #fff; height: 26px; }

@media screen and (min-width: 321px) {
    .secondary_nav a,
    .legal_nav a { display: inline-block; border-right: 1px solid #fff; line-height: 1; }
    .legal_nav a { border-color: #8d8d8d }
}

@media screen and (min-width: 1001px) {
    footer,
    footer > div { text-align: right; }
    footer > div { padding: 0 0 0 35px; }
    footer > div { width: 34%; }
    footer > nav { padding: 0; text-align: left; width: 65%; }
}

@media screen and (min-width: 1290px) {
    footer {padding: 35px 8% 0;}
}

@media screen and (min-width: 1500px) {
    footer {padding: 35px 10% 0;}
}

@media screen and (min-width: 1660px) {
    footer {padding: 35px 15% 0;}
}

/* -- Home Page Styles -------------------------- */

    /* -- Banner -- */
.bannerslider.flexslider { border: none; -webkit-border-radius: 0; 
-moz-border-radius: 0; -o-border-radius: 0; border-radius: 0;}
.bannerslider.flexslider .slides img { height: 350px; max-width: initial; -webkit-transform: translate(-50%, 0); 
          -moz-transform: translate(-50%, 0); 
          -ms-transform: translate(-50%, 0); 
          -o-tranform: translate(-50%, 0); 
          transform: translate(-50%, 0); width: auto; }
.bannerslider .flex-control-nav { bottom: 30px; left: 50%; -webkit-transform: translate(-50%, 0); 
          -moz-transform: translate(-50%, 0); 
          -ms-transform: translate(-50%, 0); 
          -o-tranform: translate(-50%, 0); 
          transform: translate(-50%, 0); width: auto; }
.bannerslider .flex-control-nav li a { 
    background-image: none;
    background-color: #fff;
    display: block;
    height: 10px;
    margin: 0 2px;
    padding: 0;
    width: 10px;
}
.bannerslider .flex-control-nav li a:hover { background-color: #207d12; }
.bannerslider .flex-control-nav li a.active { background-color: #3baf29; }
.bannerslider .flex-direction-nav li .next,
.bannerslider .flex-direction-nav li .prev { display: none; }
.bannerslider .flex-direction-nav li a { bottom: 34px; height: 20px; top: auto; width: 13px; }
.bannerslider .flex-direction-nav li a:hover { background-position: 0 0; }
.bannerslider .flex-direction-nav li a.prev { left: auto; right: 37%; }
.bannerslider .flex-direction-nav li a.next { background-position: -14px 0; left: 69%; right: auto; }
.flexslider .caption {
    color: #3baf29;
    background-color: rgba(255, 255, 255, 0.4);
    font-size: 1.777em;
    font-weight: 700;
    left: 50%;
    padding: 10px;
    position: absolute;
    text-align: center;
    top: 28%;
    -webkit-transform: translate(-50%, 0); 
          -moz-transform: translate(-50%, 0); 
          -ms-transform: translate(-50%, 0); 
          -o-tranform: translate(-50%, 0); 
          transform: translate(-50%, 0);    width: 100%;
}
.flexslider .caption span { color: #242424; display: block; font-weight: 300; }

    /* -- Featured Section -- */
.featured_section { 
    background: #f5f5f5;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#f5f5f5, endColorstr=#d4d4d4)";
    background: -moz-linear-gradient(left, #f5f5f5 85%, #d4d4d4 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(85%,#f5f5f5), color-stop(100%,#d4d4d4));
    background: -webkit-linear-gradient(left, #f5f5f5 85%,#d4d4d4 100%);
    background: -o-linear-gradient(left, #f5f5f5 85%,#d4d4d4 100%);
    background: -ms-linear-gradient(left, #f5f5f5 85%,#d4d4d4 100%);
    background: linear-gradient(to right, #f5f5f5 85%,#d4d4d4 100%);
    border-bottom: 1px solid #d4d4d4;
    padding: 10px 30px 20px 15px;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    width: 100%; 
}
.featured_section.last { border: none; }

.featured_section h1,
.featured_section h2 {
    color: #3baf29;
    font-size: 2.369em;
    font-weight: 300;
    text-transform: uppercase;
    padding-top: 50px;
    padding-bottom: 10px;
}

.featured_section h3 { color: #242424; font-size: 1em; font-weight: 700; margin-left: 20px; }

.featured_section p { font-size: 1em; }

.featured_section ul {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
    margin-bottom: 40px;
    margin-left: 20px;
}
.featured_section .benefits { -webkit-column-count: 1; -moz-column-count: 1; column-count: 1; margin: 0; }
.benefits li {
    font-size: 1.333em;
    font-weight: 700;
    margin: 30px 0;
    min-height: 66px;
    padding-left: 115px;
}
.benefits .icon-no { background-image: url('../images/icon-no.png'); }
.benefits .icon-save { background-image: url('../images/icon-save.png'); }
.benefits .icon-safe { background-image: url('../images/icon-safe.png'); }

    /* -- Responsive -- */
@media screen and (min-width: 475px) {
}

@media screen and (min-width: 550px) {
    .featured_section .featured_link,
    .featured_section > a { font-size: 2.369em; }
}

@media screen and (min-width: 675px) {
    .bannerslider.flexslider .slides img { height: auto; -webkit-transform: translate(0, 0); 
          -moz-transform: translate(0, 0); 
          -ms-transform: translate(0, 0); 
          -o-tranform: translate(0, 0); 
          transform: translate(0, 0); width: 100%; }
    .bannerslider .flex-control-nav li a { display: none; }
    .flexslider .caption { background-color: rgba(255, 255, 255, 0.7); padding: 15px 30px; width: 66%; }
}

@media screen and (min-width: 768px) {
    .featured_section .featured_link div:last-of-type,
    .featured_section a div:last-of-type { top: 70%; }
    .bannerslider .flex-control-nav { bottom: 15px; }
    .bannerslider .flex-control-nav li a { display: block; }
}

@media screen and (min-width: 800px) {
    .featured_section { border: none; display: table-cell; width: 33.33%; }
    .featured_section.last { background: #f5f5f5; }
}

@media screen and (min-width: 850px) {
    .featured_section .featured_link,
    .featured_section > a { font-size: 1em; width: 33.33%; }
    .flexslider .caption { font-size: 2.369em; }
}

@media screen and (min-width: 1001px) {
    .featured_section { padding: 0 30px; }
    .flexslider .caption { background-color: rgba(255, 255, 255, 0.0); left: 66%; width: 75%; }
    .bannerslider .flex-control-nav { left: 66%; }
    .bannerslider .flex-direction-nav li .next,
    .bannerslider .flex-direction-nav li .prev { bottom: 19px; display: block; }
    .flexslider .caption { font-size: 3.157em; }
}


@media screen and (min-width: 1251px) {
    .featured_section { padding: 0 60px; }
    .featured_section p { font-size: 1.333em; }
    .featured_section h1,
    .featured_section h2 { font-size: 3.157em; }
    .flexslider .caption { width: 50%; }
    .featured_section .featured_link,
    .featured_section > a { font-size: 1.777em; }
    .bannerslider .flex-direction-nav li .next,
    .bannerslider .flex-direction-nav li .prev { bottom: 34px; }
    .bannerslider .flex-control-nav { bottom: 30px; }
}

@media screen and (min-width: 1376px) {
    .featured_section .featured_link,
    .featured_section > a { font-size: 2.369em; }
}

@media screen and (min-width: 1485px) {
    .flexslider .caption { font-size: 4.208em; }
    .flexslider .caption span { font-size: .75em; }
}

@media screen and (min-width: 1700px) {
    .featured_section > a { font-size: 3.157em; }
    .flexslider .caption { font-size: 5.609em; }
}

/* -- Call to action styles ------------------------------- */
.call_to_action {
    clear: both;
    background-image: url("../images/textured-background.png");
    background-repeat: repeat;
    position: relative;
    text-align: center;
}

.call_to_action h2 { color: #fff; font-size: 2.369em; font-weight: 300; padding: 50px; }
.call_to_action strong { font-weight: 700; }

.call_to_action .steps li {
    background-repeat: no-repeat;
    color: #fff;
    counter-increment: step-counter;
    display: block;
    float: left;
    height: 400px;
    position: relative;
    width: 100%;
}
.call_to_action .steps li:nth-child(4) { clear: both; float: none; font-size: 1.777em; font-weight: 300; height: auto; padding: 50px; text-align: center; width: auto; }
.call_to_action .steps li:after { /* Number and left border */
    border-left: 3px solid #fff;
    content: counter(step-counter);
    display: block;
    font-size: 2.369rem;
    font-weight: 700;
    left: 10%;
    line-height: .8;
    padding-left: 10px;
    position: absolute;
    text-transform: uppercase;
    top: 50%;
    -webkit-transform: translate(0, -50%); 
          -moz-transform: translate(0, -50%); 
          -ms-transform: translate(0, -50%); 
          -o-tranform: translate(0, -50%); 
          transform: translate(0, -50%);}
.call_to_action .steps li:nth-child(4):after { display: none; }
.call_to_action .steps li:before { /* Green Background behind number  */
    background-color: #3baf29;
    content: '';
    display: block;
    height: 33%;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%); 
          -moz-transform: translate(0, -50%); 
          -ms-transform: translate(0, -50%); 
          -o-tranform: translate(0, -50%); 
          transform: translate(0, -50%);    width: 20%;
}
.call_to_action .steps li:nth-child(4):before { display: none; }
.call_to_action .steps li span {
    background-color: rgba(0, 0, 0, 0.6);
    font-size: 1.777rem;
    font-weight: 700;
    height: 33%;
    padding: 4% 30px 0 60px;
    position: absolute;
    right: 0;
    text-align: left;
    text-transform: uppercase;
    top: 50%;
    -webkit-transform: translate(0, -50%); 
          -moz-transform: translate(0, -50%); 
          -ms-transform: translate(0, -50%); 
          -o-tranform: translate(0, -50%); 
          transform: translate(0, -50%);    width: 80%;
}
.call_to_action .steps li span:after {
    position:absolute;
    top: 50%;
    left:0;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 65px 0 65px 35px;
    border-color: transparent transparent transparent #3baf29;
    -webkit-transform: translate(0, -50%); 
          -moz-transform: translate(0, -50%); 
          -ms-transform: translate(0, -50%); 
          -o-tranform: translate(0, -50%); 
          transform: translate(0, -50%);}
.call_to_action .steps li:nth-child(4) span:after { display: none; }
.call_to_action .steps li:nth-child(4) span:before { content: 'STEP #4: '; font-weight: 700; }

.call_to_action .steps li:nth-child(1) {
    background-image: url('../images/featured-phone.jpg');
}
.call_to_action .steps li:nth-child(2) {
    background-image: url('../images/featured-csr.jpg');
}
.call_to_action .steps li:nth-child(3) {
    background-image: url('../images/featured-semi.jpg');
}
.call_to_action .steps li:nth-child(4) {
    clear: both;
    background-image: none; 
    background-color: transparent;
    float: none;
    width: 100%;
}

    /* -- Responsive -- */
@media screen and (min-width: 650px) and (max-width: 799px) {
    .call_to_action .steps li { background-size: 100% auto; }
}

@media screen and (min-width: 800px) {
    .call_to_action h2 { font-size: 3.157em; }
    .call_to_action .steps li { width: 33.33%; }
    .call_to_action .steps li:nth-child(4) { font-size: 2.369em; }
    .call_to_action .steps li:after { font-size: 3.157rem; }
}

@media screen and (min-width: 1500px) {
    .call_to_action .steps li span { font-size: 2.369em;}
}

@media screen and (min-width: 1700px) {
    .call_to_action h2 { font-size: 4.208em; }
    .call_to_action .steps li:nth-child(4) { font-size: 4.208em; }
    .call_to_action .steps li:after { font-size: 4.208rem; }
}

    /* -- Login Page --*/
body.login {
    background-color: #e1e1e1 !important;
    color: #20271f !important;
}
body.login h1 a { 
    background-image: url('../images/logo-full.png') !important;
    background-size: 270px auto;
    padding-bottom: 0;
    width: 270px;
}
body.login h1 {
    background-color: transparent;
    border: none;
    color: #fff;
    font-size: 2.369em;
    height: 86px;
    line-height: 80px;
    padding: 0;
    position: static;
    width: 100%;
}

body.login h1:after,
body.login h1:before { display:none }

body.login form { box-shadow: none; }
body.login #login_error { border-left-color: #3baf29; box-shadow: none; }
body.login label {
    color: #20271f !important;
}
body.login input {
    border: 1px solid #20271f;
    padding: 7px;
    margin-bottom: 5px;
}
body.login input:focus { outline: none !important; }
body.login input[type=submit],
body.login input[type=submit]:hover {
    border: none;
    background-color: #3baf29;
    background-image: url('../images/r-arrow.png');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 22px;
    border-radius: 0;
    box-shadow: none;
    text-indent: 999px;
    width: 40%;
}
body.login input[type=submit]:hover { background-color: #207d12; }
body.login input[type=submit]:active { background-color: #207d12; border: none; left: 1px; position: relative; top: 1px; }

body.login .message { border-left-color: #20271f; }

/* -- Woocommerce Pages -- */

.woocommerce .woocommerce-info { background-color: #f7f7f7; border-top-color: #3baf29; }
.woocommerce .woocommerce-info:before { color: #515151; }

.woocommerce-result-count { font-size: 1em; }

.single_product { position: relative; }

.variations_button { margin: 0 auto; }

.woocommerce .variations_button button {
    position: static;
    float: none;
}

.woocommerce .category_content { clear:both; padding-top: 20px; }

.product .product_description p { text-align: left; }
.product .product_description ul:before {
    content: "Product Specs:";
    font-weight: 700;
    line-height: 1.8em;
}

div.woocommerce ul {
    -webkit-columns: 1;
    -moz-columns: 1;
    columns: 1;
}
.product_description li {
    color: #3baf29;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.8em;
    padding-bottom: 10px;
}
.product_description li:before { content: "-"; }

.sidebar.featured_content { 
    margin-bottom: 100px;
    margin-top: 100px; 
    width: 250px;
}
.sidebar.featured_content h2 {
    font-size: 1.333em;
    padding-left: 35px;
}
.woocommerce ul.products {
    position: relative;
}

.woocommerce ul.products li.product {
    padding: 0 4px 60px;
    float: left !important;
    width: 100%;
}
.woocommerce .product_cat ul.products li.product { vertical-align: initial; }
.woocommerce ul.products li.product a img {
    height: auto;
    margin: 0 auto 20px;
    max-width: 300px;
    padding: 0;
    width: 100%;
}
.woocommerce ul.products li.product:nth-child(1),
.woocommerce ul.products li.product:nth-child(3) { clear: both; }

.woocommerce .product_description { padding-bottom: 15px; }

.product { position: relative; }
.product h3 { text-align: center; padding: 0; }
.product p { font-size: 1em; text-align: center; }
.product a {  color: #242424; }

.product_row {
    position: relative;
}

li.product p.price { color: #242424; padding: 0; height: auto; }

.woocommerce div.product form.cart .variations select {
    display: inline-block;
    float: none;
    width: auto;
}


.single_product div.product p.price, 
.single_product div.product span.price { text-align: left; }

.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    color: #20271f;
}
.woocommerce div.product .out-of-stock { color: #3baf29; font-weight: 700; }

.product_meta { font-weight: 700; }

.woocommerce .quantity input[type=number] {
    border: 1px solid #3baf29;
    text-align: center;
    font-size: 1em;
    font-weight: 700;
    height: 2.369em;
    padding: 2px;
    width: 2.369em;
}

.woocommerce #respond input#submit.alt,
.woocommerce button.button,
.woocommerce button.button.alt, 
.woocommerce .sidebar a.button,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.product a.button { 
    background-color: #3baf29;
    border-radius: 0;
    color: #fff !important;
    display: inline-block;
    font-weight: 700;
    height: 2.369em;
    padding: 10px 20px;
    text-transform: uppercase;
}

.woocommerce div.product form.cart div.quantity,
.woocommerce div.product form.cart .button { float:none; vertical-align: baseline; } 
.woocommerce.single-product div.single_product form.cart div.quantity,
.woocommerce.single-product div.single_product form.cart button.button { float: left; }

.product a.button {
    bottom: -30px;
    left: 50%;
    margin: 2em auto;
    position: absolute;
    -webkit-transform: translate(-50%, 0); 
          -moz-transform: translate(-50%, 0); 
          -ms-transform: translate(-50%, 0); 
          -o-tranform: translate(-50%, 0); 
          transform: translate(-50%, 0);}

.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce .sidebar a.button:hover,
.woocommerce input.button.alt:hover,
.product a.button:hover { background-color: #207d12 !important; color: #fff; }
.woocommerce a.button.alt:active { bottom: -1px; margin-left: 1px; }
.product a.button:active { bottom: -31px; margin-left: 1px; }
.woocommerce .sidebar a.button:active,
.woocommerce button.button:active,
.woocommerce input.button.alt:active { left: 1px; position: relative; top: 1px; }

.woocommerce .woocommerce-message { border-top-color: #d4d4d4; }
.woocommerce .woocommerce-message:before { color: #d4d4d4; }

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { border-radius: 0; }

.woocommerce a.remove { color: #3baf29 !important; padding-left: 1px; }
.woocommerce a.remove:hover { background-color: #207d12 !important; }
.woocommerce a.remove:active { padding: 1px 0 0 2px; }

.product-quantity .min_qty_notice { display: none; }

.selector { display: none; }
.selector + label {
    border: 1px solid #fff;
    border-radius: 2px;
    display: inline-block;
    height: 25px;
    margin: 20px 1px;
    overflow: hidden;
    position: relative;
    text-indent: -900px;
    width: 25px;
}
.selector + label:after {
    content: "";
    display: block;
    height: 17px;
    position: absolute;
    left: 3px;
    top: 3px;
    width: 17px;
}
.selector.red + label:after { background-color: #3baf29; }
.selector.gray + label:after,
.selector.grey + label:after { background-color: #757575; }
.selector.yellow + label:after { background-color: #fff045; }
.selector.orange + label:after { background-color: #ffa500; }
.selector.blue + label:after { background-color: #0042ff; }
.selector.green + label:after { background-color: #00c032; }
.selector.beige + label:after { background-color: #f5f5dc; }
.selector.black + label:after { background-color: #000; }
.selector.white + label:after { border: 1px solid #fff }

.selector:checked + label { border: 1px solid #20271f; }

input#qty { border: 1px solid #3baf29; }

.min_qty_notice { color: #d4d4d4; padding: 20px 0; }

.cart p { font-size: 1em; line-height: 1; padding: 0; }

li.product { text-align: center; }
li.product h2 { font-size: 1.333em; padding-bottom: 10px; min-height: 2em; }
li.product p { padding: 0; }
li.product p.price { min-height: 0; }
li.product .product_price_info { min-height: 2em; }
li.product .selector + label { margin: 10px 1px; }
li.product div.quantity { display: inline; }
li.product div.product_meta { margin: 10px 0 20px; }
li.product span.price { margin-top: -10px; }
li.product .min_qty_notice { font-size: .75em; padding: 0; }

.single_product .button { border: 1px solid #3baf29; margin-top: 20px; }

.woocommerce ul.products li.product button.button { margin-top: 20px; }


.related.products { margin-top: 50px;} 
.related.products:before { border-top: 1px solid #e1e1e1; content: ''; display: block; 
            position: absolute; left: -40px; width: 150%; }
.related.products h2 { font-size: 1.777em; padding: 30px 0 10px; }

/* -- Sidebar -- */
.sidebar.compressed ul { padding-left: 20px; }
.woocommerce .sidebar a.button {
    background-color: #3baf29;
    margin: 0 0 50px 35px;
}


.up_arrow:after {
    border-color: transparent transparent #20271f transparent;
    border-style: solid;
    border-width: 0 30px 30px 30px;
    content: '';
    height: 0;
    left: 10%;
    position: absolute;
    top: -30px;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    width: 0;
}
.down_arrow:after {
    border-color: #20271f transparent transparent transparent;
    border-style: solid;
    border-width: 30px 30px 0 30px;
    bottom: -30px;
    content: '';
    height: 0;
    left: 10%;
    position: absolute;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    width: 0;
}
._product_1:after { left: 10%; }
._product_2:after { left: 35%; }
._product_3:after { left: 60%; }
._product_4:after { left: 85%; }
._2_col_product_1:after { left: 20%; }
._2_col_product_2:after { left: 70%; }
.product_details_container {
    display: block;
    height: 0;
    max-height: 0;
    min-height: 0;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;}
.product_details_container.opened { height: auto; max-height: 1000px; min-height: 200px; overflow: initial; }

.product_details_container .close_details_button {
    background-image: url('../images/close.jpg');
    cursor: pointer;
    height: 33px;
    position: absolute;
    right: 0;
    top: 30px;
    width: 33px;
}
.product_details_container .close_details_button:active { top: 31px; right: -1px; }

.product_details_container h2 {
    padding-top: 25px;
    font-size: 1.777em;
}

.product_details_container h3 {
    color: #242424;
    font-size: 1.333em;
}
.product_details_container p {
    font-size: 1em;
}

.product_details_container .product_specs,
.product_details_container .additional_info {
    display: inline-block;
    margin: 0 20px 35px;
    vertical-align: top;
    width: 45%;
}

.product_details_container li { 
    color: #3baf29;
    font-weight: 700;
    padding-bottom: 5px;
}
.product_details_container li:before { content: "-"; }


/* SharpsAway and SafeSendAway taxonomy pages */

.multiple_cat_container ul.categories {
    margin: 10px 0 50px;
}
.multiple_cat_container ul.categories li {
    display: block;
    font-size: 1.333em;
    line-height: 1;
    padding: 10px;
    position: relative;
    text-align: center;
}
.multiple_cat_container ul.categories li:last-of-type {
    border: none;
}

.multiple_cat_container ul.categories a.selected {
    color: #3baf29;
}

.multiple_cat_container ul.categories a:after {
    border-style: solid;
    border-width: 20px 0 20px 20px;
    border-color: transparent transparent transparent transparent;
    bottom: 50%;
    content: "";
    height: 0;
    position: absolute;
    left: -20px;
    -webkit-transition: all .5s ease; 
          -moz-transition: all .5s ease; 
          -ms-transition: all .5s ease; 
          -o-transition: all .5s ease; 
          transition: all .5s ease;    -webkit-transform: translate(0, -50%); 
          -moz-transform: translate(0, -50%); 
          -ms-transform: translate(0, -50%); 
          -o-tranform: translate(0, -50%); 
          transform: translate(0, -50%);    width: 0;
}
.multiple_cat_container ul.categories a.selected:after {
    border-color: transparent transparent transparent #242424;
}

.multiple_cat_container > .category_section { display: none; }

.product_details_container .product_details h2 { padding-right: 50px; }
.product_details_container .product_details p,
.product_details_container .product_details h3 { text-align: left; }

/* -- Spinner -- */
.spinner{
    background-image: url("/wp-content/plugins/woocommerce/assets/images/select2-spinner.gif");
    display: none;
    height: 16px;
    margin: 5px auto;
    width: 16px;
}
.spinner.spinning { display: block; }


@media screen and (max-width: 500px) {
    .woocommerce-cart .single_page { padding: 60px 15px 20px; }
    .woocommerce-cart .shop_table.cart { border: none; border-collapse: collapse; display: block; margin: 0 auto 30px; max-width: 300px; }
    .woocommerce-cart .shop_table.cart td { border: none; }
    .shop_table.cart thead { display: none; }
    .shop_table.cart tr { border: 1px solid #242424; }
    .shop_table.cart td { display: block; text-align: center; width: 280px; }
    .shop_table.cart td.product-remove { display: inline-block; width: 30px; }
    .shop_table.cart td.product-name { display: inline-block; text-align: left; width: 240px; }
}



/* -- Woocommerce Color Resets --  */

.woocommerce .woocommerce-error{border-top-color: #3baf29}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle, .woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce #respond input#submit.alt.disabled,.woocommerce #respond input#submit.alt.disabled:hover,.woocommerce #respond input#submit.alt:disabled,.woocommerce #respond input#submit.alt:disabled:hover,.woocommerce #respond input#submit.alt:disabled[disabled],.woocommerce #respond input#submit.alt:disabled[disabled]:hover,.woocommerce a.button.alt.disabled,.woocommerce a.button.alt.disabled:hover,.woocommerce a.button.alt:disabled,.woocommerce a.button.alt:disabled:hover,.woocommerce a.button.alt:disabled[disabled],.woocommerce a.button.alt:disabled[disabled]:hover,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled],.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled],.woocommerce input.button.alt:disabled[disabled]:hover, p.demo_store{ background-color: #3baf29; }
.woocommerce form .form-row .required, .woocommerce div.product .out-of-stock, .woocommerce a.remove, .woocommerce .woocommerce-error:before { color: #3baf29; }

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content, .woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color: #207d12;}

.woocommerce .woocommerce-message{border-top-color:#757575;}
.woocommerce .woocommerce-message:before{content:"\e015";color:#757575;}
.woocommerce form .form-row.woocommerce-validated .select2-container,.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:#3abb19}
.woocommerce div.product p.price,.woocommerce div.product span.price, .woocommerce div.product .stock, .woocommerce span.onsale, .woocommerce ul.products li.product .price, .woocommerce-cart .cart-collaterals .cart_totals .discount td{ color: #20271f; }

.woocommerce .woocommerce-info{border-top-color:#252525}
.woocommerce .woocommerce-info:before{color:#252525}


.woocommerce form .form-row.woocommerce-validated .select2-container, 
.woocommerce form .form-row.woocommerce-validated input.input-text, 
.woocommerce form .form-row.woocommerce-validated select { border-color: #242424; }

.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: #242424;
    -webkit-box-shadow: 0px 0px 5px 0px #ce303c;
    -moz-box-shadow: 0px 0px 5px 0px #ce303c;
    box-shadow: 0px 0px 5px 0px #ce303c;
}



/* -- Woocommerce Border Radius Resets --  */

.select2-container .select2-choice, .select2-container.select2-drop-above .select2-choice, .select2-drop, .select2-drop.select2-drop-above, .select2-container .select2-choice .select2-arrow, html[dir=rtl] .select2-container .select2-choice .select2-arrow, .select2-results .select2-highlighted, .select2-container-multi .select2-choices .select2-search-choice, .woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce span.onsale, .woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button, .woocommerce #reviews #comments ol.commentlist li .comment-text, .woocommerce #reviews #comments ol.commentlist #respond, .woocommerce table.shop_table, .woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle, .woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content, .woocommerce-checkout #payment, .woocommerce-checkout #payment div.payment_box {-webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px;}

@media screen and (max-width: 400px) {
    section.single_page.product_cat { padding: 60px 15px 20px; }
}

@media screen and (min-width: 400px) and (max-width: 499px) {
    .woocommerce ul.products li.product a img { margin: 1em auto; width: 90%; }
}

/* 2 in each row */
@media screen and (min-width: 500px) and (max-width: 800px) {
    span.row_of_2 { display: block; width: 100%; }
    .woocommerce ul.products li.product{ display: table-cell; float: none !important; padding-bottom: 80px; padding-top: 50px; width: 50%; }
    .product_row._1_products { width: 50%; }
    .product_row._3_products span.row_of_2:last-of-type { width: 50%; }

    .product a.button { bottom: -10px; }
    .woocommerce a.button.alt:active,
    .product a.button:active { bottom: -11px; margin-left: 1px; }

    .product_details_container .product_specs,
    .product_details_container .additional_info { width: 40%; }

    .row_of_2 + .product_details_container:before,
    .row_of_2 + .product_details_container:before,
    .product_details_container + .row_of_2:before,
    .product_details_container + .row_of_2:before,
    .row_of_2 + .row_of_2:before { border-top: 1px solid #e1e1e1; content: ''; display: block; 
            position: absolute; left: -40px; -webkit-transition: all .35s ease; 
          -moz-transition: all .35s ease; 
          -ms-transition: all .35s ease; 
          -o-transition: all .35s ease; 
          transition: all .35s ease; width: 110%; }

    .multiple_cat_container ul.categories li { text-align: left; }
}

@media screen and (min-width: 700px) {
    div.woocommerce form.login,
    .woocommerce-account div.woocommerce form { margin: 50px auto 0; width: 600px; }
    .woocommerce-cart div.woocommerce form { width: initial; }
    .woocommerce-checkout div.woocommerce form { width: initial; }
}

@media screen and (min-width: 890px) {
    .featured_products { display: block; }
}

@media screen and (min-width: 800px) {
    .featured_image { padding-left: 25px; float: right; }
    .featured_image.offset { margin-right: -40px; }
    .featured_image.featured_container { margin-top: -160px; }

    .woocommerce ul.products li.product { padding: 60px 5px 110px; }

    .product_description li:before { content: ""; }

    .product_row { display: table; }

    .product_row._1_products { width: 25%; }
    .product_row._2_products { width: 50%; }
    ._4_products + .product_row._3_products { width: 75%; } 

    .product a.button { bottom: 0; }
    .woocommerce a.button.alt:active,
    .product a.button:active { bottom: -1px; margin-left: 1px; }

    span.row_of_2 { display: table-cell; width: 50%; }
    ._1_products span.row_of_2, 
    ._3_products span.row_of_2,
    ._2_products span.row_of_2 { width: initial; }

    .product_details_container + .product_row._1_products:before,
    .product_row + .product_row._1_products:before { width: 450%; }
    .product_details_container + .product_row._2_products:before,
    .product_row + .product_row._2_products:before { width: 340%; }
    .product_details_container + .product_row._3_products:before,
    .product_row + .product_row._3_products:before { width: 230%; }

    .woocommerce ul.products li.product{ display: table-cell; float: none !important; width: 22%; }
    .product_row + .product_details_container:before,
    .product_details_container + .product_row:before,
    .product_row + .product_row:before { border-top: 1px solid #e1e1e1; content: ''; display: block; 
            position: absolute; left: -40px; -webkit-transition: all .35s ease; 
          -moz-transition: all .35s ease; 
          -ms-transition: all .35s ease; 
          -o-transition: all .35s ease; 
          transition: all .35s ease; top: 15px; width: 120%; }
    .product_row + .product_details_container:before { left: 50%; width: 1%;} 
    .product_row + .product_details_container.opened:before { left: -40px; width: 150%; } 

    .multiple_cat_container ul.categories li { border-right: 1px solid #242424;
    display: inline-block; font-size: 1.777em; line-height: 1; padding: 0 10px; }

    .multiple_cat_container ul.categories a:after { bottom: -45px; 
    border-width: 0 30px 30px 30px; left: 50%; -webkit-transform: translate(-50%, 0); 
          -moz-transform: translate(-50%, 0); 
          -ms-transform: translate(-50%, 0); 
          -o-tranform: translate(-50%, 0); 
          transform: translate(-50%, 0); }
    .multiple_cat_container ul.categories a.selected:after { border-color: transparent transparent #242424 transparent; }
    li.product p { height: 200px; }
}

@media screen and (min-width: 1000px) {
    .featured_image.offset { margin-top: -100px; }
    li.product p { height: 175px; }
}

@media screen and (min-width: 1200px) {
    li.product p { height: 200px; }
    .woocommerce ul.products li.product a img { padding: 20px; }
    li.product p { height: 150px; }
}

@media screen and (min-width: 1400px) {
    li.product p { height: 100px; }
}

@media screen and (min-width: 1700px) {
    li.product p { height: 80px; }
}

/* -- Forms -- */

select {
    background-color: #fff;
    border-radius: 0;
    border: 0;
    font-size: .75em;
    margin-bottom: 5px;
    outline: 1px solid #20271f;
    padding: 7px;
    -webkit-border-radius: 0px;
}

select:focus { outline: 1px solid #20271f; }

textarea,
input {
    border: 1px solid #20271f;
    padding: 7px;
    margin-bottom: 5px;
    font-size: .75em;
}

fieldset legend { font-size: 1.333em; font-weight: 700; padding-top: 20px; }

label { font-size: .75em; }

.contact_page { padding-bottom: 50px; } 

.contact_form_wrapper { position: relative; }

.wpcf7 em,
.contact_page em { color: #3baf29; }
.instructions em { display: block; }
.wpcf7 p { padding: 0; }
.wpcf7 .instructions { font-size: 1em; padding-bottom: 30px; }
.wpcf7 textarea,
.wpcf7 input {
    border: 1px solid #20271f;
    font-size: 1em;
    padding: 7px;
    margin-bottom: 5px;
    width: 100%;
}
.wpcf7 label { line-height: 2; }

.wpcf7 input[type=submit] {
    background-color: #3baf29;
    background-image: url('../images/r-arrow.png');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border: none;
    height: 40px;
    margin-bottom: 50px;
    padding: 10px;
    text-indent: 999px;
    width: 180px;
}
.wpcf7 input[type=submit]:hover { background-color: #207d12; }
.wpcf7 input[type=submit]:active { left: 1px; position: relative; top: 1px; }

.wpcf7 .wpcf7-date { width: auto; }

input.wpcf7-not-valid,
textarea.wpcf7-not-valid{ 
    -webkit-box-shadow: 0px 0px 5px 0px #ce303c;
    -moz-box-shadow: 0px 0px 5px 0px #ce303c;
    box-shadow: 0px 0px 5px 0px #ce303c;
}

span.wpcf7-not-valid-tip { color: #ce303c; }

div.wpcf7-mail-sent-ok,
div.wpcf7-response-output {
    background-color: #f7f7f7;
    border: none;
    border-top: 3px solid #20271f;
    color: #20271f;
    padding: 1em 2em 1em 3.5em;
    position: relative;
    margin: 0 0 2em;
    width: 50%;
}
div.wpcf7-spam-blocked,
div.wpcf7-mail-sent-ng,
div.wpcf7-validation-errors { border-top-color: #ce303c; }
div.wpcf7-response-output:before { 
    color: #20271f;
    content: "\e028";
    font-family: WooCommerce;
    display: inline-block;
    left: 1.5em;
    position: absolute;
    top: 1em;
}
div.wpcf7-validation-errors:before { content: "\e016"; color: #ce303c; }

    /* Responsive */
@media screen and (min-width: 350px) {
    fieldset legend { font-size: 1.777em; }
    select,
    textarea,
    input { font-size: 1em; }
    label { font-size: 1em; }
}
 
@media screen and (min-width: 100px) {
    .wpcf7 textarea { width: 90%; }
}

@media screen and (min-width: 100px) {
     .wpcf7 input { width: 80%; }
}

@media screen and (min-width: 450px) {
    .wpcf7 textarea { width: 90%; }
}

@media screen and (min-width: 450px) {
     .wpcf7 input { width: 80%; }
}

@media screen and (min-width: 600px) {
    .wpcf7 textarea{ width: 97%; }
}


@media screen and (min-width: 600px) {
    .wpcf7 input { width: 93%; }
}

@media screen and (min-width: 800px) {
    .wpcf7 textarea{ width: 65%; }
}


@media screen and (min-width: 800px) {
    .wpcf7 input { width: 93%; }
}

@media screen and (min-width: 1000px) {
    .wpcf7 .instructions { font-size: 1.333em; }
    .wpcf7 input { width: 94%; }
}


@media screen and (min-width: 1000px) {
        .wpcf7 textarea
    { width: 65%; }
}
@media screen and (min-width: 800px) {

form#gform_4, form#gform_3,form#gform_1 {
    max-width: 67%;
}
}
