/*
Theme Name: Storefront Child
Version: 1.0
Description: Child theme for Storefront
Author: Sebastian Honert
Author URI: https://sebastianhonert.com
Template: storefront
*/

/* source-sans-pro-300 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-300italic - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 300;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300italic.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-300italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-regular - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-regular.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-italic - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 400;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-italic.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-600 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-600.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-600.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-700 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-700.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-900 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 900;
  src: local(''),
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-900.woff2') format('woff2'),
    /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('./font/source-sans-pro-v21-latin/source-sans-pro-v21-latin-900.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* sorts-mill-goudy-regular - latin */
@font-face {
  font-family: 'Sorts Mill Goudy';
  font-style: normal;
  font-weight: 400;
  src: local(''),
    url('./font/sorts-mill-goudy-v15-latin/sorts-mill-goudy-v15-latin-regular.woff2') format('woff2'),
    url('./font/sorts-mill-goudy-v15-latin/sorts-mill-goudy-v15-latin-regular.woff') format('woff');
}

*:focus {
  outline: none !important;
}

*:focus-visible {
  outline: 2px solid #c45b00 !important;
}

input:focus-visible,
textarea:focus-visible {
  outline-offset: -2px;
}

button:focus-visible {
  outline-offset: 1px;
}

.main-navigation ul.menu > li > a:focus-visible {
  outline: 2px solid #fff !important;
}

.site-branding a:focus-visible,
.main-navigation ul.menu > li.current-menu-item > a:focus-visible {
  outline: 2px solid #f6ebb5 !important;
}

.site-header-cart .cart-contents:focus-visible {
  outline: none !important;
  border-bottom: 2px solid #fff;
}

.site-header {
  background: linear-gradient(50deg, #902825, #78201e);
}

p+h4 {
  margin-top: 1em;
}

abbr[title] {
  border-bottom: 0 !important;
  text-decoration: none !important;
  cursor: inherit !important;
}

img.full-width {
  width: 100%;
  max-width: 100%;
}

.site-header {
  border: 0;
  padding-top: 1.875em;
  padding-bottom: 0;
}

h1.logo {
  float: left;
}

h1.entry-title {
  margin-bottom: 0.5em;
}

blockquote+h2,
blockquote+h3,
blockquote+h4,
blockquote+header h2,
form+h2,
form+h3,
form+h4,
form+header h2,
ol+h2,
ol+h3,
ol+h4,
ol+header h2,
p+h2,
p+h3,
p+h4,
p+header h2,
table+h2,
table+h3,
table+h4,
table+header h2,
ul+h2,
ul+h3,
ul+h4,
ul+header h2 {
  margin-top: 1.5em;
}

.entry-content {
  /* color: #fff; */
}

.woocommerce-active .site-branding {
  width: auto !important;
}

.site-header .site-branding {
  margin-bottom: 0;
}

a.custom-logo-link {
  float: left;
}

.site-header .site-branding img {
  width: 64px;
  height: 64px;
  display: inline-block;
}

.site-header .custom-logo-link {
  height: 64px;
}

.site-header .custom-logo-link:focus-visible {
  outline: 3px solid #c45b00;
}

.site-header-cart .cart-contents::after {
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}

.woocommerce-mini-cart-item.mini_cart_item span.quantity {
  color: #aaa;
}

.differential-taxation-notice {
  display: none;
}

a.remove::before {
  color: #8F2724;
}

.widget {
  margin: 0 0 1em;
}

.widget-area .widget a:not(.button) {
  text-decoration: none;
}

.col-full {
  position: relative;
  z-index: 2;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-customer-details--phone {
  margin-bottom: 0;
}

footer p {
  color: #bababa;
}

.first:not(.product) {
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

.last:not(.product) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.widget_nav_menu ul li {
  margin-bottom: .75em;
}

.widget_nav_menu ul li a:hover {
  color: #fff;
}

.widget_media_image {
  margin-bottom: 2em;
}

.cab-hero {
  padding: 4em 0;
  z-index: 2;
  position: relative;
  top: 8em;
}

.cab-hero-layer {
  display: none !important;
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .15);
  padding: 5em 0;
}

.cab-hero h1.entry-title,
.cab-hero h1.entry-title.loaded,
.cab-hero p {
  color: #fff !important;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .7);
  padding-bottom: .1em;
}

.cab-hero h1.entry-title {
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  font-family: 'Sorts Mill Goudy', Georgia;
}

.cab-sorts-mill-goudy {
  font-family: 'Sorts Mill Goudy', Georgia;
}

.cab-logo-type {
  display: inline-block;
  font-size: 1.75em;
  position: relative;
  top: 12px;
  margin-left: 12px;
  color: #f6ebb5;
  font-weight: 600;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
}

.cab-hero p {
  font-size: 1.5em;
}

.site-search .widget_product_search form::before {
  top: 1.16125em;
}

.storefront-primary-navigation {
  font-size: 1.125em;
}

.main-navigation ul li a {
  color: #fff;
  transition: opacity .2s linear;
}

.main-navigation ul li a:hover {
  color: #fff;
  opacity: .65;
}

.main-navigation ul li a:hover,
.main-navigation ul li:hover>a,
.site-title a:hover,
a.cart-contents:hover,
.site-header-cart .widget_shopping_cart a:hover,
.site-header-cart:hover>li>a,
.site-header ul.menu li.current-menu-item>a {
  color: #fff;
}

.main-navigation ul.menu ul li a,
.main-navigation ul.nav-menu ul li a {
  color: #111;
  opacity: 1 !important;
}

.site-header ul.menu li.current-menu-item>a {
  color: #f6ebb5;
  opacity: 1 !important;
}

.storefront-product-section .section-title,
h2.section-title {
  text-align: center;
  margin-bottom: 1em;
  border-bottom: 1px solid #eee;
  /*max-width: 66.6667%;*/
  padding-bottom: .5em;
  margin: 0 auto 1em;
  font-weight: 300;
  /*font-family: 'Sorts Mill Goudy', Georgia;*/
}

.product_title.entry-title {
  margin-bottom: .25em;
}

.single-product div.product p.price {
  margin-top: 0;
  color: green;
}

a.add_to_cart_button,
a.added_to_cart {
  display: block;
  margin: 0 auto;
  width: 100%;
}

a.added_to_cart.wc-forward {
  margin-top: auto;
  background: #0f834d;
  margin-bottom: .236em;
}

#site-header-cart .cart-contents .amount {
  color: #fff;
  font-weight: 600;
}

#site-header-cart .cart-contents .count {
  color: #fff;
  opacity: .8;
}

.site-header-cart .cart-contents::after {
  color: #fff;
}

.site-header-cart .widget_shopping_cart,
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children {
  background-color: #f9f9f9;
  box-shadow: 1px 2px 3px rgba(0, 0, 0, .2);
}

.widget-area .widget a,
.hentry .entry-header .posted-on a,
.hentry .entry-header .byline a {
  color: #111;
}

/* WooCommerce */

.site-content>.col-full>.woocommerce>.woocommerce-message:first-child,
.site-content>.col-full>.woocommerce>.woocommerce-info:first-child,
.site-content>.col-full>.woocommerce>.woocommerce-error:first-child {
  margin-top: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  margin-bottom: 2em;
}

@media (min-width: 768px) {
  .woocommerce-pagination {
    float: left;
  }

  .storefront-breadcrumb {
    padding: 1.41575em 0 0;
    margin: 0 0 0;
  }

  .storefront-sorting {
    margin-bottom: 0;
  }

  .main-navigation ul.sub-menu li a {
    background: #f9f9f9 !important;
  }

  .main-navigation ul.sub-menu li a:hover {
    background: #eee !important;
  }

  .main-navigation ul.menu {
    padding: 0.5rem 0 0.5rem 0.75rem;
  }

  .storefront-full-width-content.woocommerce-cart .entry-header h1,
  .storefront-full-width-content.woocommerce-checkout .entry-header h1,
  .storefront-full-width-content.woocommerce-account .entry-header h1,
  .storefront-full-width-content .woocommerce-products-header h1 {
    text-align: center;
    padding: 0 0 0.5em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid #eee;
  }

  .storefront-full-width-content.woocommerce-cart .entry-header,
  .storefront-full-width-content.woocommerce-checkout .entry-header,
  .storefront-full-width-content.woocommerce-account .entry-header,
  .storefront-full-width-content .woocommerce-products-header {
    padding-bottom: 0;
  }

  .storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 1em;
  }

  .storefront-full-width-content.single-product div.product .summary {
    margin-bottom: 1em;
  }

  ul.products {
    display: flex;
    flex-wrap: wrap;
  }

  ul.products li.product {
    display: flex;
    flex-direction: column;
  }

  ul.products li.product .button {
    margin-top: auto;
  }
}

.woocommerce-products-header + .storefront-sorting {
  display: none;
}

.woocommerce-breadcrumb {
  padding: 0;
  margin-bottom: 0;
}

.woocommerce-breadcrumb a {
  display: inline-block;
  height: 24px;
}

.widget_shopping_cart_content {
  font-size: .875em;
}

.woocommerce-mini-cart-item.mini_cart_item a,
.woocommerce-mini-cart-item.mini_cart_item a:hover,
.woocommerce-mini-cart-item.mini_cart_item a:focus,
.woocommerce-mini-cart-item.mini_cart_item a:active {
  color: #111;
}

.widget .widget-title,
.widget .widgettitle {
  padding: 0 0 .25em;
  margin-bottom: .5em;
}

.product_list_widget a:hover {
  /* color: #fff; */
}

.woocommerce-MyAccount-content {
  font-size: 1.06125em;
}

fieldset {
  padding: 0;
  background: transparent;
}

fieldset legend {
  font-size: 1.06125em;
  font-weight: 600;
  padding: .6180469716em 1em;
  margin-left: -1em;
  background: transparent;
}

label[for=billing_country] {
  float: left;
  margin-right: .5em;
}

label {
  font-weight: 400;
}

.woocommerce-form-login__rememberme {
  margin-bottom: 1em;
}

h3#ship-to-different-address label {
  position: relative;
  top: -2px;
  font-size: .875em;
  font-weight: 400;
  line-height: 1.2;
  font-family: "Source Sans Pro", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

.storefront-handheld-footer-bar ul li.cart .count {
  color: #fff;
  background: #0f834d;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.added_to_cart,
.widget a.button,
.site-header-cart .widget_shopping_cart a.button {
  transition: all .2s linear;
  background: #db7f00;
  color: #fff !important;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
  padding: 0.6180469716em 1em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.added_to_cart:hover,
.widget a.button:hover,
.site-header-cart .widget_shopping_cart a.button:hover {
  background: #db7f00;
  color: #fff !important;
  opacity: .875;
}

.button {
  margin-bottom: .25em;
}

.input-text,
input[type="email"],
input[type="password"],
input[type="search"],
input[type="text"],
input[type="url"],
textarea {
  background-color: #f7f7f7;
  color: #111;
  max-width: 100%;
}

.input-text:focus-visible,
input[type="email"]:focus-visible,
input[type="password"]:focus-visible,
input[type="search"]:focus-visible,
input[type="text"]:focus-visible,
input[type="url"]:focus-visible,
textarea:focus-visible {
  outline: 3px solid #c45b00;
}

button#place_order {
  display: block;
  width: 100%;
  background-color: #0f834d;
  border-color: #0f834d;
  color: #fff;
}

.nf-form-fields-required {
  padding-bottom: 1em;
}

.nf-error-msg,
.ninja-forms-req-symbol {
  color: #c21b16 !important;
  font-weight: 600;
}

.nf-error .ninja-forms-field {
  border: inherit !important;
  outline: 2px solid #c21b16 !important;
  outline-offset: -2px;
}

/* #nf-form-1-cont {
    margin-top: -1.4em;
} */

td .input-text,
#direct-debit-form .input-text,
td input[type="email"],
td input[type="password"],
td input[type="search"],
td input[type="text"],
td input[type="url"],
td textarea {
  background-color: #fff;
  color: #111;
}

input#place_order.button.alt,
.wc-proceed-to-checkout .button.checkout-button {
  background-color: #0f834d;
  border-color: #0f834d;
  color: #fff;
  font-size: 1.125em;
  padding: .75em 2em;
}

input[type='text'],
input[type='number'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='password'],
input[type='search'],
textarea,
.input-text {
  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .25);
}

.wc_payment_methods label::before {
  color: #888 !important;
}

p.wc-terms-and-conditions,
p.data-download.terms.legal {
  padding: 1em !important;
  background: #ffeedd;
}

/*p.wc-terms-and-conditions a {
    font-weight: 700;
}*/

h3#order_review_heading {
  margin-top: .75em;
}

a.button.checkout.wc_forward {
  background: #0f834d !important;
}

a.showlogin {
  font-weight: 700;
}

#order_review_heading {
  float: left;
  width: 100%;
}

table th {
  background-color: #f1f1f1;
}

table tbody td {
  background-color: #f9f9f9;
}

tr.order-total {
  color: #0f834d;
  text-decoration: underline;
}

table.cart td.actions {
  background: none !important;
}

.woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__cell-order-number a {
  font-weight: 600;
}

.woocommerce-MyAccount-navigation-link a {
  color: #111;
}

.woocommerce-MyAccount-navigation-link a::before {
  color: #c45b00;
  transition: all .2s linear;
}

.storefront-handheld-footer-bar {
  border-top: 0;
}

.storefront-handheld-footer-bar ul li>a {
  border-right: 1px solid rgba(255, 255, 255, .1);
  background: #222;
}

.woocommerce-mini-cart__empty-message {
  color: #111;
}

.woocommerce-error {
  background: #e2401c;
}

.woocommerce-error li:not(:first-child) {
  margin-top: .5em;
}

.my_account_orders .button,
.woocommerce-MyAccount-downloads .button {
  padding: .25em .875em;
}

.woocommerce-billing-fields__field-wrapper label,
.payment_box fieldset label {
  font-weight: 400;
  font-size: 1em;
}

/* WooCommerce Templates */

body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary,
body.single-product #secondary {
  display: none;
}

body.woocommerce-account #primary,
body.woocommerce-checkout #primary,
body.woocommerce-cart #primary,
body.single-product #primary {
  width: 100%;
}

div.woocommerce-Address {
  width: 100% !important;
}

.woocommerce-MyAccount-content h2 {
  font-weight: 300 !important;
  font-size: 1.75em !important;
}

.woocommerce-result-count {
  display: none;
}

h2.woocommerce-loop-category__title {
  font-size: 1.25em !important;
  transition: opacity .2s linear;
}

a:hover img {
  transition: all .2s linear;
}

a:hover img {
  transition: all .2s linear;
  opacity: .825;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 2em
}

.video-container iframe {
  position: absolute;
  border: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.video-container-cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover !important;
  z-index: 2;
  cursor: pointer;
}

ul.products li.product.product-category img,
ul.products .wc-block-grid__product.product-category img,
.wc-block-grid__products li.product.product-category img,
.wc-block-grid__products .wc-block-grid__product.product-category img {
  margin: 0 auto 1.618em !important;
  margin-bottom: 1.618em !important;
}

ul.products li.product img {
  margin: 0 auto 1.618em !important;
  margin-bottom: 1em;
}

.site-main ul.products.columns-4 li.product {
  margin-bottom: 3em;
}

ul.products li.product .price {
  margin-bottom: 0;
}

ul.products li.product .wc-gzd-additional-info {
  margin: 0.25rem 0 0.7rem 0;
}

ul.products li.product .button {
  display: block;
  width: 100%;
}

ul.products li.product .button.added {
  display: none;
}

ul.products li.product a {
  display: block;
}

/* =========================================
   3.4 Buttons
   ========================================= */

.btn {
  /* Structure */
  display: inline-block;
  zoom: 1;
  line-height: normal;
  white-space: nowrap;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Firefox: Get rid of the inner focus border */
.btn::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/*csslint outline-none:false*/

.btn {
  font-family: inherit;
  font-size: 100%;
  padding: .875em 1em;
  color: #444;
  border: 1px solid #999;
  /*IE 6/7/8*/
  border: none rgba(0, 0, 0, 0);
  /*IE9 + everything else*/
  background: #e6e6e6;
  text-decoration: none;
  border-radius: 2px;
  transition: opacity .1s linear;
  width: auto !important;
  line-height: 1;
  z-index: 2;
  position: relative;
  font-weight: 600;
}

.btn:hover,
.btn:focus {
  color: #444;
  opacity: .9;
}

/* Firefox: Get rid of the inner focus border */
.btn::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus {
  color: #fff !important;
  background: #185a9d !important;
}

.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-error,
.btn-error:hover,
.btn-error:focus,
.btn-warning,
.btn-shop,
.btn-warning:hover,
.btn-shop:hover .btn-warning:focus,
.btn-shop:focus,
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus {
  color: #fff !important;
}

.btn-success {
  background: rgb(28, 184, 65);
  /* this is a green */
}

.btn-error {
  background: rgb(202, 60, 60);
  /* this is a maroon */
}

.btn-warning,
.btn-shop {
  background: rgb(223, 117, 20);
  /* this is an orange */
}

.btn-secondary {
  background: rgb(66, 184, 221);
  /* this is a light blue */
}

.btn-back:before,
.btn-next:before,
.btn-up:before,
.btn-down:before {
  font-family: 'FontAwesome';
  margin-right: .375em;
}

.btn-back:before {
  content: '\f104';
}

.btn-next:before {
  content: '\f105';
}

.btn-up:before {
  content: '\f106';
}

.btn-down:before {
  content: '\f107';
}

.btn-transparent {
  border: 3px solid;
  background: transparent;
  border-radius: .75em;
  font-weight: 600;
  transition: all .2s linear;
}

.btn-transparent.light {
  border: 3px solid #fff;
  color: #fff;
}

.btn-transparent.light:hover,
.btn-transparent.light:focus {
  background: rgba(255, 255, 255, 1);
  border: 3px solid transparent;
  color: #185a9d;
  opacity: 1;
}

.btn-transparent.dark {
  border: 3px solid #185a9d;
  color: #185a9d;
}

.btn-transparent.dark:hover,
.btn-transparent.dark:focus {
  background: #185a9d;
  border: 3px solid transparent;
  color: #fff;
  opacity: 1;
}

.btn-s {
  padding: .5em .7em;
  font-size: .9em
}

.woocommerce-MyAccount-downloads-file.button,
.woocommerce-MyAccount-downloads-file.button:hover,
.woocommerce-MyAccount-downloads-file.button:focus {
  background: #db7f00;
}

.woocommerce-MyAccount-downloads-file.button:hover,
.woocommerce-MyAccount-downloads-file.button:focus {
  opacity: .875;
}

/* -----------------------------------------
  Columns
  ----------------------------------------- */

.full-width,
.one-half,
.one-third,
.two-third,
.one-fourth,
.three-fourth {
  float: left;
  display: block;
  overflow: hidden;
  position: relative;
  min-height: 1px;
}

.clear-column,
.clear-columns {
  clear: both;
  display: block;
  font-size: 0;
  height: 0;
  line-height: 0;
  width: 100%;
  overflow: hidden;
}

.full-width {
  width: 100%;
}

.one-half {
  width: 48%;
  margin-right: 4%;
}

.one-half.last-column {
  width: 48%;
  margin-right: 0;
}

.one-third {
  width: 30%;
  margin-right: 5%;
}

.one-third.last-column {
  width: 30%;
  margin-right: 0;
}

.two-third {
  width: 66%;
  margin-right: 4%;
}

.two-third.last-column {
  width: 65%;
  margin-right: 0;
}

.one-fourth {
  width: 22%;
  margin-right: 4%;
}

.one-fourth.last-column {
  width: 22%;
  margin-right: 0;
}

.three-fourth {
  width: 72.5%;
  margin-right: 4%;
}

.three-fourth.last-column {
  width: 74%;
  margin-right: 0;
}

.last-column {
  margin-right: 0;
}

.error404 .site-content .widget_product_search {
  padding: 0;
  background-color: transparent;
}

img.cat-special {
  display: block;
  margin-bottom: 1em;
}

.footer-widgets .product_list_widget li {
  padding: 0 0 1em;
  border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.footer-widgets .product_list_widget li a {
  color: #bababa !important;
}

.footer-widgets .widget_product_categories {
  margin-bottom: 2em;
}

.site-footer a:not(.button):not(.components-button) {
  color: #fff;
  text-decoration: none;
}

.site-footer a:not(.button):not(.components-button):hover {
  text-decoration: underline;
}

p:empty,
p:empty::before {
  display: none;
}

/* Responsive */

@media (min-width: 768px) {

  .cart-collaterals .cart_totals,
  .cart-collaterals .shipping_calculator {
    width: 100%;
    float: left;
  }

  .woocommerce-active .site-header .site-search {
    position: relative;
    top: .75em;
  }

  .site-header-cart .cart-contents {
    padding: 1.75rem 0 0.5rem;
    margin-bottom: 0;
  }

  .storefront-primary-navigation {
    margin-bottom: 0.25rem;
  }

  .main-navigation ul.men li a,
  .main-navigation ul.menu > li > a,
  .main-navigation ul.nav-menu > li > a {
    padding: 1.618em 1em;
    padding: 0.75rem;
  }

  .main-navigation ul.menu li a:focus-visible {
    position: relative;
    z-index: 1;
  }

  .main-navigation ul.menu {
    padding: 0.5rem 0 0.5rem 0.75rem;
  }

  .main-navigation ul.sub-menu {
    background: #fafafa;
  }

  .main-navigation ul.sub-menu li.current-menu-item a {
    color: #222 !important;
    font-weight: 600;
    background: #eee !important;
  }

  .main-navigation ul.menu>li.menu-item-has-children>a:after,
  .main-navigation ul.menu>li.page_item_has_children>a:after,
  .main-navigation ul.nav-menu>li.menu-item-has-children>a:after,
  .main-navigation ul.nav-menu>li.page_item_has_children>a:after {
    margin-left: .5em;
  }

  /* #secondary.widget-area {
    padding-top: 1.125em;
  } */

  .term-description {
    margin-bottom: 2em;
  }

  ul.products li.product {
    /* position: relative; */
    margin-bottom: 2em;
  }

  .main-navigation ul.menu ul li a,
  .main-navigation ul.nav-menu ul li a {
    padding: .5em 1.125em;
    font-weight: 400;
    font-size: .875em;
  }

  .content-area {
    margin-bottom: 1em;
  }

  .footer-widgets {
    padding-top: 1em;
  }
}

@media screen and (min-width: 1064px) {
  .woocommerce-breadcrumb {
    margin: 0 0 2em !important;
    padding-left: 3px;
  }
}

@media screen and (max-width: 1063px) {
  .storefront-breadcrumb {
    margin: 0 0 0;
    padding: 1em 0;
  }
}

@media screen and (max-width: 1366px) {
  .col-full {
    width: 92%;
  }

  .col-full .col-full {
    width: 100%;
  }

  .cab-hero {
    padding: 2em 0;
    top: 6.5em;
  }

  .cab-hero span {
    font-size: .93875em;
  }
}

@media screen and (min-width: 1024px) {
  .storefront-primary-navigation {
    margin-bottom: 0.5rem;
  }

  .site-header-cart .cart-contents {
    padding: 1.25rem 0 0.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .storefront-primary-navigation {
    font-size: 1em;
  }

  .cab-hero {
    padding: 2em;
    top: 4.5em;
  }
}

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

  .full-width,
  .one-half:not(.dont-break),
  .one-third:not(.dont-break),
  .two-third:not(.dont-break),
  .one-fourth:not(.dont-break),
  .three-fourth:not(.dont-break),
  .last-column:not(.dont-break) {
    clear: both;
    width: 100% !important;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1em;
  }

  .cab-hero h1.entry-title {
    font-size: 3em;
  }

  .cab-hero p {
    font-size: 1.375em;
  }

  .site-header-cart .cart-contents::after {
    display: none;
  }

  .main-navigation ul.menu li a {
    padding: 1.25em .25em 1.5em .875em;
  }

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

.cab-max-768 {
  display: none;
}

@media screen and (max-width: 768px) {
  .cab-max-768 {
    display: block;
  }

  body.home .hentry {
    margin-bottom: 2.3em;
  }

  blockquote+h2,
  blockquote+h3,
  blockquote+h4,
  blockquote+header h2,
  form+h2,
  form+h3,
  form+h4,
  form+header h2,
  ol+h2,
  ol+h3,
  ol+h4,
  ol+header h2,
  p+h2,
  p+h3,
  p+h4,
  p+header h2,
  table+h2,
  table+h3,
  table+h4,
  table+header h2,
  ul+h2,
  ul+h3,
  ul+h4,
  ul+header h2 {
    margin-top: 1em;
  }
}

@media screen and (max-width: 767px) {
  .site-header {
    padding: 0.375em 0 1.25em !important;
  }

  #masthead>.col-full>.col-full {
    position: relative;
    z-index: 999;
  }

  .site-branding {
    position: relative;
    top: .5em;
  }

  .site-header .site-branding {
    margin-bottom: 0.375em;
  }

  .cab-hero {
    top: 4em;
  }

  button.menu-toggle {
    position: relative;
    top: 1.25em;
  }

  button.menu-toggle:focus-visible {
    outline: 3px solid #c45b00;
  }

  .main-navigation.toggled .handheld-navigation {
    padding-top: 1em;
  }

  div.menu {
    padding-top: 1em;
  }

  .main-navigation ul {
    background: transparent !important;
  }

  .main-navigation ul.sub-menu {
    box-shadow: 0 0 !important;
  }

  .main-navigation ul.sub-menu li a {
    color: #fff !important;
    background: transparent !important;
  }

  .main-navigation ul li.current-menu-item a {
    font-weight: 600;
  }

  .main-navigation ul li a {
    color: #fff;
    font-size: 1.125em;
    padding: .25em 0 !important;
  }

  .widget_shopping_cart_content {
    font-size: 1em;
  }

  footer#colophon {
    padding-bottom: 6em;
  }

  ul.products li.product .button {
    width: 300px;
    max-width: 90%;
  }
}

@media screen and (max-width: 639px) {
  .cab-hero {
    top: 4em;
  }

  .cab-hero h1.entry-title {
    font-size: 2.6125em;
  }

  .cab-hero p {
    font-size: 1.125em;
  }
}

@media screen and (max-width: 567px) {
  .woocommerce-breadcrumb {
    padding: 0 1.75em 0 0;
  }

  .cab-hero {
    padding: 0 0;
  }
}

@media screen and (max-width: 479px) {
  .cab-hero {
    top: 3em;
  }

  .cab-hero h1.entry-title {
    font-size: 2.125em;
  }

  .cab-hero p {
    font-size: .875em;
  }

  .cab-logo-type {
    display: none !important;
  }
}

@media screen and (max-width: 390px) {
  .cab-hero h1.entry-title {
    font-size: 1.75em;
  }
}

@media screen and (max-width: 359px) {
  .cab-hero p {
    font-size: .75em;
  }
}

/* Snowflakes */
/* .snowflakes {
    position: absolute;
    left: 0;
    top: -2em;
    width: 100%;
    min-width: 1024px;
    height: calc(100% + 2em);
    overflow: hidden;
    pointer-events: none;
}
.snowflake {
  color: rgba(255,255,255,.75);
  font-size: 1em;
  font-family: Arial;
  text-shadow: 0 0 5px rgba(255,255,255,.125);
}

@-webkit-keyframes snowflakes-fall{-10%{top:-10%}100%{top:100%}}@-webkit-keyframes snowflakes-shake{0%{-webkit-transform:translateX(0px);transform:translateX(0px)}50%{-webkit-transform:translateX(40px);transform:translateX(40px)}100%{-webkit-transform:translateX(0px);transform:translateX(0px)}}@keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@keyframes snowflakes-shake{0%{transform:translateX(0px)}50%{transform:translateX(40px)}100%{transform:translateX(0px)}}.snowflake{position:absolute;top:-10%;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;-webkit-animation-name:snowflakes-fall,snowflakes-shake;-webkit-animation-duration:10s,3s;-webkit-animation-timing-function:linear,ease-in-out;-webkit-animation-iteration-count:infinite,infinite;-webkit-animation-play-state:running,running;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running}.snowflake:nth-of-type(0){left:1%;-webkit-animation-delay:0s,0s;animation-delay:0s,0s}.snowflake:nth-of-type(1){left:10%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(2){left:20%;-webkit-animation-delay:6s,.5s;animation-delay:6s,.5s}.snowflake:nth-of-type(3){left:30%;-webkit-animation-delay:4s,2s;animation-delay:4s,2s}.snowflake:nth-of-type(4){left:40%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(5){left:50%;-webkit-animation-delay:8s,3s;animation-delay:8s,3s}.snowflake:nth-of-type(6){left:60%;-webkit-animation-delay:6s,2s;animation-delay:6s,2s}.snowflake:nth-of-type(7){left:70%;-webkit-animation-delay:2.5s,1s;animation-delay:2.5s,1s}.snowflake:nth-of-type(8){left:80%;-webkit-animation-delay:1s,0s;animation-delay:1s,0s}.snowflake:nth-of-type(9){left:90%;-webkit-animation-delay:3s,1.5s;animation-delay:3s,1.5s} */
