/*
 Theme Name:   TriStar Theme 2018
 Theme URI:    /
 Description:  Flex grid theme using SlimMenu
 Author:       JV Media Design
 Author URI:   http://jvmediadesign.com
 Version:      6.4.2 Flex
*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,400i,700');

body {
    color: #4f4f4f;
    padding: 0;
    margin: 0;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 400;
    font-size: 1.175rem;
    font-style: normal;
    line-height: 1.3;
    cursor: default;
    background: #fff;
}

.row {
    width: 100%;
    /*max-width: 1164px;*/
}

main .row .row {
    margin: 0 auto;
}

.blue {
    background: rgb(28,92,161);
}

.red {
    background: rgb(190,78,78);
}

.pswp__bg {
    background: rgba(0,0,0,.7) !important;
}

/* ============================================================== */
/* ----------------------------------->>>> TYPOGRAPHY ----------- */
/* ============================================================== */

a {
    text-decoration: none;
}
 
main a:link, main a:visited, main a:active, footer p a:link, footer p a:active, footer p a:visited {
    color: rgb(0,149,163);
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
    transition: color 300ms ease-out;
}

main a:hover, main a:focus, footer p a:hover, footer p a:focus {
    color: rgb(28,92,161);
}

a img {
    border: none !important;
    outline: none;
    text-decoration: none !important;
}

/* Default paragraph styles */
p {
    /*width: 100%;*/
}

p, main ul, main ol, main ul li {
    font-family: inherit;
    color: #4f4f4f;
    font-weight: 400;
    font-size: 1.175rem;
    line-height: 1.5;
    width: 100%;
}

.large {
    font-size: 1.5rem;
}

.small {
    font-size: .875rem;
}

.u {
    text-decoration: underline;
}

blockquote {
    padding-top: .1rem;
}

blockquote, blockquote p {
    font-family: inherit;
    color: #4f4f4f;
    font-family: inherit;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.2;
}

blockquote p {
    padding: 0 0 1rem 2.5rem;
}

.name {
    font-family: inherit;
    color: #4f4f4f;
    font-weight: 400;
    font-size: 1.1rem;
    font-style: normal;
}

h1, h2, h3, h4, h5 {
    font-family: 'Noto Sans', sans-serif;
    line-height: normal;
    margin: 1rem 0;
    width: 100%;
}

.bgpic h2 {
    color: #4f4f4f;
    font-weight: 400;
}

h2, h3, h4 {
    font-weight: 400;
}

h2 {
    color: #4f4f4f;
}

h3 {
    color: #4f4f4f;
}

h4 {
    font-weight: 700;
    color: #4f4f4f;
    text-transform: uppercase;
}

h5 {
    font-size: 1.675rem;
    font-weight: 400;
    color: #4f4f4f;
}

.woocommerce h2 {
    font-family: inherit;
    font-size: 1.6rem;
    font-weight: 600;
}

.woocommerce h3 {
    font-family: inherit;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: none;
}

h1 a:link, h1 a:active, h1 a:visited,
h2 a:link, h2 a:active, h2 a:visited,
h3 a:link, h3 a:active, h3 a:visited,
h4 a:link, h4 a:active, h4 a:visited,
h5 a:link, h5 a:active, h5 a:visited {
	color: inherit;
    transition: color 300ms ease-out;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover {
	color: #4f4f4f;
    text-decoration: none;
}

hr {
    border: none;
    clear: both;
    background: #b0dee2;
    margin: 2rem auto;
    padding: 0;
    width: 100%;
    height: 5px;
}

hr.swish {
    border: none;
    clear: both;
    display: block !important;
    background: url(images/hr-line.png) no-repeat top center;
    background-size: contain;
    margin: 2rem auto;
    padding: 0;
    width: 100% !important;
    max-width: 555px;
    height: 98px;
}

.clearfloat {
	height: 0;
	line-height: 0;
	font-size: 1px;
	clear: both;
}

.clearfix {
    clear: both;
}

em,
i {
  font-style: oblique;
  line-height: inherit; }

strong,
b {
  font-weight: 600; }


/* Lists */


main ul,
main ol {
  margin-bottom: 1.95rem;
  list-style-position: outside;
  font-family: inherit; }
 
ul.inline {
    width: 100%;
    margin: 0;
    padding: 0;
    width: auto;
    list-style: none;
}

ul.inline li {
    display: inline-block;
    vertical-align: text-top;
}

form ul.inline {
    margin: 0 auto !important;
}

form ul.inline li {
    margin: 0 !important;
    width: auto
}

/* Unordered Lists */
main ul li ul,
main ul li ol {
    margin-top: 1em;
  margin-left: 1.25rem;
  margin-bottom: 0; }

main ul li {
    list-style-image: url(images/bullet.png);
}

/* Ordered Lists */

  main ol li ul,
  main ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

main ol li {
    list-style: decimal;
}

/* ============================================================== */
/* --------------------------------------->>>> HEADER ----------- */
/* ============================================================== */

.top-message {
    padding: .4rem;
}
.top-message p {
    color: #fff;
    font-weight: 700;
    text-align: center;
    margin: 0;
}

.top-message a:link, .top-message a:active, .top-message a:visited {
    color: #fff;
    border-bottom: 2px solid #fff;
    transition: padding 300ms ease-in;
}

.top-message a:hover {
    padding-bottom: 4px;
}

.headercontainer {
    padding: 1rem 0;
}

.logo, .logo-mobile {
    text-align: center;
}

.logo a, .logo-mobile a {
    display: block;
}

.logo img {
    width: auto;
    max-width: 188px;
}

.logo-mobile {
    z-index: 9999 !important;
}

.logo-mobile img {
    max-width: 150px;
    margin: 0;
}

.hright {
    /*position: absolute;
    top: 0;
    right: 0;*/
    width: 100%;
}

.support p {
    text-align: right;
    margin: 0 2rem 1rem 0;
    font-weight: 700;
}

.support p a:link, .support p a:active, .support p a:visited {
    color: #b34e4e;
    padding: .5rem 1rem 0 1rem;
    border-bottom: 3px solid #fff;
    transition: border 300ms ease-out, padding 300ms ease-out;
}

.support p a:hover, .support p a:focus {
    padding: .5rem 1rem .3rem 1rem;
    border-bottom: 3px solid #b34e4e;
}

.top-buttons a {
    font-family: inherit;
    font-weight: 400;
    font-size: .975rem;
    line-height: 1.3;
    text-transform: uppercase;
    margin: 0 4px;
    padding: .5rem 1rem 0.4rem 1rem;
    border-radius: 20px;
    display: inline-block;
    transition: background 300ms ease-out;
}

.top-buttons-mobile {
    margin: 0;
    width: 100%;
}

.top-buttons img {
    padding: 0;
    margin-left: .5rem;
}
.top-buttons-mobile img {
    margin: 0 auto;
    padding: 0;
    float: right;
}

.top-buttons-mobile a {
    font-family: inherit;
    font-weight: 400;
    font-size: 1rem;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: .5rem;
    width: 100%;
    display: inline-block;
    transition: background 300ms ease-out;
}

.top-buttons a:link, .top-buttons a:active, .top-buttons a:visited,
.top-buttons-mobile a:link, .top-buttons-mobile a:active, .top-buttons-mobile a:visited {
    background: rgb(28,92,161);
    color: #fff;
}

.top-buttons a:hover, .top-buttons-mobile a:hover {
    background: rgb(28,132,146);
}

ul.menu .cart a:link, ul.menu .cart a:active, ul.menu .cart a:visited {
    background: rgb(28,92,161) url(images/icon-cart.png) no-repeat center right 10px;
    color: #fff;
    padding: .5rem 2.5rem .5rem 1rem !important;
}

ul.menu .cart a:hover, ul.menu .cart a:focus {
    background: rgb(28,132,146) url(images/icon-cart.png) no-repeat center right 10px;
    color: #fff;
    padding: .5rem 2.5rem .5rem 1rem !important;
}

.top-buttons .green-button a:link, .top-buttons .green-button a:active, .top-buttons .green-button a:visited,
.top-buttons-mobile .green-button a:link, .top-buttons-mobile .green-button a:active, .top-buttons-mobile .green-button a:visited {
    background: rgb(0,149,163) !important;
}

.top-buttons .green-button a:hover, .top-buttons-mobile .green-button a:hover {
    background: rgb(25,73,146) !important;
}

.top-buttons .red-button a:link, .top-buttons .red-button a:active, .top-buttons .red-button a:visited,
.top-buttons-mobile .red-button a:link, .top-buttons-mobile .red-button a:active, .top-buttons-mobile .red-button a:visited,
.button.redbtn:link, .button.redbtn:active, .button.redbtn:visited {
    background: rgb(190,78,78) !important;
}

.top-buttons .red-button a:hover, .top-buttons-mobile .red-button a:hover, .button.redbtn:hover {
    background: rgb(13,168,183) !important;
    color: #fff !important;
}

.top-buttons-mobile ul {
    margin: 0;
    padding: 0;
}

.top-buttons ul {
    text-align: right;
    margin: 0;
    padding: 0;
}

.top-buttons li, .top-buttons-mobile li {
    list-style: none;
    display: inline-block;
}

.top-buttons-mobile li {
    width: 50%;
    float: left;
}
/*
.top-buttons-mobile li.green-button {
    width: 100%;
    float: none;
}*/

.top-buttons li, .top-buttons-mobile li a {
    border: 1px solid #fff;
}

/* ============================================================== */
/* --------------------------------------->>>> MAIN MENU -------- */
/* ============================================================== */

/* =============================================== >>>>>> CUSTOM FIXED MENU ON SCROLL ==== */

.headercontainer {
    transition: all 300ms ease-in;
}

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

.menu-collapser {
    position:absolute;
    width: 105px;
    top: 0;
    right: 0;
    padding:.5rem;
    font-family: inherit;
    font-size: 1.2rem;
    font-weight: 400;
    color: #fff;
    line-height: 1.6;
    z-index: 9999 !important;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

.menu-text {
    color: #fff;
    float: left;
    font-weight: 600;
    font-size: .925rem;
}

.collapse-button {
    background: rgb(28,92,161);
    position:absolute;
    right: 0;
    top: 0;
    width: 105px;
    padding:.5rem;
    color:#FFFFFF;
    font-size:.875rem;
    text-align:center;
    cursor:pointer;
    transform:translate(0, -50%);
    -o-transform:translate(0, -50%);
    -ms-transform:translate(0, -50%);
    -moz-transform:translate(0, -50%);
    -webkit-transform:translate(0, -50%);
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    transition: background 300ms ease-out;
}

.collapse-button:hover,.collapse-button:focus {
    color:#FFF;
    background: rgb(0,149,163);
}

.collapse-button .icon-bar {
    display:block;
    height: 3px;
    width: 37px;
    float: right;
    margin: 2px 0;
    background-color:#fff;
}

ul.slimmenu {
    margin:0;
    padding: 0;
    width: 100%;
    list-style-type:none;
}

ul.slimmenu:before,ul.slimmenu:after {
content:'';display:table;
}

ul.slimmenu:after {
clear:both;
}

ul.slimmenu.collapsed {
    margin: 0 auto 5px auto;
    width: 100%;
    padding: 0;
}

ul.slimmenu.collapsed li {
display:block;
    width:100%;
    margin: 0;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

ul.slimmenu.collapsed li>ul {
position:static;display:none;
}

ul.slimmenu.collapsed li a {
display:block;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

ul.slimmenu li {
    position:relative;
    margin: 0;
    display:inline-block;
    background: transparent;
    cursor: pointer;
    transition: border 300ms ease-out;
}

ul.slimmenu li ul {
margin:0;
    list-style-type:none;
}

ul.slimmenu li ul li {
    width: 100%;
    min-width: 250px;
}

ul.slimmenu li>ul {
position:absolute;
    left:0 !important;
    top: 40px;
    margin-left: 0;
    padding-left: 0;
    z-index:999;
    display:none;
    width:100%;
    min-width: 250px;
}

ul.slimmenu li>ul>li ul {
position:absolute;left:100%;top:0;z-index:999;display:none;width:100%;
}

ul.slimmenu li a {
    display: block;
    padding: .6rem 1rem;
    font-family: inherit;
    font-weight: 400;
    color: #4f4f4f;
    font-size: .975rem;
    text-transform: uppercase;
    transition: background 300ms ease-in;
}

ul.slimmenu li.has-submenu ul li a {
    padding: .6rem 1rem !important;
    width: 100%;
    border: none !important;
}

ul.slimmenu li a:hover, ul.slimmenu.collapsed li:hover {
    text-decoration:none;
    color: #4f4f4f;
}

ul.slimmenu ul li a,
ul.slimmenu li.current_page_parent ul li a {
    border-bottom: none !important;
    color: #4f4f4f;
    padding: .6rem 1rem;
    font-size: 1rem;
    transition: color 300ms ease;
}

ul.slimmenu li.current-menu-item a:hover, ul.slimmenu li.current_page_parent a:hover {
    
}

ul.slimmenu ul li a:hover {
    color: #4f4f4f !important;
}

.headercontainer.solid ul.slimmenu li.has-submenu > a::after {
    border-color: #4f4f4f transparent transparent;
}
        
        /* ----------------------------------------------------------------- */
        /* --------------------------------------- >>>>> DESKTOP MENU ------ */
        @media screen and (min-width: 1080px) {
            
            .top-buttons-mobile {
                display: none;
            }
            
            .headercontainer .column {
                padding-left: 0;
                padding-right: 0;
            }
            
            .logo-mobile {
                display: none;
            }
            
            .headermenu {
                position: relative;
            }
            
            .headermenu .logo-mobile {
                display: none;
            }
            
            .headercontainer.solid .logo {
                display: none !important;
            }
            .headercontainer.solid .logo-mobile {
                display: block !important;
            }
            
            .headercontainer.solid {
                background: rgba(255,255,255,1);
                position: fixed;
                top: 0;
                right: 0;
                width: 100%;
                padding: 0;
                max-width: none;
                z-index: 999999 !important;
                -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
                -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
                box-shadow: 0 1px 2px rgba(0,0,0,.2);
            }
            
            .headercontainer.solid .hright {
                align-self: center;
            }

            .headercontainer.solid .collapse-button {
                top: 18px;
            }

            .headercontainer.solid .logo img {
                max-height: 85px;
                margin: 0;
            }

            .headercontainer.solid .menu-collapser {
                margin-top: 20px;
            }

            .headercontainer.solid ul.slimmenu li a {
                color: rgb(28,92,161);
            }

            ul.slimmenu li.has-submenu a {
                padding: .6rem 2rem .6rem 1rem !important;
                border-radius: 20px 20px 0 0;
            }

            .sub-toggle { 
                display: none;
            }
            ul.slimmenu {
                text-align: right;
            }
            ul.slimmenu li a {
                background: transparent;
                color: rgb(28,92,161);
                border-radius: 20px;
            }
            
            ul.slimmenu li li a {
                border-radius: 0 !important;
            }
            .headercontainer.solid ul.slimmenu li ul li a, .headercontainer ul.slimmenu li ul li a {
                font-size: 1rem;
                transition: background 300ms ease-out;
            }
            
            .headercontainer.solid ul.slimmenu li ul li a:hover {
                color: #fff !important;
            }

            ul.slimmenu li > ul {
                margin-top: -4px;
            }

            ul.slimmenu ul li {
                margin-left: 0;
            }
            
            ul.slimmenu ul li a, ul.slimmenu li.current_page_parent ul li a, ul.slimmenu li ul li.current-menu-item a {
                color: #fff !important;
                background: rgb(28,92,161);
                transition: background 300ms ease-out;
            }
            
            ul.slimmenu li a:hover {
                color: #fff !important;
                background: rgb(28,92,161);
            }
            
            ul.slimmenu li.current_page_parent a, ul.slimmenu li.current-menu-item a {
                color: #fff !important;
                background: rgb(28,92,161);
            }
            
            ul.slimmenu ul li a:hover, ul.slimmenu.collapsed li:hover, ul.slimmenu li ul li.current-menu-item a:hover,
ul.slimmenu li.current_page_parent ul li a:hover, ul.slimmenu li ul li.current-menu-item a:hover {
                color: #fff !important;
                background: rgb(0,149,163);
            }

            ul.slimmenu li.has-submenu > a::after {
                -moz-border-bottom-colors: none;
                -moz-border-left-colors: none;
                -moz-border-right-colors: none;
                -moz-border-top-colors: none;
                border-color: #4f4f4f transparent transparent;
                border-image: none;
                border-style: solid inset inset;
                border-width: 6px 6px 0;
                content: "";
                display: block;
                height: 0;
                width: 0;
                position: absolute;
                right: 10px;
                top: 45%;
            }
            
            .headercontainer.solid ul.slimmenu li.has-submenu > a::after {
                border-color: #fff transparent transparent;
            }
            
            ul.slimmenu li.has-submenu > a:hover::after {
                border-color: #fff transparent transparent !important;
            }
            
            ul.slimmenu li.current_page_parent a::after,
            ul.slimmenu li.current-menu-item a::after,
            ul.slimmenu li ul li.current-menu-item a::after {
                border-color: #fff transparent transparent;
            }

            .mobile-only {
                display: none !important;
            }
           
        }

                    /* ----------------------------------------------------------------- */
                    /* --------------------------------------- >>>>> MOBILE MENU ------ */

                    /* Resize Width - matches footer */
                    @media screen and (max-width: 1079px) {
                        .top-buttons-mobile {
                            display: block !important;
                        }
                        
                        .top-buttons, .support p, .sidebar {
                            display: none;
                        }
                        
                        .headercontainer .headermenu {
                            padding: 0;
                        }
                        
                        .logo {
                            display: none;
                            padding-left: 1rem;
                        }
                        
                        .headercontainer .nav {
                            padding: 0 !important;
                        }

                        .headercontainer {
                            background: #fff;
                            position: relative;
                            top: 0;
                            right: 0;
                            width: 100%;
                            max-width: none;
                            padding: .3rem 0;
                            z-index: 999999 !important;
                            -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.5);
                            -moz-box-shadow: 0 1px 2px rgba(0,0,0,.5);
                            box-shadow: 0 1px 2px rgba(0,0,0,.5);
                        }

                        .headercontainer .collapse-button {
                            top: 20px;
                            right: 1rem;
                        }

                        .headercontainer .nav {
                            padding: 1rem 0 0 0;
                            flex: none;
                            position: absolute;
                            top: 66px;
                            left: 0;
                            -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.5);
                            -moz-box-shadow: 0 1px 2px rgba(0,0,0,.5);
                            box-shadow: 0 1px 2px rgba(0,0,0,.5);
                            display: block;
                            clear: both;
                            z-index: 9999;
                        }

                        .headercontainer ul.slimmenu li a {
                            color: #fff;
                        }

                        .headermain {
                            padding: 0 !important;
                        }

                        .headermenu {
                            padding: .3rem;
                            position: relative;
                        }
                        
                        .nav {
                            width: 100%;
                        }

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

                        ul.slimmenu li.has-submenu > a::after {
                            display: none;
                        }
                        
                        ul.slimmenu li {
                            border-bottom: 1px solid #3a6ea6;
                            position:relative;
                            float:none;
                            margin: 0;
                            display: block;
                            background: transparent;
                            cursor: pointer;
                            width: 100%;
                            transition: background 300ms ease-out;
                        }
                        
                        ul.slimmenu li>ul {
                            position:relative;
                            top: 0px;
                        }
                        
                        ul.slimmenu li a {
                            padding: .8rem 1rem;
                            text-transform: uppercase;
                        }
/* Dropdown arrows */
                        ul.slimmenu li .sub-toggle{width:100%; position:absolute; left:0; top:0; background:none; height:100%;}
                        ul.slimmenu li .sub-toggle img {
                            text-align: center;
                            position: absolute;
                            top: 10px;
                            right: 0;
                            cursor: pointer;
                            padding: .5rem 1rem .4rem;
                            float: right;
                        }

                        ul.slimmenu li .sub-toggle:hover i {
                            text-decoration:none;
                        }

                        ul.slimmenu.collapsed li > ul{position: relative; }

                        ul.slimmenu li .sub-toggle:before {
                            content:'';
                            display:inline-block;
                            height:100%;
                            vertical-align:middle;
                        }
/* ------- */
                        ul.slimmenu>li:last-child {
                        border-bottom: none !important;
                        }
                        
                        ul.slimmenu li a, ul.slimmenu.collapsed li a {
                            color: #fff !important;
                            background: rgb(28,92,161);
                            border-bottom: none !important;
                        }
                                                
                        ul.slimmenu li a:hover, ul.slimmenu li.has-submenu a:hover, ul.slimmenu.collapsed li.has-submenu a:hover, ul.slimmenu.collapsed li a:hover, ul.slimmenu.collapsed li a:hover, ul.slimmenu ul li a:hover, ul.slimmenu li.current-menu-item a:hover, ul.slimmenu li ul li.current-menu-item a:hover, ul.slimmenu li.current_page_parent ul li a:hover, ul.slimmenu li.current_page_parent a:hover, ul.slimmenu li.current-menu-item a:hover, ul.slimmenu li ul li.current-menu-item a:hover  {
                            color: #fff !important;
                            border-bottom: none !important;
                        }

                        ul.slimmenu li.has-submenu li a, ul.slimmenu li.current-menu-item a, 
                        ul.slimmenu li.current_page_parent li a, ul.slimmenu li.current-menu-item li a, ul.slimmenu li ul li.current-menu-item li a {
                            background: rgb(28,92,161) !important;
                            color: #fff;
                            border-bottom: none !important;
                        }

                        ul.slimmenu li.has-submenu li a:hover,
                        ul.slimmenu li.current_page_parent li a:hover, ul.slimmenu li.current-menu-item li a:hover, ul.slimmenu li ul li.current-menu-item li a:hover {
                            background: rgb(0,149,163) !important;
                            color: #fff !important;
                            border-bottom: none !important;
                        }
                        
                        /* SUBMENUS */
                        ul.slimmenu li ul li {
                            text-align: center !important;
                            border-bottom: 1px solid #3a6ea6;
                        }
                        
                        ul.slimmenu li.has-submenu li a, ul.slimmenu li.current_page_parent li a, ul.slimmenu li.current-menu-item li a, ul.slimmenu li ul li.current-menu-item li a,
                        ul.slimmenu li.has-submenu li a:hover, ul.slimmenu li.current_page_parent li a:hover, ul.slimmenu li.current-menu-item li a:hover, ul.slimmenu li ul li.current-menu-item li a:hover {
                            font-size: .975rem;
                            background: rgb(28,92,161) !important;
                            border-bottom: none !important;
                        }
                        
                        
                        ul.slimmenu li a:hover, ul.slimmenu li.current_page_parent a, ul.slimmenu li.current-menu-item a, ul.slimmenu ul li a, ul.slimmenu li.current_page_parent ul li a, ul.slimmenu li ul li.current-menu-item a, ul.slimmenu ul li a:hover, ul.slimmenu.collapsed li:hover, ul.slimmenu li ul li.current-menu-item a:hover, ul.slimmenu li.current_page_parent ul li a:hover, ul.slimmenu li ul li.current-menu-item a:hover {
                            border-bottom: none !important;
                        }
                        
                    }

/* ============================================================== */
/* --------------------------------------->>>> SIDE MENU -------- */
/* ============================================================== */

.sidebar {
    padding: 2rem 2.5rem;
}
.sidebar-menu {
    margin: 0;
    padding: 0;
}

.sidebar-menu li {
    list-style: none;
    margin: .5rem 0;
    padding-left: 0;
}

.sidebar-menu a:link, .sidebar-menu a:active, .sidebar-menu a:visited {
    color: #fff;
    font-size: .975rem;
    text-transform: uppercase;
    border-bottom: 3px solid transparent;
    padding: .2rem .2rem 0 .2rem;
    display: block;
}

.sidebar-menu a:hover, .sidebar-menu a:focus, .sidebar-menu .current-menu-item a {
    color: #8bc5ce;
    border-bottom: 3px solid #8bc5ce;
}

.sidebar form {
    margin: 2rem 0;
}

form button {
    margin-top: 1rem;
}

/* ============================================================== */
/* -------------------------------------->>>> BUTTONS ----------- */
/* ============================================================== */

button, .button:link, .button:visited, .button:active, .button:link, .button:visited, .button:active, 
.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, input[type="submit"], .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button {
    font-family: inherit;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    margin: 0 4px;
    font-size: .975rem;
    padding: .5rem 1rem .4rem 1rem;
    text-decoration: none !important;
    margin: 0;
    cursor: pointer;
    border: 2px solid transparent !important;
    border-radius: 20px;
    background: rgb(0,149,163);
    transition: background 300ms ease-out, color 300ms ease-out, border 300ms ease-out;
}
    
button:hover, .button:hover, .gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type="submit"]:hover, input[type="submit"]:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce.button:hover, .woocommerce .button:focus, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
    color: rgb(0,149,163);
    background: #fff;
    border: 2px solid rgb(0,149,163) !important;
}

.button.large {
    font-size: 1.275rem;
    padding: 1.2rem 3rem;
}

.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 {
    color: #4f4f4f !important;
    background: #fff !important;
    border: 2px solid #4f4f4f !important;
}


.read-more:link, .read-more:visited, .read-more:active, .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited {
    font-family: inherit;
    font-weight: 700;
    color: rgb(0,149,163);
    text-transform: uppercase;
    margin: 0 4px;
    font-size: 1.1rem;
    padding: .4rem 2rem;
    text-decoration: none !important;
    margin: 0;
    cursor: pointer;
    border: 2px solid #4f4f4f;
    background: none;
    transition: background 300ms ease-out;
}

.read-more:hover, .read-more:focus, .comment-reply-link:hover {
    color: #fff !important;
    background: rgb(0,149,163);
}

.gform_wrapper .gform_footer {
    padding: 0 !important;
}

/* ============================================================== */
/* ---------------------------------------->>>> FORMS ----------- */
/* ============================================================== */

/* --------------------------------->>>> SEARCH FORM -------- */

form.search-form {
    margin: 1rem auto;
}

form.search-form button {
    padding: .325rem .4rem !important;
    margin: 0;
    float: left;
    border: none !important;
}

form.search-form button:hover, form.search-form button:focus {
    text-decoration: none;
    background: #56A19E;
    padding: .325rem .4rem !important;
    border: none !important;
}

input::placeholder, textarea::placeholder {
    color: #666;
}

input:focus::placeholder {
    color: #fff;
}

[type='text'], [type='email'] {
    transition: border 300ms ease-out;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
      border: 2px solid #4f4f4f;
  }

select {
    height: auto;
}

label {
    font-family: inherit !important;
    font-size: 1.1rem !important;
    color: #4f4f4f;
    font-weight: 400 !important;
    text-transform: capitalize;
}

form span label {
    font-size: .875rem !important;
}

[type="text"], [type="password"], [type="date"], [type="datetime"], [type="datetime-local"], [type="month"], [type="week"], [type="email"], [type="number"], [type="search"], [type="tel"], [type="time"], [type="url"], [type="color"], textarea {
    background: #fff !important;
    color: #4f4f4f !important;
    font-size: 1.1rem;
    font-weight: 400;
    margin: 0 !important;
    padding: .6rem !important;
    line-height: inherit !important;
}

form li {
    margin-bottom: 0;
}

.gform_wrapper .gfield_required {
    color: #4f4f4f !important;
    font-weight: 400 !important;
}

.gform_wrapper .gfield_checkbox li input, .gform_wrapper .gfield_checkbox li input[type="checkbox"], .gform_wrapper .gfield_radio li input[type="radio"] {
    vertical-align: inherit !important;
}

.gform_wrapper .top_label .gfield_label {
    font-weight: 600 !important;
}


select, .select2-container--default .select2-selection--single {
    border: 2px solid #4f4f4f !important;
  border-radius: 0px !important;
    background: #fff !important;
    color: #4f4f4f !important;
    font-size: 1.1rem;
    font-weight: 400;
    padding: .23rem !important;
    height: auto !important;
}
select {
  height: 2.4375rem !important;
    height: auto !important;
  margin: 0 0 1rem !important;
  padding: 0.5rem !important;
    width: auto !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid #4f4f4f !important;
  border-radius: 0px !important;
  background-color: #fefefe !important;
  font-family: inherit;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #4f4f4f !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>") !important;
  background-origin: content-box;
  background-position: right .5rem center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 9px !important;
  padding-right: 1.5rem !important;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==") !important; } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a !important;
    background-color: #fefefe !important;
    box-shadow: 0 0 5px #cacaca !important;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }


/* ============================================================== */
/* --------------------------------------->>>> FOOTER ----------- */
/* ============================================================== */

footer {
    clear: both;
    display: block;
    margin-top: 2rem;
    width: 100%;
    border-top: 1px solid rgb(190,78,78);
}

footer p {
    font-size: 1rem;
}

footer ul {
    margin: 2rem 0;
    padding: 0;
    text-align: center;
}

footer li {
    list-style: none;
    display: inline-block;
    margin: 0 1rem;
}

footer li a {
    display: block;
}

/* ============================================================== */
/* ------------------------------------->>>> SHORTCODES --------- */
/* ============================================================== */

/* ------------------------------------->>>> RED BOX SHORTCODE -------- */

.red-box {
    padding: 1rem;
    color: #fff;
    background: rgb(190,78,78);
}
.red-box p {
    color: #fff;
    margin: 0;
}

.red-box a:link, .red-box a:active, .red-box a:visited {
    color: #fff;
    border-bottom: 2px solid #fff;
    transition: padding 300ms ease-out;
}

.red-box a:hover, .red-box a:focus {
    padding-bottom: .4rem;
}

/* ------------------------------------->>>> RED TEXT SHORTCODE -------- */

p.red {
    color: rgb(190,78,78);
    background: none;
}

/* ------------------------------------->>>> BLUE BOX SHORTCODE -------- */

.blue-box {
    padding: 1rem;
    color: #fff;
    background: rgb(28,92,161);
}
.blue-box p {
    color: #fff;
    margin: 0;
}

.blue-box a:link, .blue-box a:active, .blue-box a:visited {
    color: #fff;
    border-bottom: 2px solid #fff;
    transition: padding 300ms ease-out;
}

.blue-box a:hover, .blue-box a:focus {
    padding-bottom: .4rem;
}

/* ------------------------------------->>>> BLUE TEXT SHORTCODE -------- */

p.blue {
    color: rgb(28,92,161);
    background: none;
}

/* ============================================================== */
/* ------------------------------------->>>> SECTIONS ----------- */
/* ============================================================== */

/* ------------------------------------->>>> HOMEPAGE VACUUM ORDER -------- */

.vacuum-banner {
    position: relative;
}

.vacuum-banner-content {
    position: absolute;
}

.vacuum-banner-bg img {
    margin: 0 auto;
}

.vacuum-banner.row {
    padding: 0 2rem;
}

.vacuum-banner-top h1 {
    font-weight: 400;
    font-style: oblique;
}

.order-icon, .order-title p {
    text-align: center !important;
    display: block;
    clear: both;
}

.order-icon a {
    display: block;
    width: 100%;
    height: 100%;
}

.order-icon img {
    border: 3px solid rgb(190,78,78) !important;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    object-position: 100% 0;
    transition: border 300ms ease-out, border-radius 300ms ease-out;
}

.order-title {
    color: rgb(190,78,78);
    text-transform: uppercase;
    font-size: 1.3rem;
}

.order-title p {
    margin: .4rem auto;
}

.order-title a:link, .order-title a:active, .order-title a:visited {
    color: rgb(190,78,78);
    transition: color 300ms ease-out;
}

.order-icon img:hover {
    border: 3px solid rgb(28,92,161) !important;
    border-radius: 20%;
}

.order-title a:hover {
    color: rgb(28,92,161);
}

@media screen and (max-width: 872px) {
    .vacuum-banner-content {
        position: relative;
    }
    
    .vacuum-banner-content, .vacuum-banner-bg {
        width: 100%;
        max-width: 100%;
        display: block;
        clear: both;
        flex: none !important;
        margin: 0 !important;
        text-align: center;
    }
    
    .vacuum-banner-bg img {
        max-height: 250px;
    }
    
    .vacuum-banner-top h1 {
        text-align: center !important;
    }
    
}

/* ------------------------------------->>>> HOMEPAGE CATEGORIES -------- */

.categ .column {
    min-width: 240px;
}
.cat-img p {
    margin: 0;
    text-align: center;
}

.cat-img a, .cat-title a {
    display: block;
}

.cat-img img {
    min-height: 200px;
}

/* ------------------------------------->>>> PAGE TITLE - SUBPAGES -------- */

.page-title h1 {
    color: #fff;
}

/* ============================================================== */
/* ---------------------------------->>>> BLOG STYLES ----------- */
/* ============================================================== */

/* Hide widget titles */

.hide { display: none; }

/* ARTICLE EXCERPTS */

.blogexcerpts .hrline:last-of-type {
    display: none;
}

.article-title h2, .excerpt h2 {
    font-size: 1.9rem;
    margin-top: 0;
}

.excerpt h2 a {
    border-bottom: none !important;
}

.excerpt, .excerpt p {
    font-size: 1.1rem;
}

.excerpt .small {
    text-transform: uppercase;
}

.excerpt .small a {
    border-bottom: none !important;
    color: #565656;
}

.excerpt .small a:hover { 
    color: #fff;
}

.featured-img {
    padding: 0;
    /* max-width in media queries */
    overflow: hidden;
}

.featured-img img {
    margin: 0 auto;
    width: auto;
    object-fit: contain;
    object-position: 100% 0;
    transition: transform 300ms ease-in;
}

.featured-wide img:hover, .featured-img img:hover {
    transform: scale(1.1);
}

.article-featured {
    text-align: center;
}

/* --- Comments --- */

.comments-area {
    border-top: 5px solid #56A19E;
    padding: 1rem 0;
}

h3#comments {
    color: #4f4f4f;
    font-size: 1.5rem;
    background: #fff;
    padding: .5em 0;
}

.commentlist {
    margin: 0;
    padding-left: 0;
    font-size: 1.1rem;
    width: 100%;
}

.commentlist p {
    font-size: .975rem;
}

.commentlist li {
    border: 1px solid rgba(75,91,80,.2);
    background: rgba(75,91,80,.1);
    font-size: 1.1rem;
    padding: .5em .1em 1em 1em;
    color: #4f4f4f;
    list-style: none;
}

#respond {
    width: 100%;
}

.says {
    font-size: .875rem;
    color: #4f4f4f;
}

.commentlist li a, #respond a {
    color: #56A19E;
}

.comment-meta, .logged {
    font-size: .8rem;
    margin-bottom: 1em;
}

.comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, #commentform input[type="submit"]  {
    font-weight: 700;
    font-size: 1.1rem !important;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none !important;
    padding: .5rem 1rem;
	border: none !important;
    box-shadow: none !important;
    background: #56A19E;
    width: auto;
    height: auto;
    clear: both;
    transition: background 300ms ease-out;
    cursor: pointer !important;
}

.comment-reply-link:hover, #commentform input[type="submit"]:hover {
    color: #fff !important;
    text-decoration: none !important;
    background: #56A19E;
}

#commentform textarea {
    background: #fff;
    border: 1px solid #56A19E !important;
}
    
.alignnone {
	display: inline;
}

.alignright { 
    float: right; 
    padding: 0;
	margin: .5rem 0 .5rem 1rem; 
}

.alignleft { 
    float: left;
    padding: 0;
	margin: .5rem 1rem .5rem 0;
}

.aligncenter { 
    display: block; padding: 0;
	margin: .5rem auto; 
}


.wp-caption {
	background: #fefefe;
    border: 1px solid #E2DAD8;
	text-align: center;
	padding: .5rem;
	color: #4f4f4f;
	font-size: .875rem;
	display: block;
    width: auto;
    max-width: 100%;
}
	.wp-caption a {
		line-height: 0.11em;
		font-size: .875em;
	}
	.wp-caption a:hover {
		color: #4f4f4f;
	}
	.wp-caption img {
		margin: 0 auto;
		display: block;
		padding: 0;
        box-shadow: none;
	}
	.wp-caption-text {
		font-size: .875rem;
		color: #4f4f4f;
		padding: 3px !important;
		margin: 0 !important;
	}
.wp-caption-dd {
	font-size: 1rem;
	line-height: 16px;
	padding: 0 4px 5px;
	margin: 0;
}

.wp-paginate {
    text-align: center;
    margin: 1rem auto 0 auto;
}

.wp-paginate .title {
    padding: 0 .5rem;
}

ol.wp-paginate li {
    line-height: 1.1 !important;
}

.wp-paginate li, .wp-paginate li .span {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.1;
}

.wp-paginate .current {
    font-size: 1.2rem !important;
    color: #fff;
	background: #4f4f4f !important;
	border: none !important;
    padding: 5px 10px;
}

.wp-paginate a {
	font-weight: 700 !important;
    background: #ddd !important;
	color: #4f4f4f !important;
	border: none !important;
    box-shadow: none !important;
    padding: 5px 10px;
    text-decoration: none !important;
    transition: background 300ms ease-in;
}

.wp-paginate a:hover {
	background: #4f4f4f !important;
	color: #FFFFFF !important;
}

/* ============================================================== */
/* ---------------------------------->>>> WOOCOMMERCE ----------- */
/* ============================================================== */

.woocommerce h1.page-title { display: none !important; }

/* -------- QUANTITY + / - BUTTONS ------- */

.woocommerce div.product form.cart div.quantity {
    float: none !important;
    margin: 0 !important;
    display: inline-block !important;
}

button.plus, button.minus {
    margin-top: 0;
    padding: .475rem .9rem;
    font-size: 1.2rem;
}

.woocommerce div.product form.cart .button {
    float: none !important;
}

/* Product Quantity */
.woocommerce .quantity input.qty {
    width: 4rem;
    margin-bottom: -12px !important; /* aligns with the +/- */
}

.woocommerce div.product.sold-individually form.cart .single_add_to_cart_button.button.alt {
    margin-left: auto !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button.button.alt {
    margin-left: 2rem !important;
}

@media screen and (max-width: 380px) {
    .woocommerce div.product form.cart .single_add_to_cart_button.button.alt {
        margin: 1rem 0 0 0 !important;
        clear: both;
        display: block;
    }
}

/* SOLD INDIVIDUALLY */
/* Hide on Subscription Product because sold-individually - so field is hidden */

.sold-individually button.plus, .sold-individually button.minus {
    display: none !important;
}

.sold-individually button[type="submit"] {
    margin: 2rem auto !important;
    display: block !important;
    font-size: 1.2rem !important;
    padding: 1rem 2rem !important;
}

.woocommerce div.product.sold-individually p.price, .woocommerce div.product.sold-individually span.price {
    text-align: center;
    margin: .5rem auto 0 auto;
    display: block;
}

/* ---------------------------------->>>> CATEGORIES -------- */

/* Category Description */
.term-description {
    margin-bottom: 1rem;
    border-bottom: 1px solid #E2DAD8;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    text-align: center;
}

.woocommerce ul.products li.product .price {
    font-family: 'Noto Sans', sans-serif;
    color: #4f4f4f !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    margin: 0 0 .5rem 0;
}

/* Pagination */

.woocommerce nav.woocommerce-pagination ul {
    border: none;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul li {
    border-right: none;
    float: none;
}

.woocommerce .woocommerce-pagination ul.page-numbers li, .woocommerce-page .woocommerce-pagination ul.page-numbers li {
    width: auto;
}

.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
    border: 1px solid #eaeaea;
}

/* ---------------------------------->>>> PRODUCT PAGE -------- */

.woocommerce div.product {
    width: 100%;
}

.woocommerce div.product .product_title {
    margin-bottom: 1.5rem;
}

/* Product Main Image */
/* Prevent 1px of previous image overlap */
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
    margin-left: -1px;
}
/*
.woocommerce-product-gallery__image {
    border: 1px solid #b9b9ba;
    max-width: 467px;
}

.woocommerce-product-gallery__image:first-child {
    margin-bottom: .5rem;
}
*/
/* Product Thumbnails */
.flex-control-thumbs img {
    max-width: 100px;
}

/*
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
    max-width: 100px;
}*/

.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-family: 'Noto Sans', sans-serif;
    color: #4f4f4f !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    margin: 0 0 .5rem 0;
}

/* disabled button */
.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 {
    background: rgba(106,107,109,.3);
    color: rgba(106,107,109,.6);
    border-color: rgba(106,107,109,.5);
}

/* Product Variations Selects */

.woocommerce div.product form.cart .variations {
    margin-bottom: 0;
}

/* Clear/Reset link */
.woocommerce div.product form.cart .reset_variations {
    height: 44px;
    margin-left: 1rem;
}

/* Variations Label */

.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
    height: 44px;
    margin-top: 1px;
    padding-right: 0;
}

.woocommerce div.product form.cart .variations label {
    line-height: 44px;
    font-weight: 600 !important;
    font-size: 1.1rem;
}

/* Woocommerce Tabs */

.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 0 0 5px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: 1px solid #A9D0CD;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
    box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    border: none;
    box-shadow: none;
    left: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    width: 0px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-radius: 0px;
    border: none;
    width: auto;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: .8rem 1rem;
    font-weight: 600;
    color: #fff !important;
    background: #A9D0CD;
    transition: background 300ms ease-out;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    background: #0095a3;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    background: #972D05;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before {
    border: none;
}

/* Woocommerce Messages */

.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before {
    color: #4f4f4f;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    border: 3px solid #4f4f4f;
    width: 100%;
}

.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    text-transform: uppercase;
}

@media screen and (max-width: 380px) {
    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        display: block !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* ---------------------------------->>>> CART -------- */

/* Cart Totals Table */

.cart-discount th {
    font-size: 1rem !important;
    color: #c60f13;
}

tr.recurring-totals {
        border-top: 2px solid #56a19e;
        border-left: 2px solid #56a19e;
        border-right: 2px solid #56a19e;
        background: rgba(86,161,158,.8);
        color: #fff !important;
    }
    
    .recurring-total {
        border-top: 2px solid #56a19e;
        border-left: 2px solid #56a19e;
        border-right: 2px solid #56a19e;
        background: rgba(86,161,158,.2);
        border-bottom: 2px solid #56a19e;
    }

.woocommerce ul#shipping_method li label, .woocommerce-shipping-destination {
    font-size: 1rem !important;
}

.wc-proceed-to-checkout .button {
    display: block !important;
    border-radius: 0 !important;
    padding: 1rem !important;
}

@media screen and (max-width: 768px) {
    .woocommerce table.shop_table_responsive tbody th, .woocommerce-page table.shop_table_responsive tbody th {
        display: block !important;
        text-align: center;
        border-bottom: 2px solid #56a19e;
        font-size: 1rem;
    }
}

/* Coupon Code */
.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text {
    width: auto;
    float: left;
}

.coupon .button {
    float: left !important;
    margin-left: .5rem !important;
    
}

td.product-thumbnail img {
    max-width: 200px;
}

.woocommerce #content table.cart td.actions .coupon, .woocommerce table.cart td.actions .coupon, .woocommerce-page #content table.cart td.actions .coupon, .woocommerce-page table.cart td.actions .coupon {
    width: 100%;
}

td.product-quantity .quantity .qty {
    margin-left: 1rem;
}

.cart-collaterals h2 {
    text-transform: capitalize;
}

.checkout-button.button,.checkout-button.button.alt, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    background: rgba(190,78,78) !important;
    border: 4px solid rgb(190,78,78) !important;
    color: #fff !important;
}

.checkout-button.button:hover, .checkout-button.button.alt:hover, .woocommerce #payment #place_order:hover, .woocommerce-page #payment #place_order:hover {
    background: rgb(190,78,78,.7) !important;
    border: 4px solid rgb(190,78,78) !important;
    color: #fff !important;
}

.woocommerce span.onsale {
    min-height: 70px !important;
    max-height: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    line-height: 68px !important;
    padding: 0 !important;
    background-color: rgb(190,78,78) !important;
}

.productwrapper {
    margin-top: 2rem !important;
}

/* ---------------------------------->>>> CHECKOUT -------- */

.woocommerce span.createaccount-text {
    font-weight: 700;
    color: red;
}

/* Required */
.woocommerce form .form-row .required {
    color: #4f4f4f;
}
/* Paypal Payment Box */
#add_payment_method #payment ul.payment_methods li, .woocommerce-cart #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li {
    list-style: none;
}

.checkout [type="text"], .checkout [type="email"], .checkout [type="tel"] {
    padding: .275rem;
    font-size: 1.1rem;
}
.woocommerce-additional-fields__field-wrapper textarea[rows] {
    height: 10rem !important;
}

.woocommerce-billing-fields__field-wrapper abbr[title] {
    text-decoration: none;
}

.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: #cacaca !important;
}


/* ----------------------------- >>>> MOBILE WOOCOMMERCE ------- */

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

    /* Unhide the Remove Product X on mobile */
    .woocommerce table.shop_table_responsive tr td.actions::before, .woocommerce table.shop_table_responsive tr td.product-remove::before, .woocommerce-page table.shop_table_responsive tr td.actions::before, .woocommerce-page table.shop_table_responsive tr td.product-remove::before {
        display: inherit !important;
        text-align: center;
    }
    /* Unhide the Thumbnail on mobile */
    .woocommerce #content table.cart .product-thumbnail, .woocommerce table.cart .product-thumbnail, .woocommerce-page #content table.cart .product-thumbnail, .woocommerce-page table.cart .product-thumbnail {
        display: inherit !important;
        border-top: none;
        padding-top: 0px;
        vertical-align: top;
    }
    /* Remove the : before the button and thumb */
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        content: none;
    }

    .woocommerce a.remove {
        float: left;
    }
    
    .woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text {
        width: 100% !important;
        float: none !important;
        margin: 0 auto !important;
    }

    .woocommerce .cart td.actions .coupon input.button {
        float: none !important;
        margin: .5rem auto !important;
        width: 100% !important;
    }
    
    .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
        width: 100%;
    }
}


/* ============================================================== */
/* ---------------------------------->>>> BREAKPOINTS ----------- */
/* ============================================================== */

@media screen and (max-width: 76.9375rem) {
    .has-columns .column {
        padding: 1rem;
    }
}

@media screen and (min-width: 77rem) {
    .has-columns .column:first-child {
        padding-left: 0;
        padding-right: .9375rem;
    }

    .has-columns .column:last-child {
        padding-right: 0;
        padding-left: .9375rem;
    }
}

/* --------------------------- */
/* ----- ALL RESOLUTIONS ----- */
/* --------------------------- */



.text-center {
    text-align: center;
}


.text-right {
    text-align: right;
}

.collapse.no-padding h1, .collapse.no-padding h2, .collapse.no-padding h3, .collapse.no-padding h4, .collapse.no-padding h5, .collapse.no-padding h6 {
    margin-bottom: 0;
}

/* ============================================================== */
/* ----------------------------->>>> LARGE BREAKPOINT ----------- */
/* ============================================================== */

@media only screen and (min-width: 64em) {
    
    /* FONT SIZE */
    
    h1 {
        font-size: 3rem;
    }
    
    h2 {
        font-size: 2.3rem;
    }
    
    h2.small {
        font-size: 1.4rem;
    }
    
    h3 {
        font-size: 2.1rem;
    }
    
    h4 {
        font-size: 1.875rem;
    }
    
    .top-message p {
        font-size: 1.8rem;
    }
    
    .support p {
        font-size: 1.5rem;
    }
    
    .vacuum-banner-top h1 {
        font-size: 1.8rem;
        text-align: right;
    }
    
    .vacuum-banner-content .column {
        padding: .4rem 0;
    }
    
    .hright {
        padding:  0 2rem 0 0 !important;
    }
    
    
    .blogexcerpts {
        padding: 4rem 0;
    }
    
    .featured-img {
        margin-right: .9375rem;
        max-width: 400px;
    }
    
    .article-featured {
    float: left;
    padding: 0 1.5rem 1.5rem 0;
}
    
    ul.slimmenu li ul li {
        text-align: left;
    }
    
    
    
    footer {
        padding: 3rem 1rem 1rem 1rem;
    }
    
}

/* ============================================================== */
/* ----------------------------->>>> MEDIUM + LARGE ------------- */
/* ============================================================== */

@media screen and (min-width: 40em) {
    
    .vacuum-banner {
        min-height: 40%;
    }
    
    main a:link, main a:visited, main a:active, footer p a:link, footer p a:active, footer p a:visited {
        border-bottom: 1px solid rgb(0,149,163);
    }

    main a:hover, main a:focus, footer p a:hover, footer p a:focus {
        border-bottom: 1px solid rgb(0,149,163);
    }
    
    .wc-tabs a {
        border-bottom: none !important;
    }

    .article-title {
        padding: 1rem 1rem 0 0;
    }
    
    .excerpt-right {
        padding: 0 0 0 1rem;
    }
    
    footer p a {
        border-bottom: none !important;
    }
    
    .copyr {
        margin-top: 4rem;
    }
    
}

/* ============================================================== */
/* ---------------------------->>>> MEDIUM BREAKPOINT ----------- */
/* ============================================================== */

@media only screen and (min-width: 40em) and (max-width: 63.9375em) {
    
    /* FONT SIZE */
    
    h1 {
        font-size: 2.5rem;
    }
    
    h2 {
        font-size: 2.1rem;
    }
    
    h2.small {
        font-size: 1.3rem;
    }

   
    
    h3 {
        font-size: 1.9rem;
    }
    
    h4 {
        font-size: 1.675rem;
    }
    
    .top-message p {
        font-size: 1.4rem;
    }
    
    .vacuum-banner-top h1 {
        font-size: 1.6rem;
        text-align: right;
    }
    
    
    main li, blockquote, blockquote p, main p, main .large {
        font-size: 1.1rem !important;
    }
    
  
    .widget-box {
        margin: 0 0 3rem 0;
    }
    
    .blogexcerpts {
        padding: 2rem 0;
    }
    
    .featured-img {
        max-width: 48%;
    }
    
    .button {
        padding: .5rem 1.5rem;
    }
    
    .wide-content {
        padding: 1rem;
    }
    
    .quote, .name {
        font-size: 1.3rem;
    }
    
    ul.slimmenu li ul li {
        text-align: left;
    }
    
    ul.slimmenu {
        margin: 0 auto;
    }
    
    article span.alignright {
        max-width: 40%;
    }
    
    
    footer {
        padding: 2rem 1rem 1rem 1rem;
    }
    
}

@media screen and (min-width: 481px) and (max-width: 800px) {
    .wp-caption {
        max-width: 60%;
    }
}

@media screen and (max-width: 480px) {
    .wp-caption {
        max-width: 100%;
    }
}

/* ============================================================== */
/* ---------------------------->>>> MEDIUM + SMALL -------------- */
/* ============================================================== */

@media only screen and (max-width: 63.9375em) {
    
   
    
    .button.large {
        padding: .8rem 2rem;
        font-size: 1.1rem !important;
    }
    
    .hright {
        padding: 0 !important;
    }
    
   
    
    .gform_wrapper {
        margin-top: 0 !important;
    }
    
    hr {
        margin: .5rem auto;
    }
    
    article img {
        max-height: 300px !important;
        width: auto;
    }
    
    .article-excerpt p {
        padding: 0 0 .3rem 0 !important;
    }
    
    footer .column > .row > .column {
        padding: 0 1rem;
    }
    
    footer .column {
        padding: 1rem;
    }
    
}

/* ============================================================== */
/* ----------------------------->>>> SMALL BREAKPOINT ----------- */
/* ============================================================== */

@media only screen and (max-width: 39.9375em) {
    
    /* FONT SIZE */
    
    h1 {
        font-size: 1.7rem;
    }
    
    h2 {
        font-size: 1.6rem;
    }
    
    h2.small {
        font-size: 1.2rem;
    }

  
    
    h3 {
        font-size: 1.5rem;
    }
    
    h4 {
        font-size: 1.475rem;
    }
    
    .top-message p {
        font-size: 1.2rem;
    }
    
    .top-message img { display: none; }
    
    .top-buttons-mobile {
        display: none !important;
    }
    
    .vacuum-banner-top h1 {
        font-size: 1.4rem;
        text-align: center;
    }
    
   
    main p {
        font-size: 1.1rem !important;
    }
    
    .section-title {
        font-size: 1.5rem !important;
        margin: 0;
    }
    
   
    
    main li, blockquote, blockquote p, main p, main .large {
        font-size: 1.1rem !important;
    }
    
  
    
    .page-title,.featured-img {
        margin-bottom: 1rem;
    }
    
    .widget-box {
        margin: 0;
    }
    
    .woocommerce h2 {
        font-size: 1.2rem;
    }
    
    .woocommerce h3 {
        font-size: 1.1rem;
    }
    
    .featured-img img {
        max-width: 100%;
    }
    
    
    
    .row .row {
        margin: 0;
    }
    
    .has-columns .column {
        width: 100%;
        padding: 0 1rem;
        flex: 0 0 auto;
        clear: both;
    }

    
    
    .exc-title a {
        font-size: 1.2rem !important;
    }
    
    img, img.alignright, img.alignleft {
    	display: block;
    	float: none;
    	margin: 0 auto 1rem auto;
        text-align: center;
    }
    
    /* Fix weird hidden div when align-self-bottom is used */
    .align-self-bottom {
        flex: none;
        display: block;
        max-width: 100%;
    }
    
    .coupon .button {
        float: none !important;
        margin: .5rem auto 0 auto !important;
        width: 100% !important;
    }

    .button:link, .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"] {
        display: block;
        width: 100%;
        font-size: 1.1rem !important;
        line-height: 1.2 !important;
    }
    
    .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"] {
        padding: 1.1rem .5rem .9rem .5rem !important;
    }
    
    main ul.inline li {
        display: block;
    }
    
    main ul.inline, main ul.inline li {
        margin: .5rem;
        text-align: center;
    }
    
    .collapse {
        padding: 0 !important;
    }
    
    html {
        overflow-x: hidden;
    }
    
    main .row.padded {
        padding: 0 !important;
    }
    
    .align-right {
        justify-content: center;
    }
    
    footer {
        padding: 1rem;
        text-align: center;
    }
    
    footer .column {
        padding: 1rem !important;
        width: 100%;
        max-width: 100%;
        margin-bottom: 2px;
        min-width: auto;
    }
    
    footer .column .column {
        border-top: 1px solid #eaeaea;
    }
    
    footer p a {
        margin: 0 0 .5rem 0;
    }
    
    .button, main .button:link, main .button:visited, main .button:active, .button:link, .button:visited, .button:active, .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, form.search-form button {
        margin: 0 auto;
        display: block;
        text-align: center;
    }

    .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, form.search-form button {
        display: block;
    }
    
    .buttons {
        margin: 0;
    }

    blockquote {
        margin: 0 .5rem;
        padding: 0;
    }
    
    .section-title {
        margin: 0;
    }
    
	main ul, main ol, main dl {
        padding-left: 1.9rem;
    }
    
}

@media only screen and (max-device-width: 640px) {
    /* Unstick that menu! */
    .headercontainer.solid {
        position: relative !important;
    }
}



/* ----------------------------------------------------------------------------- IE ONLY --- */

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    
   
    
}

/* ----------------------------------------------------------------------------- SAFARI ONLY --- */

/* _::-webkit-full-page-media, _:future, :root */

@media only screen and (min-device-width: 40em) {
    
  
}