Molehole existing galleria commit.
authorlaury <laury@gaslightmedia.com>
Thu, 5 Nov 2015 17:57:57 +0000 (12:57 -0500)
committerlaury <laury@gaslightmedia.com>
Thu, 5 Nov 2015 17:57:57 +0000 (12:57 -0500)
20 files changed:
changelog.txt [new file with mode: 0644]
css/_animation.scss [new file with mode: 0644]
functions.php [new file with mode: 0644]
inc/customizer/colors.php [new file with mode: 0644]
inc/customizer/controls.php [new file with mode: 0644]
inc/customizer/display.php [new file with mode: 0644]
inc/customizer/hooks.php [new file with mode: 0644]
inc/functions/hooks.php [new file with mode: 0644]
inc/functions/setup.php [new file with mode: 0644]
inc/functions/storefront-extensions.php [new file with mode: 0644]
inc/init.php [new file with mode: 0644]
inc/structure/hooks.php [new file with mode: 0644]
inc/structure/structure.php [new file with mode: 0644]
js/galleria.js [new file with mode: 0644]
js/galleria.min.js [new file with mode: 0644]
js/modernizr.min.js [new file with mode: 0644]
screenshot.png [new file with mode: 0644]
style.css [new file with mode: 0644]
style.scss [new file with mode: 0644]
theme_info.txt [new file with mode: 0644]

diff --git a/changelog.txt b/changelog.txt
new file mode 100644 (file)
index 0000000..ea32bd8
--- /dev/null
@@ -0,0 +1,28 @@
+*** Galleria Changelog ***
+
+2015.10.24 -  version 1.0.7
+ * Fix - Ensure consistent product layout when using the WooCommerce customiser extension and setting the shop page to 4 columns.
+
+2015.10.06 - version 1.0.6
+ * Fix - Ensure related product columns are of equal width.
+
+2015.10.06 - version 1.0.5
+ * Fix - Fixed a bug where Masonry wouldn't load correctly on product archives.
+
+2015.10.06 - version 1.0.4
+ * Fix - Changing the header link color will now refresh the preview window for a more accurate preview.
+ * Tweak - No longer uses Masonry to arrange products when using Storefront WooCommerce Customiser full width option.
+ * Tweak - No longer uses Masonry to arrange related products / upsells layout.
+
+2015.09.23 - version 1.0.3
+ * Fix - No longer unnecessarily uses masonry for the homepage product layout.
+
+2015.09.04 - version 1.0.2
+ * Fix - Integration with Storefront WooCommerce Customisers header search/cart toggle options.
+
+2015.08.12 - version 1.0.1
+ * Fix - Pagination active link background color.
+ * Fix - Site logo now aligns centrally.
+
+2015.06.03 - version 1.0.0
+ * Initial release.
diff --git a/css/_animation.scss b/css/_animation.scss
new file mode 100644 (file)
index 0000000..fba5408
--- /dev/null
@@ -0,0 +1,355 @@
+.animated {
+  -webkit-animation-duration: 1s;
+  animation-duration: 1s;
+  -webkit-animation-fill-mode: both;
+  animation-fill-mode: both;
+}
+
+.animated.infinite {
+  -webkit-animation-iteration-count: infinite;
+  animation-iteration-count: infinite;
+}
+
+.animated.hinge {
+  -webkit-animation-duration: 2s;
+  animation-duration: 2s;
+}
+
+.animated.bounceIn,
+.animated.bounceOut {
+  -webkit-animation-duration: .75s;
+  animation-duration: .75s;
+}
+
+.animated.flipOutX,
+.animated.flipOutY {
+  -webkit-animation-duration: .75s;
+  animation-duration: .75s;
+}
+
+@-webkit-keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+
+  100% {
+    opacity: 1;
+  }
+}
+
+@keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+
+  100% {
+    opacity: 1;
+  }
+}
+
+.fadeIn {
+  -webkit-animation-name: fadeIn;
+  animation-name: fadeIn;
+}
+
+@-webkit-keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    -webkit-transform: translate3d(0,0,0);
+    transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    -webkit-transform: translate3d(0, -30px, 0);
+    transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    -webkit-transform: translate3d(0, -15px, 0);
+    transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+    -webkit-transform: translate3d(0,-4px,0);
+    transform: translate3d(0,-4px,0);
+  }
+}
+
+@keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    -webkit-transform: translate3d(0,0,0);
+    transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    -webkit-transform: translate3d(0, -30px, 0);
+    transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+    -webkit-transform: translate3d(0, -15px, 0);
+    transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+    -webkit-transform: translate3d(0,-4px,0);
+    transform: translate3d(0,-4px,0);
+  }
+}
+
+.bounce {
+  -webkit-animation-name: bounce;
+  animation-name: bounce;
+  -webkit-transform-origin: center bottom;
+  transform-origin: center bottom;
+}
+
+@-webkit-keyframes bounceInUp {
+  0%, 60%, 75%, 90%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+  }
+
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 3000px, 0);
+    transform: translate3d(0, 3000px, 0);
+  }
+
+  60% {
+    opacity: 1;
+    -webkit-transform: translate3d(0, -20px, 0);
+    transform: translate3d(0, -20px, 0);
+  }
+
+  75% {
+    -webkit-transform: translate3d(0, 10px, 0);
+    transform: translate3d(0, 10px, 0);
+  }
+
+  90% {
+    -webkit-transform: translate3d(0, -5px, 0);
+    transform: translate3d(0, -5px, 0);
+  }
+
+  100% {
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0);
+  }
+}
+
+@keyframes bounceInUp {
+  0%, 60%, 75%, 90%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+  }
+
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 3000px, 0);
+    transform: translate3d(0, 3000px, 0);
+  }
+
+  60% {
+    opacity: 1;
+    -webkit-transform: translate3d(0, -20px, 0);
+    transform: translate3d(0, -20px, 0);
+  }
+
+  75% {
+    -webkit-transform: translate3d(0, 10px, 0);
+    transform: translate3d(0, 10px, 0);
+  }
+
+  90% {
+    -webkit-transform: translate3d(0, -5px, 0);
+    transform: translate3d(0, -5px, 0);
+  }
+
+  100% {
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0);
+  }
+}
+
+.bounceInUp {
+  -webkit-animation-name: bounceInUp;
+  animation-name: bounceInUp;
+}
+
+@-webkit-keyframes fadeInUp {
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 100%, 0);
+    transform: translate3d(0, 100%, 0);
+  }
+
+  100% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none;
+  }
+}
+
+@keyframes fadeInUp {
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 100%, 0);
+    transform: translate3d(0, 100%, 0);
+  }
+
+  100% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none;
+  }
+}
+
+.fadeInUp {
+  -webkit-animation-name: fadeInUp;
+  animation-name: fadeInUp;
+}
+
+@-webkit-keyframes bounceIn {
+  0%, 20%, 40%, 60%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+  }
+
+  0% {
+    opacity: 0;
+    -webkit-transform: scale3d(.3, .3, .3);
+    transform: scale3d(.3, .3, .3);
+  }
+
+  20% {
+    -webkit-transform: scale3d(1.1, 1.1, 1.1);
+    transform: scale3d(1.1, 1.1, 1.1);
+  }
+
+  40% {
+    -webkit-transform: scale3d(.9, .9, .9);
+    transform: scale3d(.9, .9, .9);
+  }
+
+  60% {
+    opacity: 1;
+    -webkit-transform: scale3d(1.03, 1.03, 1.03);
+    transform: scale3d(1.03, 1.03, 1.03);
+  }
+
+  80% {
+    -webkit-transform: scale3d(.97, .97, .97);
+    transform: scale3d(.97, .97, .97);
+  }
+
+  100% {
+    opacity: 1;
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+}
+
+@keyframes bounceIn {
+  0%, 20%, 40%, 60%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+  }
+
+  0% {
+    opacity: 0;
+    -webkit-transform: scale3d(.3, .3, .3);
+    transform: scale3d(.3, .3, .3);
+  }
+
+  20% {
+    -webkit-transform: scale3d(1.1, 1.1, 1.1);
+    transform: scale3d(1.1, 1.1, 1.1);
+  }
+
+  40% {
+    -webkit-transform: scale3d(.9, .9, .9);
+    transform: scale3d(.9, .9, .9);
+  }
+
+  60% {
+    opacity: 1;
+    -webkit-transform: scale3d(1.03, 1.03, 1.03);
+    transform: scale3d(1.03, 1.03, 1.03);
+  }
+
+  80% {
+    -webkit-transform: scale3d(.97, .97, .97);
+    transform: scale3d(.97, .97, .97);
+  }
+
+  100% {
+    opacity: 1;
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+}
+
+.bounceIn {
+  -webkit-animation-name: bounceIn;
+  animation-name: bounceIn;
+}
+
+@-webkit-keyframes spin {
+  from {
+    -webkit-transform: rotate(0deg);
+  }
+
+  to {
+    -webkit-transform: rotate(360deg);
+  }
+}
+
+@keyframes spin {
+  from {
+    transform:rotate(0deg);
+  }
+
+  to {
+    transform:rotate(360deg);
+  }
+}
+
+@-webkit-keyframes pulse {
+  0% {
+    opacity: 0.25;
+  }
+
+  50% {
+    opacity: 1;
+  }
+
+  100% {
+    opacity: 0.25;
+  }
+}
+
+@keyframes pulse {
+  0% {
+    opacity: 0.25;
+  }
+
+  50% {
+    opacity: 1;
+  }
+
+  100% {
+    opacity: 0.25;
+  }
+}
\ No newline at end of file
diff --git a/functions.php b/functions.php
new file mode 100644 (file)
index 0000000..3bded61
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Galleria engine room
+ *
+ * @package galleria
+ */
+
+/**
+ * Initialize all the things.
+ */
+require get_stylesheet_directory() . '/inc/init.php';
+
+/**
+ * Do not add custom code / snippets here.
+ * While Child Themes are generally recommended for customisations, in this case it is not
+ * wise. Modifying this file means that your changes will be lost when an automatic update
+ * of this theme is performed. Instead, add your customisations to a plugin such as
+ * https://github.com/woothemes/theme-customisations
+ */
diff --git a/inc/customizer/colors.php b/inc/customizer/colors.php
new file mode 100644 (file)
index 0000000..8623abc
--- /dev/null
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Galleria colors
+ *
+ * @package galleria
+ */
+
+/**
+ * Black
+ * @return  string color
+ */
+function g_color_black( $color ) {
+       $color = '#111111';
+       return $color;
+}
+
+/**
+ * Gold
+ * @return  string color
+ */
+function g_color_gold( $color ) {
+       $color = '#999e43';
+       return $color;
+}
+
+/**
+ * Mist
+ * @return  string color
+ */
+function g_color_mist( $color ) {
+       $color = '#f2f3f4';
+       return $color;
+}
+
+/**
+ * Aqua
+ * @return  string color
+ */
+function g_color_aqua( $color ) {
+       $color = '#28a8d3';
+       return $color;
+}
+
+/**
+ * Pink
+ * @return  string color
+ */
+function g_color_pink( $color ) {
+       $color = '#c41f61';
+       return $color;
+}
+
+/**
+ * Clay
+ * @return  string color
+ */
+function g_color_clay( $color ) {
+       $color = '#b84f14';
+       return $color;
+}
+
+/**
+ * White
+ * @return  string color
+ */
+function g_color_white( $color ) {
+       $color = '#ffffff';
+       return $color;
+}
+
+/**
+ * Green
+ * @return  string color
+ */
+function g_color_green( $color ) {
+       $color = '#1ec185';
+       return $color;
+}
+
+/**
+ * English winter
+ * @return  string color
+ */
+function g_color_english_winter( $color ) {
+       $color = '#f6f6f6';
+       return $color;
+}
+
+/**
+ * Charcoal
+ * @return  string color
+ */
+function g_color_charcoal( $color ) {
+       $color = '#2b2b2b';
+       return $color;
+}
+
+/**
+ * Asphalt
+ * @return  string color
+ */
+function g_color_asphalt( $color ) {
+       $color = '#555555';
+       return $color;
+}
+
+/**
+ * Paper
+ * @return  string color
+ */
+function g_color_paper( $color ) {
+       $color = '#fafafa';
+       return $color;
+}
diff --git a/inc/customizer/controls.php b/inc/customizer/controls.php
new file mode 100644 (file)
index 0000000..32cfe92
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Galleria Customizer controls
+ *
+ * @package galleria
+ */
+
+/**
+ * Set up galleria customizer controls/settings
+ */
+function g_customize_register( $wp_customize ) {
+       $wp_customize->get_setting( 'background_color' )->transport                             = 'refresh';
+       $wp_customize->get_setting( 'storefront_header_link_color' )->transport         = 'refresh';
+}
\ No newline at end of file
diff --git a/inc/customizer/display.php b/inc/customizer/display.php
new file mode 100644 (file)
index 0000000..7eba5de
--- /dev/null
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Galleria custom selectors that adopt Storefront customizer settings
+ *
+ * @package galleria
+ */
+
+/**
+ * Add custom CSS based on settings in Storefront core
+ * @return void
+ */
+function g_add_customizer_css() {
+       $header_bg_color                                = storefront_sanitize_hex_color( get_theme_mod( 'storefront_header_background_color', apply_filters( 'galleria_default_header_background_color', '#ffffff' ) ) );
+       $accent_color                                   = storefront_sanitize_hex_color( get_theme_mod( 'storefront_accent_color', apply_filters( 'galleria_default_accent_color', '#cf5916' ) ) );
+       $header_link_color                              = storefront_sanitize_hex_color( get_theme_mod( 'storefront_header_link_color', apply_filters( 'galleria_default_header_background_color', '#2b2b2b' ) ) );
+       $text_color                                     = storefront_sanitize_hex_color( get_theme_mod( 'storefront_text_color', apply_filters( 'galleria_default_text_color', '#2b2b2b' ) ) );
+       $button_text_color                              = storefront_sanitize_hex_color( get_theme_mod( 'storefront_button_text_color', apply_filters( 'storefront_default_button_text_color', '#ffffff' ) ) );
+       $button_background_color                = storefront_sanitize_hex_color( get_theme_mod( 'storefront_button_background_color', apply_filters( 'galleria_default_button_background_color', '#2b2b2b' ) ) );
+       $button_alt_background_color    = storefront_sanitize_hex_color( get_theme_mod( 'storefront_button_alt_background_color', apply_filters( 'galleria_default_button_alt_background_color', '#c41f61' ) ) );
+       $button_alt_text_color                  = storefront_sanitize_hex_color( get_theme_mod( 'storefront_button_alt_text_color', apply_filters( 'storefront_default_button_alt_text_color', '#ffffff' ) ) );
+       $content_bg_color                               = storefront_sanitize_hex_color( get_theme_mod( 'sd_content_background_color' ) );
+       $content_frame                                  = get_theme_mod( 'sd_fixed_width' );
+
+       if ( $content_bg_color && 'true' == $content_frame && class_exists( 'Storefront_Designer' ) ) {
+               $bg_color       = str_replace( '#', '', $content_bg_color );
+       } else {
+               $bg_color       = str_replace( '#', '', get_theme_mod( 'background_color', apply_filters( 'galleria_default_bg_color', 'ffffff' ) ) );
+       }
+
+       $brighten_factor                                = apply_filters( 'storefront_brighten_factor', 25 );
+       $darken_factor                                  = apply_filters( 'storefront_darken_factor', -25 );
+
+       $style = '
+               .onsale {
+                       background-color: ' . $button_alt_background_color . ';
+                       color: ' . $button_alt_text_color . ';
+               }
+
+               .woocommerce-pagination .page-numbers li .page-numbers.current,
+               .pagination .page-numbers li .page-numbers.current {
+                       background-color: #' . $bg_color . ';
+                       color: ' . $text_color . ';
+               }
+
+               button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart, .widget-area .widget a.button, .site-header-cart .widget_shopping_cart a.button,
+               button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .button:hover, .added_to_cart:hover, .widget-area .widget a.button:hover, .site-header-cart .widget_shopping_cart a.button:hover {
+                       border-color: ' . $button_text_color . ';
+               }
+
+               @media screen and (min-width: 768px) {
+                       ul.products li.product .g-product-title,
+                       ul.products li.product .g-product-title h3 {
+                               background-color: ' . $header_link_color . ';
+                               color: ' . $header_bg_color . ';
+                       }
+
+                       ul.products li.product-category a {
+                               background-color: ' . $header_bg_color . ';
+                       }
+
+                       ul.products li.product-category .g-product-title h3 {
+                               color: ' . $header_link_color . ';
+                       }
+
+                       ul.products li.product .g-product-title .price {
+                               color: ' . $header_bg_color . ';
+                       }
+
+                       .main-navigation ul.menu > li:first-child:before, .main-navigation ul.menu > li:last-child:after, .main-navigation ul.nav-menu > li:first-child:before, .main-navigation ul.nav-menu > li:last-child:after {
+                               color: ' . $header_link_color . ';
+                       }
+
+                       .site-header .g-primary-navigation,
+                       .footer-widgets,
+                       .site-footer,
+                       .main-navigation ul.menu ul.sub-menu, .main-navigation ul.nav-menu ul.sub-menu,
+                       .site-header-cart .widget_shopping_cart,
+                       .site-branding h1 a,
+                       .site-header .g-top-bar {
+                               border-color: ' . $header_link_color . ';
+                       }
+
+                       .site-header .site-branding {
+                               border-bottom-color: ' . $header_link_color . ';
+                       }
+
+                       ul.products li.product .star-rating span:before,
+                       ul.products li.product .star-rating:before {
+                               color: ' . $header_bg_color . ';
+                       }
+               }';
+
+       wp_add_inline_style( 'g-style', $style );
+}
diff --git a/inc/customizer/hooks.php b/inc/customizer/hooks.php
new file mode 100644 (file)
index 0000000..7cb3532
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+/**
+ * General setup hooks and filters
+ *
+ * @package galleria
+ */
+
+/**
+ * Add Galleria specific CSS selectors based on customizer settings
+ */
+add_action( 'wp_enqueue_scripts',                                                              'g_add_customizer_css', 1000 );
+
+/**
+ * Customizer controls
+ */
+add_action( 'customize_register',                                                              'g_customize_register', 99 );
+
+/**
+ * Customizer default color tweaks
+ */
+add_filter( 'storefront_default_heading_color',                                'g_color_charcoal' );
+add_filter( 'storefront_default_footer_heading_color',                         'g_color_charcoal' );
+add_filter( 'storefront_default_header_background_color',              'g_color_white' );
+add_filter( 'storefront_default_footer_background_color',              'g_color_white' );
+
+add_filter( 'storefront_default_header_link_color',                    'g_color_charcoal' );
+add_filter( 'storefront_default_header_text_color',                    'g_color_asphalt' );
+
+add_filter( 'storefront_default_background_color',                             'g_color_white' );
+
+
+add_filter( 'storefront_default_footer_link_color',                    'g_color_black' );
+
+add_filter( 'storefront_default_text_color',                                   'g_color_asphalt' );
+add_filter( 'storefront_default_footer_text_color',                    'g_color_asphalt' );
+
+add_filter( 'storefront_default_accent_color',                                         'g_color_charcoal' );
+
+
+add_filter( 'storefront_default_button_background_color',              'g_color_white' );
+add_filter( 'storefront_default_button_text_color',                    'g_color_charcoal' );
+
+add_filter( 'storefront_default_button_alt_background_color',  'g_color_charcoal' );
+add_filter( 'storefront_default_button_alt_text_color',                'g_color_white' );
\ No newline at end of file
diff --git a/inc/functions/hooks.php b/inc/functions/hooks.php
new file mode 100644 (file)
index 0000000..96b7387
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+/**
+ * General setup hooks and filters
+ *
+ * @package galleria
+ */
+
+/**
+ * Styles / scripts
+ */
+add_action( 'wp_enqueue_scripts', 'g_enqueue_styles' );
+add_action( 'wp_enqueue_scripts', 'g_enqueue_child_styles', 999 );
+
+/**
+ * Layout tweaks
+ */
+add_action( 'storefront_loop_columns',                         'g_loop_columns' );
+add_action( 'swc_product_columns_default',             'g_loop_columns' );
+add_filter( 'storefront_related_products_args', 'g_related_products_args' );
+
+/**
+ * Extension integrations / tweaks
+ */
+add_action( 'customize_register',      'g_customize_storefront_extensions', 99 );
+add_action( 'after_switch_theme',      'g_set_theme_mods' );
+add_action( 'wp',                                      'g_storefront_woocommerce_customiser', 99 );
\ No newline at end of file
diff --git a/inc/functions/setup.php b/inc/functions/setup.php
new file mode 100644 (file)
index 0000000..ee269a6
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Galleria setup functions
+ *
+ * @package galleria
+ */
+
+/**
+ * Assign the Galleria version to a var
+ */
+$theme                 = wp_get_theme( 'galleria' );
+$g_version     = $theme['Version'];
+
+/**
+ * Enqueue Storefront Styles
+ * @return void
+ */
+function g_enqueue_styles() {
+       global $storefront_version;
+
+    wp_enqueue_style( 'storefront-style', get_template_directory_uri() . '/style.css', $storefront_version );
+}
+
+/**
+ * Enqueue Bootique Styles
+ * @return void
+ */
+function g_enqueue_child_styles() {
+       global $g_version;
+
+    wp_enqueue_style( 'g-style', get_stylesheet_uri(), array( 'storefront-style' ), $g_version );
+    wp_enqueue_style( 'karla', '//fonts.googleapis.com/css?family=Karla:400,700', array( 'g-style' ) );
+    wp_enqueue_style( 'libre-baskerville', '//fonts.googleapis.com/css?family=Libre+Baskerville:400,700,400italic', array( 'g-style' ) );
+
+    wp_enqueue_script( 'modernizr', get_stylesheet_directory_uri() . '/js/modernizr.min.js', array( 'jquery' ), '2.8.3' );
+    wp_enqueue_script( 'galleria', get_stylesheet_directory_uri() . '/js/galleria.min.js', array( 'jquery' ), '1.0' );
+
+    $shop_layout    = '';
+
+     if ( class_exists( 'Storefront_WooCommerce_Customiser' ) ) {
+        $shop_layout    = get_theme_mod( 'swc_shop_layout', 'default' );
+    }
+
+    if ( ( ! is_page_template( 'template-homepage.php' ) ) && ( 'full-width' != $shop_layout ) && ! is_product() ) {
+       wp_enqueue_script( 'masonry', array( 'jquery' ) );
+    }
+}
+
+/**
+ * Shop columns
+ * @return int number of columns
+ */
+function g_loop_columns( $columns ) {
+       $columns = 4;
+       return $columns;
+}
+
+/**
+ * Adjust related products columns
+ * @return array $args the modified arguments
+ */
+function g_related_products_args( $args ) {
+       $args['posts_per_page'] = 4;
+       $args['columns']                = 4;
+
+       return $args;
+}
\ No newline at end of file
diff --git a/inc/functions/storefront-extensions.php b/inc/functions/storefront-extensions.php
new file mode 100644 (file)
index 0000000..c8c4aad
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Galleria Storefront extension compatibility
+ *
+ * @package galleria
+ */
+
+/**
+ * Remove Customizer settings added by Storefront extensions that this theme is incompatible with.
+ * @return void
+ */
+function g_customize_storefront_extensions( $wp_customize ) {
+       $wp_customize->remove_control( 'sd_header_layout' );
+       $wp_customize->remove_control( 'sd_button_flat' );
+       $wp_customize->remove_control( 'sd_button_shadows' );
+       $wp_customize->remove_control( 'sd_button_background_style' );
+       $wp_customize->remove_control( 'sd_button_rounded' );
+       $wp_customize->remove_control( 'sd_button_size' );
+       $wp_customize->remove_control( 'sd_header_layout_divider_after' );
+       $wp_customize->remove_control( 'sd_button_divider_1' );
+       $wp_customize->remove_control( 'sd_button_divider_2' );
+}
+
+/**
+ * Set / remove theme mods to suit this theme after activation
+ * @return void
+ */
+function g_set_theme_mods() {
+       // Reset certain theme settings from the db
+       remove_theme_mod( 'sd_header_layout' );
+       remove_theme_mod( 'sd_button_flat' );
+       remove_theme_mod( 'sd_button_shadows' );
+       remove_theme_mod( 'sd_button_background_style' );
+       remove_theme_mod( 'sd_button_rounded' );
+       remove_theme_mod( 'sd_button_size' );
+       remove_theme_mod( 'storefront_footer_background_color' );
+}
+
+/**
+ * Storefront WooCommerce Customiser compatibility tweaks
+ */
+function g_storefront_woocommerce_customiser() {
+       if ( class_exists( 'Storefront_WooCommerce_Customiser' ) ) {
+               $cart_link      = get_theme_mod( 'swc_header_cart', true );
+               $search         = get_theme_mod( 'swc_header_search', true );
+
+               if ( false == $cart_link ) {
+                       remove_action( 'storefront_header', 'storefront_header_cart', 4 );
+               } else {
+                       add_action( 'storefront_header', 'storefront_header_cart', 4 );
+               }
+
+               if ( false == $search ) {
+                       remove_action( 'storefront_header', 'storefront_product_search', 3 );
+               } else {
+                       add_action( 'storefront_header', 'storefront_product_search', 3 );
+               }
+       }
+}
\ No newline at end of file
diff --git a/inc/init.php b/inc/init.php
new file mode 100644 (file)
index 0000000..056faf7
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Galleria engine room
+ *
+ * @package galleria
+ */
+
+/**
+ * Hooks & Filters.
+ * Hooks and filters pertaining to different parts of the theme.
+ */
+require get_stylesheet_directory() . '/inc/functions/hooks.php';
+require get_stylesheet_directory() . '/inc/structure/hooks.php';
+require get_stylesheet_directory() . '/inc/customizer/hooks.php';
+
+
+/**
+ * Setup.
+ * Enqueue styles, specify color functions, etc.
+ */
+require get_stylesheet_directory() . '/inc/functions/setup.php';
+
+/**
+ * Customizer.
+ * Adjust Storefront setting defaults with these colors
+ */
+require get_stylesheet_directory() . '/inc/customizer/display.php';
+require get_stylesheet_directory() . '/inc/customizer/controls.php';
+require get_stylesheet_directory() . '/inc/customizer/colors.php';
+
+/**
+ * Structure.
+ * Any functions pertaining to the customisation of the Storefront layout.
+ */
+require get_stylesheet_directory() . '/inc/structure/structure.php';
+
+/**
+ * Storefront Extensions.
+ * Declares incompatibility with specific extensions.
+ * Modifies extensions current behaviour to suit the child theme.
+ */
+require get_stylesheet_directory() . '/inc/functions/storefront-extensions.php';
diff --git a/inc/structure/hooks.php b/inc/structure/hooks.php
new file mode 100644 (file)
index 0000000..40168f8
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Galleria structural hooks and filters
+ *
+ * @package galleria
+ */
+
+/**
+ * Layout
+ */
+add_action( 'init', 'g_layout_adjustments' );
+add_filter( 'storefront_products_per_page', 'g_products_per_page' );
+add_filter( 'woocommerce_breadcrumb_defaults', 'g_change_breadcrumb_delimiter' );
diff --git a/inc/structure/structure.php b/inc/structure/structure.php
new file mode 100644 (file)
index 0000000..76968d1
--- /dev/null
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Galleria structural functions
+ *
+ * @package galleria
+ */
+
+/**
+ * Layout adjustments
+ * @return rearrange markup through add_action and remove_action
+ */
+function g_layout_adjustments() {
+
+       if ( is_woocommerce_activated() ) {
+               remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );
+               remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
+               add_action( 'woocommerce_before_shop_loop_item_title', 'g_product_loop_title_price_wrap', 11 );
+               add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 2 );
+               add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 1 );
+               add_action( 'woocommerce_after_shop_loop_item_title', 'g_product_loop_title_price_wrap_close', 2 );
+
+               add_action( 'woocommerce_before_subcategory_title', 'g_product_loop_title_price_wrap', 11 );
+               add_action( 'woocommerce_after_subcategory_title', 'g_product_loop_title_price_wrap_close', 2 );
+
+               remove_action( 'storefront_header', 'storefront_header_cart', 60 );
+               add_action( 'storefront_header', 'storefront_header_cart', 4 );
+
+               remove_action( 'storefront_header', 'storefront_product_search', 40 );
+               add_action( 'storefront_header', 'storefront_product_search', 3 );
+       }
+
+       remove_action( 'storefront_header', 'storefront_secondary_navigation', 30 );
+       add_action( 'storefront_header', 'storefront_secondary_navigation', 6 );
+
+       remove_action( 'storefront_header', 'storefront_site_branding', 20 );
+       add_action( 'storefront_header', 'storefront_site_branding', 5 );
+
+       remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
+       add_action( 'woocommerce_after_cart', 'woocommerce_cross_sell_display', 30 );
+
+       add_action( 'storefront_header', 'g_primary_navigation_wrapper', 49 );
+       add_action( 'storefront_header', 'g_primary_navigation_wrapper_close', 61 );
+
+       add_action( 'storefront_header', 'g_top_bar_wrapper', 1 );
+       add_action( 'storefront_header', 'g_top_bar_wrapper_close', 6 );
+}
+
+/**
+ * Product title wrapper
+ * @return void
+ */
+function g_product_loop_title_price_wrap() {
+       echo '<section class="g-product-title">';
+}
+
+/**
+ * Product title wrapper close
+ * @return void
+ */
+function g_product_loop_title_price_wrap_close() {
+       echo '</section>';
+}
+
+/**
+ * Primary navigation wrapper
+ * @return void
+ */
+function g_primary_navigation_wrapper() {
+       echo '<section class="g-primary-navigation">';
+}
+
+/**
+ * Primary navigation wrapper close
+ * @return void
+ */
+function g_primary_navigation_wrapper_close() {
+       echo '</section>';
+}
+
+/**
+ * Top bar wrapper
+ * @return void
+ */
+function g_top_bar_wrapper() {
+       echo '<section class="g-top-bar">';
+}
+
+/**
+ * Top bar wrapper close
+ * @return void
+ */
+function g_top_bar_wrapper_close() {
+       echo '</section>';
+}
+
+/**
+ * Products per page
+ * @return int products to display per page
+ */
+function g_products_per_page( $per_page ) {
+       $per_page = 19;
+       return intval( $per_page );
+}
+
+function g_change_breadcrumb_delimiter( $defaults ) {
+       $defaults['delimiter'] = ' <span>/</span> ';
+       return $defaults;
+}
diff --git a/js/galleria.js b/js/galleria.js
new file mode 100644 (file)
index 0000000..2787fd9
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * galleria.js
+ *
+ * Javascript used by the Galleria theme.
+ */
+( function() {
+       jQuery( window ).load( function() {
+               jQuery( 'body' ).addClass( 'loaded' );
+               jQuery( '.site' ).addClass( 'animated fadeIn' );
+               jQuery( '.single_add_to_cart_button, .checkout-button' ).addClass( 'animated bounce' );
+
+               // The star rating on single product pages
+               var value = jQuery( '.star-rating > span' ).width();
+               jQuery( '.woocommerce-product-rating .star-rating > span' ).css( 'width', 0 );
+               jQuery( '.woocommerce-product-rating .star-rating > span' ).animate({
+                       width: value,
+               }, 1500, function() {
+               // Animation complete.
+               });
+
+               // Animate tabs
+               jQuery( '.woocommerce-tabs ul.tabs li a' ).click( function () {
+               var destination = jQuery( this ).attr( 'href' );
+               jQuery( '.woocommerce-tabs' ).find( destination ).addClass( 'animated bounceInUp' );
+       });
+
+               if ( jQuery( window ).width() > 767 ) {
+                       if ( ( ! jQuery( 'body' ).hasClass( 'page-template-template-homepage' ) ) && ( ! jQuery( 'body' ).hasClass( 'storefront-full-width-content' ) ) && ( ! jQuery( 'body' ).hasClass( 'page-template-template-fullwidth-php' ) ) && ( ! jQuery( 'body' ).hasClass( 'single-product' ) ) ) {
+                       jQuery( 'ul.products' ).masonry({
+                                       columnWidth: 'li.product',
+                                       itemSelector: 'li.product',
+                                       percentPosition: true
+                               });
+                   }
+
+                       // Animate product headings
+                       jQuery( 'ul.products li.product:not(.product-category)' ).hover( function () {
+                       jQuery( this ).find( '.g-product-title' ).addClass( 'animated fadeIn' );
+                       jQuery( this ).find( '.button' ).addClass( 'animated bounceIn' );
+               }, function() {
+                       jQuery( this ).find( '.g-product-title' ).removeClass( 'fadeIn' );
+                       jQuery( this ).find( '.button' ).removeClass( 'bounceIn' );
+               });
+
+               // Product button positioning
+                       jQuery( 'ul.products li.product .button' ).each(function() {
+                               var button      = jQuery( this );
+                               var height      = button.outerHeight();
+                               var width       = button.outerWidth();
+
+                               button.css( 'margin-top', -height/2 ).css( 'margin-left', -width/2 );
+                       });
+
+                       // Product category title
+                       jQuery( 'ul.products li.product-category .g-product-title' ).each(function() {
+                               var title       = jQuery( this );
+                               var height      = title.outerHeight();
+                               var width       = title.outerWidth();
+
+                               title.css( 'margin-top', -height/2 ).css( 'margin-left', -width/2 );
+                       });
+           }
+       });
+
+} )();
diff --git a/js/galleria.min.js b/js/galleria.min.js
new file mode 100644 (file)
index 0000000..8a9378b
--- /dev/null
@@ -0,0 +1 @@
+!function(){jQuery(window).load(function(){jQuery("body").addClass("loaded"),jQuery(".site").addClass("animated fadeIn"),jQuery(".single_add_to_cart_button, .checkout-button").addClass("animated bounce");var t=jQuery(".star-rating > span").width();jQuery(".woocommerce-product-rating .star-rating > span").css("width",0),jQuery(".woocommerce-product-rating .star-rating > span").animate({width:t},1500,function(){}),jQuery(".woocommerce-tabs ul.tabs li a").click(function(){var t=jQuery(this).attr("href");jQuery(".woocommerce-tabs").find(t).addClass("animated bounceInUp")}),jQuery(window).width()>767&&(jQuery("body").hasClass("page-template-template-homepage")||jQuery("body").hasClass("storefront-full-width-content")||jQuery("body").hasClass("page-template-template-fullwidth-php")||jQuery("body").hasClass("single-product")||jQuery("ul.products").masonry({columnWidth:"li.product",itemSelector:"li.product",percentPosition:!0}),jQuery("ul.products li.product:not(.product-category)").hover(function(){jQuery(this).find(".g-product-title").addClass("animated fadeIn"),jQuery(this).find(".button").addClass("animated bounceIn")},function(){jQuery(this).find(".g-product-title").removeClass("fadeIn"),jQuery(this).find(".button").removeClass("bounceIn")}),jQuery("ul.products li.product .button").each(function(){var t=jQuery(this),e=t.outerHeight(),r=t.outerWidth();t.css("margin-top",-e/2).css("margin-left",-r/2)}),jQuery("ul.products li.product-category .g-product-title").each(function(){var t=jQuery(this),e=t.outerHeight(),r=t.outerWidth();t.css("margin-top",-e/2).css("margin-left",-r/2)}))})}();
\ No newline at end of file
diff --git a/js/modernizr.min.js b/js/modernizr.min.js
new file mode 100644 (file)
index 0000000..15df3fb
--- /dev/null
@@ -0,0 +1,4 @@
+/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
+ * Build: http://modernizr.com/download/#-cssclasses
+ */
+;window.Modernizr=function(a,b,c){function u(a){j.cssText=a}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function w(a,b){return typeof a===b}function x(a,b){return!!~(""+a).indexOf(b)}function y(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:w(f,"function")?f.bind(d||b):f}return!1}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m={},n={},o={},p=[],q=p.slice,r,s={}.hasOwnProperty,t;!w(s,"undefined")&&!w(s.call,"undefined")?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e});for(var z in m)t(m,z)&&(r=z.toLowerCase(),e[r]=m[z](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)t(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},u(""),i=k=null,e._version=d,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+p.join(" "):""),e}(this,this.document);
\ No newline at end of file
diff --git a/screenshot.png b/screenshot.png
new file mode 100644 (file)
index 0000000..1dc49b7
Binary files /dev/null and b/screenshot.png differ
diff --git a/style.css b/style.css
new file mode 100644 (file)
index 0000000..e65a0bd
--- /dev/null
+++ b/style.css
@@ -0,0 +1,1301 @@
+@charset "UTF-8";
+/*
+Theme Name:            Galleria
+Theme URI:             https://wordpress.org/themes/storefront
+Description:   A Storefront child theme designed for small WooCommerce stores / storefront child theme boilerplates. Galleria features a simple, traditional design which you can customise using the settings available in the WordPress Customizer. Looking for a theme for your new WooCommerce store? Look no further than Storefront and Galleria!
+Author:                        WooThemes
+Author URI:            http://woothemes.com
+Template:              storefront
+Version:               1.0.7
+License:               GNU General Public License v2 or later
+License URI:   http://www.gnu.org/licenses/gpl-2.0.html
+Tags:                  light, dark, two-columns, right-sidebar, left-sidebar, responsive-layout, accessibility-ready
+Text Domain:   galleria
+*/
+/* =Galleria styles starts here
+-------------------------------------------------------------- */
+.animated {
+  -webkit-animation-duration: 1s;
+  animation-duration: 1s;
+  -webkit-animation-fill-mode: both;
+  animation-fill-mode: both; }
+
+.animated.infinite {
+  -webkit-animation-iteration-count: infinite;
+  animation-iteration-count: infinite; }
+
+.animated.hinge {
+  -webkit-animation-duration: 2s;
+  animation-duration: 2s; }
+
+.animated.bounceIn,
+.animated.bounceOut {
+  -webkit-animation-duration: .75s;
+  animation-duration: .75s; }
+
+.animated.flipOutX,
+.animated.flipOutY {
+  -webkit-animation-duration: .75s;
+  animation-duration: .75s; }
+
+@-webkit-keyframes fadeIn {
+  0% {
+    opacity: 0; }
+  100% {
+    opacity: 1; } }
+@keyframes fadeIn {
+  0% {
+    opacity: 0; }
+  100% {
+    opacity: 1; } }
+.fadeIn {
+  -webkit-animation-name: fadeIn;
+  animation-name: fadeIn; }
+
+@-webkit-keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0); }
+  40%, 43% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    -webkit-transform: translate3d(0, -30px, 0);
+    transform: translate3d(0, -30px, 0); }
+  70% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    -webkit-transform: translate3d(0, -15px, 0);
+    transform: translate3d(0, -15px, 0); }
+  90% {
+    -webkit-transform: translate3d(0, -4px, 0);
+    transform: translate3d(0, -4px, 0); } }
+@keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0); }
+  40%, 43% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    -webkit-transform: translate3d(0, -30px, 0);
+    transform: translate3d(0, -30px, 0); }
+  70% {
+    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+    -webkit-transform: translate3d(0, -15px, 0);
+    transform: translate3d(0, -15px, 0); }
+  90% {
+    -webkit-transform: translate3d(0, -4px, 0);
+    transform: translate3d(0, -4px, 0); } }
+.bounce {
+  -webkit-animation-name: bounce;
+  animation-name: bounce;
+  -webkit-transform-origin: center bottom;
+  transform-origin: center bottom; }
+
+@-webkit-keyframes bounceInUp {
+  0%, 60%, 75%, 90%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 3000px, 0);
+    transform: translate3d(0, 3000px, 0); }
+  60% {
+    opacity: 1;
+    -webkit-transform: translate3d(0, -20px, 0);
+    transform: translate3d(0, -20px, 0); }
+  75% {
+    -webkit-transform: translate3d(0, 10px, 0);
+    transform: translate3d(0, 10px, 0); }
+  90% {
+    -webkit-transform: translate3d(0, -5px, 0);
+    transform: translate3d(0, -5px, 0); }
+  100% {
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0); } }
+@keyframes bounceInUp {
+  0%, 60%, 75%, 90%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 3000px, 0);
+    transform: translate3d(0, 3000px, 0); }
+  60% {
+    opacity: 1;
+    -webkit-transform: translate3d(0, -20px, 0);
+    transform: translate3d(0, -20px, 0); }
+  75% {
+    -webkit-transform: translate3d(0, 10px, 0);
+    transform: translate3d(0, 10px, 0); }
+  90% {
+    -webkit-transform: translate3d(0, -5px, 0);
+    transform: translate3d(0, -5px, 0); }
+  100% {
+    -webkit-transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0); } }
+.bounceInUp {
+  -webkit-animation-name: bounceInUp;
+  animation-name: bounceInUp; }
+
+@-webkit-keyframes fadeInUp {
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 100%, 0);
+    transform: translate3d(0, 100%, 0); }
+  100% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none; } }
+@keyframes fadeInUp {
+  0% {
+    opacity: 0;
+    -webkit-transform: translate3d(0, 100%, 0);
+    transform: translate3d(0, 100%, 0); }
+  100% {
+    opacity: 1;
+    -webkit-transform: none;
+    transform: none; } }
+.fadeInUp {
+  -webkit-animation-name: fadeInUp;
+  animation-name: fadeInUp; }
+
+@-webkit-keyframes bounceIn {
+  0%, 20%, 40%, 60%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+  0% {
+    opacity: 0;
+    -webkit-transform: scale3d(0.3, 0.3, 0.3);
+    transform: scale3d(0.3, 0.3, 0.3); }
+  20% {
+    -webkit-transform: scale3d(1.1, 1.1, 1.1);
+    transform: scale3d(1.1, 1.1, 1.1); }
+  40% {
+    -webkit-transform: scale3d(0.9, 0.9, 0.9);
+    transform: scale3d(0.9, 0.9, 0.9); }
+  60% {
+    opacity: 1;
+    -webkit-transform: scale3d(1.03, 1.03, 1.03);
+    transform: scale3d(1.03, 1.03, 1.03); }
+  80% {
+    -webkit-transform: scale3d(0.97, 0.97, 0.97);
+    transform: scale3d(0.97, 0.97, 0.97); }
+  100% {
+    opacity: 1;
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1); } }
+@keyframes bounceIn {
+  0%, 20%, 40%, 60%, 80%, 100% {
+    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
+  0% {
+    opacity: 0;
+    -webkit-transform: scale3d(0.3, 0.3, 0.3);
+    transform: scale3d(0.3, 0.3, 0.3); }
+  20% {
+    -webkit-transform: scale3d(1.1, 1.1, 1.1);
+    transform: scale3d(1.1, 1.1, 1.1); }
+  40% {
+    -webkit-transform: scale3d(0.9, 0.9, 0.9);
+    transform: scale3d(0.9, 0.9, 0.9); }
+  60% {
+    opacity: 1;
+    -webkit-transform: scale3d(1.03, 1.03, 1.03);
+    transform: scale3d(1.03, 1.03, 1.03); }
+  80% {
+    -webkit-transform: scale3d(0.97, 0.97, 0.97);
+    transform: scale3d(0.97, 0.97, 0.97); }
+  100% {
+    opacity: 1;
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1); } }
+.bounceIn {
+  -webkit-animation-name: bounceIn;
+  animation-name: bounceIn; }
+
+@-webkit-keyframes spin {
+  from {
+    -webkit-transform: rotate(0deg); }
+  to {
+    -webkit-transform: rotate(360deg); } }
+@keyframes spin {
+  from {
+    transform: rotate(0deg); }
+  to {
+    transform: rotate(360deg); } }
+@-webkit-keyframes pulse {
+  0% {
+    opacity: 0.25; }
+  50% {
+    opacity: 1; }
+  100% {
+    opacity: 0.25; } }
+@keyframes pulse {
+  0% {
+    opacity: 0.25; }
+  50% {
+    opacity: 1; }
+  100% {
+    opacity: 0.25; } }
+body {
+  background: #fff;
+  -webkit-font-smoothing: subpixel-antialiased;
+  font-weight: 400;
+  line-height: 1.8;
+  overflow-x: hidden; }
+  body:before {
+    content: "\f141";
+    font-family: "FontAwesome";
+    position: absolute;
+    height: 1.5em;
+    width: 1.5em;
+    line-height: 1.5;
+    text-align: center;
+    top: 50%;
+    left: 50%;
+    margin-left: -.75em;
+    margin-top: -.75em;
+    font-size: 2.618em;
+    -webkit-animation: pulse linear 1s infinite;
+    animation: pulse linear 1s infinite;
+    opacity: 1;
+    -webkit-transition: opacity, ease, 0.2s;
+    -moz-transition: opacity, ease, 0.2s;
+    transition: opacity, ease, 0.2s; }
+  body.loaded:before {
+    display: none;
+    opacity: 0; }
+
+.js .site {
+  opacity: 0; }
+
+body,
+button,
+input,
+select,
+textarea {
+  font-family: "Libre Baskerville", "Georgia", serif; }
+
+label,
+.single-product div.product .price {
+  font-weight: 400; }
+
+table thead th,
+table th {
+  font-weight: 400;
+  font-style: italic;
+  text-transform: none; }
+
+table th,
+table td {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
+table.variations th,
+table.variations td {
+  border-bottom: 0; }
+
+.site-branding,
+.site-logo-anchor,
+.site-logo-link,
+.woocommerce-active .site-branding,
+.woocommerce-active .site-logo-anchor,
+.woocommerce-active .site-logo-link {
+  margin-top: 1.618em;
+  float: none;
+  text-align: center; }
+
+.site-branding h1 {
+  font-size: 1.618em;
+  font-weight: 400;
+  letter-spacing: 3px;
+  text-transform: uppercase; }
+  .site-branding h1 a {
+    font-weight: 400;
+    padding: .857em 1.387em;
+    border: 2px solid #2b2b2b;
+    display: inline-block; }
+.site-branding a {
+  -webkit-transition: -webkit-transform, ease, 0.2s;
+  -moz-transition: -moz-transform, ease, 0.2s;
+  transition: transform, ease, 0.2s;
+  display: block; }
+  .site-branding a:hover {
+    -webkit-transform: translateY(-6px); }
+.site-branding .site-description {
+  font-style: italic;
+  font-family: "Libre Baskerville", "Georgia", serif;
+  margin-top: 1em; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-weight: 700 !important;
+  font-family: "Karla", sans-serif; }
+  h1 a,
+  h1 label,
+  h2 a,
+  h2 label,
+  h3 a,
+  h3 label,
+  h4 a,
+  h4 label,
+  h5 a,
+  h5 label,
+  h6 a,
+  h6 label {
+    font-weight: 700; }
+
+h1.page-title,
+.page h1.entry-title {
+  font-size: 2.618em; }
+
+.widget .count,
+.product-category .count {
+  font-weight: 400;
+  opacity: 0.5; }
+
+button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart, .widget-area .widget a.button, .site-header-cart .widget_shopping_cart a.button {
+  font-weight: 400 !important;
+  box-shadow: none;
+  padding: 1em 1.387em;
+  -webkit-font-smoothing: subpixel-antialiased;
+  border-radius: 0;
+  border: 2px solid #2b2b2b;
+  font-style: italic; }
+  button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .button:hover, .added_to_cart:hover, .widget-area .widget a.button:hover, .site-header-cart .widget_shopping_cart a.button:hover {
+    border: 2px solid #2b2b2b; }
+  button:after, input[type="button"]:after, input[type="reset"]:after, input[type="submit"]:after, .button:after, .added_to_cart:after, .widget-area .widget a.button:after, .site-header-cart .widget_shopping_cart a.button:after {
+    font-style: normal; }
+
+.widget-area .widget a.button {
+  padding: .618em .857em; }
+
+input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea, .input-text {
+  padding: 1em;
+  box-shadow: none; }
+
+button.alt, input[type="button"].alt, input[type="reset"].alt, input[type="submit"].alt, .button.alt, .added_to_cart.alt, .widget-area .widget a.button.alt, .added_to_cart {
+  border: 0 !important; }
+
+a {
+  font-weight: 400; }
+  a:focus {
+    outline-width: 1px; }
+
+.widget a:not(.button),
+.entry-content a:not(.button) {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
+
+.woocommerce-message a.button:hover {
+  border-width: 1px;
+  border-top: 0;
+  border-right: 0;
+  border-bottom: 0; }
+
+.site-header {
+  margin-bottom: 2.618em; }
+  .site-header .g-top-bar {
+    margin-bottom: 2em;
+    font-family: "Karla", sans-serif; }
+    .site-header .g-top-bar input {
+      font-family: "Karla", sans-serif; }
+  .site-header .site-search {
+    font-size: 1em; }
+    .site-header .site-search form:before {
+      font-size: 1em; }
+  .site-header .cart-contents {
+    width: 4em;
+    height: 4em; }
+    .site-header .cart-contents:after {
+      line-height: 4; }
+
+.site-footer {
+  position: relative; }
+
+button.menu-toggle {
+  margin-bottom: 0; }
+
+.g-primary-navigation {
+  clear: both;
+  margin-bottom: 2.618em; }
+  .g-primary-navigation::after {
+    clear: both;
+    content: "";
+    display: table; }
+  .g-primary-navigation li > ul a {
+    text-transform: none;
+    font-weight: 400; }
+
+.col-full,
+.header-widget-region {
+  box-sizing: content-box; }
+
+.header-widget-region {
+  margin: 0; }
+  .header-widget-region .widget {
+    padding-top: 2.244em; }
+
+.woocommerce-breadcrumb {
+  margin: 0 0 2em;
+  font-size: .75em;
+  font-family: "Karla", sans-serif;
+  font-weight: 900;
+  padding-top: 0;
+  text-transform: uppercase; }
+  .woocommerce-breadcrumb:before {
+    content: "\f015";
+    font-family: "FontAwesome";
+    margin-right: .53em;
+    font-weight: 400;
+    opacity: .5; }
+  .woocommerce-breadcrumb a {
+    font-family: "Libre Baskerville", "Georgia", serif;
+    font-weight: 400;
+    font-style: italic;
+    text-transform: none;
+    opacity: .5; }
+  .woocommerce-breadcrumb span {
+    font-weight: 400;
+    opacity: .25;
+    margin: 0 .237em; }
+
+.storefront-sorting {
+  padding: 0;
+  border: 0;
+  margin-bottom: 1em; }
+  .storefront-sorting .woocommerce-result-count {
+    opacity: 0.5; }
+
+.woocommerce-pagination .page-numbers li .page-numbers,
+.pagination .page-numbers li .page-numbers {
+  border: 1px solid transparent;
+  border-left-width: 1px; }
+  .woocommerce-pagination .page-numbers li .page-numbers.current,
+  .pagination .page-numbers li .page-numbers.current {
+    font-weight: 400; }
+
+.site-header-cart {
+  margin-bottom: 0; }
+
+.page-template-template-homepage .site-main {
+  padding-top: 0; }
+
+.storefront-product-section {
+  border: 0;
+  margin-bottom: 3.236em; }
+
+.hentry .entry-header {
+  border-bottom-width: 1px; }
+  .hentry .entry-header .posted-on,
+  .hentry .entry-header .byline {
+    font-style: italic;
+    opacity: .5;
+    margin-bottom: .618em;
+    display: inline-block; }
+    .hentry .entry-header .posted-on a,
+    .hentry .entry-header .byline a {
+      font-family: "Karla", sans-serif;
+      font-style: normal;
+      font-weight: 900; }
+  .hentry .entry-header .byline {
+    margin-left: 1em; }
+  .hentry .entry-header h1 {
+    border-bottom: 0; }
+.hentry .entry-meta .screen-reader-text {
+  clip: none;
+  position: static !important;
+  display: inline;
+  font-style: italic; }
+  .hentry .entry-meta .screen-reader-text:hover, .hentry .entry-meta .screen-reader-text:focus {
+    padding: 0;
+    background: none;
+    box-shadow: none;
+    font-weight: 400;
+    padding: 0;
+    line-height: 1.8; }
+.hentry .entry-meta a {
+  font-weight: 900;
+  font-family: "Karla", sans-serif;
+  font-style: none; }
+.hentry .entry-meta .cat-links,
+.hentry .entry-meta .comments-link,
+.hentry .entry-meta .tags-links,
+.hentry .entry-meta .edit-link {
+  padding-bottom: 0;
+  margin-bottom: .618em; }
+  .hentry .entry-meta .cat-links:before,
+  .hentry .entry-meta .comments-link:before,
+  .hentry .entry-meta .tags-links:before,
+  .hentry .entry-meta .edit-link:before {
+    display: none; }
+
+.term-description,
+.woocommerce .page-description {
+  margin-bottom: 2.618em; }
+
+ul.products li.product .onsale {
+  top: 1em;
+  right: 1em;
+  display: block;
+  border: 0;
+  text-align: right;
+  font-size: 1em;
+  text-transform: none;
+  position: absolute; }
+
+.price {
+  font-weight: 400 !important; }
+  .price del {
+    opacity: .5; }
+  .price ins {
+    font-weight: 400 !important; }
+
+.onsale {
+  font-weight: 400;
+  background-color: #28a8d3;
+  color: #fff;
+  border: 0; }
+
+.remove {
+  border: 0 !important; }
+
+p.stars a {
+  border-bottom: 0 !important; }
+
+.storefront-sorting {
+  font-family: "Karla", sans-serif; }
+
+.single-product div.product .summary .price {
+  margin-bottom: .618em;
+  font-weight: 900 !important; }
+  .single-product div.product .summary .price .amount {
+    opacity: 1; }
+.single-product div.product .summary .woocommerce-product-rating {
+  margin-bottom: 0;
+  border: 0; }
+.single-product div.product form.cart {
+  border: 0;
+  padding: .618em 0; }
+.single-product div.product .product_meta {
+  font-style: italic;
+  font-weight: 400; }
+  .single-product div.product .product_meta .sku,
+  .single-product div.product .product_meta a {
+    font-style: normal;
+    font-weight: 900;
+    font-family: "Karla", sans-serif;
+    text-transform: uppercase; }
+.single-product .woocommerce-tabs ul.tabs li a {
+  font-family: "Karla", sans-serif;
+  text-transform: uppercase;
+  letter-spacing: 2px; }
+.single-product .related ul.products li.product,
+.single-product .upsells ul.products li.product {
+  width: 25% !important;
+  margin-right: 0 !important; }
+
+.widget h1,
+.widget h2,
+.widget h3,
+.widget h4,
+.widget h5,
+.widget h6 {
+  font-weight: 400; }
+.widget ul li,
+.widget ol li {
+  border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+  padding-bottom: 1em;
+  margin-bottom: 1em; }
+  .widget ul li:last-child,
+  .widget ol li:last-child {
+    margin-bottom: 0;
+    padding-bottom: 0;
+    border-bottom: 0; }
+  .widget ul li a,
+  .widget ol li a {
+    border: 0 !important; }
+  .widget ul li li,
+  .widget ol li li {
+    border: 0;
+    margin-bottom: 0;
+    padding-bottom: 0; }
+.widget h3.widget-title {
+  border: 0;
+  padding-bottom: 0;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  margin-bottom: 1.618em;
+  padding-bottom: 1em;
+  border-bottom: 2px solid rgba(0, 0, 0, 0.05); }
+
+.widget-area .widget {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+  padding-bottom: 2.618em; }
+
+.product_list_widget li:last-child {
+  border: 0; }
+
+.widget_search form,
+.widget_product_search form {
+  width: 100% !important;
+  margin-right: 0 !important;
+  margin-bottom: 0; }
+  .widget_search form:before,
+  .widget_product_search form:before {
+    top: 1em; }
+
+.widget_shopping_cart ul li {
+  margin-bottom: 0; }
+.widget_shopping_cart p.total {
+  margin-top: 1em;
+  border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.site-header .widget_shopping_cart li,
+.site-header .widget_shopping_cart p.buttons,
+.site-header .widget_shopping_cart p.total {
+  padding: 1em !important;
+  margin: 0; }
+
+.site-header .widget_shopping_cart p.total {
+  border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+.woocommerce-checkout.scc-distraction-free-checkout .g-primary-navigation {
+  display: none; }
+.woocommerce-checkout.scc-distraction-free-checkout .site-header {
+  margin-bottom: 0; }
+
+.sph-hero .col-full {
+  background: transparent !important;
+  box-shadow: none; }
+
+.page-template-template-homepage .site-main .sph-hero:first-child,
+.page-template-template-homepage .site-main .sprh-hero:first-child {
+  margin-top: 0 !important; }
+
+.sd-header-sticky .site-content {
+  padding-top: 4.236em; }
+
+.sd-typography-roboto-slab .main-navigation ul.menu li a, .sd-typography-roboto-slab .main-navigation ul.nav-menu li a,
+.sd-typography-roboto-slab .woocommerce-breadcrumb,
+.sd-typography-roboto-slab .hentry .entry-meta a,
+.sd-typography-roboto-slab .site-header .g-top-bar,
+.sd-typography-roboto-slab .main-navigation ul.menu ul.sub-menu a, .sd-typography-roboto-slab .main-navigation ul.nav-menu ul.sub-menu a,
+.sd-typography-roboto-slab .storefront-sorting {
+  font-family: 'Roboto Slab'; }
+
+.sd-typography-lora .main-navigation ul.menu li a, .sd-typography-lora .main-navigation ul.nav-menu li a,
+.sd-typography-lora .woocommerce-breadcrumb,
+.sd-typography-lora .hentry .entry-meta a,
+.sd-typography-lora .site-header .g-top-bar,
+.sd-typography-lora .main-navigation ul.menu ul.sub-menu a, .sd-typography-lora .main-navigation ul.nav-menu ul.sub-menu a,
+.sd-typography-lora .storefront-sorting {
+  font-family: 'Lora'; }
+
+.sd-typography-courier .main-navigation ul.menu li a, .sd-typography-courier .main-navigation ul.nav-menu li a,
+.sd-typography-courier .woocommerce-breadcrumb,
+.sd-typography-courier .hentry .entry-meta a,
+.sd-typography-courier .site-header .g-top-bar,
+.sd-typography-courier .main-navigation ul.menu ul.sub-menu a, .sd-typography-courier .main-navigation ul.nav-menu ul.sub-menu a,
+.sd-typography-courier .storefront-sorting {
+  font-family: 'Courier'; }
+
+.sd-max-width.sd-header-sticky .site-header {
+  max-width: none; }
+
+@media screen and (min-width: 768px) {
+  .col-full {
+    max-width: 80em; }
+
+  .page-template-template-homepage-php .site-header {
+    margin-bottom: 4.236em; }
+
+  .site-header {
+    padding-top: 0;
+    margin-bottom: 1em; }
+    .site-header .site-branding,
+    .site-header .site-logo-anchor,
+    .site-header .site-logo-link {
+      width: 100%;
+      float: left;
+      margin-left: 0;
+      margin-right: 0;
+      clear: none;
+      margin-bottom: 0;
+      margin-top: 0;
+      text-align: center;
+      padding-top: 2.618em;
+      padding-bottom: 2.618em; }
+      .site-header .site-branding img,
+      .site-header .site-logo-anchor img,
+      .site-header .site-logo-link img {
+        margin: 0 auto; }
+      .site-header .site-branding h1,
+      .site-header .site-logo-anchor h1,
+      .site-header .site-logo-link h1 {
+        margin: 0; }
+    .site-header .site-branding {
+      position: relative; }
+    .site-header .g-top-bar {
+      margin-left: -55em;
+      margin-right: -55em;
+      padding-left: 55em;
+      padding-right: 55em;
+      padding-top: 0;
+      padding-bottom: 0;
+      margin-bottom: 0;
+      font-size: .857em;
+      border-top: 3px solid #2b2b2b; }
+      .site-header .g-top-bar::after {
+        clear: both;
+        content: "";
+        display: table; }
+    .site-header .site-search .widget_product_search {
+      font-size: .857em; }
+      .site-header .site-search .widget_product_search form:before {
+        left: 0;
+        top: .95em;
+        color: #2b2b2b; }
+      .site-header .site-search .widget_product_search input[type=search] {
+        background: none;
+        padding-left: 1.618em;
+        padding-top: .618em;
+        padding-bottom: .618em;
+        padding-right: 0;
+        line-height: 1.618; }
+    .site-header .main-navigation {
+      width: 100%;
+      float: left;
+      margin-left: 0;
+      margin-right: 0;
+      text-align: center; }
+    .site-header .secondary-navigation {
+      width: 100%;
+      float: left;
+      margin-left: 0;
+      margin-right: 0;
+      text-align: right;
+      margin-bottom: 0;
+      line-height: 1.618; }
+      .site-header .secondary-navigation .menu a {
+        padding-top: .618em;
+        padding-bottom: .618em; }
+
+  .woocommerce-active .site-header .g-top-bar * {
+    font-size: 1em; }
+  .woocommerce-active .site-header .g-top-bar .site-header-cart {
+    width: 13.0434782609%;
+    float: left;
+    margin-right: 4.347826087%;
+    margin-top: 3.631em; }
+  .woocommerce-active .site-header .g-top-bar .site-search {
+    width: 13.0434782609%;
+    float: left;
+    margin-right: 4.347826087%;
+    margin-top: 3.631em;
+    clear: none;
+    margin-bottom: 0; }
+    .woocommerce-active .site-header .g-top-bar .site-search form {
+      margin-bottom: 0; }
+  .woocommerce-active .site-header .site-branding,
+  .woocommerce-active .site-header .site-logo-anchor,
+  .woocommerce-active .site-header .site-logo-link {
+    width: 30.4347826087%;
+    float: left;
+    margin-right: 4.347826087%; }
+    .woocommerce-active .site-header .site-branding h1,
+    .woocommerce-active .site-header .site-logo-anchor h1,
+    .woocommerce-active .site-header .site-logo-link h1 {
+      font-size: 1.618em; }
+  .woocommerce-active .site-header .site-header-cart a.cart-contents {
+    padding: .618em 0 .618em 1.618em !important;
+    width: auto;
+    height: auto;
+    line-height: 1.618; }
+    .woocommerce-active .site-header .site-header-cart a.cart-contents .count {
+      margin-left: .327em; }
+    .woocommerce-active .site-header .site-header-cart a.cart-contents:after {
+      right: auto;
+      left: 0;
+      top: .65em;
+      line-height: 1.618; }
+  .woocommerce-active .site-header .site-header-cart .widget_shopping_cart {
+    width: 20em; }
+    .woocommerce-active .site-header .site-header-cart .widget_shopping_cart li a {
+      font-weight: 900;
+      line-height: 1.387;
+      display: block; }
+    .woocommerce-active .site-header .site-header-cart .widget_shopping_cart li .quantity {
+      font-family: "Libre Baskerville", "Georgia", serif;
+      font-style: italic;
+      font-size: .857em; }
+    .woocommerce-active .site-header .site-header-cart .widget_shopping_cart .button {
+      font-family: "Libre Baskerville", "Georgia", serif;
+      padding: .53em .857em; }
+  .woocommerce-active .site-header .main-navigation {
+    width: 100%;
+    float: left;
+    margin-left: 0;
+    margin-right: 0; }
+  .woocommerce-active .site-header .secondary-navigation {
+    width: 30.4347826087%;
+    float: right;
+    margin-right: 0;
+    margin-top: 3.631em; }
+
+  .g-primary-navigation {
+    margin-bottom: 0;
+    width: 100%;
+    float: left;
+    margin-left: 0;
+    margin-right: 0;
+    clear: none;
+    padding: .857em 0;
+    position: relative;
+    border-bottom: 1px solid #2b2b2b;
+    border-top: 1px solid #2b2b2b; }
+    .g-primary-navigation .menu {
+      font-size: .857em; }
+
+  .header-widget-region .col-full {
+    padding-top: 0;
+    padding-bottom: 0; }
+
+  .secondary-navigation {
+    font-size: .857em; }
+
+  .storefront-product-section ul.products {
+    margin-bottom: 0; }
+
+  .right-sidebar .content-area,
+  .left-sidebar .content-area {
+    padding-top: 3.631em;
+    border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+  .right-sidebar .widget-area {
+    border-left: 1px solid rgba(0, 0, 0, 0.1); }
+  .right-sidebar .widget_shopping_cart {
+    border-right: 1px solid rgba(0, 0, 0, 0.1); }
+
+  .left-sidebar .widget-area {
+    border-right: 1px solid rgba(0, 0, 0, 0.1); }
+  .left-sidebar .widget_shopping_cart {
+    border-left: 1px solid rgba(0, 0, 0, 0.1); }
+
+  .widget-area {
+    border-top: 1px solid rgba(0, 0, 0, 0.1);
+    font-size: .857em; }
+    .widget-area .widget {
+      padding: 2.244em;
+      margin-bottom: 0; }
+      .widget-area .widget .widget-title {
+        font-size: 1em; }
+      .widget-area .widget:last-child {
+        border-bottom: 0; }
+    .widget-area .widget_shopping_cart {
+      background: rgba(0, 0, 0, 0.015); }
+
+  .woocommerce-breadcrumb {
+    border: 0;
+    padding-bottom: 0;
+    margin-bottom: 1em; }
+
+  .site-main ul.products {
+    margin-left: -1em;
+    margin-right: -1em; }
+    .site-main ul.products li.product {
+      width: 33.3333%;
+      margin-right: 0%;
+      margin-bottom: 0;
+      position: relative;
+      overflow: hidden;
+      padding: 1em; }
+      .site-main ul.products li.product > a {
+        display: block;
+        overflow: hidden; }
+      .site-main ul.products li.product:nth-child(3n) {
+        width: 66.666%; }
+      .site-main ul.products li.product .button, .site-main ul.products li.product .g-product-title {
+        position: absolute; }
+      .site-main ul.products li.product .price {
+        margin: 0 0 .236em;
+        opacity: .75;
+        color: #fff; }
+        .site-main ul.products li.product .price:last-child {
+          margin-bottom: 0; }
+      .site-main ul.products li.product .g-product-title {
+        -webkit-animation-duration: .3s;
+        left: 1em;
+        bottom: 1em;
+        right: 1em;
+        padding: 1.387em 1.618em;
+        opacity: 0; }
+        .site-main ul.products li.product .g-product-title h3 {
+          margin: 0;
+          font-weight: 400;
+          font-size: 1em;
+          line-height: 1.387;
+          margin-bottom: .53em; }
+        .site-main ul.products li.product .g-product-title .star-rating {
+          margin-top: .857em;
+          font-size: .618em;
+          -webkit-font-smoothing: antialiased;
+          margin-bottom: 0;
+          opacity: 0.5; }
+        .site-main ul.products li.product .g-product-title .price {
+          font-size: .857em;
+          line-height: 1.387; }
+      .site-main ul.products li.product .button {
+        top: 50%;
+        left: 50%;
+        opacity: 0; }
+      .site-main ul.products li.product .added_to_cart {
+        display: none; }
+      .site-main ul.products li.product img {
+        -webkit-transition: all, ease, 0.2s;
+        -moz-transition: all, ease, 0.2s;
+        transition: all, ease, 0.2s;
+        margin: 0; }
+      .site-main ul.products li.product:hover img {
+        opacity: 0.25;
+        -webkit-transform: scale(1.1);
+        -moz-transform: scale(1.1);
+        -ms-transform: scale(1.1);
+        -o-transform: scale(1.1);
+        transform: scale(1.1); }
+    .site-main ul.products li.product-category a {
+      background: #fff; }
+    .site-main ul.products li.product-category .g-product-title {
+      opacity: 1;
+      top: 50%;
+      left: 50%;
+      width: auto;
+      display: inline-block;
+      bottom: auto;
+      right: auto;
+      padding: 0;
+      background: transparent;
+      padding: 1em 1.387em; }
+      .site-main ul.products li.product-category .g-product-title h3 {
+        font-family: "Libre Baskerville", "Georgia", serif;
+        font-style: italic;
+        font-size: 1.618em;
+        font-weight: 400 !important;
+        background: transparent;
+        margin: 0;
+        opacity: 0;
+        -webkit-transition: all, ease, 0.2s;
+        -moz-transition: all, ease, 0.2s;
+        transition: all, ease, 0.2s; }
+    .site-main ul.products li.product-category img {
+      opacity: 1; }
+    .site-main ul.products li.product-category:hover .g-product-title h3 {
+      opacity: 1; }
+    .site-main ul.products li.product-category:hover img {
+      opacity: .15;
+      -webkit-transform: none;
+      -moz-transform: none;
+      -ms-transform: none;
+      -o-transform: none;
+      transform: none; }
+  .site-main .columns-2 ul.products li.product {
+    width: 50%;
+    margin-right: 0%; }
+    .site-main .columns-2 ul.products li.product:nth-child(3n) {
+      width: 50%; }
+  .site-main .columns-3 ul.products li.product {
+    width: 33.333%;
+    margin-right: 0%; }
+    .site-main .columns-3 ul.products li.product:nth-child(3n) {
+      width: 33.333%; }
+  .site-main .columns-4 ul.products li.product {
+    width: 25%;
+    margin-right: 0%; }
+    .site-main .columns-4 ul.products li.product:nth-child(3n) {
+      width: 25%; }
+    .site-main .columns-4 ul.products li.product:nth-child(5n) {
+      width: 50%; }
+  .site-main .columns-5 ul.products li.product {
+    width: 20%;
+    margin-right: 0%; }
+    .site-main .columns-5 ul.products li.product:nth-child(3n) {
+      width: 40%; }
+
+  .page-template-template-homepage-php .site-main ul.products li.product {
+    width: 25%;
+    margin-right: 0; }
+  .page-template-template-homepage-php .site-main .columns-2 ul.products li.product {
+    width: 50%;
+    margin-right: 0%; }
+    .page-template-template-homepage-php .site-main .columns-2 ul.products li.product:nth-child(3n) {
+      width: 50%; }
+  .page-template-template-homepage-php .site-main .columns-3 ul.products li.product {
+    width: 33.333%;
+    margin-right: 0%; }
+    .page-template-template-homepage-php .site-main .columns-3 ul.products li.product:nth-child(3n) {
+      width: 33.333%; }
+  .page-template-template-homepage-php .site-main .columns-4 ul.products li.product {
+    width: 25%;
+    margin-right: 0%; }
+    .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(3), .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(4), .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(9), .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(10), .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(15), .page-template-template-homepage-php .site-main .columns-4 ul.products li.product:nth-child(16) {
+      width: 25%; }
+  .page-template-template-homepage-php .site-main .columns-5 ul.products li.product {
+    width: 20%;
+    margin-right: 0%; }
+    .page-template-template-homepage-php .site-main .columns-5 ul.products li.product:nth-child(3n) {
+      width: 20%; }
+
+  .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product,
+  .page-template-template-fullwidth-php .site-main ul.products li.product,
+  .storefront-full-width-content .site-main .columns-4 ul.products li.product,
+  .storefront-full-width-content .site-main ul.products li.product {
+    width: 25%;
+    margin-right: 0%; }
+    .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(3), .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(4), .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(9), .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(10), .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(15), .page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product:nth-child(16),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(3),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(4),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(9),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(10),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(15),
+    .page-template-template-fullwidth-php .site-main ul.products li.product:nth-child(16),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(3),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(4),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(9),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(10),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(15),
+    .storefront-full-width-content .site-main .columns-4 ul.products li.product:nth-child(16),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(3),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(4),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(9),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(10),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(15),
+    .storefront-full-width-content .site-main ul.products li.product:nth-child(16) {
+      width: 25%; }
+  .page-template-template-fullwidth-php .site-main .columns-2 ul.products li.product,
+  .storefront-full-width-content .site-main .columns-2 ul.products li.product {
+    width: 50%;
+    margin-right: 0%; }
+    .page-template-template-fullwidth-php .site-main .columns-2 ul.products li.product:nth-child(3n),
+    .storefront-full-width-content .site-main .columns-2 ul.products li.product:nth-child(3n) {
+      width: 50%; }
+  .page-template-template-fullwidth-php .site-main .columns-3 ul.products li.product,
+  .storefront-full-width-content .site-main .columns-3 ul.products li.product {
+    width: 33.333%;
+    margin-right: 0%; }
+    .page-template-template-fullwidth-php .site-main .columns-3 ul.products li.product:nth-child(3n),
+    .storefront-full-width-content .site-main .columns-3 ul.products li.product:nth-child(3n) {
+      width: 33.333%; }
+  .page-template-template-fullwidth-php .site-main .columns-5 ul.products li.product,
+  .storefront-full-width-content .site-main .columns-5 ul.products li.product {
+    width: 20%;
+    margin-right: 0%; }
+    .page-template-template-fullwidth-php .site-main .columns-5 ul.products li.product:nth-child(3n),
+    .storefront-full-width-content .site-main .columns-5 ul.products li.product:nth-child(3n) {
+      width: 20%; }
+  .page-template-template-fullwidth-php.single-product .related ul.products li.product,
+  .page-template-template-fullwidth-php.single-product .upsells ul.products li.product,
+  .storefront-full-width-content.single-product .related ul.products li.product,
+  .storefront-full-width-content.single-product .upsells ul.products li.product {
+    width: 25%; }
+
+  .main-navigation {
+    position: relative; }
+    .main-navigation ul.menu > li:first-child:before,
+    .main-navigation ul.menu > li:last-child:after,
+    .main-navigation ul.nav-menu > li:first-child:before,
+    .main-navigation ul.nav-menu > li:last-child:after {
+      content: "ยง";
+      position: absolute;
+      left: -2.618em;
+      top: 50%;
+      height: 1em;
+      width: 1em;
+      margin-top: -.5em;
+      opacity: 0.5;
+      font-family: "Libre Baskerville", "Georgia", serif;
+      line-height: 1;
+      text-align: center;
+      -webkit-transform: rotate(-90deg);
+      -moz-transform: rotate(-90deg);
+      -ms-transform: rotate(-90deg);
+      -o-transform: rotate(-90deg);
+      transform: rotate(-90deg);
+      font-size: .857em; }
+    .main-navigation ul.menu > li:last-child:after,
+    .main-navigation ul.nav-menu > li:last-child:after {
+      left: auto;
+      right: -2.618em;
+      -webkit-transform: rotate(90deg);
+      -moz-transform: rotate(90deg);
+      -ms-transform: rotate(90deg);
+      -o-transform: rotate(90deg);
+      transform: rotate(90deg); }
+    .main-navigation ul.menu li.current-menu-item > a,
+    .main-navigation ul.nav-menu li.current-menu-item > a {
+      background: rgba(0, 0, 0, 0.025); }
+      .main-navigation ul.menu li.current-menu-item > a:after,
+      .main-navigation ul.nav-menu li.current-menu-item > a:after {
+        font-style: normal; }
+    .main-navigation ul.menu li a,
+    .main-navigation ul.nav-menu li a {
+      font-weight: 700;
+      font-family: "Karla", sans-serif;
+      text-transform: uppercase;
+      letter-spacing: 1px; }
+    .main-navigation ul.menu ul li,
+    .main-navigation ul.nav-menu ul li {
+      background-color: transparent; }
+    .main-navigation ul.menu ul.sub-menu,
+    .main-navigation ul.nav-menu ul.sub-menu {
+      box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
+      border: 1px solid #2b2b2b;
+      left: -1px; }
+      .main-navigation ul.menu ul.sub-menu a,
+      .main-navigation ul.nav-menu ul.sub-menu a {
+        font-weight: 400;
+        font-family: "Karla", sans-serif;
+        text-transform: none;
+        letter-spacing: 0; }
+      .main-navigation ul.menu ul.sub-menu ul.sub-menu,
+      .main-navigation ul.nav-menu ul.sub-menu ul.sub-menu {
+        top: -1px; }
+    .main-navigation ul ul {
+      background: #fff; }
+
+  .site-header-cart .widget_shopping_cart {
+    border: 1px solid #2b2b2b; }
+    .site-header-cart .widget_shopping_cart li,
+    .site-header-cart .widget_shopping_cart p.buttons,
+    .site-header-cart .widget_shopping_cart p.total {
+      background-color: transparent; }
+    .site-header-cart .widget_shopping_cart li.empty {
+      padding-bottom: 1.387em; }
+
+  .woocommerce-active .site-header .site-header-cart,
+  .main-navigation {
+    padding-top: 0; }
+    .woocommerce-active .site-header .site-header-cart > li > a,
+    .woocommerce-active .site-header .site-header-cart > li .cart-contents,
+    .woocommerce-active .site-header .site-header-cart ul.menu > li > a,
+    .woocommerce-active .site-header .site-header-cart ul.menu > li .cart-contents,
+    .woocommerce-active .site-header .site-header-cart ul.nav-menu > li > a,
+    .woocommerce-active .site-header .site-header-cart ul.nav-menu > li .cart-contents,
+    .main-navigation > li > a,
+    .main-navigation > li .cart-contents,
+    .main-navigation ul.menu > li > a,
+    .main-navigation ul.menu > li .cart-contents,
+    .main-navigation ul.nav-menu > li > a,
+    .main-navigation ul.nav-menu > li .cart-contents {
+      padding: .618em 1em; }
+
+  .site-header-cart .cart-contents:after {
+    top: .618em; }
+
+  /**
+   * Cart
+   */
+  .page-template-template-fullwidth-php .woocommerce > form:not(.woocommerce-checkout) {
+    width: 65.2173913043%;
+    float: left;
+    margin-right: 4.347826087%; }
+  .page-template-template-fullwidth-php .woocommerce .cart-collaterals {
+    width: 30.4347826087%;
+    float: right;
+    margin-right: 0;
+    position: relative; }
+    .page-template-template-fullwidth-php .woocommerce .cart-collaterals .cross-sells,
+    .page-template-template-fullwidth-php .woocommerce .cart-collaterals .cart_totals {
+      width: 100%;
+      float: none; }
+
+  /**
+   * Footer
+   */
+  .sfb-footer-bar {
+    margin-bottom: 4.236em;
+    font-family: "Karla", sans-serif; }
+
+  .footer-widgets,
+  .site-info {
+    font-size: .857em;
+    border: 0;
+    border-top: 1px solid #2b2b2b; }
+
+  .site-info {
+    position: relative;
+    padding-top: 4.236em; }
+
+  .footer-widgets {
+    margin-bottom: 4.236em; }
+    .footer-widgets .widget > h3 {
+      margin-bottom: 1.387em; }
+    .footer-widgets.col-3 .block.footer-widget-3 {
+      width: 47.8260869565%;
+      float: right;
+      margin-right: 0; }
+    .footer-widgets.col-3 .block.footer-widget-1, .footer-widgets.col-3 .block.footer-widget-2 {
+      width: 21.7391304348%;
+      float: left;
+      margin-right: 4.347826087%; }
+    .footer-widgets.col-3 .block:last-child {
+      margin-right: 0; }
+
+  .widget-area .widget_text .sph-hero,
+  .widget-area .widget_text .sprh-hero {
+    margin: -2.244em !important; }
+
+  /**
+   * Storefront WooCommerce Customiser compatibility
+   */
+  .woocommerce-active.swc-header-no-cart .site-header .site-branding,
+  .woocommerce-active.swc-header-no-cart .site-header .site-logo-anchor,
+  .woocommerce-active.swc-header-no-cart .site-header .site-logo-link, .woocommerce-active.swc-header-no-search .site-header .site-branding,
+  .woocommerce-active.swc-header-no-search .site-header .site-logo-anchor,
+  .woocommerce-active.swc-header-no-search .site-header .site-logo-link {
+    margin-left: 17.3913043478%; }
+  .woocommerce-active.swc-header-no-cart.swc-header-no-search .site-header .site-branding,
+  .woocommerce-active.swc-header-no-cart.swc-header-no-search .site-header .site-logo-anchor,
+  .woocommerce-active.swc-header-no-cart.swc-header-no-search .site-header .site-logo-link {
+    margin-left: 34.7826086957%; } }
+@media screen and (min-width: 1024px) {
+  .sph-hero.full,
+  .sprh-hero.full {
+    margin-left: -4.236em;
+    margin-right: -4.236em; } }
+@media screen and (min-width: 86em) {
+  .sph-hero.full,
+  .sprh-hero.full {
+    margin-left: -55em;
+    margin-right: -55em; } }
+@media screen and (min-width: 1200px) {
+  .page-template-template-homepage-php .content-area {
+    width: 100% !important;
+    margin-right: 0;
+    border-top: 0;
+    padding-top: 0; }
+
+  .site-main ul.products li.product {
+    width: 25%;
+    margin-bottom: 0; }
+    .site-main ul.products li.product:nth-child(3n) {
+      width: 25%; }
+    .site-main ul.products li.product:nth-child(5n) {
+      width: 50%; } }
+@media screen and (min-width: 1800px) {
+  .site-main ul.products li.product {
+    width: 20%;
+    margin-bottom: 0; }
+    .site-main ul.products li.product:nth-child(3n) {
+      width: 20%; }
+    .site-main ul.products li.product:nth-child(5n) {
+      width: 40%; } }
+@media screen and (min-width: 65.141em) {
+  .col-full {
+    padding-left: 4.236em;
+    padding-right: 4.236em; } }
diff --git a/style.scss b/style.scss
new file mode 100644 (file)
index 0000000..7c3b360
--- /dev/null
@@ -0,0 +1,1605 @@
+/*
+Theme Name:            Galleria
+Theme URI:             https://wordpress.org/themes/storefront
+Description:   A Storefront child theme designed for small WooCommerce stores / storefront child theme boilerplates. Galleria features a simple, traditional design which you can customise using the settings available in the WordPress Customizer. Looking for a theme for your new WooCommerce store? Look no further than Storefront and Galleria!
+Author:                        WooThemes
+Author URI:            http://woothemes.com
+Template:              storefront
+Version:               1.0.7
+License:               GNU General Public License v2 or later
+License URI:   http://www.gnu.org/licenses/gpl-2.0.html
+Tags:                  light, dark, two-columns, right-sidebar, left-sidebar, responsive-layout, accessibility-ready
+Text Domain:   galleria
+*/
+
+
+/* =Galleria styles starts here
+-------------------------------------------------------------- */
+
+@import 'bourbon';
+@import 'susy';
+@import '../storefront/sass/utils/variables';
+@import '../storefront/sass/utils/mixins';
+@import 'css/animation';
+
+// Vars
+$sans-serif: 'Lato', sans-serif;
+$serif: 'Libre Baskerville', 'Georgia', serif;
+$headings: 'Karla', sans-serif;
+$bold: 900;
+$orange: #b84f14;
+$aqua: #28a8d3;
+
+// Begin styles
+body {
+       background: #fff;
+       -webkit-font-smoothing: subpixel-antialiased;
+       font-weight: 400;
+       line-height: 1.8;
+       overflow-x: hidden;
+
+       &:before {
+               content: "\f141";
+               font-family: "FontAwesome";
+               position: absolute;
+               height: 1.5em;
+               width: 1.5em;
+               line-height: 1.5;
+               text-align: center;
+               top: 50%;
+               left: 50%;
+               margin-left: -.75em;
+               margin-top: -.75em;
+               font-size: 2.618em;
+               -webkit-animation: pulse linear 1s infinite;
+               animation: pulse linear 1s infinite;
+               opacity: 1;
+               @include transition(opacity,ease,.2s);
+       }
+
+       &.loaded {
+               &:before {
+                       display: none;
+                       opacity: 0;
+               }
+       }
+}
+
+.js {
+       .site {
+               opacity: 0;
+       }
+}
+
+// Typography
+body,
+button,
+input,
+select,
+textarea {
+       font-family: $serif;
+}
+
+label,
+.single-product div.product .price {
+       font-weight: 400;
+}
+
+table thead th,
+table th {
+       font-weight: 400;
+       font-style: italic;
+       text-transform: none;
+}
+
+table {
+       th,
+       td {
+               border-bottom: 1px solid rgba(#000,.05);
+       }
+
+       &.variations {
+               th,
+               td {
+                       border-bottom: 0;
+               }
+       }
+}
+
+.site-branding,
+.site-logo-anchor,
+.site-logo-link,
+.woocommerce-active .site-branding,
+.woocommerce-active .site-logo-anchor,
+.woocommerce-active .site-logo-link {
+       margin-top: 1.618em;
+       float: none;
+       text-align: center;
+}
+
+.site-branding {
+       h1 {
+               font-size: 1.618em;
+               font-weight: 400;
+               letter-spacing: 3px;
+               text-transform: uppercase;
+
+               a {
+                       font-weight: 400;
+                       padding: .857em 1.387em;
+                       border: 2px solid #2b2b2b;
+                       display: inline-block;
+               }
+       }
+
+       a {
+               @include transition(transform,ease,.2s);
+               display: block;
+
+               &:hover {
+                       -webkit-transform: translateY(-6px);
+               }
+       }
+
+       .site-description {
+               font-style: italic;
+               font-family: $serif;
+               margin-top: 1em;
+       }
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       font-weight: 700 !important;
+       font-family: $headings;
+
+       a,
+       label {
+               font-weight: 700;
+       }
+}
+
+h1.page-title,
+.page h1.entry-title {
+       font-size: 2.618em;
+}
+
+.widget .count,
+.product-category .count {
+       font-weight: 400;
+       opacity: 0.5;
+}
+
+button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart, .widget-area .widget a.button, .site-header-cart .widget_shopping_cart a.button {
+       font-weight: 400 !important;
+       box-shadow: none;
+       padding: 1em 1.387em;
+       -webkit-font-smoothing: subpixel-antialiased;
+       border-radius: 0;
+       border: 2px solid #2b2b2b;
+       //font-family: $headings;
+       font-style: italic;
+
+       &:hover {
+               border: 2px solid #2b2b2b;
+       }
+
+       &:after {
+               font-style: normal;
+       }
+}
+
+.widget-area .widget a.button {
+       padding: .618em .857em;
+}
+
+input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea, .input-text {
+       padding: 1em;
+       box-shadow: none;
+}
+
+button.alt, input[type="button"].alt, input[type="reset"].alt, input[type="submit"].alt, .button.alt, .added_to_cart.alt, .widget-area .widget a.button.alt, .added_to_cart {
+       border: 0 !important;
+}
+
+a {
+       font-weight: 400;
+
+       &:focus {
+               outline-width: 1px;
+       }
+}
+
+.widget a:not(.button),
+.entry-content a:not(.button) {
+       border-bottom: 1px solid $color_border;
+}
+
+.woocommerce-message {
+       a.button:hover {
+               border-width: 1px;
+               border-top: 0;
+               border-right: 0;
+               border-bottom: 0;
+       }
+}
+
+.site-header {
+       margin-bottom: 2.618em;
+
+       .g-top-bar {
+               margin-bottom: 2em;
+               font-family: $headings;
+
+               input {
+                       font-family: $headings;
+               }
+       }
+
+       .site-search {
+               font-size: 1em;
+
+               form:before {
+                       font-size: 1em;
+               }
+       }
+
+       .cart-contents {
+               width: 4em;
+               height: 4em;
+
+               &:after {
+                       line-height: 4;
+               }
+       }
+}
+
+
+
+.site-footer {
+       position: relative;
+}
+
+// Navigation
+button.menu-toggle {
+       margin-bottom: 0;
+}
+
+.g-primary-navigation {
+       clear: both;
+       @include clearfix;
+       margin-bottom: 2.618em;
+
+       li > ul a {
+               text-transform: none;
+               font-weight: 400;
+       }
+}
+
+// Layout
+.col-full,
+.header-widget-region {
+       box-sizing: content-box;
+}
+
+.header-widget-region {
+       margin: 0;
+
+       .widget {
+               padding-top: 2.244em;
+       }
+}
+
+.woocommerce-breadcrumb {
+       margin: 0 0 2em;
+       font-size: .75em;
+       font-family: $headings;
+       font-weight: $bold;
+       padding-top: 0;
+       text-transform: uppercase;
+
+       &:before {
+               content: "\f015";
+               font-family: "FontAwesome";
+               margin-right: .53em;
+               font-weight: 400;
+               opacity: .5;
+       }
+
+       a {
+               font-family: $serif;
+               font-weight: 400;
+               font-style: italic;
+               text-transform: none;
+               opacity: .5;
+       }
+
+       span {
+               font-weight: 400;
+               opacity: .25;
+               margin: 0 .237em;
+       }
+}
+
+.storefront-sorting {
+       padding: 0;
+       border: 0;
+       margin-bottom: 1em;
+
+       .woocommerce-result-count {
+               opacity: 0.5;
+       }
+}
+
+.woocommerce-pagination,
+.pagination {
+       .page-numbers {
+               li {
+                       .page-numbers {
+                               border: 1px solid transparent;
+                               border-left-width: 1px;
+
+                               &.current {
+                                       font-weight: 400;
+                               }
+                       }
+               }
+       }
+}
+
+.site-header-cart {
+       margin-bottom: 0;
+}
+
+// Homepage template
+.page-template-template-homepage {
+       .site-main {
+               padding-top: 0;
+       }
+}
+
+.storefront-product-section {
+       border: 0;
+       margin-bottom: 3.236em;
+}
+
+// Posts
+.hentry {
+       .entry-header {
+               border-bottom-width: 1px;
+
+               .posted-on,
+               .byline {
+                       font-style: italic;
+                       opacity: .5;
+                       margin-bottom: .618em;
+                       display: inline-block;
+
+                       a {
+                               font-family: $headings;
+                               font-style: normal;
+                               font-weight: $bold;
+                       }
+               }
+
+               .byline {
+                       margin-left: 1em;
+               }
+
+               h1 {
+                       border-bottom: 0;
+               }
+       }
+
+       .entry-meta {
+               .screen-reader-text {
+                       clip: none;
+                       position: static !important;
+                       display: inline;
+                       font-style: italic;
+
+                       &:hover,
+                       &:focus {
+                               padding: 0;
+                               background: none;
+                               box-shadow: none;
+                               font-weight: 400;
+                               padding: 0;
+                               line-height: 1.8;
+                       }
+               }
+
+               a {
+                       font-weight: $bold;
+                       font-family: $headings;
+                       font-style: none;
+               }
+
+               .cat-links,
+               .comments-link,
+               .tags-links,
+               .edit-link {
+                       padding-bottom: 0;
+                       margin-bottom: .618em;
+
+                       &:before {
+                               display: none;
+                       }
+               }
+       }
+}
+
+// Products
+.term-description,
+.woocommerce .page-description {
+       margin-bottom: 2.618em;
+}
+
+ul.products {
+       li.product {
+               .onsale {
+                       top: 1em;
+                       right: 1em;
+                       display: block;
+                       border: 0;
+                       text-align: right;
+                       font-size: 1em;
+                       text-transform: none;
+                       position: absolute;
+               }
+       }
+}
+
+.price {
+       font-weight: 400 !important;
+
+       del {
+               opacity: .5;
+       }
+
+       ins {
+               font-weight: 400 !important;
+       }
+}
+
+.onsale {
+       font-weight: 400;
+       background-color: $aqua;
+       color: #fff;
+       border: 0;
+}
+
+.remove {
+       border: 0 !important;
+}
+
+p.stars {
+       a {
+               border-bottom: 0 !important;
+       }
+}
+
+.storefront-sorting {
+       font-family: $headings;
+}
+
+// Single product
+.single-product {
+       div.product {
+               .summary {
+                       .price {
+                               margin-bottom: .618em;
+                               font-weight: 900 !important;
+
+                               .amount {
+                                       opacity: 1;
+                               }
+                       }
+
+                       .woocommerce-product-rating {
+                               margin-bottom: 0;
+                               border: 0;
+                       }
+               }
+
+               form.cart {
+                       border: 0;
+                       padding: .618em 0;
+               }
+
+               .product_meta {
+                       font-style: italic;
+                       font-weight: 400;
+
+                       .sku,
+                       a {
+                               font-style: normal;
+                               font-weight: $bold;
+                               font-family: $headings;
+                               text-transform: uppercase;
+                       }
+               }
+       }
+
+       .woocommerce-tabs {
+               ul.tabs {
+                       li a {
+                               font-family: $headings;
+                               text-transform: uppercase;
+                               letter-spacing: 2px;
+                       }
+               }
+       }
+
+       .related,
+       .upsells {
+               ul.products {
+                       li.product {
+                               width: 25% !important;
+                               margin-right: 0 !important;
+                       }
+               }
+       }
+}
+
+// Widgets
+.widget {
+       h1,
+       h2,
+       h3,
+       h4,
+       h5,
+       h6 {
+               font-weight: 400;
+       }
+
+       ul,
+       ol {
+               li {
+                       border-bottom: 1px dotted rgba(#000,.1);
+                       padding-bottom: 1em;
+                       margin-bottom: 1em;
+
+                       &:last-child {
+                               margin-bottom: 0;
+                               padding-bottom: 0;
+                               border-bottom: 0;
+                       }
+
+                       a {
+                               border: 0 !important;
+                       }
+
+                       li {
+                               border: 0;
+                               margin-bottom: 0;
+                               padding-bottom: 0;
+                       }
+               }
+       }
+
+       h3.widget-title {
+               border: 0;
+               padding-bottom: 0;
+               text-transform: uppercase;
+               letter-spacing: 1px;
+               margin-bottom: 1.618em;
+               padding-bottom: 1em;
+               border-bottom: 2px solid rgba(#000,.05);
+       }
+}
+
+.widget-area {
+       .widget {
+               border-bottom: 1px solid $color_border;
+               padding-bottom: 2.618em;
+       }
+}
+
+.product_list_widget {
+       li {
+               &:last-child {
+                       border: 0;
+               }
+       }
+}
+
+.widget_search,
+.widget_product_search {
+       form {
+               width: 100% !important;
+               margin-right: 0 !important;
+               margin-bottom: 0;
+
+               &:before {
+                       top: 1em;
+               }
+       }
+}
+
+.widget_shopping_cart {
+       ul {
+               li {
+                       margin-bottom: 0;
+               }
+       }
+
+       p.total {
+               margin-top: 1em;
+               border-top: 1px solid $color_border;
+       }
+}
+
+.site-header .widget_shopping_cart li,
+.site-header .widget_shopping_cart p.buttons,
+.site-header .widget_shopping_cart p.total {
+       padding: 1em !important;
+       margin: 0;
+}
+
+.site-header .widget_shopping_cart p.total {
+       border-top: 1px solid $color_border;
+}
+
+// Checkout Customiser compatibility
+.woocommerce-checkout.scc-distraction-free-checkout {
+       .g-primary-navigation {
+               display: none;
+       }
+
+       .site-header {
+               margin-bottom: 0;
+       }
+}
+
+// Storefront Parallax Hero compatibility
+.sph-hero {
+       .col-full {
+               background: transparent !important;
+               box-shadow: none;
+       }
+}
+
+.page-template-template-homepage .site-main .sph-hero:first-child,
+.page-template-template-homepage .site-main .sprh-hero:first-child {
+       margin-top: 0 !important;
+}
+
+// Storefront Designer compatibility
+.sd-header-sticky {
+       .site-content {
+               padding-top: 4.236em;
+       }
+}
+
+.sd-typography-roboto-slab {
+       .main-navigation ul.menu li a, .main-navigation ul.nav-menu li a,
+       .woocommerce-breadcrumb,
+       .hentry .entry-meta a,
+       .site-header .g-top-bar,
+       .main-navigation ul.menu ul.sub-menu a, .main-navigation ul.nav-menu ul.sub-menu a,
+       .storefront-sorting {
+               font-family: 'Roboto Slab';
+       }
+}
+
+.sd-typography-lora {
+       .main-navigation ul.menu li a, .main-navigation ul.nav-menu li a,
+       .woocommerce-breadcrumb,
+       .hentry .entry-meta a,
+       .site-header .g-top-bar,
+       .main-navigation ul.menu ul.sub-menu a, .main-navigation ul.nav-menu ul.sub-menu a,
+       .storefront-sorting {
+               font-family: 'Lora';
+       }
+}
+
+.sd-typography-courier {
+       .main-navigation ul.menu li a, .main-navigation ul.nav-menu li a,
+       .woocommerce-breadcrumb,
+       .hentry .entry-meta a,
+       .site-header .g-top-bar,
+       .main-navigation ul.menu ul.sub-menu a, .main-navigation ul.nav-menu ul.sub-menu a,
+       .storefront-sorting {
+               font-family: 'Courier';
+       }
+}
+
+.sd-max-width.sd-header-sticky .site-header {
+       max-width: none;
+}
+
+@media screen and (min-width: 768px) {
+       .col-full {
+               max-width: 80em;
+       }
+
+       .page-template-template-homepage-php {
+               .site-header {
+                       margin-bottom: 4.236em;
+               }
+       }
+
+       .site-header {
+               padding-top: 0;
+               margin-bottom: 1em;
+
+               .site-branding,
+               .site-logo-anchor,
+               .site-logo-link {
+                       @include span(full);
+                       clear: none;
+                       margin-bottom: 0;
+                       margin-top: 0;
+                       text-align: center;
+                       padding-top: 2.618em;
+                       padding-bottom: 2.618em;
+
+                       img {
+                               margin: 0 auto;
+                       }
+
+                       h1 {
+                               margin: 0;
+                       }
+               }
+
+               .site-branding {
+                       position: relative;
+               }
+
+               .g-top-bar {
+                       @include clearfix;
+                       margin-left: -55em;
+                       margin-right: -55em;
+                       padding-left: 55em;
+                       padding-right: 55em;
+                       padding-top: 0;
+                       padding-bottom: 0;
+                       margin-bottom: 0;
+                       font-size: .857em;
+                       border-top: 3px solid #2b2b2b;
+               }
+
+               .site-search {
+                       .widget_product_search {
+                               font-size: .857em;
+
+                               form:before {
+                                       left: 0;
+                                       top: .95em;
+                                       color: #2b2b2b;
+                               }
+
+                               input[type=search] {
+                                       background: none;
+                                       padding-left: 1.618em;
+                                       padding-top: .618em;
+                                       padding-bottom: .618em;
+                                       padding-right: 0;
+                                       line-height: 1.618;
+                               }
+                       }
+               }
+
+               .main-navigation {
+                       @include span(full);
+                       text-align: center;
+               }
+
+               .secondary-navigation {
+                       @include span(full);
+                       text-align: right;
+                       margin-bottom: 0;
+                       line-height: 1.618;
+
+                       .menu {
+                               a {
+                                       padding-top: .618em;
+                                       padding-bottom: .618em;
+                               }
+                       }
+               }
+       }
+
+       .woocommerce-active {
+               .site-header {
+                       .g-top-bar {
+
+                               * {
+                                       font-size: 1em;
+                               }
+
+                               .site-header-cart {
+                                       @include span(2 of 12);
+                                       margin-top: 3.631em;
+                               }
+
+                               .site-search {
+                                       @include span(2 of 12);
+                                       margin-top: 3.631em;
+                                       clear: none;
+                                       margin-bottom: 0;
+
+                                       form {
+                                               margin-bottom: 0;
+                                       }
+                               }
+                       }
+
+                       .site-branding,
+                       .site-logo-anchor,
+                       .site-logo-link {
+                               @include span(4 of 12);
+
+                               h1 {
+                                       font-size: 1.618em;
+                               }
+                       }
+
+                       .site-header-cart {
+                               a.cart-contents {
+                                       padding: .618em 0 .618em 1.618em !important;
+                                       width: auto;
+                                       height: auto;
+                                       line-height: 1.618;
+
+                                       .count {
+                                               margin-left: .327em;
+                                       }
+
+                                       &:after {
+                                               right: auto;
+                                               left: 0;
+                                               top: .65em;
+                                               line-height: 1.618;
+                                       }
+                               }
+
+                               .widget_shopping_cart {
+                                       width: 20em;
+
+                                       li {
+                                               a {
+                                                       font-weight: $bold;
+                                                       line-height: 1.387;
+                                                       display: block;
+                                               }
+
+                                               .quantity {
+                                                       font-family: $serif;
+                                                       font-style: italic;
+                                                       font-size: .857em;
+                                               }
+                                       }
+
+                                       .button {
+                                               font-family: $serif;
+                                               padding: .53em .857em;
+                                       }
+                               }
+                       }
+
+                       .main-navigation {
+                               @include span(full);
+                       }
+
+                       .secondary-navigation {
+                               @include span(last 4 of 12);
+                               margin-top: 3.631em;
+                       }
+               }
+       }
+
+       .g-primary-navigation {
+               margin-bottom: 0;
+               @include span(full);
+               clear: none;
+               padding: .857em 0;
+               position: relative;
+               border-bottom: 1px solid #2b2b2b;
+               border-top: 1px solid #2b2b2b;
+
+               .menu {
+                       font-size: .857em;
+               }
+       }
+
+       .header-widget-region {
+               .col-full {
+                       padding-top: 0;
+                       padding-bottom: 0;
+               }
+       }
+
+       .secondary-navigation {
+               font-size: .857em;
+       }
+
+       .storefront-product-section {
+               ul.products {
+                       margin-bottom: 0;
+               }
+       }
+
+       .right-sidebar,
+       .left-sidebar {
+               .content-area {
+                       padding-top: 3.631em;
+                       border-top: 1px solid $color_border;
+               }
+       }
+
+       .right-sidebar {
+               .widget-area {
+                       border-left: 1px solid rgba(#000,0.1);
+               }
+
+               .widget_shopping_cart {
+                       border-right: 1px solid rgba(#000,0.1);
+               }
+       }
+
+       .left-sidebar {
+               .widget-area {
+                       border-right: 1px solid rgba(#000,0.1);
+               }
+
+               .widget_shopping_cart {
+                       border-left: 1px solid rgba(#000,0.1);
+               }
+       }
+
+       .widget-area {
+               border-top: 1px solid $color_border;
+               font-size: .857em;
+
+               .widget {
+                       padding: 2.244em;
+                       margin-bottom: 0;
+
+                       .widget-title {
+                               font-size: 1em;
+                       }
+
+                       &:last-child {
+                               border-bottom: 0;
+                       }
+               }
+
+               .widget_shopping_cart {
+                       background: rgba(#000,.015);
+               }
+       }
+
+       .woocommerce-breadcrumb {
+               border: 0;
+               padding-bottom: 0;
+               margin-bottom: 1em;
+       }
+
+       // Products
+       .site-main {
+               ul.products {
+                       margin-left: -1em;
+                       margin-right: -1em;
+
+                       li.product {
+                               width: 33.3333%;
+                               margin-right: 0%;
+                               margin-bottom: 0;
+                               position: relative;
+                               overflow: hidden;
+                               padding: 1em;
+
+                               > a {
+                                       display: block;
+                                       overflow: hidden;
+                               }
+
+                               &:nth-child(3n) {
+                                       width: 66.666%;
+                               }
+
+                               .button, .g-product-title {
+                                       position: absolute;
+                               }
+
+                               .price {
+                                       margin: 0 0 .236em;
+                                       opacity: .75;
+                                       color: #fff;
+
+                                       &:last-child {
+                                               margin-bottom: 0;
+                                       }
+                               }
+
+                               .g-product-title {
+                                       -webkit-animation-duration: .3s;
+                                       left: 1em;
+                                       bottom: 1em;
+                                       right: 1em;
+                                       padding: 1.387em 1.618em;
+                                       opacity: 0;
+
+                                       h3 {
+                                               margin: 0;
+                                               font-weight: 400;
+                                               font-size: 1em;
+                                               line-height: 1.387;
+                                               margin-bottom: .53em;
+                                       }
+
+                                       .star-rating {
+                                               margin-top: .857em;
+                                               font-size: .618em;
+                                               -webkit-font-smoothing: antialiased;
+                                               margin-bottom: 0;
+                                               opacity: 0.5;
+                                       }
+
+                                       .price {
+                                               font-size: .857em;
+                                               line-height: 1.387;
+                                       }
+                               }
+
+                               .button {
+                                       top: 50%;
+                                       left: 50%;
+                                       opacity: 0;
+                               }
+
+                               .added_to_cart {
+                                       display: none;
+                               }
+
+                               img {
+                                       @include transition(all,ease,.2s);
+                                       margin: 0;
+                               }
+
+                               &:hover {
+                                       img {
+                                               opacity: 0.25;
+                                               @include transform(scale(1.1));
+                                       }
+                               }
+                       }
+
+                       li.product-category {
+                               a {
+                                       background: #fff;
+                               }
+
+                               .g-product-title {
+                                       opacity: 1;
+                                       top: 50%;
+                                       left: 50%;
+                                       width: auto;
+                                       display: inline-block;
+                                       bottom: auto;
+                                       right: auto;
+                                       padding: 0;
+                                       background: transparent;
+                                       padding: 1em 1.387em;
+
+                                       h3 {
+                                               font-family: $serif;
+                                               font-style: italic;
+                                               font-size: 1.618em;
+                                               font-weight: 400 !important;
+                                               background: transparent;
+                                               margin: 0;
+                                               opacity: 0;
+                                               @include transition(all,ease,.2s);
+                                       }
+                               }
+
+                               img {
+                                       opacity: 1;
+                               }
+
+                               &:hover {
+                                       .g-product-title {
+                                               h3 {
+                                                       opacity: 1;
+                                               }
+                                       }
+
+                                       img {
+                                               opacity: .15;
+                                               @include transform(none);
+                                       }
+                               }
+                       }
+               }
+
+               .columns-2 {
+                       ul.products {
+                               li.product {
+                                       width: 50%;
+                                       margin-right: 0%;
+
+                                       &:nth-child(3n) {
+                                               width: 50%;
+                                       }
+                               }
+                       }
+               }
+
+               .columns-3 {
+                       ul.products {
+                               li.product {
+                                       width: 33.333%;
+                                       margin-right: 0%;
+
+                                       &:nth-child(3n) {
+                                               width: 33.333%;
+                                       }
+                               }
+                       }
+               }
+
+               .columns-4 {
+                       ul.products {
+                               li.product {
+                                       width: 25%;
+                                       margin-right: 0%;
+
+                                       &:nth-child(3n) {
+                                               width: 25%;
+                                       }
+
+                                       &:nth-child(5n) {
+                                               width: 50%;
+                                       }
+                               }
+                       }
+               }
+
+               .columns-5 {
+                       ul.products {
+                               li.product {
+                                       width: 20%;
+                                       margin-right: 0%;
+
+                                       &:nth-child(3n) {
+                                               width: 40%;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       .page-template-template-homepage-php {
+               .site-main {
+                       ul.products {
+                               li.product {
+                                       width: 25%;
+                                       margin-right: 0;
+                               }
+                       }
+
+                       .columns-2 {
+                               ul.products {
+                                       li.product {
+                                               width: 50%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 50%;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .columns-3 {
+                               ul.products {
+                                       li.product {
+                                               width: 33.333%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 33.333%;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .columns-4 {
+                               ul.products {
+                                       li.product {
+                                               width: 25%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3),
+                                               &:nth-child(4),
+                                               &:nth-child(9),
+                                               &:nth-child(10),
+                                               &:nth-child(15),
+                                               &:nth-child(16) {
+                                                       width: 25%;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .columns-5 {
+                               ul.products {
+                                       li.product {
+                                               width: 20%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 20%;
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+
+       .page-template-template-fullwidth-php,
+       .storefront-full-width-content {
+               .site-main {
+                       .columns-4 ul.products,
+                       ul.products {
+                               li.product {
+                                       width: 25%;
+                                       margin-right: 0%;
+
+                                       &:nth-child(3),
+                                       &:nth-child(4),
+                                       &:nth-child(9),
+                                       &:nth-child(10),
+                                       &:nth-child(15),
+                                       &:nth-child(16) {
+                                               width: 25%;
+                                       }
+                               }
+                       }
+
+                       .columns-2 {
+                               ul.products {
+                                       li.product {
+                                               width: 50%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 50%;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .columns-3 {
+                               ul.products {
+                                       li.product {
+                                               width: 33.333%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 33.333%;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .columns-5 {
+                               ul.products {
+                                       li.product {
+                                               width: 20%;
+                                               margin-right: 0%;
+
+                                               &:nth-child(3n) {
+                                                       width: 20%;
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               &.single-product {
+                       .related,
+                       .upsells {
+                               ul.products {
+                                       li.product {
+                                               width: 25%;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       .main-navigation {
+               position: relative;
+
+               ul.menu,
+               ul.nav-menu {
+                       > li:first-child:before,
+                       > li:last-child:after {
+                               content: "ยง";
+                               position: absolute;
+                               left: -2.618em;
+                               top: 50%;
+                               height: 1em;
+                               width: 1em;
+                               margin-top: -.5em;
+                               opacity: 0.5;
+                               font-family: $serif;
+                               line-height: 1;
+                               text-align: center;
+                               @include transform(rotate(-90deg));
+                               font-size: .857em;
+                       }
+
+                       > li:last-child:after {
+                               left: auto;
+                               right: -2.618em;
+                               @include transform(rotate(90deg));
+                       }
+
+                       li {
+                               &.current-menu-item {
+                                       > a {
+                                               background: rgba(#000,.025);
+
+                                               &:after {
+                                                       font-style: normal;
+                                               }
+                                       }
+                               }
+
+                               a {
+                                       font-weight: 700;
+                                       font-family: $headings;
+                                       text-transform: uppercase;
+                                       letter-spacing: 1px;
+                               }
+                       }
+
+                       ul {
+                               li {
+                                       background-color: transparent;
+                               }
+                       }
+
+                       ul.sub-menu {
+                               box-shadow: 0 1px 6px rgba(#000,.05);
+                               border: 1px solid #2b2b2b;
+                               left: -1px;
+
+                               a {
+                                       font-weight: 400;
+                                       font-family: $headings;
+                                       text-transform: none;
+                                       letter-spacing: 0;
+                               }
+
+                               ul.sub-menu {
+                                       top: -1px;
+                               }
+                       }
+               }
+
+               ul {
+                       ul {
+                               background: #fff;
+                       }
+               }
+       }
+
+       .site-header-cart {
+               .widget_shopping_cart {
+                       border: 1px solid #2b2b2b;
+
+                       li,
+                       p.buttons,
+                       p.total {
+                               background-color: transparent;
+                       }
+
+                       li.empty {
+                               padding-bottom: 1.387em;
+                       }
+               }
+       }
+
+       .woocommerce-active .site-header .site-header-cart,
+       .main-navigation {
+               padding-top: 0;
+
+               > li,
+               ul.menu > li,
+               ul.nav-menu > li {
+                       > a,
+                       .cart-contents {
+                               padding: .618em 1em;
+                       }
+               }
+       }
+
+       .site-header-cart .cart-contents:after {
+               top: .618em;
+       }
+
+       /**
+        * Cart
+        */
+       .page-template-template-fullwidth-php {
+               .woocommerce {
+                       > form:not( .woocommerce-checkout ) {
+                               @include span(8 of 12);
+                       }
+
+                       .cart-collaterals {
+                               @include span(last 4 of 12);
+                               position: relative;
+
+                               .cross-sells,
+                               .cart_totals {
+                                       width: 100%;
+                                       float: none;
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Footer
+        */
+       .sfb-footer-bar {
+               margin-bottom: 4.236em;
+               font-family: $headings;
+       }
+
+       .footer-widgets,
+       .site-info {
+               font-size: .857em;
+               border: 0;
+               border-top: 1px solid #2b2b2b;
+       }
+
+       .site-info {
+               position: relative;
+               padding-top: 4.236em;
+       }
+
+       .footer-widgets {
+               margin-bottom: 4.236em;
+
+               .widget {
+                       > h3 {
+                               margin-bottom: 1.387em;
+                       }
+               }
+
+               &.col-3 {
+                       .block {
+                               &.footer-widget-3 {
+                                       @include span(last 6 of 12);
+                               }
+
+                               &.footer-widget-1,
+                               &.footer-widget-2 {
+                                       @include span(3 of 12);
+                               }
+
+                               &:last-child {
+                                       margin-right: 0;
+                               }
+                       }
+               }
+       }
+
+       .widget-area .widget_text {
+               .sph-hero,
+               .sprh-hero {
+                       margin: -2.244em !important;
+               }
+       }
+
+       /**
+        * Storefront WooCommerce Customiser compatibility
+        */
+       .woocommerce-active {
+               &.swc-header-no-cart,
+               &.swc-header-no-search {
+                       .site-header {
+                               .site-branding,
+                               .site-logo-anchor,
+                               .site-logo-link {
+                                       @include push(2 of 12);
+                               }
+                       }
+               }
+
+               &.swc-header-no-cart.swc-header-no-search {
+                       .site-header {
+                               .site-branding,
+                               .site-logo-anchor,
+                               .site-logo-link {
+                                       @include push(4 of 12);
+                               }
+                       }
+               }
+       }
+
+}
+
+@media screen and (min-width: 1024px) {
+       .sph-hero.full,
+       .sprh-hero.full {
+               margin-left: -4.236em;
+               margin-right: -4.236em;
+       }
+}
+
+@media screen and (min-width: 86em) {
+       .sph-hero.full,
+       .sprh-hero.full {
+               margin-left: -55em;
+               margin-right: -55em;
+       }
+}
+
+@media screen and (min-width: 1200px) {
+       .page-template-template-homepage-php {
+               .content-area {
+                       width: 100% !important;
+                       margin-right: 0;
+                       border-top: 0;
+                       padding-top: 0;
+               }
+       }
+
+
+       .site-main {
+               ul.products {
+                       li.product {
+                               width: 25%;
+                               margin-bottom: 0;
+
+                               &:nth-child(3n) {
+                                       width: 25%;
+                               }
+
+                               &:nth-child(5n) {
+                                       width: 50%;
+                               }
+                       }
+               }
+       }
+}
+
+@media screen and (min-width: 1800px) {
+       .site-main {
+               ul.products {
+                       li.product {
+                               width: 20%;
+                               margin-bottom: 0;
+
+                               &:nth-child(3n) {
+                                       width: 20%;
+                               }
+
+                               &:nth-child(5n) {
+                                       width: 40%;
+                               }
+                       }
+               }
+       }
+}
+
+@media screen and (min-width: 65.141em) {
+       .col-full {
+               padding-left: 4.236em;
+               padding-right: 4.236em;
+       }
+}
\ No newline at end of file
diff --git a/theme_info.txt b/theme_info.txt
new file mode 100644 (file)
index 0000000..e38fa1b
--- /dev/null
@@ -0,0 +1,3 @@
+887931
+2429c1dde521031cd053886b15844bbf
+galleria/style.css
\ No newline at end of file