/* Reset 
================================================== */
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; 
}
.wsa-demobar {
  bottom: 0;
  top: auto !important;
}
body {
  line-height: 1; 
  margin-top: 0 !important;
}
ol, ul {
  list-style: none; 
}
blockquote, q {
  quotes: none;
  font-size: 1.5em;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; 
}
table {
  border-collapse: collapse;
  border-spacing: 0; 
}
img {
  display: block;
}
.clear {
  clear: both;
}
.table {
  display: table;
  margin: 0 auto;
}
.gui-blog-nav {
  top: auto;
  box-shadow: none;
  padding:0 !important;
  z-index: 1000;
  width: 100%;
}

/* Basics
================================================== */
* { 
  -moz-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;  
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;  
}
body {
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; 
}
html {
  overflow: -moz-scrollbars-vertical;
  overflow-y: scroll;
}
.left { float: left !important; }
.right { float: right !important; }
.center { text-align: center; margin: auto; }

/* Typography */
h1, h2, h3, h4, h5, h6 { line-height: 1.35em; margin-bottom: 0.5em; }

@media (max-width: 991px) {
  h1 { font-size: 1.6875em; }
  h2 { font-size: 1.475em; }
  h3 { font-size: 1.375em; }
}

.pretext,
.preheading {
  margin-bottom: 10px;
}
p { margin: 10px 0 0 0;}
p img { margin: 0; max-width: 100%; height: auto; }
img.grayscale {
  -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
}
hr { 
  border-width: 1px 0 0; 
  clear: both; 
  margin: 0px; 
  height: 0; 
  width: 100%;
}
hr.full-width {
  position: absolute;
  left: 0px
}
.fontawesome {
  font-family: fontawesome;
}

/* Element colors */
.light, .light a, .light button.text-cta,
.light h1, .light h2, .light h3, .light h4, .light h5, .light h6 {
  color: #fff !important; /* NOTE: should this be a setting?*/
}
a.text-cta:hover {
  background-color: inherit;
}

/* Links */
a {
  -moz-transition: color 0.3s ease, background-color 0.2s ease;
  -webkit-transition: color 0.3s ease, background-color 0.2s ease;
  transition: color 0.3s ease, background-color 0.2s ease;
  outline: 0;
}
a, a:visited { outline: 0; text-decoration: none; }
a:hover, a:focus { outline: 0; text-decoration: underline; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { text-decoration: none; }

/* List */
ul { list-style: none outside; }
ol { list-style: decimal; }
ul ul, ul ol,
ol ol, ol ul { margin: 0.1em 0 0.1em 1em; }

/* Inputs */
input[type="text"],
input[type="tel"],
input[type="password"],
input[type="email"],
textarea,
select {
  border: 1px solid;
  border-radius: 0;
  padding: 8px 12px;
  outline: none;
  margin: 0;
  width: 100%;
  max-width: 200px;
  display: inline-block;
  -moz-transition: border-color 0.3s ease;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
input[type="text"],
input[type="password"],
input[type="email"],
textarea {
  -webkit-appearance: none;
  border-radius: 0px;
}
select {
  -moz-appearance: none; 
  -webkit-appearance: none; 
  appearance: none;
  background-image: url(sort-down.svg);
  background-repeat: no-repeat;
  background-size: 7px;
  background-position: 95% 50%;
  height: 40px;
}

@media (max-width: 992px) {
  select {
    max-width: 100%;
  }
}

@media (max-width: 991px) {
  input[type="text"],
  input[type="password"],
  input[type="email"] {
    padding: 10px;
    max-width: 100%;
  }
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
  border: 1px solid;
  color: #444; 
}
textarea {
  min-height: 60px; 
}
input[type="checkbox"] {
  display: inline;
  height: 12px;
}

/* Buttons */
a.btn,
button,
input[type="submit"],
input[type="text"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  line-height: 42px;
  height: 42px;
  padding: 0px 25px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0;
}
a.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  text-decoration: none;
}
a.btn.full-width,
button.full-width,
input[type="submit"].full-width,
input[type="reset"].full-width,
input[type="button"].full-width {
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center; 
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
a.btn.banner-cta {
  height: 42px;
  line-height: 42px;
  margin-top: 20px;
}
a.text-cta {
  background: none;
  padding: 0;
  display: block;
  margin: 1em 0;
  border: none;
  text-transform: none;
  font-size: 1.1375em;
  font-weight: 600;
  cursor: pointer;
}
a.text-cta:after {
  font-family: "Font Awesome 5 Free";
  content: '\f105';
  margin-left: 5px;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a.text-cta:hover:after {
  margin-left: 10px;
}

@media (max-width: 991px) {
  a.btn,
  button,
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    line-height: 40px;
    height: 40px;
  }
}

.title-featured {
  margin-bottom:20px;
}

/* Bootstrap */
.container.slim {
  max-width: 800px;
}
.container-fluid {
  padding-left: 0;
  padding-right: 0;
}
section div[class^="col-"] img {
  width: 100%;
}
.tabsPages .page.info ul,
.page-title .col-md-7 ul,
.page-title .col-md-12 ul {
  list-style: inherit;
  list-style-position: inside;
}
.tabsPages .page.info ol,
.page-title .col-md-7 ol,
.page-title .col-md-12 ol {
  list-style: decimal;
  list-style-position: inside;
}
.tabsPages .page.info a,
.page-title .col-md-7 a,
.page-title .col-md-12 a  {
  text-decoration: underline;
}
.dropdown-menu {
  background-color: #f8f8f8;
  border: none;
  border-radius: 0;
  padding: 0.5em 1em;
  min-width: 300px;
}
.dropdown-menu > li {
  font-size: .8em;
  padding: .25em 0;
}
.dropdown-menu > .filter-value {
  display: flex;
  align-items: center;
}
.dropdown-menu > .filter-value label {
  padding-left: .5em;
}
.dropdown-menu > li > a {
  padding: 0; 
}

/* header
================================================== */
.logo-nav-wrap h1 {
  font-size: 1.5em;
  line-height: 1.25;
  margin: 0;
}
.logo a:hover {
  text-decoration: none;
}

@media (max-width: 991px) {
  .logo-nav-wrap h1 {
    font-size: 1.25em;
    line-height: 40px;
  }
}

/* .topbar */
.topbar {
  padding: 12px 0px;
  text-align: center;
  line-height: 1.2;
}
.topbar a {
  text-decoration: underline;
  padding-left: 5px;
  transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -webkit-transition: opacity .25s ease-in-out;
}
.topbar a:hover {
  opacity: 0.8;
}

@media (max-width: 991px) {
  .topbar {
    position: relative;
    z-index: 1000;
    padding: 6px 0;
  }
  .topbar-msg {
    display: block;
    padding: 4px 0;
  }
}

/* .header-top */
.secondary-nav li {
  float: left;
  padding-right: 10px;
}
.secondary-nav li:last-child {
  padding-right: 0; 
}
.lang-curr li {
  float: left;
  padding-left: 10px;
}
.lang-curr li:first-child {
  padding-left: 0; 
}
.lang-curr .currencies {
  float: left;
}
.lang-curr .currencies a.active {
  font-weight: 600;
}
.lang-curr .languages {
  float: left;
  text-transform: uppercase;
  cursor: pointer;
}
.languages a {
  text-transform: uppercase !important;
}
.languages .flag {
  float: left;
  background-image: url(flags.png);
  background-repeat: no-repeat;
  margin: 4px 0;
  margin-left: 10px;
  overflow: hidden;
  text-indent: -9999px;
  width: 18px;
  height: 18px;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  padding: 0;
  clear: none;
}
.languages .flag.nl { background-position:-7px -2px; }
.languages .flag.de { background-position:-7px  -22px; }
.languages .flag.en { background-position:-7px  -42px; }
.languages .flag.fr { background-position:-7px  -62px; }
.languages .flag.es { background-position:-7px  -82px; }
.languages .flag.it { background-position:-7px  -102px; }
.languages .flag.el { background-position:-7px  -122px; }
.languages .flag.tr { background-position:-7px  -142px; }
.languages .flag.pt { background-position:-7px  -162px; }
.languages .flag.pl { background-position:-7px  -182px; }
.languages .flag.sv { background-position:-7px  -202px; }
.languages .flag.ru { background-position:-7px  -222px; }
.languages .flag.da { background-position:-7px  -242px; }
.languages .flag.no { background-position:-7px  -262px; }
.languages .flag.fc { background-position:-7px  -282px; }
.languages .flag.us { background-position:-3px  -302px; }

/* nav */
.navigation .logo img {
  width: auto;
}
.navigation {
  padding-top: 12px;
  padding-bottom: 12px;
}
.navigation.layout-center,
.navigation.layout-left-below {
  padding-bottom: 12px;
}
@media (min-width: 992px) {
  .navigation.layout-center,
  .navigation.layout-left-below {
    padding-bottom: 0;
	}
  ul.subnavList {
    padding: 0.5em 0;
  }
}
@media (max-width: 991px) {
 .navigation .logo img {
    height: auto;
 }  
}
nav.primary {
  display: inline-block;
}
nav.primary ul, 
nav.primary ul li {
  margin: 0px;
  line-height: 18px;
  text-align: left;
}

nav.primary.mobile > ul {
  text-align: left; 
  border-top: 1px solid;
  position: relative;
}
nav.primary ul li.search-mobile {
  margin-bottom: 20px; 
}
nav.primary .item {
  margin-right: 25px;
}
li.item.mega-menu {
  cursor: pointer;
}
nav.primary .item:last-child {
  margin-right: 0px;
}
nav.primary .item .itemLink {
  display: block;
  padding: 20px 0;
  position: relative;
  z-index: 2; 
  line-height: 20px;
}
nav.primary .item.hover .itemLink {
  text-decoration: none;
}
.subnav .subnav-with-image {
  max-width: 800px;
  margin: 0 auto;
}
nav.primary .subnav .subitemLink {
  display: block;
  padding: 4px 0;
  font-weight: 400;
  white-space: nowrap;
  -moz-transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;  
  text-decoration: none;
}
.primary-nav.container {
  line-height: inherit;
}
nav.subcat-image .item .icon-drop {
  display: none;
}
nav .item button.icon-drop {
  background-color: transparent;
  border: none;
  padding: 0 1em;
}
button.icon-drop svg {
  width: 15px;
}
nav.primary .subnav .subitem .subitemLink:hover {
  text-decoration: underline;
}
nav.primary.subcat-image .subnav .subitem,
nav.primary .mega-menu .subnav .subitem {
  padding: 2px 0;
  border: none;
}
span.subcat-title {
  text-transform: uppercase;
  font-size: .9em;
  margin-bottom: 10px;
  display: inline-block;
  font-weight: 800;
}
.cat-profile img {    
  width: 100%;
}

/* Offcanvas mobile - Bootstrap 5.0 */
body.offcanvas-active {
  overflow:hidden;
}
.offcanvas-header {
  display:none;
}
.screen-darken {
  height: 100%; width:0%;
  z-index: 30;
  position: fixed; top: 0; right: 0; 
  opacity:0; visibility:hidden;
  background-color: rgba(34, 34, 34, 0.6);
  transition:opacity .2s linear, visibility 0.2s, width 2s ease-in;
}
.screen-darken.active {
  z-index:10; 
  transition:opacity .3s ease, width 0s;
  opacity:1;
  width:100%;
  visibility:visible;
}
.navigation .burger svg {
  width: 22px;
  height: auto;
}
.btn-close {
  width: 20px;
  height: auto;
  background: none;
}
.itemLink-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
nav.primary:not(.subcat-image) .primary-menu .item:not(.mega-menu) .subnav .sub-cats {
  width: 100%; 
}

@media all and (min-width: 1200px) {
  .item.hover .subnav:not(.subnav-third) {
    display: block; 
  }
}
@media all and (min-width: 992px) {
  nav.subcat-image .item.hover:not(.mega-menu) .subnav-third {
    display: none; 
  }
  .primary .subnav {
    box-shadow: 0 3px 3px rgb(0 0 0 / 12%); 
  }
  nav.primary:not(.subcat-image) .item:not(.mega-menu) .subnav .subitem .itemLink-wrap {
    height: 36px;
    flex-grow: 1;
  }
  .primary:not(.subcat-image) .item:not(.mega-menu) .subnav .subitem {
    position: relative;
    height: 36px;
    display: flex;
    align-items: center;
  }
  nav.primary:not(.subcat-image) .item:not(.mega-menu) .subnavList .subitem {
    padding: 0 1em; 
        }
  nav.primary:not(.subcat-image) .item:not(.mega-menu) .subnav .subitemLink {
    height: 36px;
    width: 100%;
    display: flex;
    align-items: center;
  }
  nav .item button.icon-drop {
    padding: 0 0 0 .5em;
    height: auto;
    line-height: 0;
  }
  .icon-drop i {
    font-size: 10px; 
  }
  nav .item .subitem button.icon-drop i::before {
    content: '\f054';
  }
  .primary-menu .item.mega-menu .subitem .icon-drop {
    display: none;
  }
  nav .primary-menu > .item > .itemLink-wrap > .icon-drop {
    display: block; 
  }
  .primary:not(.subcat-image) .item:not(.mega-menu) .subnav {
    position: absolute;
    left: 0;
    z-index: 1;
    min-width: 300px;
  }
  nav.primary:not(.subcat-image) .primary-menu .item:not(.mega-menu) {
    position: relative; 
  }
  .primary:not(.subcat-image) .item:not(.mega-menu) .subitem.hover .subnav.collapse {
    display: block;
    left: 100%;
    top: 0;
  }
}

/* ============ mobile view ============ */
@media all and (max-width: 991px) {
  .mobile-offcanvas {
    visibility: hidden;
    transform:translateX(-100%);
    border-radius:0; 
    display:block;
    position: fixed;  top: 0; left:0;
    height: 100%; width:300px;
    z-index: 1200; 
    overflow-y: scroll;
    overflow-x: hidden;
    transition: visibility .3s ease-in-out, transform .3s ease-in-out;
  }
  .mobile-offcanvas.show{
    visibility: visible;
    transform: translateX(0);
  }
  .mobile-offcanvas .container,
  .mobile-offcanvas .container-fluid {
  	display: block;
   }
  .offcanvas-header{
    display:flex;
  }
  nav.primary .item .itemLink {
  	padding: 10px 0;
  }
  .primary-nav.show nav.primary {
    display: block;
  }
  nav.primary .subnav .subitemLink,
  nav.primary .languages .subnav li a {
    padding: 0 1em;
    height: 40px;
    line-height: 40px;
  }
  ul.subnavList.level-3 {
    padding-left: 1em;
  }
  nav.primary .mega-menu .subnav .subitem {
    padding: 0; 
  }
  nav.primary .item {
    align-items: center;
  }
  nav .item .icon-drop,
  nav.subcat-image .item .icon-drop {
    display: block;    
  }
  nav.primary .mega-menu .subnav .subitemLink {
    text-transform: none;
    margin: 0;
  }
  nav.primary .mega-menu .container,
  nav .subnav .container {
    padding: 0;
  }
  .sub-cats .subitem {
    position: relative;
        }
  .navigation .logo {
    position: relative;
    z-index: 1;
    line-height: 0px;
    padding: 0;
  }
  .navigation .burger {
    position: relative;
    cursor: pointer;
    z-index: 10;
    padding: 0; 
    border: none;
  }
  nav {
    width: 300px;
    height: 100%;
  }
  .mobile-menu-close {
    opacity: 1;
        }
  .mobile-menu-close:active,
  .mobile-menu-close:hover,
  .mobile-menu-close:focus {
    background-color: transparent;
        }
  .subitem > .icon-drop {
    align-self: center;
  }
  button.icon-drop[aria-expanded="true"] i.fa-chevron-down:before {
    content: '\f068';
        }
  nav .subnav {
    -webkit-animation-duration: 0.3s;
    -webkit-animation-name: fadeIn;
  }
  @-webkit-keyframes fadeIn {
      0% { display:none; opacity: 0;}
      1% { display: block; opacity: 0;}
      100% { display: block; opacity: 1;}
  }
  @-moz-keyframes fadeIn {
      0% { display:none; opacity: 0;}
      1% { display: block; opacity: 0;}
      100% { display: block; opacity: 1;}
  }
  @keyframes fadeIn {
      0% { display:none; opacity: 0;}
      1% { display: block; opacity: 0;}
      100% { display: block; opacity: 1;}
  }
  nav.primary ul li.item {
    margin-right: 0;
  }
  nav.primary .item .itemLink,
  nav.primary .icon-drop {
    padding: 0 1em;
    height: 40px;
    line-height: 40px;
  }
}

/* Mega menu */
@media (min-width: 992px) {
  .mega-menu .subnav-third {
    display: block;
  }
  .primary.subcat-image .container {
    width: 760px;
    display: flex;
  }
  .primary .mega-menu .container,
  .primary.subcat-image .container.two-col {
    width: 960px;
    display: flex;
  }
  .primary .mega-menu .columns-3,
  .primary .mega-menu .columns-4 {
    width: 960px;
    display: flex;
    justify-content: center;
  }
  .primary .mega-menu.hasImage .columns-3,
  .primary .mega-menu.hasImage .columns-4 {
    width: 100%;    
  }
  .primary .mega-menu .sub-cats {
    flex-grow: 1; 
  }
  .sub-cats .column {
    margin: 0 1em;
    float: left;
  }
  .columns-2 .column { width: calc(50% - 2em); }
  .columns-3 .column { width: calc(33.33% - 2em); }
  .columns-4 .column { width: calc(25% - 2em); }
  nav .subnav .subitem .subcat-title {
    margin: 25px 0 8px;
    font-weight: 700;
  }
  .mega-image {
    margin: 0 1em;
  }
  .mega-image img {
    width: 100%;
  }
  .hasImage .mega-image { width: calc(50% - 2em); }
  .hasImage .columns-3 .mega-image { width: calc(33.33% - 2em); }
  .hasImage .columns-4 .mega-image { width: calc(25% - 2em); }
  .hasImage .sub-cats { width: 50%; }
  .hasImage .columns-3 .sub-cats { width: 66.67%; }
  .hasImage .columns-4 .sub-cats { width: 75%; }
  nav.primary.subcat-image .subnav,
  nav.primary .mega-menu .subnav {
    width: 100%;
    position: absolute;
    left: 0;
    border-radius: 0;
    border: 0;
    box-shadow: 0 3px 2px -2px rgba(0,0,0,.15);
    padding: 2em 4em 4em;
    z-index: 1;
  }
  nav.primary .mega-menu.hasImage .subnav {
    padding-bottom: 2em; 
  }
  nav.primary.subcat-image .subnav .subitemLink,
  nav.primary .mega-menu .subnav .subitemLink {
    border: none;
  }
}

/* Cart and account links */
.cart-search-wrap > div {
  padding: 0 6px;
}
.cart-search-wrap > div:last-of-type {
  padding-right: 0; 
}
.cart-search-wrap img,
.search-link img {
  display: inline-block;
  max-height: 20px;
}
.cart-search-wrap .cart {
  position: relative; 
}
span.bag-count {
  font-size: .9em;
  padding-left: 2px;
  position: absolute;
  top: 0;
  right: -8px;
}
.cart-search-wrap a:hover {
  text-decoration: none; 
}
a.curr-dropdown {
  cursor: pointer; 
}
@media (max-width: 991px) {
  .cart-search-wrap {
    padding: 0;
    margin-left: auto!important;
  }
}

/* #formSearch */
#formSearch {
  max-width: 800px;
  margin: 40px auto 0;
}
.search-form {
  position: absolute;
  height: 100vh;
  padding: 4em 1em 0;
  background-color: #fff;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.search-input {
  background-repeat: no-repeat;
  background-position: 5px 50%;
}
.search-link {
  cursor: pointer; 
}
#close img {
  height: 24px; 
}
#close {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
}
#close svg {
  width: 20px;
  height: auto;
}
#close:hover {
  color: #000;
}
#formSearch input {
  padding: 0 40px;  
  max-width: 100%;
  border: none;
  font-size: 1.75em;
  border-bottom: 1px solid;
  height: 50px;
}

@media screen and (max-width: 991px) {
  #formSearch {
    float: none;
    width: 100%;
    margin: 0px;
  }
  #formSearch input {
    font-size: 1.5em;
    width: 100%;
  }
}

/* Search preview flyout */
.search-preview .search-preview-item,
.search-preview .results-link,
.search-preview .no-results {
  padding: 1em 2em;
  background-color: #fff;
  -webkit-box-shadow: 0 4px 4px rgb(0 0 0 / 10%);
  box-shadow: 0 4px 4px rgb(0 0 0 / 10%); 
  border-bottom: 1px solid;
}
.search-preview .results-link,
.search-preview .no-results {
  border-bottom: none;
}
.search-preview .search-preview-item:hover,
.search-preview .results-link:hover {
  background-color: #f2f2f2;
}
.search-preview .search-preview-item a:hover {
  text-decoration: none;
}
.search-preview .search-preview-item:last-of-type {
  border-bottom: none; 
}
.search-preview-item .content {
  padding-left: 10px;
}
.search-preview .search-preview-item .title {
  font-weight: 700;
}

/* .page-tile .breadcrumbs
================================================== */
.textpage .page-title,
.page-title {
  margin: 2em auto; 
}
.breadcrumbs, .breadcrumbs a {
  font-size: .9em;
  text-decoration: none;
  font-style: italic;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  .page-title h1 {
    margin-bottom: 0px;
  }
  .breadcrumbs {
    clear: both;
    margin-top: 5px;
  }
}

/* .slider
================================================== */
/* .headline */
.headline {
  margin-top: 30px;
  position: relative;
}
.headline.single {
  margin-bottom: 30px;
}
.headline .slider {
  border: 1px solid #e5e5e5;
}
.slider {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.slider ul {
  width: 20000em;
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.slider li {
  float: left;
}
.slider img {
  display: block;
  max-width: 100%;
  background-color: #f7f7f7;
  height: auto !important;
}
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  margin-top: -28px;
  text-align: center;
  color: #fff;
  font-size: 1em;
  line-height: 16px;
  background-color: #414141;
  opacity: 0.2;
  padding: 5px 6px 5px 5px;
}
.headline:hover .slider-prev,
.headline:hover .slider-next {
  opacity: 1;
}
.slider-prev {
  left: 26px;
}
.slider-next {
  right: 26px;
}
.slider-pagination {
  width: 100%;
  text-align: center;
  line-height: 0px;
  margin: 20px 0px;
}
.slider-pagination a {
  display: inline-block;
  height: 12px;
  width: 12px;
  background: #414141;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  text-indent: -9999px;
  margin: 0px 6px;
  padding: 0px;
  border: 1px solid #54afe9;
}
.slider-pagination a.active {
  background: #54afe9;
}

/* .home-brands */
.home-brands.container {
  position: relative;
}
.home-brands .brands-grid img {
  width: 100%;
  margin: 0 auto;
}
.brands-grid .brand-logo {
  margin-top: 12px;
  margin-bottom: 12px;
  padding-left: 12px;
  padding-right: 12px;
  text-align: center;
  width: 50%;
}
.brands-grid.align-items-center {
  justify-content: center;
}
@media only screen and (min-width: 992px) {
  .brands-grid.col-count-3 .brand-logo {
    width: 33.33%;
  }
  .brands-grid.col-count-4 .brand-logo {
    width: 25%;
  }
  .brands-grid.col-count-5 .brand-logo {
    width: 20%;
  }
  .brands-grid.col-count-6 .brand-logo {
    width: 16.66%;
  }
  .brands-grid.col-count-7 .brand-logo {
    width: 14.285%;
  }
  .brands-grid.col-count-8 .brand-logo {
    width: 12.5%;
  }
        .home-brands .brands-grid img {
    width: auto;
    max-height: 60px;
  }
}
/* .home-blog */
.home-blog .button {
  text-align: center;
  display: inline-block;
  width: 100%;
}
.home-blog .button {
  margin-top: 2em;
}
.home-blog a:hover {
  text-decoration: none; 
}
.home-blog .banner-content {
  transform: none;
  bottom: 0;
  top: auto;
  padding: 1em 30px;
  max-width: 85%;
}

/* .categories
================================================== */
.categories.row {
  margin-top: 30px;
  justify-content:center;
}
.categories .banner {
  margin-bottom: 30px; 
}
.products .count span {
  font-size: .9em; 
  padding-top: 4px;
}

/* .catalog 
================================================== */


/* Filters and sort by */
.filterBy button {
  width: 100%;
  background-image: url(sort-down.svg);
  background-repeat: no-repeat;
  background-size: 7px;
  background-position: 95% 50%;
  text-align: left;
  padding: 5px 10px;
  border: none;
  height: auto;
  font-size: .9em;
  border-radius: 0;
  font-weight: 400;
}
.filterBy button,
.filterBy button:active,
.filterBy button:hover {
  background-color: #f0f0f0;
  box-shadow: none;
}
.filterBy .dropdown-menu {
  width: 300px;
  top: 100%;
  min-width: auto;
  max-width: none;
  float: none;
  padding: 20px;
  border: none;
  background: #f8f8f8;
  margin-top: 8px;
  border-radius: 0;
  box-shadow: 0;
}
.filter-cat ul, .filter-cats ul ul {
  font-size: 1em;
}
.filters-cat h3.sidebar-title {
  margin-top: 20px; 
}
.filters-cat li:first-of-type {
  padding-top: 0; 
}
.collection-header .banner-wrap {
  min-height: 280px;
  max-height: 520px;
  overflow: hidden;
}
.collection-filters {
  border-bottom: 1px solid;
  padding: 1.5em 0;
  margin-bottom: 30px;
}
.sortBy-wrap > div {
  padding-left: 1em;
}
.sortBy select {
  padding: 2px 0;
  height: auto;
  border: none;
  background-position: 100% 50%;
}
.filter-value {
  padding: .25em 0;
  display: flex;
  align-items: center;
}
.filter-group .filter-value:first-of-type {
  padding-top: 0; 
}
.filter-group label {
  padding-left: .5em;  
}
.filter-label {
  text-transform:uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
  font-size: .9em;
  padding-top: 2px;
}
.modes i {
  font-size: 1em;
}
.filters > div {
  padding-right: 1.5em;
}
.textcategory {
  margin-bottom: 30px;
}

@media (max-width: 991px) {
  ul.filters > li {    
    padding-right: 10px;
  } 
  .sortBy-wrap > div {
    padding-right: 0;
    padding-left: 10px;
  }
}

@media (max-width: 991px) {
  .products .count {
    text-align: left;
    float: left;
  }
  .category {
    padding-bottom: 1em;
  }
  .sortBy {
    width: 100%; 
    padding: 0;
  }
  .collection-filters {
    margin-bottom: 0;
  }
}
.sidebar-filters {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media (max-width: 991px) {
  div#cat-sidebar {
    margin: 1em 0;
  }
  .sidebar-filters {
    padding: 0;
  }
}

@media (min-width: 992px) {
  .sidebar-filters {
    padding: 30px 0px 0px;
  }
}

/* Accordion filters - Bootstrap Accordion */
#filters {
  background-color: #fffff; 
}
.accordion-body {
  padding: 1em .75em;
  background-color: #ffffff;
}
button.accordion-button,
button.accordion-button:hover,
.accordion-button:not(.collapsed) {
  background-color: transparent;
  box-shadow: none;  
}
button.accordion-button {
  padding: 0;
  height: auto;
  line-height: 0;
  text-transform: inherit;
  letter-spacing: inherit;
  font-size: inherit;
}
#filtersAccordion h3 {
  border-bottom: 1px solid #fff;
  padding: .75em;
  margin: 0;
}
#filtersAccordion h3#headingCatFilters {
  border-bottom: none; 
}

@media (max-width: 991px) {
  .textpage-sidebar {
    margin-top: 40px; 
  }
}

/* .price-filter */
.price-filter {
  padding-bottom: 30px;
}
.price-filter-range {
  font-size: .9em;
}
#collection-filter-price {
  height: 2px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  margin: 3px 4px 8px 8px;
  position: relative;
  background-color: #e5e5e5;
}
#collection-filter-price .ui-slider-range {
  position: absolute;
  height: 2px;
}
#collection-filter-price .ui-slider-handle {
  display: block;
  position: absolute;
  width: 14px;
  height: 14px;
  border: 0;
  top: -6px;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  margin-left: -10px;
  cursor: col-resize;
  border: 2px solid;
  background-color: white;
  outline: none;
}
.price-filter-range .min {
  float: left;
}
.price-filter-range .max {
  float: right;
}

@media (min-width: 992px) {
  .categories .category.hover span,
  .categories .category.hover img {
    opacity: 0.6;
  }
  .categories .category .cat-text {
    padding: 11px 14px;
    top: 32px;
  }
  .categories .category span.amount {
    bottom: 11px;
    right: 14px;
  }
}

@media (min-width: 991px) {
  .categories .category .cat-text {
    top: 60px; 
  }
}

@media (min-width: 1200px) {
  .categories .category .cat-text {
    top: 80px;
  }
}

@media (max-width: 320px) {
  .filterBy .dropdown-menu {
    width: 275px;
  }
  .categories .category .cat-text {
    top: 58px;
  }
}

.brand-grid.categories .category {
  padding-right: 40px;
  padding-left: 40px;
}
.categories .category span.title {
  position: relative;
  margin-top: 1em;
  font-size: 1.25em;
}
.categories .category span.amount {
  position: absolute;
  bottom: 1em;
  right: 19px;
  font-size: .9em;
  padding: 0px 4px 0px 5px;
}

/* .products
================================================== */
.products .col-md-10 {
  padding-right: 0px;
}
.products {
  /*padding-top: 30px; */
}
.products .col-md-10 .no-products-found {
  padding: 0px 1em;
  font-style: italic;
}
.product .info .title {
  font-weight: 700;
}
.products .product {
  margin-bottom: 30px;
}
.products .product a {
  text-decoration: none;
}
.products .product .image-wrap img {
  background-color: #f7f7f7;
  width: 100%;
  height: auto;
  position: relative;
  top: 0px;
  left: 0px;
}
.products .product .image-wrap {
  position: relative;
  padding-left: 0;
}
.product-hover.text-cente {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 -2px 4px rgba(0,0,0,.2);
}
.products .product .image-wrap .sale-new {
  position: absolute;
  background-color: #414141;
  color: #fff;
  padding: 5px;
  line-height: 12px;
  font-size: .8em;
  text-align: center;
  top: 1em;
  left: 1em;
  z-index: 1;
  text-transform: uppercase;
}
.sale-new.right {
  right: 1em;
  left: inherit !important;
}
.products .product .image-wrap .description {
  position: absolute;
  top: 0px;
  width: 100%;
  background-color: rgb(65, 65, 65);
  background-color: rgba(65, 65, 65, 0);
  height: 0px;
  overflow: hidden;
  color: #f7f7f7;
  font-size: .9em;
  -moz-transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  z-index: 2;
  line-height: 20px;
}
.products .product .image-wrap .description .text {
  overflow: hidden;
  padding: 0px 10px;
}
.products .product .image-wrap .description .stars {
  margin-bottom: 3px;
}
.products .product .image-wrap .cart {
  display: inline-block;
  position: relative;
  margin: auto;
  padding: 0px 4px;
  text-transform: uppercase;
  border: 1px solid;
  margin-top: 10px;
  text-decoration: none;
  color: #54afe9;
}
.products .product .image-wrap:hover .description {  
  height: 100%;
  background-color: rgba(65, 65, 65, 0.8);
  padding: 20px;    
}
.products .product .info {
  min-height: 40px;
}
.products .product .info .title {
  text-decoration: none;
  color: #414141;
  font-weight: 600;
  display: block;
}
.products .product .info .old-price {
  text-decoration: line-through;
  color: #797979;
}
.products .product .info.strict {
  height: auto;
  overflow: auto;
}
.products .product .info.strict .unit-price {
  display: block;
  clear: both;
}
.product .price-rev-wrap {
  clear: both; 
  padding-top: 7px;
}
.product .price-rev-wrap .price {
  line-height: 1em; 
}
.product .price-rev-wrap .stars {
  font-size: .75em;
  line-height: 1em;
  margin-top: 5px;
}
.products .product span.strict {
  line-height: 1.5;
  display: block;
}

@media (min-width: 992px) {
  .product .info .title-wrap {
    width: 70%;
  } 
}

@media (max-width: 1199px) {
  .products .product .image-wrap .description {
    display: none;
  }
  .products .product .image-wrap .description .text {
    padding: 0px;
  }  
}

@media (max-width: 1023px) {
  .products .col-md-10 {
    padding-left: 0px;
  }
  .products .product .info .title {
    line-height: 1.25;
  }
  .product .info .wishlist {
    line-height: 1.25;
    font-size: .9em;
  }
  .product .info {
    padding: 8px 0; 
  }
  .products .product {
    margin-bottom: 1em;
  }
}

@media (max-width: 991px) {
  .products .product .info .title {
    font-size:.9em;
  } 
}

/* .sidebar
================================================== */
.sidebar {
  color: #797979;
  margin-bottom: 20px;
}
.side-section {
  display: inline-block;
  clear: both;
  margin-bottom: 3em;
  width: 100%;
}
.side-section h4 {
  font-weight: 400; 
}
.side-social-links .social-icon {
  padding: 1em 10px 1em 0;
}
.sort {
  padding-bottom: 1em;
  border-bottom: 1px solid #f0f0f0;
}
.sidebar strong {
  display: block;
  padding-top: 10px;
}
.modes a {
  display: table-cell;
  padding-left: 10px;
}
.list .info { border-left: 0px !important;  }
.list .info .title { font-size: 1.5em; overflow: visible; max-height: none; margin-bottom: 5px; }
.list .description { margin-left: -1em; }
.list .image-wrap { flex: 1 }
.list .image-wrap img { padding: 0 !important; border: none !important;  }
.list .col-lg-5, .list .col-md-5 { padding: 0 !important;  }
.list .col-md-8, .list .col-lg-8, , .list .col-sm-7, .list .col-xs-7 {
  margin: 0 auto !important;
  border-right: 1px solid #e5e5e5 !important;
}
.list-price {
  font-size: 1em;
  margin-bottom: 10px;
}
.row.is-flex {
  float:left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: 1em;
  margin-right: 1em;
}
.row.is-flex > [class*='col-'] {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-inline-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* select */
.sidebar select {
  display: block;
  margin-bottom: 10px;
  max-width: 100%;
}

/* sidebar nav */
.sidebar .item,
.sidebar .subitem {
  padding: .25em 0;
}
.sidebar .item:first-child {
  padding-top: 0; 
}
.sidebar .item:last-child {
  padding-bottom: 0; 
}
.sidebar .item .itemLink {
  display: block;
}
.sidebar .item .active, .sidebar .item .active:hover {
  text-decoration: underline;
}
.sidebar .item .subnav .subnav {
  margin: 5px 0px 5px;
  border-left: 1px solid;
}
.sidebar .item .subnav {
  margin-left: 0;
  padding-left: 10px;
}
.sidebar-title, .gui-block-title {
  font-size: .9em;
  margin: 30px 0 1em;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 700;
}

@media (max-width: 992px) {
  .sort {
    padding-bottom: 0px;
    border-bottom: 0px;
  }
  .sidebar {  
    margin-bottom: 30px;  
    margin-top: -1em;
  }
  .sidebar .item .itemLink {
    margin-top: 5px;
  }  
}

@media (max-width: 991px) {
  .sidebar .item {
    border-bottom: 0px;
  }
  .sidebar {
    border-bottom: 1px solid #f0f0f0;
  }
}

/* .pager
================================================== */
.pager {
  font-size: .9em;
  color: #797979;
  margin: 0px;
  padding-top: 0px;
}
.pager .left {
  font-size: .9em;
}
.pager .page-count {
  line-height: 20px;
  padding: 3px 5px;
  text-align:center;
}
.pager ul li {
  display: inline;
}
.pager ul li a {
  float: left;
  padding: 3px 5px;
  margin: 0 8px;
  line-height: 20px;
  text-decoration: none;
  border-radius: 0;
  border: none;
}
.pager ul li a:hover {
  background-color: transparent;
}
.pager ul li:last-child a {
  border-right: 0px;
}
.pager ul li.active a {
  border-bottom: 1px solid;
}
.pager ul li.prev a {
  border-left-width: 1px;
}
.pager ul li.disabled {
  display: none;
}

/* Blog
================================================== */
/* archive - posts */
.gui-col2-right-col1 {
  float: right !important; 
  width: 65% !important;
}
/* archive - sidebar */
.gui-col2-right-col2 {
  float: left !important;
  width: 30% !important;
  padding-right: 4em !important;
}
.gui-block,
.gui-block-title,
.gui-block-linklist li {
  border: none !important;
}
.gui-blog .gui-page-title {
  display: none !important;
}
.gui-blog-article {
  margin-bottom: 80px !important;
  border-bottom: none !important;
} 
.gui-blog-article h1 {
  font-size: 1.875em !important;
}
.gui-blog-article-comments span {
  background: none !important;
  margin-top: -5px !important;
  color: #555 !important;
}
.gui-blog-article-comments span::before {
  content: '\f27a';
  font-family: 'fontawesome';
  padding-right: 4px;
  font-size: 1em;
}
.gui-blog-article-content {
  padding: 1em 0 25px !important;
}
.gui-blog-nav {
  padding-top: 1em !important;
  position: relative !important;
}

@media only screen and (max-width: 991px) {
  /* archive - posts */
  .gui-col2-right-col1 {
    width: 65% !important;
  }
  /* archive - sidebar */
  .gui-col2-right-col2 {
    width: 35% !important;
    padding-right: 2em !important;
  }
}
@media only screen and (max-width: 991px) {
  .gui-col2-right-col1,
  .gui-col2-right-col2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .gui-blog-nav {
    position: relative !important;
    padding: 30px 0 !important;
  }
}
.post-archive-info {
  margin-top: 1em;
}
.blog-header {
  margin: 2em 0 4em;
}
.post {
  margin-bottom: 6em;
}
.post-meta {
  margin-top: 1.5em;
}
.single-post-content {
  margin-bottom: 4em;
}
.single-post-image img {
  width: 100%;
  height: auto;
}
.share-links ul li {
  font-size: 1.25em;
}
.single-post-meta {
  padding-top: 4px;
}
.single-post-content ul,
.textpage-content ul {
  list-style: disc;
  margin: 24px 0 24px 20px;
  padding-left: 20px;
}
.single-post-content blockquote {
  margin: 24px 24px 24px -8.3%;
  line-height: 1.45;
  font-style: italic;
  padding-left: 20px;
}
.single-post-content blockquote::before {
  content: '\f10d';
  font-family: fontawesome;
  margin-left: -20px;
  margin-right: 1em;
  font-size: 1.25em;
}
.single-post-content h1,
.single-post-content h2,
.single-post-content h3,
.single-post-content h4,
.single-post-content h5,
.single-post-content h6 {
    margin: 24px 0 1em;
}
.row.comments {
  margin: 0 0 4em; 
  padding-top: 0;
}
.comment-form {
  padding-top: 4em;
}
.comment-form form input[type="text"],
.comment-form form textarea {
  width: 100%;
  max-width: none;
}
.comment-form .form-row {
  margin-bottom: 24px;
}
.comment {
  border-bottom: 1px solid;
  padding: 40px 20px;
}
.comment i {
  font-size: 1.25em;
  padding-top: 3px; 
}
.comment .info {
  font-size: 1em;
  font-style: italic;
}

@media only screen and (max-width: 991px) {
  .single-post-content blockquote {
    margin: 24px 0; 
  }
  blockquote, q {
    font-size: 1.25em; 
  }
  .share-links {
    display: inline-block;
  }
  .share-links ul li {
    float: left;
    padding-right: 8px;
  }
  .row.comments {
    margin: 0; 
  }
  .comment {
    padding: 40px 0; 
  }
}

/* Home sections
================================================== */
/* .home-hero and .home-banners */
section.hero {
  margin-top: 0; 
}
.primary-hero{
  background-size:cover;
}
.banner .container,
.banner.single-full .banner {
  padding-left: 0;
  padding-right: 0;
}
.banner-wrap,
.main-banner-wrap {
  position: relative;
}
.banner-wrap img {
  width: 100%;
}
.banner {
  position: relative;  
}
.banner-content {
  padding: 2em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.banner-content.center {
  transform: translateY(-50%) translateX(-50%);
  left: 50%;
  width: 100%;
}
.banner-content.right {
  right: 0;
  left: auto;
}
.double .banner-content,
.triple .banner-content {
  width: 100%; 
}
.banner.under .banner-content {
  position: relative;
  transform: none;
  top: auto;
  left: auto;
  padding: 1em;
}
.banner.under .banner-content .content-wrap {
  padding: 0;
}
.content-wrap {
  padding: 2em; 
}
.content-wrap.text-center {
  padding: 2em 6em;
}
.category-grid .content-wrap.text-center {
  padding: 0; 
}
.content-wrap.text-start,
.content-wrap.left {
  padding: 2em 4em 2em 2em;
}
.content-wrap.text-end,
.content-wrap.right {
  padding: 2em 2em 2em 4em;
}
.banner-content a:hover {
  text-decoration: none; 
}

/* .home-carousel */
.slick-slide img {
  width: 100%;
}
.slick-slide {
  position: relative; 
}
.mobile-swipe-icon {
  width: 22px;
  position: absolute;
  top: 1em;
  left: 1em;
  z-index: 999;
}
.slick-dots {
  text-align: right;
  padding-right: 20px;
}
.slick-dots li {
  width: auto;
  height: auto;
  margin: 0 3px;
}
.slick-dots li button {
  animation: none;
  min-width: 0;
  padding: 0;
  color: transparent;
  background: #fff;
  opacity: .3;
  height: 6px;
  width: 50px;
}
.slick-dots li.slick-active button {
  opacity: 1; 
}
.slick-dots li button:before {
  display: none;
}
.slick-prev,
.slick-next {
  z-index: 10;
  width: 50px;
  height: 100%;
}
.slick-prev {
  left: 1em;
}
.slick-next {
  right: 1em;
}
.slick-dots {
  left: 25px; 
}
.slick-dots li button {
  min-width: 0; 
}
.slick-dots li button:before {
  color: #fff;
  opacity: .5;
  font-size: 1.75em;
}
.slick-dots li.slick-active button:before {
  color: #fff;
  opacity: 1;
  font-size: 1.75em;
}
.slick-prev:before, .slick-next:before {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
}
.slick-prev:before {
  content: '\f053';
}
.slick-next:before {
  content: '\f054';
}
.banner.overlay .banner-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0,0,0,.35);
} 

@media only screen and (max-width: 991px) {
  .hero .banner.overlay .banner-wrap::before,
  .home-testimonial .banner.overlay .banner-wrap::before {
    background: rgba(0,0,0,0);
  }
  h2.banner-heading, h2 {
    font-size: 1.75em;
  }
  .slick-dots,
  .slick-prev,
  .slick-next {
    display: none; 
  }
  .slick-dots {
    left: -9999px; 
  }
  .home-banners.triple .banner {
     width: 100%;
  }
  .banner:not(.overlay) .banner-content,
  .hero .banner .banner-content,
  .carousel .banner .banner-content,
  .home-testimonial .banner-content {
    padding: 2em 1em;
    position: relative;
    text-align: center;
    transform: none;
    top: auto;
    left: auto;
  }
  .collection-header .banner-content {
    transform: translateY(-50%) translateX(-50%)!important;
    left: 50%!important;
    width: 100%;
    top: 50%!important;
    position: absolute!important;
  }
  .collection-header .banner-wrap {
    min-height: 120px;
    max-height: inherit;
    overflow: visible;
  }
  .banner-content .text-end {
    text-align: center; 
  }
  a.btn.banner-cta {
    padding: 0 20px;
    height: 34px;
    line-height: 34px;
    margin-top: 4px;
  }  
}

@media only screen and (max-width: 767px) {
  .hero .banner-content .content-wrap.text-center,
  .content-wrap.text-start,
  .content-wrap.text-end {
    padding: 0;
  }
}

/* .home-testimonial */
.home-testimonial h1 {
  font-style: italic; 
}
.review-stars {
  font-size: 1.75em;
  margin-bottom: 10px;
}
@media only screen and (max-width: 991px) {
  .review-stars {
    font-size: 1.5em;
  }
}

/* .home-image-text */
section.home-image-text .featured-image img {
        width: 100%; 
}
.image-text-content {
  padding: 4em;
}
@media screen and (min-width: 992px) {
  .home-image-text .featured-image.align-right {
    padding-right: 0;
  }
  .home-image-text .featured-image.align-left {
    padding-left: 0;
  }
}
@media only screen and (max-width: 991px) {
  .home-image-text .featured-image, .image-text-content {
    display: block!important;
  }
  .image-text-content {
    padding: 2em;
  }
}

/* .home-text-blocks */
.text-block-icon {
  max-height: 75px;
  margin-bottom: 20px;
  display: inline-block;
}
.home-text-blocks .block {
  margin-top: 1em;
  margin-bottom: 1em;
}

@media (max-width: 1023px) {
  .text-block-icon {
    max-height: 50px;
  }
}

/* Promo banner
================================================== */
.promo-banner {
  margin-bottom: 2em; 
}
.promo-banner.expired {
  display: none;
}
.promo-content {
  padding: 3em;
  margin: 0 auto;
  max-width: 800px;
}
.promo-banner a,
.promo-banner a:hover {
  text-decoration: none;
}
div#countdown {
  text-transform: uppercase;
  letter-spacing: 1px;
  padding-top: 10px;
}
#countdown .timer {
  font-weight: 600;
  font-style: normal;
}
.promo-banner span,
.promo-banner a span {
  opacity: .8;
}
.promo-banner img {
  width: 100%;
}

@media (max-width: 991px) {
  .promo-content {
    padding: 20px 0;
  }
  div#countdown,
  #countdown .timer {
    font-size: .9em;
  }
  div#countdown {
    padding-top: 0; 
  }
}

/* Product page
================================================== */
.product-page-content {
  margin-top: 4em;  
}
.product-title h1 {
  margin-bottom: 0;
}
.product-form {
  padding: 0;
}
.product-form label {
  display: block;
  margin-bottom: 8px;
  font-weight:700;
}
.product-reviews i {
  font-size: 1em;
}
a.review-link {
  text-decoration: underline;
}

/* Product images & thumbs */
.product-grid-image img {
  width: 100%;
}
.grid-leftover-images{
  width:100px;
  margin-left:1rem;
}
@media screen and (max-width:991px){
  .product-page-content {
    margin-top: 2em;  
  }
}
/* .zoombox */
.zoombox .images {
  position: relative;
  display: block;
}
.zoombox .images a {
  display: none;
  overflow: hidden;
}
.zoombox.enabled .images a {
  cursor: pointer;
  cursor: -moz-zoom-in;
  cursor: -webkit-zoom-in; 
}
.zoombox .images a.first {
  display: block;
}
.thumbs{
  padding-top:1rem!important;
  padding-right:unset!important;
  justify-content:center!important;
}
.zoombox .images a img, .zoombox .thumbs a img {
  width: 100%;
  height: auto;
  background-color: #f7f7f7;
}
.zoombox .images a img.zoomImg {
  max-height: none;
}
.zoom a {
  text-decoration: none;
}
.zoombox .thumbs a  {
  display: block;
  cursor: pointer;
  margin-bottom: 30px
}

@media (max-width: 767px) {
  .zoombox .images {
    max-width: 358px;
  }
}

.product-info .row {
  clear: both;
  margin-right: 0px;
}
.product-discounts {
  padding: 0.25em 1em;
  border-radius: 25px;
  display: inline-block;
}
.product-discounts svg {
  height: 16px;
}
.product-desc{
  margin-top:10px;
}
/* .product-option */
.product-configure .product-configure-options-option,
.product-configure .product-configure-variants,
.product-configure .product-configure-custom-option {
  float: left;
  width: 100%;
  margin: 0px 1em 0 0px;
}
.product-configure-custom,
.product-configure-variants,
.product-configure-options {
  clear: both;
}
.product-configure-variants select {
  margin: 0 0 10px;
  display: block;
}

@media (max-width: 992px) { 
  .product-configure .product-configure-options-option,
  .product-configure .product-configure-variants,
  .product-configure .product-configure-custom-option {
    width: 100%;
  }
}
.boxes {
  display:flex;
  flex-wrap: wrap;
  flex-direction:row;
  margin-bottom:10px;
  margin-top:8px;
}
#box a {
  min-width: 75px;
  height:25px;
  border:1px solid;
  margin-right:10px;
  margin-bottom: 10px;
  text-align:center;
  font-size: .9em;
  letter-spacing:.3px;
  display:flex;
  align-items:center;
  justify-content:center;
}
#box a:hover {
  text-decoration: none; 
}
#box.unavailable a {
  text-decoration: line-through;
}
#box.unavailable:not(.selected) a,
#box.unavailable.selected a {
  opacity:.4;
}
.boxes #box.selected a{
  border-width: 2px;
}

/* .product-price */
.product-reviews .stars {
  float: left;
  padding-right: 10px;
}
.product-reviews .reviews-wrap a {
  font-size: .9em; 
}
.product-info .product-price .old-price {
  text-decoration: line-through;
  color: #797979;
}
.product-info .product-price .price {
  font-size: 1.25em;
}
.unitprice,
.vat {
  font-size: .9em; 
}

/* .product-wishlist */
.product-wishlist a {
  line-height: 30px; 
}
.wishlist {
  position: absolute;
  bottom: 1em;
  right: 1em;
  z-index: 1;
}
.wishlist a {
  background-color: #fff;
  border-radius: 50%;
  width: 40px;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wishlist svg {
  width: 20px;
}
.wishlist a:hover svg path {
  fill: #fff;
}
@media screen and (min-width: 992px) {
  .product .wishlist {
    display: none;
  }
  .product.hover .wishlist {
    display: block; 
  }
}
@media screen and (max-width: 991px) {
  .wishlist {
    bottom: .5em;
    right: .5em;
  }
  .wishlist a {
    width: 30px;
    height: 30px;
  }
  .wishlist a svg {
    width: 15px;
  }
}
/* quantity */
.product-info .add-cart .cart {
  line-height: 0px;
}
.product-info .add-cart .cart input {
  display: block;
  width: 8%;
  height: 40px;
  text-align: center;
  float: left;
  padding: 8px 5px;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.product-info .add-cart .cart .change {
  float: left;
  width: 4%;
  height: 40px;
  background-color: #f7f7f7;
  margin-right: 3%;
  border: 1px solid #e5e5e5;
  border-left: 0px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.product-info .add-cart .cart .change a {
  color: #797979;
  display: block;
  width: 16px;
  height: 18px;
  text-align: center;
  text-decoration: none;
  line-height: 20px;
}
.product-info .add-cart .cart .change a:hover {
  color: #414141;
}
.cart a.btn {
  line-height: 40px;
  height: 40px;
  padding: 0 3em;
  margin-top: 0;
  border-radius: 0;
  min-width:85%;
}
button.disabled {
  cursor: default;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 0;
  border: 1px solid;
}

@media (max-width: 480px) {
  .product-info .product-price .price {
    line-height: 24px;
  }
  .product-header {
    padding-top: 0; 
  }
}

/* add to cart */
.product-info .product-price .btn {
  overflow: hidden;
  margin-top: -1px;
  line-height: 37px;
  height: 39px;
  padding: 0px 30px;
}
.product-info .product-price .btn:hover span {
  opacity: 0;
}
.product-info .product-price .btn::before {
  left: 0;
  top: -50px;
  position: absolute;
  height: 100%;
  width: 100%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 1em;
  text-align: center;
}
.product-info .product-price .btn:hover::before {
  top: 2px;
}

/* Customer service widget */
.cs-widget.row {
  font-size: .9em;
  line-height: 1.25;
  padding: 2em 0;
}
.cs-widget-icon {
  padding: 0;
}
.cs-widget-icon img {
  width: 40px; 
}
.cs-widget-title {
  font-size: 1em;
  font-weight: 700;
}
.cs-widget-icon img {
  width: 100%;
}
.cs-widget-bottom, .cs-widget-top {
  padding: 1em 2em;
}
.cs-widget-top {
  margin-bottom: 5px; 
}

/* Product USPs */
.usp-icon img {
  height: 30px;
}
@media screen and (min-width:860px){
  .product-usp-wrap {
    text-align: left; 
    padding-bottom: 3em;
    padding-top: 3em;
    flex-wrap:wrap;
	}
}
@media screen and (max-width:860px){
  .product-usp-wrap {
    text-align: left; 
    padding-bottom: 1.5em;
    padding-top: 1.5em;
    flex-wrap:wrap;
  }
}
@media screen and (max-width:860px){
  .usp-container{
    display:grid!important;
    grid-template-columns:auto auto;
    row-gap:20px;
  }
}
.product-usp-1, .product-usp-2 {
  line-height: 0;
}
span.product-usp-title {
  font-size: 1em;
  font-weight: 400;
}
span.product-usp-subtext {
  display: block;
  font-size: .9em;
}

/* .tabs */
.product-tabs{
 width:100%!important;
}
@media screen and (min-width:860px){
  .tabs ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
}
@media screen and (max-width:859px){
  .tabs ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display:flex;
    align-items:center;
  }
}
@media screen and (min-width:860px){
  .tabs ul li {
    float: left;
    margin-right: 30px!important;
  }
}
@media screen and (max-width:859px){
  .tabs ul li {
    float: left;
  }
  .page.specs.active table{
    margin:auto;
  }
}
.tabs ul li a {    
  display: inline-block;
  padding: 0 0 5px;
  margin-right: 10px;
  text-decoration: none;
  font-weight: 900;
  font-size: .9em;
  letter-spacing: .87px;
  border-bottom: 1px solid transparent;
}
.tabs ul li.active a {
  border-bottom: 1px solid;
}
.tabs ul li.active a small {
  font-weight: normal;
}
.tabsPages {
  width: 100%;
}
.tabsPages .page {
  clear: both;
  display: none;
  min-height: 160px;
  overflow: auto;
  width: 100%;
}
.tabsPages .page.active {
  display: block;
}
.tabsPages .page.info .details {
  padding-bottom: 20px;
}
.model-info.row {
  padding-bottom: 20px; 
}

@media screen and (min-width:980px){
.model-info.row {
  padding-top: 20px; 
  }}
.tabsPages .page.info .details tr td,
.model-info tr td {
  padding-right: 1em;
  font-size: .9em;
}
.tabsPages .page.info .details .out-of-stock {
  color: rgb(235, 97, 97);
}
.availability {
  font-size: .9em;
  margin-top:10px;
  margin-bottom:10px;
}

/* .reviews */
.tabsPages .page.reviews .review {
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid;
}
.tabsPages .page.reviews .stars {
  float: right;
}
.tabsPages .page.reviews .bottom {
  font-size: .9em;
}
.tabsPages .page.reviews .stars i {
  font-size: .9em; 
}

/* .specs */
td.spec-title {
  padding-right: 10px;
}
.tabsPages .specs {
  padding-top: 1.5em;
}

span.share42-item {
  opacity: .2;
}
span.share42-item:hover {
  opacity: 1;
}

/* .related */
.related h3 {
  margin-bottom: 25px;
}
@media screen and (min-width:992px){
  .related-products:not(.no-tabs) .related-grid {
    display:grid!important;
    grid-template-columns:auto auto;
  }
  .related-products:not(.no-tabs) .related-grid .product{
    width:unset!important;  
  }
}
@media screen and (max-width:860px){
  .product-content-recs{
    flex-direction:column;
    }
  .related{
    margin-top:1em;
  }
  .product .price-rev-wrap .price{
    font-size:11px;
  }
}

@media (max-width: 991px){
  .related .product .bundle-actions {
    width: 50%;
  }
}

.old-price {
  color:grey; 
  text-decoration:line-through
}
.price-data, .product .price {
  align-items:center;
}
.review-body {
  margin-bottom:3em;
}
.review-heading {
  width:100%; 
  display: flex;
  flex-direction: column; 
  align-items: center; 
  padding-bottom: 2em;
}
@media screen and (min-width:860px){
.review-body-container {
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: .5em;
  row-gap:.5em;
  }}
@media screen and (max-width:859px){
.review-body-container {
  display:grid;
  grid-template-columns: auto;
  column-gap: .5em;
  row-gap:.5em;
  }}
@media screen and (min-width:860px){
.review-box {
  border:1px solid #d3d3d3;
  padding: 4rem;
  }}
@media screen and (max-width:859px){
.review-box {
  border:1px solid #d3d3d3;
  padding: 2rem;
  }}
.review_name {
  text-transform:uppercase;
  letter-spacing: 1px;
  font-size: .9em;
  font-weight: 900;
}

@media screen and (max-width:980px){
  .product-configure-variants select {
    font-size:.9em;
        }
}
.wishlist-actions{
  margin-top:1em; 
  margin-bottom:1em;
}
.wishlist-container{
    width: 100%;
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.size-guide-container{
  width:100%;
  padding-bottom:1em;
}
.size-guide-link{
  text-decoration:underline;
  font-weight:400
  font-size:.9em;
  letter-spacing:.3px;
}
.price_inline{
  display:flex;
  flex-direction:row;
  align-items:start;
}

/* textpages
================================================== */

/*Services Grid*/
#service-grid{
  width:100%;
  height:300px;
  border:1px solid red;
  margin-bottom:20px!important;
  display:grid;
  grid-template-columns:auto auto auto;
  grid-template-areas:
     "one two three",
    "four five six";
}
.service_block{
  border:1px solid blue;
}
ul.locations li {
  padding: 30px 0;
}
.city {
  text-transform: uppercase;
  font-style: italic;
  font-size: .9em;
}
.locations-map {
  clear: both;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding-top: 0;
}
.map.col-sm-6 {
  padding: 0;
  height: 600px;
}
.map{
  width:100%;
  height: 600px;
}
#map {
  height: 600px; 
}
#about-page .home-text-blocks {
  padding: 4em 1em 0; 
}

@media (max-width: 1024px) {
  ul.locations {
    padding: 0 1em;
  } 
}

@media (max-width: 991px) {
  .location-list {
    height: auto;
  }
  ul.locations,
  .locations-map {
    padding: 0 1em; 
  }
  .city {
    font-size: .9em; 
  }
}

/* footer
================================================== */
footer {
  margin: 2em 0 0;
  border-top: 1px solid;
}
h4.menu-title {
  text-transform: uppercase;
  font-weight: 700;
  padding: 12px 0;
}
.footer-contact {
  font-size: .9em;
  margin: 10px 0;
}
footer .contact-description {
  display: block;
  padding-bottom: 10px;
}
.footer-main h4.menu-title {
  font-size: .9em;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Hallmarks */
.hallmarks a {
  padding: 20px;
  display: inline-block;
}
.hallmarks.right h4 {
  text-align: right; 
}
.hallmarks.right a {
  padding: 20px 0 20px 40px; 
}
.hallmarks.left a {
  padding: 20px 40px 20px 0; 
}

/* .newsletter-social */
.social-icon {
  font-size: 1.25em;
}
.footer-social a {
  margin: 0 10px;
  padding: 0;
}
.footer-social a:first-of-type {
  margin-left: 0; 
}

/* Newsletter */
#footerNewsletter {
  line-height: 0px;
}
#footerNewsletter .title {
  margin: 0;
}
#footerNewsletter form {
  line-height: 0px;
  display: inline-block;
  width: 100%;
  margin: 20px 0;
}
#footerNewsletter form input[type="text"] {
  display: inline-block;
  vertical-align: top;
  width: 70%;
  max-width: none;
}
#footerNewsletter form .btn {
  width: 25%;
  border-radius: 0;
}

@media (min-width: 992px) { 
  footer .copyright {
    padding-right: 0; 
  }
  footer .footer-main.row {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .newsletter-social {
    padding-right: 4em; 
  }
}

@media (min-width: 992px) {
  footer .social-media {
    text-align: center; 
  }
  footer .footer-main.row {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media (max-width: 992px) {
  #footerNewsletter form input[type="text"] {
    width: 100%;
    margin-bottom: 5px;
  } 
  #footerNewsletter form .btn {
    width: auto;
  }
  #footerNewsletter {
    text-align: center; 
  }
  #footerNewsletter .row {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #footerNewsletter form {
    margin: 10px 0 0;
  }
  #footerNewsletter .title {
    margin: 0px 0px 1em 0px;
    float: none;
  }
  #footerNewsletter input {
    max-width: 160px;
  }
  #footerNewsletter form .btn {
    clear: both;
    display: block;
    margin: 10px auto 0;
    width: auto;
    max-width: 100px;
  }
  #footerNewsletter .title, footer .footer-contact h3 {
    margin: 1em 0 1em;
  }
  #footerNewsletter .align,
  #footerNewsletter .align > div {
    margin: 5px 0 0;
    display: inline-block;
    width: 100%;
    float: none;
    text-align: center;
  }
}

/* .social-icons */
.social-media {
  line-height: 0px;
}
.social-icon {
  font-size: 1.25em;
  padding: 0 8px; 
}

@media (max-width: 991px) {
  footer a {
    line-height: 25px
  }
  .footer-main .links {
    padding: 2em 0;
  }
  .links-head {
    text-align: center; 
  }
  footer .links ul {
    margin-bottom: 1em;
  }
  footer .social-media {
    margin-top: 1em;
  }
  .align.footer-main,
  .align.footer-main > div {
    display: inline-block;
    width: 100%;
  }
  .footer-contact {
    text-align: center;
    border-left: none;
    margin-top: 30px;
  }
  .copyright-payment .row.align,
  footer .align .copyright,
  footer .align .social-media {
    margin: 5px 0 0;
    display: inline-block;
    width: 100%;
    float: none;
    text-align: center;
  }
  .social-icon {
    font-size: 1em;
    padding: 0 4px;
  }
}
footer .hallmarks {
  margin-top: 30px;
}

/* .copyright-payment */ 
.copyright-payment {
  font-size: .9em;
  padding-top: 1em;
  padding-bottom: 1em;
  border-top: 1px solid;
}
.copyright-payment .row {
  padding-top: 0px;
  padding-bottom: 0px;
}
.copyright-payment .copyright {
  text-align: right;
}
.copyright-payment .copyright a {
  text-decoration: underline;
}
footer .payments.row {
  line-height: 12px;
  padding-bottom: 0;
}
.payments img {
  display: inline-block;
  height: 32px;
  width: auto;
  line-height: 32px;
  margin-right: 7px;
  padding-bottom: 10px;
}
.payments a:hover {
  text-decoration: none; 
}

@media (max-width: 991px) {
footer .payments.row {
    display: inline-block;
    width: 100%;
    padding: 14px;
    margin: 0;
  }
  .payments img {
    padding: 0; 
    height: 20px;
    line-height: 20px;
  }
}

.brand_row{
  margin-top:-.5rem;
}
.brand_row span{
  font-size:.9em;
}

/* Instafeed App */
.ig-content {
  width:70%; 
  margin: 0 auto;
}
.ig-content h3,
.ig-content .pretext {
  margin: 0;
}

/* Custom 404 page */
.fof-search-form input.search-input {
  width: 100%;
  max-width: none;
  padding-left: 3em;
}

/* Account and checkout - gui */
.gui-login .gui-col2-big {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2em;
}
.gui-login .gui-col2-big-col1 {
  text-align: center;
}
.gui-login .gui-buttons {
  display: flex;
  flex-direction: column;
}
.gui-login .gui-buttons .gui-right {
  margin-left: 0;
  float: none;
}
.gui-login .gui-page-title {
  display: none;
}
.gui-login a.gui-button-small {
  width: 200px;
  height: 40px;
  line-height: 40px!important;
  padding: 0!important;
}
.gui-login-registered form#gui-form {
  padding: 1em;
}
div#gui-account-login-new-customers-title,
div#gui-account-login-registered-customers-title strong {
  text-transform: uppercase;
  padding-bottom: 0;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1em;
  float: none!important;
}
.gui a.gui-button-facebook {
  padding: 0!important;
  margin: 1em 0!important;
  font-size: inherit!important;
  background: none!important;
  background-position: 0 0!important;
  background-color: #29447E!important;
  width: 200px;
  height: 40px;
  line-height: 40px!important;
}
.gui a.gui-button-facebook span {
  padding: 0!important;
  margin: 0!important;
  background: none!important;
  border-top: none!important;
  border-bottom: none!important;
}
.gui a.gui-button-facebook span::before {
  content:'\f082';
  font-family: 'fontawesome';
  font-size: 1rem;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .gui-login .gui-col2-big {
    flex-direction: column;
    align-items: start;
  }
}

/* 2/25/22 additions for #5793 */

.subitemLink.lvl3{
  font-size:13px!important;
}