/*
Theme Name: Basic Shop
Theme URI: http://www.iograficathemes.com/downloads/basic-shop/
Author: iografica
Author URI: http://iograficathemes.com/
Description: Basic Shop is a simple, beautiful and fully customizable responsive WordPress theme.
Basic shop has a header widget area, a footer widget area and the standard sidebar on the side
With Basic Shop you can make a beautiful e-commerce website thanks to the compatibility with WooCommerce and Easy Digital Downloads and you can also display specific widgets only for shop and products page. The theme is fully integrated with Yoast Seo, Beaver Builder, NavXT Breadcrumb, WP-PageNavi and other of the most usefull and popular free and premium WordPress plugins. More advanced features and customizations are available in the premium version.
Version: 1.00
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: basic-shop
Tags: light, one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-colors, custom-menu, featured-images, theme-options

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

This theme is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
/*------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*------------------------------------------------------
normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css 
--------------------------------------------------------*/
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*--------------------------------------------------------------
# Utils
--------------------------------------------------------------*/
/*------------------------------------------------------
# VARIABLES
--------------------------------------------------------*/
/*------------------------------------------------------
# MIXINS
--------------------------------------------------------*/
.clear,
.entry-content,
.comment-content,
.site-header,
.site-content,
.site-footer {
  *zoom: 1;
}

.clear:before,
.entry-content:before,
.comment-content:before,
.site-header:before,
.site-content:before,
.site-footer:before, .clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  content: " ";
  display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

blockquote,
q {
  quotes: "" "";
}

blockquote:before, blockquote:after,
q:before,
q:after {
  content: "";
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  max-width: 100%;
  display: block;
  vertical-align: middle;
}

table, .woocommerce table.shop_attributes,
.woocommerce table.shop_table,
.woocommerce table.my_account_orders {
  border-spacing: 0;
  width: 100%;
  border-collapse: separate;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

table a, .woocommerce table.shop_attributes a,
.woocommerce table.shop_table a,
.woocommerce table.my_account_orders a {
  text-decoration: none;
}

table caption, .woocommerce table.shop_attributes caption,
.woocommerce table.shop_table caption,
.woocommerce table.my_account_orders caption {
  padding: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-weight: 700;
}

table td, .woocommerce table.shop_attributes td,
.woocommerce table.shop_table td,
.woocommerce table.my_account_orders td,
table th, .woocommerce table.shop_attributes th,
.woocommerce table.shop_table th,
.woocommerce table.my_account_orders th {
  padding: 4px 8px !important;
  padding-top: 0;
  padding-bottom: 0;
  text-align: left;
  vertical-align: top;
}

table td p:last-child, .woocommerce table.shop_attributes td p:last-child,
.woocommerce table.shop_table td p:last-child,
.woocommerce table.my_account_orders td p:last-child,
table th p:last-child, .woocommerce table.shop_attributes th p:last-child,
.woocommerce table.shop_table th p:last-child,
.woocommerce table.my_account_orders th p:last-child {
  margin-bottom: 0;
}

table thead td, .woocommerce table.shop_attributes thead td,
.woocommerce table.shop_table thead td,
.woocommerce table.my_account_orders thead td,
table thead th, .woocommerce table.shop_attributes thead th,
.woocommerce table.shop_table thead th,
.woocommerce table.my_account_orders thead th {
  text-transform: uppercase;
  padding: 8px !important;
  padding-top: 0;
  padding-bottom: 0;
  vertical-align: middle;
  background: rgba(175, 175, 175, 0.1);
}

table tbody td, .woocommerce table.shop_attributes tbody td,
.woocommerce table.shop_table tbody td,
.woocommerce table.my_account_orders tbody td,
table tbody th, .woocommerce table.shop_attributes tbody th,
.woocommerce table.shop_table tbody th,
.woocommerce table.my_account_orders tbody th {
  padding: 8px !important;
  padding-top: 0;
  padding-bottom: 0;
  vertical-align: middle;
}

table tbody tr:nth-child(2), .woocommerce table.shop_attributes tbody tr:nth-child(2),
.woocommerce table.shop_table tbody tr:nth-child(2),
.woocommerce table.my_account_orders tbody tr:nth-child(2) {
  background: rgba(180, 180, 180, 0.1);
}

table tfoot td, .woocommerce table.shop_attributes tfoot td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.my_account_orders tfoot td,
table tfoot th, .woocommerce table.shop_attributes tfoot th,
.woocommerce table.shop_table tfoot th,
.woocommerce table.my_account_orders tfoot th {
  padding: 4px 8px;
  padding-top: 0;
  padding-bottom: 0;
  vertical-align: middle;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: rgba(170, 170, 170, 0.1);
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# TYPOGRAPHY
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
  color: #666666;
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-size: 1rem;
  line-height: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-family: "Raleway", Helvetica, Arial, sans-serif;
  color: #313131;
  font-weight: 700;
  margin: 0;
  padding: 0;
}

h1 {
  font-size: 28px;
  line-height: 26px;
  font-size: 1.75rem;
  line-height: 1.625rem;
  margin-bottom: 10px;
}

h1 a {
  font-size: 28px;
  line-height: 26px;
  font-size: 1.75rem;
  line-height: 1.625rem;
  text-decoration: none;
}

h2 {
  font-size: 24px;
  line-height: 26px;
  font-size: 1.5rem;
  line-height: 1.625rem;
  margin-bottom: 10px;
}

h3 {
  font-size: 22px;
  line-height: 22px;
  font-size: 1.375rem;
  line-height: 1.375rem;
  margin-bottom: 10px;
}

h4 {
  font-size: 20px;
  line-height: 20px;
  font-size: 1.25rem;
  line-height: 1.25rem;
  margin-bottom: 8px;
}

h5 {
  font-size: 18px;
  line-height: 20px;
  font-size: 1.125rem;
  line-height: 1.25rem;
  margin-bottom: 8px;
}

h6 {
  font-size: 16px;
  line-height: 20px;
  font-size: 1rem;
  line-height: 1.25rem;
  margin-bottom: 8px;
}

p {
  margin: 0 0 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  padding: 1em 1em 1em 2em;
  margin: 1em 0;
  border-left: 2px solid #77cc6d;
  font-style: italic;
  color: #8c8c8c;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  line-height: 23px;
  font-size: 0.9375rem;
  line-height: 1.4375rem;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  line-height: 23px;
  font-size: 0.9375rem;
  line-height: 1.4375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
# LINKS
--------------------------------------------------------------*/
a {
  color: #313131;
}

a:visited {
  color: #313131;
}

a:hover, a:focus {
  color: #77cc6d;
}

/*--------------------------------------------------------------
# LAYOUT
--------------------------------------------------------------*/
.container {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 25px;
  padding-left: 25px;
}

.container:after {
  content: " ";
  display: block;
  clear: both;
}

@media (min-width: 780px) {
  #primary {
    width: 74.28571%;
    float: left;
    margin-right: 2.85714%;
  }
  #secondary {
    width: 22.85714%;
    float: right;
    margin-right: 0;
  }
  .page-template-page-sidebarleft #primary {
    width: 74.28571%;
    float: right;
    margin-right: 0;
  }
  .page-template-page-sidebarleft #secondary {
    width: 22.85714%;
    float: left;
    margin-right: 2.85714%;
  }
  .page-template-page-focus #primary {
    margin-left: 17.14286%;
    margin-right: 17.14286%;
  }
  .page-template-page-fullwidth #primary,
  .full-width-content #primary {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .woocommerce #primary {
    width: 74.28571%;
    float: left;
    margin-right: 2.85714%;
  }
  .woocommerce #secondary {
    width: 22.85714%;
    float: right;
    margin-right: 0;
  }
  .woocommerce.full-width-shop #primary {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .edd-page #primary {
    width: 74.28571%;
    float: left;
    margin-right: 2.85714%;
  }
  .edd-page #secondary {
    width: 22.85714%;
    float: right;
    margin-right: 0;
  }
  .edd-page.full-width-shop #primary {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
  .site-header .header-navigation,
  .site-header .main-navigation {
    width: 74.28571%;
    float: right;
    margin-right: 0;
  }
  .site-header .site-title,
  .site-header .site-description,
  .site-header .custom-logo-link {
    width: 22.85714%;
    float: left;
    margin-right: 2.85714%;
  }
  .type-post.col1 {
    width: 48.57143%;
    float: left;
    margin-right: 2.85714%;
  }
  .type-post.col2 {
    width: 48.57143%;
    float: right;
    margin-right: 0;
  }
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# HEADER
--------------------------------------------------------------*/
.site-header {
  background: #77cc6d;
}

.site-header h1.site-title,
.site-header .site-title,
.site-header p.site-title {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: #313131;
  padding: 0.8em 0 !important;
  margin: 0 !important;
  display: inline-block;
}

.site-header h1.site-title a,
.site-header .site-title a,
.site-header p.site-title a {
  text-decoration: none;
  color: #313131;
}

.site-header h1.site-title a:hover, .site-header h1.site-title a:focus,
.site-header .site-title a:hover,
.site-header .site-title a:focus,
.site-header p.site-title a:hover,
.site-header p.site-title a:focus {
  color: #313131;
}

.site-header p.site-description {
  color: #e1f4de;
  padding: 1em 0;
  margin: 0;
}

/*--------------------------------------------------------------
# MENUS
--------------------------------------------------------------*/
.header-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 780px) {
  .header-navigation ul {
    text-align: right;
  }
}

.header-navigation ul li {
  *float: left;
  position: relative;
  display: inline-block;
}

.header-navigation ul a {
  text-decoration: none;
  color: #e1f4de;
  padding: 1em 0 1em 1em;
  display: block;
}

.header-navigation ul a:visited {
  color: #e1f4de;
}

.header-navigation ul a:hover, .header-navigation ul a:focus {
  color: #fff;
}

.main-nav {
  background: #fff;
  clear: both;
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.main-navigation ul {
  display: none;
}

@media (min-width: 780px) {
  .main-navigation ul {
    display: block;
    list-style: none;
    text-align: right;
    margin: 0;
    padding: 0;
  }
  .main-navigation ul a {
    color: #313131;
    text-decoration: none;
    display: block;
    padding: 1.55em 0 1.55em 1em;
  }
  .main-navigation ul a:visited {
    color: #313131;
  }
  .main-navigation ul a:hover, .main-navigation ul a:focus {
    color: #77cc6d;
  }
  .main-navigation ul li {
    list-style: none;
    display: inline-block;
    margin-left: -4px;
    position: relative;
    *display: inline;
    *zoom: 1;
  }
  .main-navigation ul li:hover > ul,
  .main-navigation ul li:focus > ul {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    visibility: visible;
    display: block;
    top: 100%;
    margin-top: -1px;
  }
  .main-navigation ul ul {
    width: 200px;
    position: absolute;
    right: -1em;
    top: 110%;
    margin: 0;
    padding: 0;
    background: #fff;
    z-index: 999;
    visibility: hidden;
    display: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
  }
  .main-navigation ul ul:before {
    content: "";
    border-style: solid;
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent rgba(0, 0, 0, 0.15) transparent;
    height: 0;
    position: absolute;
    right: 25px;
    top: -9px;
    width: 0;
    cursor: pointer;
  }
  .main-navigation ul ul .menu-item-has-children:before {
    font-family: "FontAwesome";
    content: '\f104';
    position: absolute;
    top: 50%;
    left: 10px;
    height: 10px;
    line-height: 10px;
    margin-top: -5px;
  }
  .main-navigation ul ul li {
    float: none;
    display: block;
    margin: 0;
  }
  .main-navigation ul ul li:hover > ul,
  .main-navigation ul ul li:focus > ul {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
    position: absolute;
    right: 100%;
    top: 0;
    margin: -1px 0 0 0;
  }
  .main-navigation ul ul li a {
    padding: 1em;
  }
  .main-navigation ul ul ul {
    padding: 0;
  }
  .main-navigation ul ul ul:before {
    content: none;
  }
  button.menu-toggle {
    display: none;
  }
}

/* Small menu. */
.menu-toggle {
  display: block;
  margin: 0 0 25px;
}

.header-navigation ul a {
  padding: 0.8em 1em 0.8em 0;
}

.main-navigation.toggled ul {
  display: block;
  margin: 20px 0 25px;
  padding: 0;
  list-style: none;
}

.main-navigation.toggled ul li {
  float: none;
  display: block;
  width: 100%;
  padding: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-left: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
}

.main-navigation.toggled ul li:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.main-navigation.toggled ul a {
  display: block;
  text-decoration: none;
  padding: 10px 25px;
}

.main-navigation.toggled ul ul {
  margin: 0;
}

.main-navigation.toggled ul ul li {
  background: rgba(170, 170, 170, 0.1);
  border-left: none;
  border-right: none;
}

.main-navigation.toggled ul ul li:last-child {
  border-bottom: none;
}

/*--------------------------------------------------------------
# CONTENT
--------------------------------------------------------------*/
.site-content {
  padding-top: 2em;
  padding-bottom: 2em;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.archive .page-title {
  font-weight: 400;
}

.page-header {
  margin-bottom: 25px;
}

.entry-title a {
  text-decoration: none;
}

.entry-meta {
  padding: 0;
  margin: 0 0 15px;
  font-style: italic;
  font-size: 0.923em;
}

.entry-meta a {
  text-decoration: none;
}

.entry-meta .posted-on,
.entry-meta .cat-links,
.entry-meta .tags-links,
.entry-meta .author {
  margin-right: 10px;
}

.entry-meta .posted-on .fa,
.entry-meta .cat-links .fa,
.entry-meta .tags-links .fa,
.entry-meta .author .fa {
  margin: 0 5px 0 0;
}

.entry-footer {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  padding: 1em 0;
  font-style: italic;
  font-size: 0.923em;
}

.entry-footer a {
  text-decoration: none;
}

.entry-footer .comments-link {
  margin: 15px 0;
  display: block;
  font-style: normal;
}

.entry-footer .comments-link a {
  cursor: pointer;
  background: none;
  border: 1px solid #313131;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 5px 15px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  -webkit-transition: background-color 0.2s, color 0.2s;
  -moz-transition: background-color 0.2s, color 0.2s;
  -ms-transition: background-color 0.2s, color 0.2s;
  -o-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}

.entry-footer .comments-link a:hover, .entry-footer .comments-link a:focus {
  background: none;
  border-color: #77cc6d;
}

.sticky {
  display: block;
  background: rgba(170, 170, 170, 0.1);
  padding: 25px;
}

.sticky .entry-footer {
  border-bottom: none;
}

.hentry {
  margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
# ASIDES
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

/*--------------------------------------------------------------
# COMMENT
--------------------------------------------------------------*/
.comment-list {
  padding: 0;
  margin: 25px 0;
}

.comment .comment-meta .comment-author .avatar {
  padding: 0;
  margin: 5px 10px 5px 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  float: left;
}

.comment .comment-meta .comment-metadata {
  font-size: 0.923em;
}

.comment .comment-meta .comment-metadata a {
  color: #999999;
  clear: right;
}

.comment .comment-meta .comment-metadata a:visited {
  color: #999999;
}

.comment .comment-meta .comment-metadata a:hover, .comment .comment-meta .comment-metadata a:focus {
  color: #77cc6d;
}

.comment a {
  text-decoration: none;
}

.comment .comment-content {
  margin: 15px 10px 15px 74px;
  padding: 10px 20px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: rgba(255, 255, 255, 0.1);
  display: block;
}

.comment .comment-content:before {
  border-color: transparent rgba(0, 0, 0, 0.15) transparent transparent;
  border-style: solid;
  border-width: 0 15px 15px 0;
  content: "";
  height: 0;
  margin-left: -37px;
  width: 0;
}

.comment .comment-content a {
  word-wrap: break-word;
}

.comment .reply {
  margin: 10px 0;
}

.comment .reply a {
  cursor: pointer;
  background: none;
  border: 1px solid rgba(0, 0, 0, 0.15);
  display: inline-block;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 3px 15px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  margin: 0 0 25px 74px;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  -webkit-transition: background-color 0.2s, color 0.2s;
  -moz-transition: background-color 0.2s, color 0.2s;
  -ms-transition: background-color 0.2s, color 0.2s;
  -o-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}

.comment .reply a:hover, .comment .reply a:focus {
  background: none;
  border-color: #77cc6d;
}

.bypostauthor {
  display: block;
}

.comment-form-url label,
.comment-form-email label,
.comment-form-author label {
  min-width: 70px;
  display: inline-block;
}

/*--------------------------------------------------------------
# PAGINATION
--------------------------------------------------------------*/
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
  clear: both;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
  text-decoration: none;
}

.comment-navigation .nav-previous a,
.posts-navigation .nav-previous a,
.post-navigation .nav-previous a {
  text-decoration: none;
}

.comment-navigation .nav-previous:before,
.posts-navigation .nav-previous:before,
.post-navigation .nav-previous:before {
  font-family: 'FontAwesome';
  content: '\f053';
  margin-right: 10px;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

.comment-navigation .nav-next a,
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
  text-decoration: none;
}

.comment-navigation .nav-next:after,
.posts-navigation .nav-next:after,
.post-navigation .nav-next:after {
  font-family: 'FontAwesome';
  content: '\f054';
  margin-left: 10px;
}

ul.page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
  width: 100%;
  clear: both;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}

ul.page-numbers li {
  display: inline-block;
  float: left;
  margin: 0;
}

ul.page-numbers li .current,
ul.page-numbers li a {
  display: inline-block;
  padding: 5px 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  text-decoration: none;
}

.breadcrumb {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  background: rgba(170, 170, 170, 0.1);
}

.breadcrumb a {
  color: #666666;
  text-decoration: none;
}

.breadcrumb a:visited {
  color: #666666;
}

.breadcrumb a:hover, .breadcrumb a:focus {
  color: #77cc6d;
}

/*--------------------------------------------------------------
# FORMS
--------------------------------------------------------------*/
button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  background: #313131;
  border: none;
  display: inline-block;
  color: #FFFFFF;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 8px 15px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  margin: 3px 0;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  -webkit-transition: background-color 0.2s, color 0.2s;
  -moz-transition: background-color 0.2s, color 0.2s;
  -ms-transition: background-color 0.2s, color 0.2s;
  -o-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}

button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus,
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
  background: #77cc6d;
}

button:active, input[type="button"]:active, input[type="reset"]:active, input[type="submit"]:active {
  background: #313131;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  padding: 5px 10px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# MEDIA
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

.featured-img {
  padding: 0;
  margin: 0 0 25px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

/*--------------------------------------------------------------
# CAPTIONS
--------------------------------------------------------------*/
figure {
  padding: 0;
  margin: 0;
}

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
  text-align: center;
}

/*--------------------------------------------------------------
# GALLERIES
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

@media (min-width: 480px) {
  .gallery-columns-2 .gallery-item {
    max-width: 50%;
  }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
  .gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# WIDGETS
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  font-size: .95em;
}

.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget ul li {
  padding: 0;
}

.widget ul ul {
  margin-left: 20px;
}

.widget a {
  text-decoration: none;
}

/* Make sure select elements fit in widgets. */
.widget select {
  max-width: 100%;
}

.header-widgets {
  padding-top: 25px;
  padding-bottom: 25px;
  background: rgba(170, 170, 170, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.header-widgets .widget-title {
  margin-top: 0;
  padding-top: 0;
}

.footer-widgets {
  padding-top: 25px;
  padding-bottom: 25px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  background: rgba(170, 170, 170, 0.1);
}

@media (min-width: 780px) {
  .footer-widgets .widget-title,
  .header-widgets .widget-title {
    margin-top: 25px;
  }
  .footer-widgets::after,
  .header-widgets::after {
    clear: both;
    content: "";
    display: table;
  }
  .footer-widgets.col-2 .block,
  .header-widgets.col-2 .block {
    width: 48.57143%;
    float: left;
    margin-right: 2.85714%;
  }
  .footer-widgets.col-2 .block.footer-widget-2, .footer-widgets.col-2 .block.header-widget-2,
  .header-widgets.col-2 .block.footer-widget-2,
  .header-widgets.col-2 .block.header-widget-2 {
    float: right;
    margin-right: 0;
  }
  .footer-widgets.col-3 .block,
  .header-widgets.col-3 .block {
    width: 31.42857%;
    float: left;
    margin-right: 2.85714%;
  }
  .footer-widgets.col-3 .block.footer-widget-3, .footer-widgets.col-3 .block.header-widget-3,
  .header-widgets.col-3 .block.footer-widget-3,
  .header-widgets.col-3 .block.header-widget-3 {
    float: right;
    margin-right: 0;
  }
  .footer-widgets.col-4 .block,
  .header-widgets.col-4 .block {
    width: 22.85714%;
    float: left;
    margin-right: 2.85714%;
  }
  .footer-widgets.col-4 .block.footer-widget-4, .footer-widgets.col-4 .block.header-widget-4,
  .header-widgets.col-4 .block.footer-widget-4,
  .header-widgets.col-4 .block.header-widget-4 {
    float: right;
    margin-right: 0;
  }
}

.widget_nav_menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget_nav_menu ul a {
  text-decoration: none;
}

.widget_calendar table, .widget_calendar .woocommerce table.shop_attributes, .woocommerce .widget_calendar table.shop_attributes, .widget_calendar
.woocommerce table.shop_table,
.woocommerce .widget_calendar table.shop_table, .widget_calendar
.woocommerce table.my_account_orders,
.woocommerce .widget_calendar table.my_account_orders {
  margin: 0;
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.widget_calendar table #today {
  background: rgba(170, 170, 170, 0.1);
}

.widget_calendar table tr, .widget_calendar .woocommerce table.shop_attributes tr, .woocommerce .widget_calendar table.shop_attributes tr, .widget_calendar
.woocommerce table.shop_table tr,
.woocommerce .widget_calendar table.shop_table tr, .widget_calendar
.woocommerce table.my_account_orders tr,
.woocommerce .widget_calendar table.my_account_orders tr {
  background: none !important;
}

.widget_calendar table thead td, .widget_calendar .woocommerce table.shop_attributes thead td, .woocommerce .widget_calendar table.shop_attributes thead td, .widget_calendar
.woocommerce table.shop_table thead td,
.woocommerce .widget_calendar table.shop_table thead td, .widget_calendar
.woocommerce table.my_account_orders thead td,
.woocommerce .widget_calendar table.my_account_orders thead td {
  background: rgba(170, 170, 170, 0.1);
}

.widget_calendar table tbody td, .widget_calendar .woocommerce table.shop_attributes tbody td, .woocommerce .widget_calendar table.shop_attributes tbody td, .widget_calendar
.woocommerce table.shop_table tbody td,
.woocommerce .widget_calendar table.shop_table tbody td, .widget_calendar
.woocommerce table.my_account_orders tbody td,
.woocommerce .widget_calendar table.my_account_orders tbody td {
  background: none;
  padding: 4px !important;
  width: 5px;
  height: 5px;
  text-align: center;
}

.widget_calendar table tfoot td, .widget_calendar .woocommerce table.shop_attributes tfoot td, .woocommerce .widget_calendar table.shop_attributes tfoot td, .widget_calendar
.woocommerce table.shop_table tfoot td,
.woocommerce .widget_calendar table.shop_table tfoot td, .widget_calendar
.woocommerce table.my_account_orders tfoot td,
.woocommerce .widget_calendar table.my_account_orders tfoot td {
  background: rgba(170, 170, 170, 0.1);
}

.widget_recent_entries li:before {
  font-family: 'FontAwesome';
  content: '\f0f6';
  margin: 0 5px 0 2px;
}

.widget_search .search-field {
  width: 100%;
}

.widget_search .search-submit {
  width: 100%;
  margin: 10px 0;
}

.widget_archive li:before, .widget_categories li:before {
  font-family: 'FontAwesome';
  content: '\f114';
  margin: 0 5px 0 2px;
}

.widget_nav_menu ul {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-left: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
}

.widget_nav_menu ul li {
  padding: 0;
}

.widget_nav_menu ul li a {
  padding: 8px;
  margin: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  display: block;
}

.widget_nav_menu ul li a:before {
  font-family: 'FontAwesome';
  content: '\f0da';
  margin: 0 5px;
  opacity: 0.4;
  filter: alpha(opacity=40);
}

.widget_nav_menu ul ul {
  border: none;
}

.widget_nav_menu ul ul li a {
  background: rgba(170, 170, 170, 0.1);
}

/*--------------------------------------------------------------
# FOOTER
--------------------------------------------------------------*/
.site-footer {
  background: #313131;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer a {
  text-decoration: none;
  color: #cccccc;
}

.site-footer a:visited {
  color: #cccccc;
}

.site-footer a:hover, .site-footer a:focus {
  color: #77cc6d;
}

.site-footer .site-info {
  display: inline-block;
  padding: 25px 0;
}

.site-footer .social {
  background: rgba(0, 0, 0, 0.2);
  height: 44px;
  width: 44px;
  margin: 25px 4px 25px 0;
  line-height: 42px;
  vertical-align: middle;
  text-align: center;
  display: inline-block;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.site-footer .scrolltotop {
  margin: 0 0 0 4px;
  font-size: 1.2em;
}

/*--------------------------------------------------------------
# INFINITE SCROLL
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# WP PAGENAVI
--------------------------------------------------------------*/
.wp-pagenavi {
  clear: both;
  display: inline-block;
  width: 100%;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}

.wp-pagenavi .pages,
.wp-pagenavi .current,
.wp-pagenavi a {
  display: block;
  float: left;
  margin: 0;
  padding: 5px 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  text-decoration: none;
}

.widget_wp_posts_carousel .owl-next {
  margin-right: 1px !important;
}

/*--------------------------------------------------------------
# BB Builder
--------------------------------------------------------------*/
.fl-builder-bar-title img {
  display: inline-block;
}

.fl-builder .site-content .container {
  max-width: none;
  width: auto;
  margin: 0;
  padding: 0;
}

/*--------------------------------------------------------------
# WOOCOMMERCE
--------------------------------------------------------------*/
.cart-menu a:before {
  font-family: 'FontAwesome';
  content: '\f07a';
  margin-right: 5px;
}

.woocommerce a {
  text-decoration: none;
}

@media (min-width: 780px) {
  .woocommerce ul.products li.product, .woocommerce .woocommerce-page ul.products li.product {
    width: 31.42857%;
    float: left;
    margin-right: 2.85714%;
  }
  .woocommerce ul.products li.product.last,
  .woocommerce .woocommerce-page ul.products li.product.last {
    width: 31.42857%;
    float: right;
    margin-right: 0;
  }
  .woocommerce .upsells .products .product,
  .woocommerce .related .products .product {
    width: 22.85714%;
    float: left;
    margin-right: 2.85714%;
  }
  .woocommerce .upsells .products .product.last,
  .woocommerce .related .products .product.last {
    width: 22.85714%;
    float: right;
    margin-right: 0;
  }
  .woocommerce .cart-collaterals .cross-sells ul.products li.product.first {
    width: 48.57143%;
    float: left;
    margin-right: 2.85714%;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 20px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
  }
  .woocommerce .cart-collaterals .cross-sells ul.products li.product.last {
    width: 48.57143%;
    float: right;
    margin-right: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 20px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
  }
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: #77cc6d;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: #89d380;
}

.woocommerce #respond input#submit.alt:disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt:disabled {
  background-color: #b1b1b1 !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
  cursor: pointer;
  background: #313131;
  border: none;
  display: inline-block;
  color: #FFFFFF;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 8px 15px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  margin: 0;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  -webkit-transition: background-color 0.2s, color 0.2s;
  -moz-transition: background-color 0.2s, color 0.2s;
  -ms-transition: background-color 0.2s, color 0.2s;
  -o-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}

.woocommerce a.button:hover, .woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus {
  background: #77cc6d;
  color: #FFFFFF;
}

.woocommerce .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.woocommerce .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: none !important;
  display: inline-block;
  position: relative;
  z-index: 0;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 1em;
}

.woocommerce .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: .5em 0;
  font-weight: 700 !important;
  color: #7e7e7e !important;
  text-decoration: none;
}

.woocommerce .woocommerce-tabs ul.tabs li a:hover {
  text-decoration: none;
  color: #4b4b4b !important;
}

.woocommerce .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid #77cc6d !important;
}

.woocommerce .woocommerce-tabs ul.tabs li.active a {
  color: #313131 !important;
  text-shadow: inherit !important;
}

.woocommerce .woocommerce-tabs ul.tabs li.active:before {
  display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li.active:after {
  display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li:before, .woocommerce .woocommerce-tabs ul.tabs li:after {
  display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li:before {
  display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs li:after {
  display: none !important;
}

.woocommerce .woocommerce-tabs ul.tabs:before {
  display: none !important;
}

.woocommerce .woocommerce-tabs .panel {
  margin: 2em 0 2em 0 !important;
}

.woocommerce #reviews #comments ol.commentlist .comment {
  margin: 25px 0;
}

.woocommerce #reviews #comments ol.commentlist .comment .comment_container .comment-text {
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist .comment .comment_container .comment-text:before {
  border-color: transparent rgba(0, 0, 0, 0.15) transparent transparent;
  border-style: solid;
  border-width: 0 12px 12px 0;
  content: "";
  height: 0;
  margin-left: -30px;
  width: 0;
}

.woocommerce #reviews #comments ol.commentlist .comment .comment_container .avatar {
  padding: 0 !important;
  background: #fff !important;
  border-color: #fff !important;
}

.woocommerce span.onsale {
  min-height: 1.2em;
  min-width: 1.2em;
  padding: .2em .5em;
  font-size: 16px;
  line-height: 24px;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  position: absolute;
  text-align: center;
  top: -.5em;
  left: -.5em;
  margin: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 2px solid #77cc6d;
  background-color: #fff;
  color: #77cc6d;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info {
  background-color: rgba(170, 170, 170, 0.1);
}


.woocommerce table.shop_table.shop_table_responsive.cart {
  margin-bottom: 4em;
}


.woocommerce table.shop_table.shop_table_responsive.cart #coupon_code {
  width: 120px !important;
}

.woocommerce form.login,
.woocommerce form.checkout_coupon,
.woocommerce form.register {
  background: rgba(170, 170, 170, 0.1);
  border: none;
  padding: 20px;
  margin: 2em 0 2em 0px;
  text-align: left;
  border-radius: 5px;
}

.woocommerce form.checkout_coupon #coupon_code {
  width: 100%;
  margin-top: 5px;
}

.woocommerce table #coupon_code {
  width: 150px;
  line-height: 1.4;
  padding: 3px 5px;
}

.woocommerce .woocommerce-checkout #place_order,
.woocommerce #add_payment_method #place_order {
  font-weight: 700;
  font-size: 1.25em;
  padding: .8em 2em;
}

.woocommerce .woocommerce-checkout #payment,
.woocommerce #add_payment_method #payment {
  background: rgba(175, 175, 175, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods div.payment_box,
.woocommerce #add_payment_method #payment ul.payment_methods div.payment_box {
  background-color: rgba(165, 165, 165, 0.1);
}

.woocommerce .woocommerce-checkout #payment ul.payment_methods div.payment_box:before,
.woocommerce #add_payment_method #payment ul.payment_methods div.payment_box:before {
  border-bottom-color: rgba(165, 165, 165, 0.1);
  /* arrow size / color */
  top: -1em;
}

.woocommerce .upsells h2,
.woocommerce .related h2 {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  padding: 25px 0;
  font-weight: 400;
}

.woocommerce .upsells del,
.woocommerce .related del {
  display: inline-block !important;
}

.woocommerce .product .added_to_cart {
  color: #77cc6d;
  text-transform: lowercase;
}

.woocommerce .product .added_to_cart:after {
  font-family: 'FontAwesome';
  content: '\f178';
  margin-left: 5px;
}

.woocommerce .product .price {
  color: #77cc6d !important;
  font-size: 1em !important;
}

.woocommerce .product .entry-summary .price {
  font-size: 1.2em !important;
}

.woocommerce .product .entry-summary .price del {
  color: #666666;
}

.woocommerce .product .variations .reset_variations {
  color: #ea6153;
}

.woocommerce .product .woocommerce-variation-price {
  margin-bottom: 1.5em;
}

.woocommerce .product .woocommerce-variation-price .price {
  color: #666666 !important;
}

.widget_shopping_cart_content .button {
  width: 100%;
  display: block;
  margin-bottom: 10px !important;
}

.widget_shopping_cart_content .total {
  background: rgba(170, 170, 170, 0.1);
  padding: 10px !important;
}

.widget_product_categories ul {
  margin: 0;
  padding: 0;
}

.widget_product_categories ul li:before {
  font-family: 'FontAwesome';
  content: '\f114';
  margin: 0 5px 0 2px;
}

.widget_product_categories ul ul {
  margin-left: 20px;
}

/*--------------------------------------------------------------
# EDD
--------------------------------------------------------------*/
.archive .type-download {
  width: 31.42857%;
  float: left;
  margin-right: 2.85714%;
}

.archive .type-download:nth-child(3n+3) {
  float: right;
  margin-right: 0;
}

.archive .type-download .edd_download_title a {
  text-decoration: none;
}

.edd_downloads_list .edd_download_inner .edd_download_title {
  padding: 10px 0 0;
}

.edd_downloads_list .edd_download_inner .edd_download_title a {
  text-decoration: none;
}

.edd_downloads_list .edd_download_inner .edd_price_options {
  font-size: .95em;
}

.edd-submit,
#edd-purchase-button,
input[type="submit"].edd-submit {
  cursor: pointer;
  background: #313131 !important;
  border: none !important;
  display: inline-block;
  color: #FFFFFF !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 8px 15px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  margin: 0;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  font-size: 0.875rem;
  line-height: 1.375rem;
  -webkit-transition: background-color 0.2s, color 0.2s;
  -moz-transition: background-color 0.2s, color 0.2s;
  -ms-transition: background-color 0.2s, color 0.2s;
  -o-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}

.edd-submit:hover, .edd-submit:focus,
#edd-purchase-button:hover,
#edd-purchase-button:focus,
input[type="submit"].edd-submit:hover,
input[type="submit"].edd-submit:focus {
  background: #77cc6d !important;
  color: #FFFFFF !important;
}

#edd_download_pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
  width: 100%;
  clear: both;
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}

#edd_download_pagination .page-numbers {
  display: inline-block;
  float: left;
  margin: 0;
  padding: 5px 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  text-decoration: none;
}

#edd_checkout_wrap fieldset,
#edd_checkout_wrap #edd_show_discount,
#edd_checkout_wrap #edd_final_total_wrap {
  border-color: rgba(0, 0, 0, 0.15);
}

#edd_checkout_wrap #edd_show_terms,
#edd_checkout_wrap .edd-terms-agreement {
  text-decoration: none;
  margin: 8px 0;
}

#edd_checkout_wrap #edd_show_terms a,
#edd_checkout_wrap .edd-terms-agreement a {
  text-decoration: none;
}

#edd_checkout_wrap #edd-purchase-button {
  background-color: #77cc6d !important;
  font-size: 1.3em;
  padding: .8em 2em;
}

#edd_checkout_wrap #edd-purchase-button:hover {
  background-color: #89d380 !important;
}

#edd_checkout_wrap #edd_checkout_cart {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-left: none;
  border-top: none;
}

#edd_checkout_wrap #edd_checkout_cart th, #edd_checkout_wrap #edd_checkout_cart td {
  border-color: rgba(0, 0, 0, 0.15);
  border-right: none;
  border-bottom: none;
}

#edd_checkout_wrap #edd_checkout_cart td.edd_cart_actions {
  text-transform: lowercase;
}

.widget_edd_cart_widget .cart_item.edd_checkout a {
  background-color: #77cc6d;
  display: block;
  width: 100%;
  text-align: center;
  padding: 8px 15px;
  color: #fff;
}

.widget_edd_cart_widget .cart_item.edd_checkout a:hover {
  background-color: #89d380;
  color: #fff;
}

.widget_edd_cart_widget .edd-cart-number-of-items {
  margin-bottom: 5px;
  background: #f9f9f9;
  padding: 5px 0;
  text-align: center;
  font-style: normal;
  font-size: .9em;
}

.widget_edd_cart_widget .edd-cart-item-title {
  font-weight: 700;
  color: #313131;
}

.widget_edd_cart_widget .edd-cart-item {
  font-size: .9em;
  background: rgba(255, 255, 255, 0.25);
  padding: 5px 10px;
}

.widget_edd_cart_widget .edd-cart-item-price {
  color: #77cc6d;
}

.widget_edd_cart_widget .edd_total {
  padding: 5px;
  text-align: center;
}

.widget_edd_categories_tags_widget ul {
  margin: 0;
  padding: 0;
}

.widget_edd_categories_tags_widget ul li:before {
  font-family: 'FontAwesome';
  content: '\f114';
  margin: 0 5px 0 2px;
}

.widget_edd_categories_tags_widget ul ul {
  margin-left: 20px;
}

/*--------------------------------------------------------------
# Extra
--------------------------------------------------------------*/
/*------------------------------------------------------
# MAGNIFIC POPUP 1.1.0
--------------------------------------------------------*/
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
