/*
Theme Name: TPSmith
Theme URI: n/a
Author: Jake Hotson
Author URI: http://qzdesign.co.uk/
Description: Based on BlankSlate
Version: 1.0
License: All rights reserved
License URI: n/a
Tags: none
Text Domain: n/a

BlankSlate WordPress Theme © 2011-2014 TidyThemes
BlankSlate is distributed under the terms of the GNU GPL
*/


/***********************
 * RESET BROWSER STYLES
 ***********************/
 
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}

b,strong { font-weight: bold; }
i,em { font-style: italic; } 


/*********************
 * OUR DEFAULT STYLES
 *********************/
 
body {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 1em;
  line-height: 1.25;
  background-image: url(res/pattern.jpg);
  text-rendering: optimizeLegibility;
  color: #333;
}
#wrapper {
  border-style: solid;
  border-color: #637831;
  border-width: 0 3px;
  box-sizing: border-box;
}

a, a:visited {
  color: #239863;
  font-weight: bold;
  text-decoration: none;
}
a:hover {
  color: #005580;
  text-decoration: underline;
}
a > *, .footer a {
  font-weight: normal;
}
a > .measure {
  /* TODO - improve */
  font-weight: inherit;
}

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0.625em 0;
}

li {
  margin: 0.5em 0 0.5em 2em;
}
p + ul, p + ol {
  margin-top: -0.125em;
}
ul {
  list-style: disc outside;
}

hr {
  border-top: 1px solid #C1C9C4;
  border-left: 1px solid #C1C9C4;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  color: #fff;
  background-color: #fff;
  height: 1px;
  box-sizing: content-box;
  width: 100%;
  margin: 0.5em -1px;
}

/*** BUTTONS ***/

button, input[type=submit] {
  font-size: 100%;
  font-family: inherit;
  display: inline-block;
  padding: 3px;
  overflow: hidden;
  position: relative;
  vertical-align: bottom;
  border: 1px solid #aaa;
  white-space: nowrap;
  line-height: 1em;
  color: #333;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -khtml-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}
button, input[type=submit], .button-background {
  background-color: #fff;
  background-size: 100%;
  background-position: bottom center;
  background-repeat: repeat-x;
  background: -moz-linear-gradient(top, #fff, #F7F7F7 50%, #E8E8E9 55%, #E8E8E9);
  background: -webkit-linear-gradient(top, #fff, #F7F7F7 50%, #E8E8E9 55%, #E8E8E9);
  background: -ms-linear-gradient(top, #fff, #F7F7F7 50%, #E8E8E9 55%, #E8E8E9);
  background: -o-linear-gradient(top, #fff, #F7F7F7 50%, #E8E8E9 55%, #E8E8E9);
  background: linear-gradient(top, #fff, #F7F7F7 50%, #E8E8E9 55%, #E8E8E9);
}
#shopp button:hover, button:hover, input[type=submit]:hover {
  color: #222;
  border-color: #555;
}
#shopp button:hover, button:hover, input[type=submit]:hover, .button-background:hover {
  background-color: #e8e8e9;
  background: -moz-linear-gradient(top, #e8e8e9, #e8e8e9 45%, #f7f7f7 50%, #fff);
  background: -webkit-linear-gradient(top, #e8e8e9, #e8e8e9 45%, #f7f7f7 50%, #fff);
  background: -ms-linear-gradient(top, #e8e8e9, #e8e8e9 45%, #f7f7f7 50%, #fff);
  background: -o-linear-gradient(top, #e8e8e9, #e8e8e9 45%, #f7f7f7 50%, #fff);
  background: linear-gradient(top, #e8e8e9, #e8e8e9 45%, #f7f7f7 50%, #fff);
}

/*** IMAGES ***/

a img,
.entry-content img {
  background-color: #fff;
  margin: 0;
  padding: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.2);
}
a:hover img {  
  background-color: #239863;
}

/*********************************************
 * FOOTER AT BOTTOM OF WINDOW ON SPARSE PAGES
 *********************************************/

html,
body,
#wrapper {
  height: 100%;
  margin: 0;
}
 
#wrapper {
  display: table;
  table-layout: fixed;
  width: 100%;
}
 
#wrapper > :not(script) {
  display: table-row;
  height: 1px;
}
 
#wrapper #contentnofooter { 
  height: 100%;
  display: block;
}

#footer hr {
  /* table-row prevents margin-collapse */
  margin-top: 0;
}

/**********************
 * TITLE/BANNER STYLES
 **********************/

.banner {
  z-index: 2;
  position: relative;
  background-color: #637831;
  text-align: center;
}
#site-banner-text {
  color: #fff;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-family: "Gill Sans", "Gill Sans MT", Calibri,
               "Trebuchet MS", "Myriad Pro", Myriad, Univers,
               "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  padding: 10px 0; /* need at least some vertical padding to force div to include text margins */
}

#site-banner-text * {
  text-shadow: 0.0625em 0.0625em 0.0625em #313c18;
}

h1 {
  font-size: 2.5em;
  margin: 0.125em 0;
}

p#site-description {
  font-size: 1.25em;
  margin: 0.125em 0;
  font-weight: 100;
}

/*
#site-banner-hrule {
  padding: 0;
  margin: 0;
  color: transparent;
  height: 24px;
  background-color: transparent;
  background-image: url(res/fencetop.png);
  background-repeat: repeat-x;
  background-repeat:  space no-repeat;
  border-width: 0 20px;
  border-color: #637831;
  border-style: solid;
}
*/
#site-banner-hrule {
  padding: 0;
  margin: 0;
  height: 0;
  width: auto;
  color: #637831;
  background-color: transparent;
  border-width: 0 20px 24px;
  border-color: #637831;
  border-style: solid;
  border-image: url(res/fencetop.png);
  border-image-repeat: round stretch;
  border-image-slice: 1 3 24;
  position: relative;
  z-index: 2;
}


/**************
 * PAGE STYLES
 **************/

h2/*.entry-title*/ {
  font-family: Lato, sans-serif;
  text-align: center;
  color: #239863;
  font-size: 2.25em;
  font-weight: 700;
  line-height: 1.125;
  margin: 0.375em 0;
}

h3 {
  font-family: Lato, sans-serif;
  color: #239863;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
  margin: 0.5em 0;
}
.footer {
  text-align: center;
  font-size: 0.675em;
}
.footer.container {
  margin-top: 0;
  margin-bottom: 0;
}

/*** Content Width ***/

.container {
  margin: 10px;
}
.container > * {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 999999px) {
  .container > * {
    max-width: none;
  }
  .container > hr {
    margin-left: -1px;
    margin-right: -1px;
  }
}
@media screen and (min-width: 800px) {
  .container {
    margin: 10px 30px;
  }
}
@media screen and (min-width: 960px) {
  .container {
    margin: 10px 50px;
  }
}
@media screen and (min-width: 641px) {
  .container {
    margin: 10px calc(12.5vw - 70px);
  }
}

/***************************
 * SHOPP CATEGORY LIST,
 * SHOPP PRODUCTS GRID VIEW
 * SHOPP PRODUCTS LIST VIEW
 ***************************/

/*** Grid/List view selection ***/

#shopp .view {
  text-align: center;
}
#shopp .view .label {
  display: inline;
  vertical-align: middle;
}
#shopp .views {
  display: inline-block;
  vertical-align: middle;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#shopp .views li {
  margin: 0;
  padding: 0;
}    


/* Some rules use #shopp and stronger CSS to override rules set internally by Shopp */
.shopp_page .list-container {
  text-align: center;
  overflow: hidden; /* negative margin beyond parent causes scrollbar to appear */  
}
.shopp_page .list-container2 {
  margin: 0 -15px;
}
.shopp_page.list .product-list-flag .list-container2 {
  margin: 0;
}
.shopp_page .category-list,
#shopp.shopp_page .products {
  margin: 0 auto;
  text-align: center;
  padding: 0;
  list-style-type: none;  
}
.shopp_page .category-list-item,
.shopp_page .products .product {
  margin: 0;
  padding: 0;
}
.shopp_page .category-list-item,
.shopp_page.grid .products .product {
  display: inline-block;
  vertical-align: top;
}
.shopp_page.list .products .product {
  display: block;
}
.shopp_page .category-list-item {
  width: 380px;
  text-align: left;
}
#shopp.shopp_page.grid ul.products li.product {
  width: 294px;
  float: none;
}
#shopp.shopp_page ul.products .product .frame {
  text-align: left;
}
.shopp_page.list .products .product .frame {
  padding: 5px 0;
  margin: 10px 0;
}
.shopp_page.list .products .product .frame a:after {
  display: block;
  content: ' ';
  clear: left;
}
.shopp_page .category-list-item a,
.shopp_page.grid .products .product .frame a {
  margin: 15px;
}
.shopp_page.grid .products .product .frame a {
  max-width: none!important; /* override calculated max width for list view */
}
.shopp_page.list .products .product .frame a {
  margin: 0 auto;
}
.shopp_page .category-list-item a,
.shopp_page .products .product .frame a {
  background-color: #fff;
  display: block;
  text-decoration: none;
}
.shopp_page .category-list-item h3,
.shopp_page .products .product .frame h3 {
  font-family: Lato, sans-serif;
  font-weight: bold;
  background-color: #3C4841;
  color: #F6F7F0;
  /*font-size: 1.5em;*/
  padding: 8px 10px 9px 13px;
  margin: 0;
  /*line-height: 26px;*/ /* TODO - scale value not px */
}
.shopp_page.list .products .product .frame h3 {
  display: inline-block;
}
.shopp_page .products .product .frame h3 {
  font-size: 1.0625em;
  line-height: 20px;
  padding: 6px 8px 7px 10px;
}
.shopp_page.list .products .product .frame a:before {
  content: ' ';
  display: block;
  height: 33px;
  margin-bottom: -33px;
  background-color: #3C4841;
}
.shopp_page .category-list-item .category-image-frame {
  margin: 15px 15px 5px;
}
.shopp_page.grid .products .product .frame .product-image-frame {
  margin: 12px 12px 4px;
}
.shopp_page.list .products .product .frame .product-image-frame {
  margin: 0;
  padding: 0;
  background-color: #fff;
  display: block; 
  float: left;
  max-width: 50%;
}
.shopp_page .category-list-item .category-image,
.shopp_page.grid .products .product .frame .product-image {
  margin: 0 auto;
}
.shopp_page.list .products .product .frame .product-image {
  margin: 12px;
}
.shopp_page .category-list-item img,
.shopp_page .products .product .frame img {
  box-sizing: content-box;
  width: 100%;  
  height: auto;
  display: block;
}
.shopp_page .category-list-item img {
  margin: -5px;
}
.shopp_page .products .product .frame img {
  padding: 3px;
  margin: -4px;
}

.shopp_page .category-list-item .category-description,
.shopp_page .products .product .frame .details {
  /*font-size: 1.1em;*/
  margin: 0;
  color: #333;
}
.shopp_page .category-list-item .category-description {
  padding: 4px 15px;
}
.shopp_page.grid .products .product .frame .details {
  padding: 3px 12px;
}
.shopp_page.list .products .product .frame .details {
  padding: 4px 22px 4px 0;
  position: relative;
  left: 10px;
}
.shopp_page .category-list-item a:hover h3,
.shopp_page .products .product .frame a:hover h3,
.shopp_page.list .products .product .frame a:hover:before {
  background-color: #004478;
}
.shopp_page .category-list-item a:hover,
.shopp_page .products .product .frame a:hover,
.shopp_page.list .products .product .frame a:hover .product-image-frame {
  background-color: #e4fbee;
}
.shopp_page .category-list-item a:hover .category-description,
.shopp_page .products .product .frame a:hover .details {
  color: #005580;
}
.shopp_page.grid .products .product form p {
  text-align: center;
}

/******************************
 * COLUMN WIDTHS FOR GRID VIEW
 ******************************/

/*** Spacing between columns ***/

/* 2x5px @ width 640 -- 2x15px @ 800 */
@media screen and (max-width: 799px) {
  .shopp_page .list-container2 {
    margin-left: calc(35px - 6.25vw);
    margin-right: calc(35px - 6.25vw);
  }
  .shopp_page .category-list-item a,
  .shopp_page.grid .products .product .frame a {
    margin-left: calc(6.25vw - 35px);
    margin-right: calc(6.25vw - 35px);
  }
}
@media screen and (max-width: 640px) {
  .shopp_page .list-container2 {
    margin-left: -5px;
    margin-right: -5px;
  }
  .shopp_page .category-list-item a,
  .shopp_page.grid .products .product .frame a {
    margin-left: 5px;
    margin-right: 5px;
  }
}

/*
Categories are 400px wide.  Products 300px. 
Window margin is 2 x 13px + 16px scrollbar = 42px.
Negative margin is 2 x 15px = 30px.
Max width is 134px + 75vw
*/

/* 6 columns with element width up to 2455.3846153846px */
        @media screen and (max-width: 999999px) {
          .shopp_page .category-list-item {
              max-width: 440px;
            }
            .shopp_page .list-container.item-count-any .category-list {
              max-width: 3079px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 16.6666%;
            }
            .shopp_page .list-container.reduce-cols-6-5 .category-list {
              max-width: 2639px;
            }
            .shopp_page .list-container.reduce-cols-6-5 .category-list-item {
              width: 20%;
            }
            .shopp_page .list-container.reduce-cols-6-4 .category-list {
              max-width: 2199px;
            }
            .shopp_page .list-container.reduce-cols-6-4 .category-list-item {
              width: 25%;
            }
            .shopp_page .list-container.reduce-cols-6-3 .category-list {
              max-width: 1759px;
            }
            .shopp_page .list-container.reduce-cols-6-3 .category-list-item {
              width: 33.3333%;
            }
            .shopp_page .list-container.reduce-cols-6-2 .category-list {
              max-width: 1319px;
            }
            .shopp_page .list-container.reduce-cols-6-2 .category-list-item {
              width: 50%;
            }
            .shopp_page .list-container.reduce-cols-6-1 .category-list {
              max-width: 879px;
            }
            .shopp_page .list-container.reduce-cols-6-1 .category-list-item {
              width: 100%;
            }
                    }
      
/* 5 columns with element width up to 2072.7272727273px */
        @media screen and (max-width: 2544px) {
          .shopp_page .list-container.item-count-any .category-list {
              max-width: 2639px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 20%;
            }
            .shopp_page .list-container.reduce-cols-5-4 .category-list {
              max-width: 2199px;
            }
            .shopp_page .list-container.reduce-cols-5-4 .category-list-item {
              width: 25%;
            }
            .shopp_page .list-container.reduce-cols-5-3 .category-list {
              max-width: 1759px;
            }
            .shopp_page .list-container.reduce-cols-5-3 .category-list-item {
              width: 33.3333%;
            }
            .shopp_page .list-container.reduce-cols-5-2 .category-list {
              max-width: 1319px;
            }
            .shopp_page .list-container.reduce-cols-5-2 .category-list-item {
              width: 50%;
            }
            .shopp_page .list-container.reduce-cols-5-1 .category-list {
              max-width: 879px;
            }
            .shopp_page .list-container.reduce-cols-5-1 .category-list-item {
              width: 100%;
            }
                    }
      
/* 4 columns with element width up to 1688.8888888889px */
        @media screen and (max-width: 2033px) {
          .shopp_page .list-container.item-count-any .category-list {
              max-width: 2199px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 25%;
            }
            .shopp_page .list-container.reduce-cols-4-3 .category-list {
              max-width: 1759px;
            }
            .shopp_page .list-container.reduce-cols-4-3 .category-list-item {
              width: 33.3333%;
            }
            .shopp_page .list-container.reduce-cols-4-2 .category-list {
              max-width: 1319px;
            }
            .shopp_page .list-container.reduce-cols-4-2 .category-list-item {
              width: 50%;
            }
            .shopp_page .list-container.reduce-cols-4-1 .category-list {
              max-width: 879px;
            }
            .shopp_page .list-container.reduce-cols-4-1 .category-list-item {
              width: 100%;
            }
                    }
      
/* 3 columns with element width up to 1302.8571428571px */
        @media screen and (max-width: 1518px) {
          .shopp_page .list-container.item-count-any .category-list {
              max-width: 1759px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 33.3333%;
            }
            .shopp_page .list-container.reduce-cols-3-2 .category-list {
              max-width: 1319px;
            }
            .shopp_page .list-container.reduce-cols-3-2 .category-list-item {
              width: 50%;
            }
            .shopp_page .list-container.reduce-cols-3-1 .category-list {
              max-width: 879px;
            }
            .shopp_page .list-container.reduce-cols-3-1 .category-list-item {
              width: 100%;
            }
                    }
      
/* 2 columns with element width up to 912px */
        @media screen and (max-width: 997px) {
          .shopp_page .list-container.item-count-any .category-list {
              max-width: 1259px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 50%;
            }
            .shopp_page .list-container.reduce-cols-2-1 .category-list {
              max-width: 839px;
            }
            .shopp_page .list-container.reduce-cols-2-1 .category-list-item {
              width: 100%;
            }
                    }
      
/* 1 columns with element width up to 506.66666666667px */
        @media screen and (max-width: 502px) {
          .shopp_page .list-container.item-count-any .category-list {
              max-width: 839px;
            }
            .shopp_page .list-container.item-count-any .category-list-item {
              width: 100%;
            }
                    }
            @media screen and (max-width: 799px) {
        .shopp_page .category-list-item {
          max-width: calc(12.5vw + 340px);
        }
      }
      @media screen and (max-width: 640px) {
        .shopp_page .category-list-item {
          max-width: 420px;
        }
      }
    
/* 8 columns with element width up to 2490.3529411765px */
        @media screen and (max-width: 999999px) {
          #shopp.shopp_page.grid ul.products li.product {
              max-width: 334px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 3005px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 12.5%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-7 ul.products {
              max-width: 2671px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-7 ul.products li.product {
              width: 14.2857%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-6 ul.products {
              max-width: 2337px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-6 ul.products li.product {
              width: 16.6666%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-5 ul.products {
              max-width: 2003px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-5 ul.products li.product {
              width: 20%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-4 ul.products {
              max-width: 1669px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-4 ul.products li.product {
              width: 25%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-3 ul.products {
              max-width: 1335px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-3 ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-2 ul.products {
              max-width: 1001px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-1 ul.products {
              max-width: 667px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-8-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 7 columns with element width up to 2195.2px */
        @media screen and (max-width: 2708px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 2671px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 14.2857%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-6 ul.products {
              max-width: 2337px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-6 ul.products li.product {
              width: 16.6666%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-5 ul.products {
              max-width: 2003px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-5 ul.products li.product {
              width: 20%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-4 ul.products {
              max-width: 1669px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-4 ul.products li.product {
              width: 25%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-3 ul.products {
              max-width: 1335px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-3 ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-2 ul.products {
              max-width: 1001px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-1 ul.products {
              max-width: 667px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-7-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 6 columns with element width up to 1899.6923076923px */
        @media screen and (max-width: 2314px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 2337px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 16.6666%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-5 ul.products {
              max-width: 2003px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-5 ul.products li.product {
              width: 20%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-4 ul.products {
              max-width: 1669px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-4 ul.products li.product {
              width: 25%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-3 ul.products {
              max-width: 1335px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-3 ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-2 ul.products {
              max-width: 1001px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-1 ul.products {
              max-width: 667px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-6-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 5 columns with element width up to 1603.6363636364px */
        @media screen and (max-width: 1919px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 2003px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 20%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-4 ul.products {
              max-width: 1669px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-4 ul.products li.product {
              width: 25%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-3 ul.products {
              max-width: 1335px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-3 ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-2 ul.products {
              max-width: 1001px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-1 ul.products {
              max-width: 667px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-5-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 4 columns with element width up to 1306.6666666667px */
        @media screen and (max-width: 1523px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 1669px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 25%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-3 ul.products {
              max-width: 1335px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-3 ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-2 ul.products {
              max-width: 1001px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-1 ul.products {
              max-width: 667px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-4-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 3 columns with element width up to 1008px */
        @media screen and (max-width: 1125px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 1287px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 33.3333%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-3-2 ul.products {
              max-width: 965px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-3-2 ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-3-1 ul.products {
              max-width: 643px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-3-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 2 columns with element width up to 705.6px */
        @media screen and (max-width: 706px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 941px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 50%;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-2-1 ul.products {
              max-width: 627px;
            }
            #shopp.shopp_page.grid .list-container.reduce-cols-2-1 ul.products li.product {
              width: 100%;
            }
                    }
      
/* 1 columns with element width up to 392px */
        @media screen and (max-width: 388px) {
          #shopp.shopp_page.grid .list-container.item-count-any ul.products {
              max-width: 627px;
            }
            #shopp.shopp_page.grid .list-container.item-count-any ul.products li.product {
              width: 100%;
            }
                    }
            @media screen and (max-width: 799px) {
        #shopp.shopp_page.grid ul.products li.product {
          max-width: calc(12.5vw + 234px);
        }
      }
      @media screen and (max-width: 640px) {
        #shopp.shopp_page.grid ul.products li.product {
          max-width: 314px;
        }
      }
    
/*****************************************************************
 * PRODUCT DETAIL PAGE
 *****************************************************************/

body.shopp-product ul {
  display: block;
}
.shopp-product .product-frame {
  max-width: 100%;
  margin: 0 auto;
}
.shopp-product .product-frame:after {
  display: block;
  content: ' ';
  clear: both;
}
#shopp.shopp-product .product-frame > .gallery {
  margin: 0 20px 15px 0;
  max-width: 360px;
  border: 1px solid rgba(51,51,51,0.2);
  padding: 9px;
}
.shopp-product .product-frame .gallery .previews {
  overflow: visible;
  max-height: 540px;
}
#shopp.shopp-product .product-frame .gallery .previews li {
  position: static;
  min-width: 0;
}
.shopp-product .product-frame .gallery .previews .fill {
  max-width: 100%;
}
.shopp-product .product-frame .gallery .previews img {
  display: block;
  position: absolute;
  box-sizing: content-box;
  top: -5px;
  left: -5px;
  bottom: -5px;
  right: -5px;
  margin: auto;
}
#shopp.shopp-product .product-frame .gallery .thumbnails {
  margin: 9px -9px -9px;
  padding: 4px 4px 0 !important; /* override catalog.css using !important [!!!] */
  border-top: 1px solid rgba(51,51,51,0.2);
  text-align: center;
  line-height: 0;
  width: auto!important; /* override that set by Shopp JavaScript */
}
#shopp.shopp-product .product-frame .gallery .thumbnails li {
  margin: 0;
}
.shopp-product .product-frame .gallery .thumbnails img {
  border: 1px solid #fff;
  margin-bottom: 4px;
  vertical-align: middle;
}
.shopp-product .product-frame .gallery .thumbnails img:hover {
  border-color: #239863;
}
.shopp-product .product-frame .product-text {
  margin: 0 0 15px;
}
.shopp-product .product-frame .product-text p {
   /* limit text width for readability */
  max-width: 800px;
  margin-left: auto;
  margin-right: 0;
}
.shopp-product .product-frame .product-text .headline {
  font-family: Lato, sans-serif;
  font-size: 1.25em; /* 1.5 / 1.25 */
  color: #3c4841;
}
.shopp-product .product-frame .product-text .price {
  color: #239863;
}
.shopp-product .product-frame .product-text .price,
.shopp-product .product-frame .product-text .description {
  font-size: 1.0625em;
}
.shopp-product .product-frame .product-text .description p {
}
.shopp-product .product-frame .product-text .description p:nth-child(2n) {
  color: #3c4841;
}
.shopp-product .product-frame .product-text .description {
  overflow: visible; /* override so it wraps properly around float and margins collapse */
}
.shopp-product .product-frame .product-text .details dd:after {
  content: ' ';
  display: block;
  clear: left;
}

/* Less than 520px no room for float (360px + 40px float padding/margin + 20px page margin + 120px text) */
@media screen and (max-width: 539px) {
  #shopp.shopp-product .mq-unfloat.product-frame > .gallery {
    float: none;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    max-width: none;
  }
  #shopp.shopp-product .mq-unfloat.product-frame > .gallery .fill {
    width: auto!important;
  }
  #shopp.shopp-product .mq-unfloat.product-frame .gallery .thumbnails {
    width: auto!important;
  }
}

#shopp.shopp-product .unfloat.product-frame > .gallery {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  max-width: none;
}
#shopp.shopp-product .unfloat.product-frame > .gallery .fill {
  width: auto!important;
  /*max-width: none!important;*/
}
#shopp.shopp-product .unfloat.product-frame .gallery .thumbnails {
  width: auto!important;
}

/**********************
 * SEARCH RESULTS
 **********************/

.search-results .results-list {
  display: table;
  margin: 0 auto;
}
.search-results .result {
  text-decoration: none;
  display: block;
  display: table-row;
  color: #333;
  margin: 0 auto;
}
.search-results .result:after {
  content: ' ';
  display: block;
  clear: left;
}
.search-results .result > * {
  display: table-cell;
  vertical-align: middle;
}
.search-results .result img {
  box-sizing: content-box;
  float: left;
  margin-right: 15px;
  padding: 3px;
}
.search-results .result h3 {
  color: #3c4841;
}
.search-results .result:hover .details > * {
  color: #005580;
}
.search-results .result:hover h3 {
  text-decoration: underline;
}
.search-results .navigation {
  text-align: center;
  font-weight: bold;
  font-size: 1.1em;
}
.search .no-results,
#shopp form.search-form {
  text-align: center;
}
#shopp .search-form label {
  display: inline;
}

/**************
 * SHOPP FORMS
 **************/

#shopp form ul {
  width: auto;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#shopp form ul label {
  clear: none;
}
#shopp form > ul {
  margin-left: -2px;
  margin-right: -2px;  
}
#shopp form ul li {
  float: none;
  padding: 0;
  margin: 0;
}
#shopp form > ul li > * {
  margin-left: 2px;
  margin-right: 2px;
  float: none;
}
#shopp form ul span {
  padding: 0;
}
#shopp form ul .half {
  float: left;
  clear: none;
}
#shopp form ul .half,
#shopp form li .left,
#shopp form li .right {
  display: inline-block;
}
#shopp form ul .half {
  width: 47.5%;
}
#shopp form ul .left {
  float: left;
  clear: both;
}
#shopp form ul .right {
  float: right;
  clear: none;
}
#shopp form li label {
  padding-top: 0.625em;
}
#shopp form li > label {
  padding-top: 1.125em;
  padding-bottom: 0.25em;
}
#shopp form ul input,
#shopp form ul select {
  margin: 0;
}
#shopp form li > .inline {
  clear: both;
  float: none;
  display: block;
  padding-top: 0.375em;
}
#shopp form li > .inline label {
  display: block;
  padding-top: 0.375em;
}

/*** Overall layout/width ***/

.shopp-thanks,
#shopp.checkout,
#shopp.confirm {
  max-width: 880px;
  margin: 0 auto;
}
#shopp.checkout #cart,
#shopp.confirm #cart {
  margin: 0 -3px;
}
#shopp > form#cart {
  margin: 0 -3px;
}
#shopp > form#cart > * {
  margin: 0 3px;
}
#shopp > form#cart > .cart {
  max-width: 880px;
  margin: 10px auto;
}

/*** Product Options/Add-Ons ***/

#shopp.shopp-product .product-frame .product-text form ul {
  display: inline;
  margin: 0;
}
#shopp.shopp-product .product-frame .product-text form li {
  clear: none;
  display: inline-block;
}
#shopp.shopp-product .product-frame .product-text form label {
  clear: none;
  padding: 0;
  margin: 0;
}

/*** Cart ***/

#shopp #cart td li {
  font-size: 0.875em;
  padding-left: 1em;
}
#shopp #cart td,
#shopp #cart th {
  vertical-align: middle;
}

/*** Small Screen support ***/

#shopp .shortheadings {
  display: none;
}

@media screen and (max-width: 639px) {
  #shopp form ul .half .left,
  #shopp form ul .half .right {
    width: auto;
    float: none;
    display: block;
  }
  #shopp .shortheadings {
    display: inline;
  }
  #shopp .longheadings {
    display: none;
  }
}
@media screen and (max-width: 399px) {
  #shopp form li .left,
  #shopp form li .right,
  #shopp form ul .half {
    width: auto;
    float: none;
    display: block;
  }
}
#shopp #cart select {
  max-width: 25vw;
  max-width: calc(50vw - 100px);
}
@media screen and (max-width: 400px) {
  #shopp #cart .cart .totals.total {
    font-size: 1.1875em;
    font-size: 5.2vw;
  }
  #shopp #cart select {
    max-width: 100px;
    max-width: 25vw;
  }
}
@media screen and (max-width: 320px) {
  #shopp #cart select {
    max-width: 80px;
  }
}


/*** Shipping Methods ***/

#shopp ul#shipping-methods li {
  font-size: inherit;
  margin-top: 4px;
  padding-left: 0;
}
#shopp ul#shipping-methods li label {
  vertical-align: middle;
  padding: 0 0 10px;
  padding:  0;
}
#shopp ul#shipping-methods input {
  margin: 0 0 5px -16px;
}

/*** Hide shipping estimate postcode, limit width of country dropdown ***/

.ship-estimates #shipping-country {
  width: 12em;
}
.ship-estimates #shipping-postcode,
.ship-estimates .update-button {
  display: none;
}


/*****************************************************************
 * SHOPP ERROR MESSAGE
 *****************************************************************/

#shopp .notice, #shopp .justtext {
  text-align: center;
}

/*****************************************************************
 * NAVIGATION BREADCRUMB (MOVED)
 *****************************************************************/

/*** List Style ***/
.nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.nav li {
  margin: 0;
  padding: 0;
}

/* Copy Shopp rules for breadcrumb out of place (use of ID causes JS to fail [?]) */
.shopp_breadcrumb ul.breadcrumb {
  margin: 10px 0;
  display: inline;
}
.shopp_breadcrumb ul.breadcrumb li {
  background: none;
  padding: 0;
  display: inline;
  margin-left: 0;
  text-indent: 0;
  font-weight: bold;
}
.shopp_breadcrumb ul.breadcrumb li a {
  white-space: nowrap;
}
.shopp_breadcrumb ul.breadcrumb li .dropdown-item {
  padding-right: 1.2em;
  position: relative;
  display: inline-block;
  white-space: nowrap;
}
.shopp_breadcrumb ul.breadcrumb li .dropdown-frame {
  display: block;
  position: absolute;
  top: 0;
  right: -0.2em;
  bottom: 0;
  left: -0.2em;
  border: 1px solid #333;
  border-radius: 2px;
  opacity: 0.3;
  filter: alpha(opacity=30);
  overflow: hidden;
}
.shopp_breadcrumb ul.breadcrumb li .dropdown-frame:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
.shopp_breadcrumb ul.breadcrumb li .dropdown-button {
  display: block;
  height: 100%;
  width: 1em;
  border-left: 1px solid #333;
  margin: 0 0 0 auto;
  text-align: center;
}
.shopp_breadcrumb ul.breadcrumb li .browser-dropdown {
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
}
.shopp_breadcrumb ul.breadcrumb li select {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  /*border: 0px none transparent;*/
  color: transparent;
  background-color: transparent;
  opacity: 0;
  filter: alpha(opacity=0);
}
.shopp_breadcrumb ul.breadcrumb li select optgroup,
.shopp_breadcrumb ul.breadcrumb li select option {
  font-size: inherit;
  font-family: inherit;
  border: none;
  background-color: transparent;
  color: #333;
}

/*** Nav Area ***/

.nav.top {
  text-align: justify;
  line-height: 0;
  position: relative;
  z-index: 1;
}
.nav.top hr {
  margin-top: 0;
}
.nav.top > * {
  /* restore defaults */
  line-height: 1.25;
  text-align: left;
}
.nav.top .left {
  display: inline;
}
.nav.top .left > *, .nav.top .right {
  display: inline-block;
  vertical-align: middle;
}
.nav.top .stretch {
  display: inline-block;
  width: 100%;
  vertical-align: bottom;
}

/*** Search ***/

#search form > * {
  vertical-align: middle;
}
.nav.top .search-form-toggle, .nav.top #search-form-toggle {
  display: none;
}
.nav.top #search {
  margin: -3px 0;
  padding: 0 0 9px 14px;
  text-align: right;
}
@media screen and (max-width: 320px) {
  .nav.top .search-form-container form .search-field {
    max-width: 152px;
  }
}
@media screen and (max-width: 639px) {
  .nav.top #search {
    position: relative;
  }
  .nav.top .search-form-toggle {
    display: block;
    color: #239863;
  }
  .nav.top .search-form-toggle:hover {
    color: #005580;
    cursor: pointer;
  }
  .nav.top .search-form-toggle .shoppui-caret-up {
    display: none;
  }
  .nav.top .search-form-toggle .shoppui-search {
    font-size: 1.25em;
  }
  .nav.top .search-form-container {
    display: none;
    position: absolute;
    top: 24px;
    right: 0;
    background: white;
    border-left: 1px solid #818984;
    border-top: 1px solid #818984;
    border-right: 1px solid #3c4841;
    border-bottom: 1px solid #3c4841;
  }
  .nav.top .search-form-container form {
    white-space: nowrap;
    margin: 1px;
    padding: 9px 11px;
    border-left: 1px solid #eee;
    border-top: 1px solid #eee;
    border-right: 1px solid #c1c9c4;
    border-bottom: 1px solid #c1c9c4;
    background-image: url(res/pattern.jpg);
  }
  .nav.top .search-form-container form .search-field {
    max-width: 47.5vw;
    max-width: calc(100vw - 168px);
  }
  .nav.top #search-form-toggle:checked + #search-form-toggled .search-form-container,
  .nav.top #search-form-toggle.checked + #search-form-toggled .search-form-container {
    display: block;
  }
  .nav.top #search-form-toggle:checked + #search-form-toggled .search-form-toggle .shoppui-caret-up,
  .nav.top #search-form-toggle.checked + #search-form-toggled .search-form-toggle .shoppui-caret-up {
    display: inline;
  }
  .nav.top #search-form-toggle:checked + #search-form-toggled .shoppui-caret-down,
  .nav.top #search-form-toggle.checked + #search-form-toggled .shoppui-caret-down {
    display: none;
  }
}

/*** Nav Menu ***/

.nav .menu {
  font-weight: bold;
}
.nav .menu > ul {
  margin: 0 -11px 0 -14px;
}
.nav .menu > ul > li {
  display: inline-block;
  padding: 0 11px 9px 14px;
  vertical-align: middle;
}
.nav .menu ul li ul .separator {
  display: none;
}
.nav .menu > ul > .separator, .nav .separator {
  display: inline-block;
  position: absolute;
  bottom: 2px;
  height: 200px;
  width: 1px;
  padding: 0;
  margin: 0;
  background-color: white;
  border-left: 1px solid #c1c9c4;
  border-right: 1px solid #eee;
}
.nav .menu .current_page_item > a {
  color: inherit;
  text-decoration: inherit;
}
.nav .menu > ul > li.page_item_has_children > span {
  color: #239863;
}
.nav .menu > ul > li.page_item_has_children:hover > span {
  color: inherit;
}
.nav .menu #menu-text-more {
  display: none;
}

/** Child menus ***/

.nav .menu li.page_item_has_children:after {
  font-family: 'shopp-icons';
  color: #239863;
  text-decoration: none;
  white-space: nowrap;
}
.nav .menu > ul > li.page_item_has_children:after {
  content: ' \e02f';
}
.nav .menu ul ul li.page_item_has_children:after {
  content: ' \e031';
}
.nav .menu ul.children {
  display: none;
  position: absolute;
  background: white;
  top: -11px;
  left: 0;
  border-left: 1px solid #818984;
  border-top: 1px solid #818984;
  border-right: 1px solid #3c4841;
  border-bottom: 1px solid #3c4841;
}
.nav .menu > ul > li > ul.children {
  min-width: 100%;
}
.nav .menu li.page_item_has_children:hover {
  z-index: 2;
  position: relative;
}
.nav .menu > ul > li.page_item_has_children:hover a,
.nav .menu > ul > li.page_item_has_children:hover > span {
  z-index: 3;
  position: relative;
}
.nav .menu li:hover > ul.children {
  display: block;
}
.nav .menu ul.children ul.children {
  /*display: inline-block;*/
  top: -3px;
  left: 1px;
  margin-left: 100%;
}
.nav .menu ul.children a {
  white-space: nowrap;
}
.nav .menu ul.children > li,
.nav .menu > ul > li > ul.children:before {
  display: block;
  padding: 9px 11px;
  margin: 1px;
  border-left: 1px solid #eee;
  border-top: 1px solid #eee;
  border-right: 1px solid #c1c9c4;
  border-bottom: 1px solid #c1c9c4;
  background-image: url(res/pattern.jpg);
}
.nav .menu > ul > li > ul.children:before {
  content: '\a0';
}

/*****************
 * CUSTOM CONTENT
 *****************/
 
/*** General WordPress page styles ***/

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.entry-content img,
.entry-content .wp-video {
  max-width: 100%;
  height: auto;
}
.entry-content img {
  width: auto;
  box-sizing: border-box;
}
.entry-content img.alignnone {
  vertical-align: middle;
}
.entry-content img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.entry-content img.alignleft {
  float: left;
  margin: 0 10px 10px 0;
}
.entry-content img.alignright {
  float: right;
  margin: 0 0 10px 10px;
}
.entry-content p:after {
  /* prevent text wrapping round image when very little space */
  content: ' ';
  height: 0;
  width: 10em;
  display: block;
  margin: 0.625em 0 -0.625em;
  overflow: hidden;
}
.entry-content .wp-video {
  margin-left: auto;
  margin-right: auto;
}
.mejs-overlay-loading {
  display: none; /* Does not get removed */
}
 
/*** List bullets ***/

li.email, li.phone {
  list-style-type: none;
}
li.email:before, li.phone:before {
  font-family: 'shopp-icons';
  margin: 0 0 0 -1.5em;
  display: inline-block;
  width: 1.5em;
  text-align: center;
}
li.email:before {
  content:"\e05d";
}
li.phone:before {
  content:"\e05e";
}
