
/*
 * E2E Solutions Express version 3.0 
 */
 
 /**
 * CONTENTS
 *
 * GLOBAL
 * Global...............Global default styles.
 * Box-sizing...........Better default `box-sizing`.
 *
 * GENERIC
 * Anchors..............Links and hovers.
 * Grid ................Our 8 column grid for layout.
 * Miltiple row grid ...For product/cat boxes.
 *
 * BASE
 * Headings.............H1–H6 styles.
 * Forms................Fields, Labels and inputs.
 *
 * OBJECTS
 * Wrappers.............Wrapping and constraining elements.
 * Feature boxes .......Customisable viewlets.
 *
 * COMPONENTS
 * Top Bar..............Bar above header.
 * Page-head............The main page header.
 * Page-foot............The main page footer.
 * Buttons..............Button elements.
 * Product..............Product Page & image zoom.
 * Basket...............Basket Page.
 * Checkout.............Checkout Page
 *
 * NAVIGATION
 * Main ................Main site navigation & sub levels
 * Breadcrumb ..........Path Bar
 *
 * HELPER CLASSES
 * Image................Image replacement.
 * Text.................Text helpers.
 *
 * SPECIAL
 * Slideshow ...........Default hero carousel
 * Boxes ...............Products and categories
 * Filters..............Product Filter navigation
 * Add to basket........JS add to basket
 * Sorting .............Listing controls
 * Banners .............Inner page banners (NOT Slideshow)
 * Responsive Tabs .....Accordion style tabs
 *
 * MEDIA QUERIES
 * Image................Image replacement.
 * Text.................Text helpers.
 *
 * PRINT
 *
 */
 
/* ==========================================================================
   GLOBAL
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}
body {margin:0;padding:0;}

/*
 * Remove text-shadow in selection highlight
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #e6e6e6;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/*
 * Box sizing - override content-box by default
 */
 
*, *:before, *:after {
    -webkit-box-sizing: border-box; 
       -moz-box-sizing: border-box; 
            box-sizing: border-box;
}


/* ==========================================================================
   GENERIC
   ========================================================================== */

/*
 * Anchors
 */

a {
    color:#333;
	text-decoration: none;
	outline: 0;
}



a:hover {
    text-decoration: underline;
}

a:hover, a:active, a:focus {outline: 0;}

/*
 * Grids - our 8 column grid for layout
 */


/* clear .grid to stop collapse to zero height */
.row:after,
.grid:after  {
    content: "";
    display: table;
    clear: both;
} 

/* row column gutters */
[class*='col--'] {
    padding-right: 20px;
    float: left;
}
[class*='col--']:last-of-type {
    padding-right: 0;
}

/* row column widths - */
.col--1-1 {
    width: 100%;
}
.col--2-3 {
    width: 66.66%;
}
.col--1-3 {
    width: 33.33%;
}
.col--1-2 {
    width: 50%;
}
.col--1-4 {
    width: 25%;
}
.col--3-4 {
    width: 75%;
}
.col--1-8 {
    width: 12.5%;
}

/*
 * multiple rows grid 
 * ( mainly for lists of products and categories).
 */
.grid--1 > .grid__item {
    width: 100%;
    padding-right: 0;
}

.grid--2 > .grid__item {
    width: 49%;
}
 
.grid--3 > .grid__item {
    width: 32%;
}

.grid--4 > .grid__item {
    width: 23.5%;
}

.grid--5 > .grid__item {
    width: 18.4%;
}

[class*='grid--'] {
    width: 100%;
    display: table;
}

[class*='grid--'] > .grid__item {
    margin-right: 2%;
    margin-bottom: 2%;
    float: left;
}

.grid--2 > .grid__item:nth-of-type(even),
.grid--3 > .grid__item:nth-of-type(3n+3),
.grid--4 > .grid__item:nth-of-type(4n+4),
.grid--5 > .grid__item:nth-of-type(5n+5) {
    margin-right: 0;
}



.grid__item.list {
    width: 100%;
    float: none;
    display: table;
    position: relative;
}

.grid__item.list .image-container {
    width: 15%;
    float: left;
}

.grid__item.list h3 {
    width: 85%;
    float: right;
    height: auto;
}

.grid__item.list h3,
.grid__item.list p {
    display: block !important;
    text-align: left !important;
    width: 85%;
    float: right;
    padding-right: 15%;
}

.grid__item.list span.price {
  width: auto;
  position: absolute;
  right: 20px;
  top: 10px;
}

.grid__item.list > a {
  position: absolute;
  width: auto;
  right: 20px;
  bottom: 10px;
}

/* 
 *  Grid media queries 
 */
 
/*base tablet to small desktop styles*/
@media (min-width: 800px) and (max-width: 849px) {
    .col--1-2,
    .col--1-3,
    .col--2-3,
    .col--3-4 {
        width: 100%;
        padding-right: 0;
    }

    .col--1-4,
    .col--1-8 {
        width: 100%;
        padding-right: 0;
    }
    
    [class*='col--']:nth-of-type(even) {
        padding-right: 0;
    }
    
   /* .listing-controls__pagination {
        width: 25%;
    }

    .listing-controls > div {
        width: 75%;
    }*/

}
 
 
/*base tablet styles*/
@media (max-width: 800px) {
    .col--1-8 {
        width: 50%;
    }
 
    .col--1-4,
    .col--1-2,
    .col--1-3,
    .col--2-3,
    .col--3-4 {
        width: 100%;
        padding-right: 0;
    }

    [class*='col--']:nth-of-type(even) {
        padding-right: 0;
    }
    
}
 
 
/*base mobile styles - everything 100%*/
@media (max-width: 480px) {
    .col--2-3,
    .col--1-3 ,
    .col--1-2, 
    .col--1-4, 
    .col--3-4,
    .col--1-8 {
        width: 100%;
        padding-right: 0;
    }
 
} 


@media (max-width: 800px) {
    /*
     * Separate grid for the items that wrap across multiple rows and are 
     * all the same size(namely lists of products and categories).
     */

    .grid--2 > .grid__item {
        width: 100%;
    }
     
    .grid--3:not(.one-row) > .grid__item
	 {
        width: 49%;
    }

    .grid--4:not(.one-row):not(#foot-icons) > .grid__item,
    .grid--5:not(.one-row) > .grid__item    {
        width: 32%;
    }

    .grid--2 > .grid__item:nth-of-type(even),
    .grid--3:not(.one-row) > .grid__item:nth-of-type(3n+3),
    .grid--4:not(.one-row):not(#foot-icons) > .grid__item:nth-of-type(4n+4),
    .grid--5:not(.one-row) > .grid__item:nth-of-type(5n+5)    {
        margin-right: 2%;
    }
    .grid--3:not(.one-row) > .grid__item:nth-of-type(even),
    .grid--4:not(.one-row):not(#foot-icons) > .grid__item:nth-of-type(3n+3),
    .grid--5:not(.one-row) > .grid__item:nth-of-type(3n+3)    {
        margin-right: 0;
    }
}

@media (max-width: 749px) {
    
    .grid--4:not(.one-row):not(#foot-icons) > .grid__item,
	.grid--4.one-row > .grid__item,
    .grid--5:not(.one-row)  > .grid__item
      {
        width: 49%;
    }

    .grid--4:not(.one-row):not(#foot-icons) > .grid__item:not(.featured-cat-box):nth-of-type(even),
	.grid--4.one-row > .grid__item:nth-of-type(even),
    .grid--5:not(.one-row) > .grid__item:nth-of-type(even)    {
        margin-right: 0 !important;
    }
    
    .grid--4:not(.one-row):not(#foot-icons) > .grid__item:nth-of-type(odd),
	.grid--4.one-row > .grid__item:nth-of-type(odd),
    .grid--5:not(.one-row) > .grid__item:nth-of-type(odd)    {
        margin-right: 2%;
    }
    .grid--3.one-row > .grid__item {
        width: 100%;
        margin-right: 0 !important;
    }
	

	

}


@media (max-width: 468px) {

    /* .grid--3:not(.one-row) > .grid__item,
	.grid--4:not(#foot-icons) > .grid__item,
    .grid--5:not(.one-row) > .grid__item,
    .grid--4.one-row > .grid__item {
        width: 100%;
    }*/

    .grid--2 > .grid__item:nth-of-type(even),
    .grid--3 > .grid__item:nth-of-type(3n+3),
    .grid--4 > .grid__item:nth-of-type(4n+4),
    .grid--5 > .grid__item:nth-of-type(5n+5),
    .one-row > .grid__item {
        margin-right: 0;
    }
    .grid--3 > .grid__item:nth-of-type(even),
    .grid--4 > .grid__item:nth-of-type(3n+3),
    .grid--5 > .grid__item:nth-of-type(4n+4)    {
        margin-right: 0;
    }

}
/* ==========================================================================
   BASE
   ========================================================================== */

/*
 * Headings 
*/
 
h1 { font-size: 2em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.17em; }
h4 { font-size: 1.12em; }
h5 { font-size: .83em; }
h6 { font-size: .75em; }


/*
 * Forms
 */
 
.field {
    margin: .5em 0;
    clear: both;
    display: table;
    width: 100%;
}

.field > label {
    float: left;
	width:250px;
}

.field > :not(label) {
    width: 55%;
    float: left;
	min-width:300px;
	font-size:1em;
}
.field > select {width:auto;min-width:0;}
.form-buttons {margin-left: 250px;}

/*
 * Tables
 */
 
 table {
    width: 100%;
    margin: .75em 0;
}

th, td {
    text-align: left;
}

/* ==========================================================================
   OBJECTS
   ========================================================================== */

body {
    font-size: 1em;
}

/* define our site width */
.full-width > * {
    max-width: 1024px;
    margin: 0 auto;
    padding-right: 1em;
    padding-left: 1em;
}




.footer-wrapper, .wrapper.full-width footer  {
    background-color: #AAA;
}

.content {
    display: table;
    width: 100%;
	background:#FFF;
}

/* image wrapper  */
.image-container img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
	height:auto;
}

.grid__item .image-container {
    /*height: 150px;*/
    overflow: hidden;
    border: 1px solid #CCC;
    position: relative;
}

.grid__item .image-container img {
	height:auto;
    /*width: 80%;*/
    /*position: absolute;*/
}

/* feature wrapper -- container for any 'feature' content; eg. latest products,
 * banner etc.
 */
.feature {
    display: table;
    width: 100%;
    margin: .75em 0;
}

.feature h2 {

}


/* ==========================================================================
   COMPONENTS
   ========================================================================== */

/*
 * Page header 
 */


        

        
.top-bar__login {
    display: inline-block;
    font-size: .8em;
    margin: 0;
    float: right;
}

.header__info {
    text-align: right;
    float: right;
    margin: 1.5em 0;
}  

.header__basket--items {
    padding-left: .25em;
    background-position: top left;
    background-size: 1em;
    background-repeat: no-repeat;
}

.header__basket--items:before {
    font-family: e2e;
    content: '\e810  (';
}

.header__basket--items:after {
    content: ")";
}

.header__logo img {
    max-width: 225px;
    float: left;
}

.header__info {
    color: #666;
    font-size: 1.4em;
}

.header__basket {
    padding-left: .5em;
    border-left: 1px solid #666;
    margin-left: .25em;
}

.header__info a {
    color: #666;
    text-decoration: none;

}   

.header__search {
    border: 1px solid #CCC;
    height: 40px;
    display: table;
    float: right;
    clear: right;
}

.header__search > * {
    border: 0;
    height: 40px;
    padding: 0 1em;
}

.header__search input[type="submit"] {
    float: right;
    background-color: #CCC;
    color: #FFF;
}

/*
 * Page Footer 
 */

.wrapper.full-width footer {
    padding: 1em 1.5em;
}

footer ul {
    list-style: none;
    padding-left: 0;
    margin: .5em 0;

}

footer a {
    text-decoration: none;
}

.footer__list {
    min-width: 17%;
    float: left;
}

.footer__list li:first-child {
    color: #b21534;
    font-weight: bold;
    margin-bottom: 1em;
}

footer > ul:last-of-type {
    width: 34%;
}

footer > ul:last-of-type li {
    width: 50%;
    display: inline-block;
    float: left;
}

footer > ul:last-of-type li:first-child {
    width: 100%;
}

.footer__social {
    width: 32%;
    float: right;
    font-family: e2e;
    text-align: right;
}

    .footer__social li:first-child a:before { content: '\e81c'; }
    .footer__social li:nth-child(2) a:before { content: '\e820'; }
    .footer__social li:nth-child(3) a:before { content: '\e81d'; }
    .footer__social li:nth-child(4) a:before { content: '\e81f'; }

    .footer__social ul li {
        display: inline-block;
    }

        .footer__social ul li a {
            font-size: 35px;
            width: 50px;
            height: 50px;
            background-color: #666;
            text-align: center;
            line-height: 50px;
            display: inline-block;
            color: #FFF;
        }

        .footer__social ul li a:hover {
            text-decoration: none;
            background-color: #000;
        }


.footer__copyright {

}
 
    .footer__copyright a {
        float: right;
    }
    
    .e2e_logo:before {
        font-family: e2e;
        content: "\e83d";
        
    }

/*
 * BUTTONS
 */

.button {
    background-color: #666;
    padding: .5em .75em;
    color: #FFF;
    text-decoration: none;
    font-size: .9em;
    width: 100%;
    border: 0;
    border-radius: 3px;
}

.grid__item .button {
    display: block;
    text-align: center;
}

*:disabled {
    opacity: .5;
    color: #CCC;
}

/*
 * PRODUCT
 */
 
.price {
    color: #666;
    font-size: 1.75em;
}

.product-details .price {
    font-size: 2.25em;
}

.review__star {
    display: block;
    width: 100%;
    height: 1.5em;
}

.review__star:before {
    font-family: e2e;
    content: "\e801  \e801  \e801  \e802  \e802";
}
 
.product__images .wrapper {
    border: 1px solid #CCC;
}

    .product__images .image-container {
        max-width: 500px;
        margin: 0;
    }
    
        .images__thumbs {
            width: 100%;
            text-align: center;
            margin: 1em auto;
        }

            .images__thumbs .image-container {
                padding: 1%;
                border: 1px solid #CCC;
                width: 16%;
                display: inline-block;
                cursor: pointer;
                vertical-align: top;
                margin-right: 3px;
            }

/* image zoom controls */

.images__zoom {
    font-family: "e2e";
    z-index: 9;
    padding: 10px;
    font-size: 1.25em;
}

.images__zoom >* {
    color: #00A2C6;
    cursor: pointer;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    background-color: #FFF;
    text-align: center;
    line-height: 1.75em;
    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */
    -o-user-select: none;
    user-select: none;
}

.images__zoom >*:not(:first-child) {
    display: none;
}

.js-zoom-show {
    background-color: #CCC;
}

.js-zoom-show:before {
    content: '\e85b';
}

.js-zoom-hide:before {
    content: "\e80c";
}

.zoom--in:before {
    content: '\e80d';
}
.zoom--out:before {
    content: '\e80e' !important;
}
.zoom--reset:before {
    content: '\e82b';
}

.disabled * {
    opacity: .5;
    cursor: not-allowed;
}

.product__mod h2 {
    font-weight: normal;
    font-size: 1em;
    width: auto;
    display: inline-block;
}

.product__mod .selection {
    width: auto;
    display: inline-block;
    font-size: .9em;
    color: #666;
}

.selection span {
    display: inline-block;
    background-color: #CCC;
    margin: 0 .5em;
    padding: 0 .5em;
    color: #FFF;
    font-size: 12px;
    cursor: pointer;
}

.mod__grid {
    padding: 0;
    list-style: none;
    display: flex;
    margin-top: 0;
}

    .mod__grid li {
        border: 1px solid #898787;
        width: 12%;
        text-align: center;
        height: 3em;
        max-width: 3em;
        line-height: 3em;
        margin: 0 2px;
        font-size: .75em;
        display: inline-block;
    }
    
    .mod__grid li.active {
        border: 2px solid #666;
    }
    
        .mod__grid a {
            width: 100%;
            height: 100%;
            display: block;
        }
    
        .mod__grid a >* {
            width: 90%;
            height: 90%;
            display: block;
            text-align: center;
            margin: 1px auto;
        }
        
    /* if product mod has select box */
    
div[class^="product__mod"] select {
    min-width: 50%;
    display: block;
} 
    
.product__basket {
    display: table;
    width: 100%;
    background-color: #DDF5FF;
    padding: .75em;
}

.product__basket--fields {
    margin-top: .75em;
}

    .product__basket--selected {
        display: none;
        color: #666;
        font-size: .85em;
    }

    .product__basket--fields fieldset:first-child * {
        padding: .5em 0;
    }

    .product__basket--fields fieldset {
        float: left;
        width: 50%;
    }

        .product__basket--fields fieldset:first-child input {
            width: 50px;
            text-align: center;
        }
        
        
        .share__button {
            display: inline-block;
            width: 2em;
            height: 2em;
            text-align: center;
            line-height: 0;
            /* border-radius: .5em; */
            background-color: #000;
            color: #FFF;
            cursor: pointer;
        }

        .share__button:hover{color:white;}

            .share__button--icon{font-family: e2e; line-height: 2em;}
            .share__button--text {display: none;}

        .share__button--facebook{ background-color:#3b5998; }
            .share__button--facebook .share__button--icon:before { content: '\e81c' }
        
        .share__button--twitter{ background-color:#00aced; }
            .share__button--twitter .share__button--icon:before { content: "\e81e" }
        
        .share__button--linkedin{ background-color:#007bb6; }
            .share__button--linkedin .share__button--icon:before { content: "\e81c" }
        
        .share__button--google-plus{ background-color:#dd4b39; }
            .share__button--google-plus .share__button--icon:before { content: "\e81d" }
        
        .share__button--pinterest{ background-color:#cb2027; }
            .share__button--pinterest .share__button--icon:before { content: "\e823" }

        .share__button-email{ background-color:#999999; }
            .share__button-email .share__button--icon:before { content: "\e804" }


.product__description {
    margin: 1em 0;
}
 
 /*
 * BASKET
 */

.basket table {
    width: 100%;
}

.basket th {
        text-align: left;
        background-color: #174E9E;
        padding: .5em 0;
        color: #FFF;
        font-weight: normal;
}
    
    .basket__promotional-code td:first-child,
    .basket__shipping td:first-child,
    .basket tr th:first-child {
        padding-left: 10%;
}
    
    .basket__total td {
        background-color: #174E9E;
        color: #FFF;
    }

    .basket__product td:first-child {
        width: 52%;
    }

        .basket__product .image-container {
            max-width: 80px;
            width: 20%;
            border: 1px solid #CCC;
        }
        
        .basket__product td:first-child span {
            vertical-align: top;
            display: block;
            width: 80%;
            padding: .5em 0;
        }
        
    tr.basket__product td:first-child > div {
        display: inline-block;
		float:left;
		margin-right: 1em;
    }

    .basket__product td:nth-child(2) {
        width: 18%;
    } 
    
        .basket input[name="Qty"] {
            width: 30px;
            text-align: center;
            display: inline-block;
        } 
        .basket__product input[value="Update"] {
            width: auto;
        }

    .basket__product td:nth-child(3),
    .basket__product td:nth-child(4),
    .basket__product td:nth-child(5) {
        width: 10%;
    }
	
	.basket tr *:nth-child(3), .basket tr *:nth-child(4) {text-align: right;}
	
	.basket__data > div {}
	
	
    
    .basket__promotional-code td,
    .basket__total td,
    .basket__shipping td    {
        padding: .5em 0;
    }
    
    .basket__promotional-code {
        background-color: #CCC;
    }
    
        .basket__promotional-code input[type="text"] {
            width: 5em;
        }

        .basket__promotional-code input[type="submit"] {
            width: auto;
        }
        
.button.checkout {
    display: inline-block;
    width: auto;
    line-height: 2em;
    margin: 0.67em 0;
}

@media screen and (min-width: 526px) and (max-width: 849px) {

    .stage-buttons > div {
        display: inline-block;
        width: 50%;
    }

}

 /*
 * CHECKOUT
 */
 .field--chk-box{margin:1em 0}.field--chk-box>input[type=checkbox]{width:5%;margin:.5em 0;display:inline-block}.field--chk-box>:not(input){width:90%;display:inline-block}


/* ==========================================================================
   NAVIGATION
   ========================================================================== 

.nav-wrapper nav {
}

.nav-wrapper nav ul {
    clear: both;
    list-style: none;
    padding: 0;
    display: flex;
    width: 100%;

}

.nav-wrapper nav li {
    display: inline-block;
    text-align: center;
    position: relative;
    width: 100%;
}

.nav-wrapper nav li a {
    text-decoration: none;
    color: #FFF;
    padding: .75em 0;
    width: 100%;
    display: inline-block;
}

/* Subnav 

.nav-wrapper nav ul > li ul li {
    height: 0;
    background: none;
    border: 0;
    padding: 0;
}

.nav-wrapper nav li ul {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 999;
    padding: 0;
    display: list-item;
}

.nav-wrapper nav li ul a {
    display: block;
    white-space: nowrap;
    text-transform: capitalize;
    padding: 0 .25em;
    margin: 0 0.25em 0;
}

.nav-wrapper nav li ul{
    overflow: hidden;
    height:0;
    opacity: 0;
    -webkit-transition:opacity 300ms ease-in;
    -moz-transition:opacity 300ms ease-in;
    -o-transition:opacity 300ms ease-in;
    transition:opacity 300ms ease-in;

}

.nav-wrapper nav li ul:hover {
    overflow: visible;
}

.nav-wrapper nav ul > li ul li a {
    color: #FFF;
    margin-left: 0;
}

.nav-wrapper nav ul > li ul li a:hover {
	color:#ac1807;
    color: #FFF;
}

.banner__overlay .button {
    background: #FFF;
    color: #000;
}

.nav-wrapper nav ul > li:hover ul {
    height: auto;
    opacity: 1;
   
}

.nav-wrapper nav ul > li:hover ul {
    padding: .5em 1em .5em 1em;
    width:auto;
	min-width:300px;
	margin-top:0;
	
}

/* level 3 

.nav-wrapper nav ul ul li:hover ul {
    display: block;
}

.nav-wrapper nav ul ul ul {
    left: 95%;
    top: 0;
    height: 0;
    display: none;
    margin-top:0;
}

.nav-wrapper nav ul ul ul.build-left {
    left: initial;
    right: 95%;
}*/

/*
 * Breadcrumb
 */

.breadcrumb {
    text-decoration: none;
    margin: 0 0 1.5em 0;
    font-size: .85em;
    display: table;
    width: 100%;
    clear: both;
}

    .breadcrumb a:after {
        display: inline-block;
        font-family: e2e;
        content: "\e82c";
        color: #AAA;
        padding: 0 .5em;
    }

    .breadcrumb a:last-child:after {
        display: none;
    } 

/* ==========================================================================
   HELPER CLASSES
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/*
 * Floats
 */
 
.fl-right {
    float: right;
}

.fl-left {
    float: left;
}

/* ==========================================================================
   SPECIAL
   ========================================================================== */

/*
 * Slideshow
 */
 
.hero-slides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
}

.hero-slides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
}

.hero-slides li:first-child {
  position: relative;
  display: block;
  float: left;
}

.hero-slides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
}

.hero-slide__overlay {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.85);
    top: 5%;
    left: 3%;
    height: 90%;
    width: 40%;
    padding: 12px;
}

.hero-slide__overlay > h2 {
    font-weight: normal;
    margin-top: 0;
}

.about-us {
    position: relative;
}

.hero-slides li .button,
.about-us .button {
    width: 90%;
    position: absolute;
    bottom: 5%;
}

/*
 * product and category boxes
 */
 
.grid__item {

   
}



/*
 * display boxes
 */

.display-box {
    background-color: #edeced;
    padding: 20px;
    margin-bottom: 1em;
}

.display-box h2 {
    margin: -20px -20px 10px -20px;
    padding: 5px 15px;
    color: #FFF;
    font-weight: normal;
}

/*
 * Product Filters
 */

.filters ul {
    list-style: none;
    padding-left: 0;
}

.filters h4 {
    margin-bottom: .5em;
    font-weight: normal;
    border-bottom: 1px solid #666;
	padding-bottom:.25em;
}

.filters h4:after { /* down arrow to indicate open */
    font-family: e2e;
    content: "\e82d";
    float: right;
    background-color: #666;
    padding: 0 .4em;
    color: #FFF;
}

.filters h4.closed:after { /* up arrow to indicate closed */
    content: "\e82e";
}

    .filters > ul ul {
        margin-top: 0;
    }

        .filters ul ul li a:before {
            font-family: e2e;
            content: "\e840";
            background-color: #FFF;
            margin-right: .5em;
        }

        .filters ul ul li a.active:before {
            content: "\e83f";
        }

.filters h4.filtered:before {
    font-family: e2e;
    content: "\e86d";
    padding-right: .5em;
}
        
.slider-range {
    width: 100%;
    height: 3px;
    position: relative;
    background-color: #B3B3B3;
    margin-top: 20px;
}

.slider-amount {
    width: 100%;
}


.ui-slider-handle {
    height: 16px;
    width: 16px;
    background-color: #666;
    display: inline-block;
    position: absolute;
    border-radius: 100%;
    top: -6px;
}

.ui-slider-range {
    background-color: #666;
    height: 3px;
    position: absolute;
    top: 0;
}

/* 
 *  Sub-cat product listing add/remove AJAX controls
 */
 
 .button.js-basket--add {
    position: relative;
}

.button.js-basket--add span {
    position: absolute;
    display: block;
    top: 0;
    width: 50%;
    height: 100%;
    font-size: 1.5em;
    background-color: inherit;
    color: inherit;
    border:1px solid #FFF;
}

.qty-button--minus {
    left: 0;
}

.qty-button--plus {
    left: 50%;
}

.basket__count {
    position: absolute;
    height: 20px;
    text-align: center;
    line-height: 20px;
    background-color: #666;
    color: #FFF;
    padding: 0 .25em;
}

/*
 * sorting
 */

.listing-controls {
    line-height: 1.5em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid #666;
    padding-bottom: 1em;
    position: relative;
}


    
    .listing-controls ul {
        margin: 0;
        padding: 0;
    }

        .listing-controls li {
            display: inline-block;
        } 
    
    .listing-controls__layout {
        font-size: 1.5em;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
    }
    
        .listing-controls__layout ul {
            position: absolute;
            right: 0;
        }
        
            .listing-controls__layout a {
                color: #666;
            } 
 
/*
 * Banners
 */

.banner {
    border: 1px solid #CCC;
    padding: 1em;
    display: table;
}

    .banner__text {
        width: 60%;
        float: left;
    }
    
        .banner h1, .banner p {
            margin: 0 0 .5em 0;
        }

    .banner__image {
        width: 35%;
        float: right;
    } 
 
/*
 * Responsive Tabs
 */
 
ul.resp-tabs-list, p {
    margin: 0px;
    padding: 0px;
}

.resp-tabs-list li {
    font-weight: 600;
    font-size: 13px;
    display: inline-block;
    padding: 13px 15px;
    margin: 0 4px 0 0;
    list-style: none;
    cursor: pointer;
    float: left;
}

.resp-tabs-container {
    padding: 0px;
    background-color: #fff;
    clear: left;
}




.resp-tab-content {
    display: none;
    padding: 15px;
}

.resp-tab-activeX {
    border: 1px solid #5AB1D0 !important;
    border-bottom: none;
    margin-bottom: -1px !important;
    padding: 12px 14px 14px 14px !important;
    border-top: 4px solid #5AB1D0 !important;
    border-bottom: 0px #fff solid !important;
}

.resp-tab-active {
    border-bottom: none;
    background-color: #fff;
}

.resp-content-active, .resp-accordion-active {
    display: block;
}

.resp-tab-content {
    border: 1px solid #c1c1c1;
    border-top-color: #5AB1D0;
}

/*
 * Responsive Tabs

h2.resp-accordion {
    cursor: pointer;
    padding: 5px;
    display: none;
}


h2.resp-accordion {
    font-size: 13px;
    border: 1px solid #c1c1c1;
    border-top: 0px solid #c1c1c1;
    margin: 0px;
    padding: 10px 15px;
}

h2.resp-tab-active {
    border-bottom: 0px solid #c1c1c1 !important;
    margin-bottom: 0px !important;
    padding: 10px 15px !important;
}

h2.resp-tab-title:last-child {
    border-bottom: 12px solid #c1c1c1 !important;
    background: blue;
}
 */
/*-----------Vertical tabs-----------*/
.resp-vtabs ul.resp-tabs-list {
    float: left;
    width: 30%;
}

.resp-vtabs .resp-tabs-list li {
    display: block;
    padding: 15px 15px !important;
    margin: 0 0 4px;
    cursor: pointer;
    float: none;
}

.resp-vtabs .resp-tabs-container {
    padding: 0px;
    background-color: #fff;
    border: 1px solid #c1c1c1;
    float: left;
    width: 68%;
    min-height: 250px;
    border-radius: 4px;
    clear: none;
}

.resp-vtabs .resp-tab-content {
    border: none;
    word-wrap: break-word;
}

.resp-vtabs li.resp-tab-active { 
    position: relative;
    z-index: 1;
    margin-right: -1px !important;
    padding: 14px 15px 15px 14px !important;
    border-top: 1px solid;
    border: 1px solid #5AB1D0 !important;
    border-left: 4px solid #5AB1D0 !important;
    margin-bottom: 4px !important;
    border-right: 1px #FFF solid !important;
}

.resp-arrowX {
    width: 0;
    height: 0;
    float: right;
    margin-top: 3px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 12px solid #c1c1c1;
}

h2.resp-tab-activeX span.resp-arrowX {
    border: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 12px solid #9B9797;
}

/*-----------Accordion styles-----------*/
h2.resp-tab-active {
    background: #DBDBDB;/* !important;*/
}

.resp-easy-accordion h2.resp-accordion {
    display: block;
}

.resp-easy-accordion .resp-tab-content {
    border: 1px solid #c1c1c1;
}

.resp-easy-accordion .resp-tab-content:last-child {
    border-bottom: 1px solid #c1c1c1;/* !important;*/
}

.resp-jfit {
    width: 100%;
    margin: 0px;
}

.resp-tab-content-active {
    display: block;
}

h2.resp-accordion:first-child {
    border-top: 1px solid #c1c1c1;/* !important;*/
}



/* ==========================================================================
   Media Queries

   ========================================================================== */

.slicknav_menu {
    display:none;
}

/* nav .slicknav_menu ul > li ul li a {
    background: transparent;
}

nav .slicknav_menu li {
    text-align: left;
}*/


/* header  */

@media screen and (max-width: 55em) {

    .nav-wrapper nav > ul   {
        display:none;
    }
    
  /*  nav .slicknav_menu {
        display:block;
        background: #666;   
    }
    
    .slicknav_menu ul > li ul li {
        height: auto;
    }
    
    .slicknav_menu li ul {
        height: auto;
        opacity: 1;
        position: static;
    }
    
    nav .slicknav_menu li {
        border-top: 1px solid #FFF;
    }
    
    nav .slicknav_menu .slicknav_icon {
        float: right;
    }
    
    nav .slicknav_menu a.slicknav_btn {
        width: 100%;
        background-color: rgba(0, 0, 0, 0);
    }
	*/
}

@media screen and (max-width: 40em) {

   /* .top-bar__nav ul    {
        display:none;
    }
    
    .top-bar__nav ul li {
        display: block;
        float: none;
        background: #666;
        padding-right: 0;
    }
    
    .top-bar__nav .slicknav_btn {
        float: left;
        border-radius: 0;
        background-color: #666;
        margin-left: 0;
    }
    
    .top-bar__nav .slicknav_menu {
        background-color: rgba(0, 0, 0, 0);
    }
	    .top-bar__nav .slicknav_menu {
        display:block;
        padding: 0;
    }
	
	
	*/
    
    .header__info {
        position: absolute;
        top: 0;
        right: 1em;
    }
    
    .header__info > span span:first-child {
        display: none;
    }
    
    .header__search {
        clear: both;
        width: 100%;
        margin: 1em 0;
    }
    
    .header__search input[type="search"] {
        width: 100%;
        box-sizing: border-box;
    }

    .header__search input[type="submit"] {
        position: absolute;
        right: 1em;
    }
    
    .header__logo {
        width: 100%;
        text-align: center;
        float: none;
        display: table;
    }

    .header__logo img {
        float: none;
    }
    


}

@media (max-width: 849px) {

    header .header__info {
        font-size: 1em;
    }
    
    .product__data {
        margin-top: 2em;
    }
    
    /* footer */
    .footer__list {
        width: 25%;
    }

    footer > ul:last-of-type {
        width: 50%;
    }

    .footer__social {
        width: 100%;
        float: left;
        text-align: left;
    }

    .footer__social ul li a {
        width: 25px;
        height: 25px;
        font-size: 15px;
        line-height: 1.8;
    }
    
    
    /* responsive table style */
    
    .stacked {
        width: 100%;
    }
    
    .stacked td * {
        display: inline-block;
    }
    
    .stacked caption {
        background-image: none;
    }
    .stacked thead,table.stacked th {
        display: none;
    }
    .stacked tbody td {
        display: block;
        padding: .6em;
        width: 100% !important;
    }
    .stacked tbody tr td:first-child {
        background: #666;
        color: #fff;
    }
    .stacked tbody td:before {
        content: attr(data-th);
        font-weight: 700;
        display: inline-block;
        width: 40%;
    }
    
    .basket__product .image-container {
        max-width: 50px;
    }
    
    .basket__product td:last-child .button {
        width: auto;
    }
    
    .basket .stacked tbody tr td:first-child:before,
    .basket__promotional-code td:nth-child(2),
    .basket__total td:not(:last-child) {
        display: none;
    }

    .basket__promotional-code td:nth-child(3):before {
        content: "Sub Total";
    }

    .basket__total td:last-child:before {
        content: "Total";
    }

    .basket__shipping td:nth-child(2) label {
        width: 40%;
        display: inline-block;
        font-weight: bold;
    }
    
    .basket__shipping td:first-child label {
        width: 40%;
        float: left;
    }

    .basket__shipping td:first-child select {
        width: 60%;
        float: left;
    }

    .basket__shipping td:first-child fieldset {
        width: 100%;
        display: block;
    }
 
} 

@media (max-width: 699px) {



    
    nav.listing-controls__pagination li:not(.prev):not(.next) {

    }
    
    nav.listing-controls__pagination {
        
    }
}

@media (max-width: 649px) {

    .banner__text {
        width: 100%;
        float: none;
    }

    .banner__image {
        display: none;
    } 

    .footer__list,
    footer > ul:last-of-type,
    footer > ul:last-of-type li {
        width: 100%;
        text-align: center;
        float: none;
        font-size: 1em;
    }
    
    .footer__copyright >* {
        display: block;
        width: 100%;
        text-align: center;
    }
    
    
}  
@media (max-width: 524px) {


}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


