
  /*/////////////*/
 /*// General //*/
/*/////////////*/

html {
    overflow-y: scroll; /* we always want the scrollbar so it is less jarring when the search overlay opens/closes */
}

#content {
	padding-top: 25px;
    padding-bottom: 25px;
}

.full-width {
	padding: 0 !important;
}

.full-width #inner-content {
	max-width: 100%;
}

p:empty {
    display: none;
}

.column, .columns {
    min-height: 1px;
}

/* we don't want the last item to be to the right */
.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}


  /*///////////////////////////*/
 /*// Typography and Inputs //*/
/*///////////////////////////*/

body, h1, h2, h3, h4, h5, h6 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    color: #111;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 200;
}

a {
	color: #333;
	transition: all .1s ease-in-out;
    text-decoration: underline;
    text-decoration-style: dotted;
}

a:hover, a:active, a:focus {
    color: #000;
    text-decoration-style: solid;
}

input, [type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color], textarea {
    border: 1px solid #999999;
    line-height: 1;
}

input:focus,
[type=text]:focus,
[type=password]:focus,
[type=date]:focus,
[type=datetime]:focus,
[type=datetime-local]:focus,
[type=month]:focus,
[type=week]:focus,
[type=email]:focus,
[type=number]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=time]:focus,
[type=url]:focus,
[type=color]:focus,
textarea:focus {
    border: 1px solid #333333;
}

.button {
    background: #22A7F0;
    color: #fff;
    text-decoration: none;
    border: 1px solid transparent ;
}

.button:hover, .button:active, .button:focus {
    text-decoration: none;
    border: 1px solid transparent;
}

.button:hover {
    background: #0287d0;
}

.button:active {
    background: #0067b0;
}

.button:focus {
    background: #0057a0;
}

.button.transparent {
	background: transparent;
}

.button.transparent:hover {
	color: #ccc;
}

.page-title, .section-title, .archive-title {
  text-align: center;
}

dl, ol, ul {
    list-style-position: inside;
    margin-left: 20px;
}


  /*//////////////*/
 /*// Top Menu //*/
/*//////////////*/

.header {
    font-size: 105%;
    font-weight: 600;
    line-height: 1rem !important;
    position: relative;
    z-index: 2000;
}

.header a {
    text-decoration: none;
    margin: 0;
}

.header .button {
    padding: 0.6rem 1rem;
    font-size: inherit;
}

.header i {
    margin-right: 7px !important;
}

#header-a {
    padding: 0.7rem 0;
    background: #ffffff;
    color: #111111;
}

#header-a > .row {
    display: flex;
    align-items: center;
}

#header-a .menu-right {
    display: flex;
    margin-left: auto;
    text-transform: uppercase;
}

#header-a li {
    padding: 0.7rem 0 0.7rem 1rem;
}

#header-a a {
    padding: 0; 
    color: #111111;
}

#header-a a:hover {
	color: #555555;
}

#header-a a:active {
	color: #666666;
}

#header-a .dropdown.menu .submenu > li {
    /*background: #2a2a2a;*/
    font-size: 90%;
    text-transform: none;
}

#header-a a:after {
    display: none; /* hide blue arrows */
}

#header-a .logo {
    width: auto;
    padding: 0.2rem 0.2rem 0.2rem 0;
}

#header-a input {
    margin: 0;
    max-width: none;
    height: 45px;
}

.dgwt-wcas-open input {
    padding-right: 40px !important;
}

@media all and (max-width: 40em) {
    #header-a .dgwt-wcas-suggestions-wrapp {
        width: 90vw !important;
        right: 0;
    }
}


#header-b {
    background: #EEEEEE;
    color: #111111;
    font-weight: 400;
    font-size: 13px;
}

#header-b a {
    color: #111111;
}

#header-b a:hover {
    /*background: #DDDDDD;*/
}

#header-b a:active,
#header-b a:focus {
/*background: #CCCCCC;*/
}

#header-b .flex-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#header-b ul {
    margin: 0;
    text-align: right;
    list-style-type: none;
    font-size: 0.8rem;
    line-height: 1rem;
}

#header-b ul li {
    display: inline;
}

#header-b ul li a {
    height: 100%;
    display: inline-block;
}

#header-b ul li a,
#header-b .phone {
    padding: 0.7rem 0;
    margin-left: 1rem;
}

#header-b .phone {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.6px;
    float: left;
    padding-left: 0;
    margin: 0;
}

.cart-header {
    font-weight: 600;
    font-size: 1rem;
}

#header-c {
    background: #eee;
}

#header-c .menu > li > a {
    padding: 0.7rem 0;
    margin-right: 1rem;
}

.dgwt-wcas-search-wrapp {
    min-width: auto !important;
}


  /*////////////*/
 /*// Footer //*/
/*////////////*/

.footer {
	background: #111;
	padding: 60px 0;
    color: #999;
}

.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
    color: #999;
}

.footer a {
	color: #999;
}

.footer a:active, .footer a:hover, .footer a:focus  {
	color: #fff;
}

.footer li {
	display: list-item;
	padding: 0 0 5px 5px;
    line-height: 1.1;
}

.footer li a {
    padding: 0;
    display: inline;
}

.footer-simple {
    text-align: center;
    display: inline-block;
    width: 100%;
}

.footer-simple p {
    margin: 0;
    margin-top: 20px;
}

.footer-simple ul {
    max-width: 45rem;
    margin: 10px auto 0 auto;
}

.footer-simple li {
    display: inline;
    padding: 0 10px;
}

.footer-simple .footer-logo {
    opacity: 0.5;
}

.footer-simple .footer-logo:hover {
    opacity: 0.75;
}

.footer-simple .footer-logo:active,
.footer-simple .footer-logo:focus {
    opacity: 0.8;
}

.footer-guarantee {
    background: #eee;
    color: #111;
    padding: 30px 0;
}

.footer-guarantee-inner {    
    max-width: 68rem;
    margin: 0 auto;
}

.footer-guarantee img {
    width: 35px;
}

.footer-guarantee span {
    margin-left: 5px;
    font-size: 0.7rem;
}

.footer-guarantee .column {
    text-align: center;
    margin-bottom: 10px;
}

@media screen and (min-width: 40em) {

    .footer-guarantee .column {
        padding-right: .5rem;
        padding-left: .5rem;
    }

    .footer-guarantee .column:nth-of-type(1) {
        text-align: left;
    }
    
    .footer-guarantee .column:nth-of-type(2) {
        text-align: center;
    }

    .footer-guarantee .column:nth-of-type(3) {
        text-align: right;
    }
}

@media screen and (min-width: 64em) {
    .footer-guarantee img {
        width: 50px;
    }

    .footer-guarantee span {
        margin-left: 10px;
        font-size: 0.9rem;
    }
}

  /*///////////*/
 /*// Error //*/
/*///////////*/

#post-not-found {
    text-align: center;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
} 

#post-not-found .search {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 350px;
}


  /*///////////////////*/
 /*// Landing Pages //*/
/*///////////////////*/

.full-width br {
    display: none;
}

.full-width .elementor br {
    display: block;
}

.full-width #inner-content {
    padding-bottom: 0 !important;
}

.full-width .button {
    margin: 5px;
}

.full-width .cta {
    margin-top: 30px;
}

.full-width .cta .button {
    margin-bottom: 0;
}

.full-width blockquote {
	text-align: left;
	color: #fff;
}

.full-width blockquote span {
	display: block;
	margin-top: 20px;
	color: #eee;
	font-weight: 200;
}

.full-width h1, .full-width h2, .full-width h3 {
    margin: 15px 0;
}

.full-width h1 {
    font-size: 1.75rem;
    font-weight: 400;
}

.full-width h2 {
    font-size: 1.5rem;
}

.full-width h3 {
    font-size: 1.4rem;
}

@media screen and (min-width: 40em) {
    .full-width h1 {
        font-size: 2rem;
        font-weight: 400;
    }

    .full-width h2 {
        font-size: 1.75rem;
    }

    .full-width h3 {
        font-size: 1.5rem;
    }
}

@media screen and (min-width: 64em) {
    .full-width h1 {
        font-size: 2.5rem;
    }

    .full-width h2 {
        font-size: 2rem;
    }

    .full-width h3 {
        font-size: 1.75rem;
    }
}

.full-width .subline {
	margin: 0 auto 40px auto;
    max-width: 750px;
}

.full-width .hero {
	text-align: left;
}

.full-width .hero h1 {
	font-weight: 500 !important;
}
.full-width .hero h1,
.full-width .hero h2, 
.full-width .hero h3, 
.full-width .hero h4,
.full-width .hero h5,
.full-width .hero h6 {
	margin-bottom: 0 !important;
}

.full-width .hero h5 {
	/* this is for the price */
	margin-top: 10px;
}

.full-width .hero .button {
	margin-top: 20px;
}

.full-width .hero img {
	padding: 0 !important;
	margin: 0;
}

.overlay {
    text-align: center;
    background-size: cover !important;
    background-position: center center !important;
    position: relative;
    padding: 20px;
}

.overlay.nopadding {
    padding: 0;
}

.overlay .row {
    position: relative;
}

.overlay::before {
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: 0.85;
}

.overlay.odd, .overlay.odd::before {
    background: #fff;
    color: #111;
}

.overlay.odd a {
	color: #333;
}

.overlay.odd .icon {
    border-color: #888;
}

.overlay.even, .overlay.even::before {
    background: #171717;
    color: #fff;
}

.overlay.even a {
	color: #DDD;
}

.overlay.even .icon {
    border-color: #EEE;
}

.overlay.top {
    margin-top: 25x;
    padding: 100px 20px;
    
    text-align: center;
    
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.overlay.top::before {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.overlay.top h1, .overlay.top p,
.overlay.middle h1, .overlay.middle p {
    margin: auto !important;
    padding: 0 !important;
}

.overlay.middle {
    margin-top: 25x;
    padding: 100px 20px;
    text-align: center;
}

.overlay.single,
.overlay.single::before {
    border-radius: 20px;
}

.overlay.bottom {
    margin-bottom: 25px;
    color: #111;
    background: #eee !important;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.overlay.bottom::before {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.thin-title {
    padding: 20px;
}

.thin-title h1,
.thin-title h2 {
    margin: 0 !important;
}


   /*///////////*/
  /*// Icons //*/
 /*///////////*/

@media only screen and (max-width: 64.063em) {
	.icon {
		margin-bottom: 40px;
	}
}

.icon i {
	height: 200px;
	width: 200px;
	display: inline-block;
	border: 5px solid rgb(255, 255, 255);
	border-radius: 50%;
	background-position: center center;
	background-size: 200px 200px;
	background-repeat: no-repeat;
	margin-bottom: 15px;
}
.icon p {
	max-width: 260px;	
	margin: 0 auto;
}

.icon h5 {
	font-weight: 800;
}

.overlay .button {
    margin-right: 0;
}

   /*////////////////*/
  /*// Side Icons //*/
 /*////////////////*/

.icon-list {
    text-align: left;
}

.icon-list .column, .icon-list .columns {
    margin: 10px 0;
}

.icon-list .left-icon {
    width: 50px;
    float: left;
	margin: 0 20px;
}


  /*///////////////////*/
 /*// Pricing Table //*/
/*///////////////////*/

.pricing_item {
	padding: 2em 4em;
	margin: 1em;
    max-width: 350px;
	width: 90%;
	display: inline-block;
	background: #f0f0f0;
	color: #111;
	vertical-align:top;
}

@media screen and (min-width: 66.250em) {
	.pricing_item.scaled {
        transform: scale(1.05);
    }
}

.pricing_title {
	font-size: 200%;
	margin: 0;
	padding: 0;
	color: #111 !important;
}

.pricing_price {
    font-size: 2em;
	margin: 15px 0;
	font-weight: bold;
	-webkit-transition: background-color 0.3s, color 0.3s;
	transition: background-color 0.3s, color 0.3s;
}

.pricing_currency {
	font-size: 0.5em;
	vertical-align: super;
}

.pricing_period {
	font-size: 0.35em;
	padding: 0 0 0 0.5em;
	color: #646D5B;
}

.pricing_subtitle {
	padding: 0;
	margin: 0 0 0px 0;
	color: #111 !important;
}

.pricing_content ul {
	margin: 0;
	padding: 0 0 30px 0;
	list-style: none;
	text-align: center;
	font-size: 90%;
	color: #81867D;
}

.pricing_content li {
	padding: 0.25em;
}

.pricing_item .button {
    margin-right: 0;
}


  /*/////////////////////*/
 /*// Off canvas menu //*/
/*/////////////////////*/

.off-canvas {
    background: #333333;
}

.offcanvas-menu {
    background: #333; 
    color: #eee;
}

.offcanvas-menu a, .offcanvas-menu a:focus {
    color: #eee;
    text-decoration: none;
    padding: 20px !important;
}

.offcanvas-menu a:hover,.offcanvas-menu a:active {
    background: #222;
    color: #fff !important;
}

.offcanvas-menu li {
    padding: 0;
}

.is-accordion-submenu-parent > a::after {
    border-color: #eee transparent transparent !important;
}


   /*/////////////////*/
  /*// WooCommerce //*/
 /*/////////////////*/

.products .product {
    padding: 15px;
    background: #fff;
    color: #111;
    text-align: left;
    position: relative;
    border: solid 1px #ccc;
}

.products .product:hover{
    border-color: #000;
}

.product img {
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.woocommerce-main-image img {
    width: 100%;
}

.product p {
    line-height: 1.5;
    padding: 0;
    color: #414141;
}

.product .category {
    font-weight: 200;
    font-size: 90%;
}

.product .featured-price, .product .category, .product .buy {
    margin-bottom: 0;
}

.product .name {
    font-weight: 600;
    margin-bottom: 5px;
}

.product-page .price {
    color: #000 !important;
    font-size: 1.2rem !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

.product-page .quantity input {
    height: auto;
    margin-right: 10px;
}

.free-shipping {
    border-radius: 5px;
    height: 40px;
    text-align: center;
    padding: 5px 10px;
    margin-top: 10px;
    line-height: 30px;
    float: left;
    font-size: 15px;
    border: 1px solid #e0dbdb;
}

.product .buy .added_to_cart {
    display: inline;
    vertical-align: middle;
    padding: 0;
    margin: 0;
    margin-left: 5px;
}

.product_title {
    margin-bottom: 0 !important;
    font-size: 210%;
}

.product .cart {
    margin-top: 1em;
    margin-bottom: 1.75em !important;
}

.product-page .cart .button, .product-page .quantity input {
    line-height: 1.5rem;
    padding: .618em 1em;
}

.product .product_meta {
    font-size: 70%;
    color: #777;
}

.product .sku_wrapper {
    margin-right: 15px;
}

.product .product-meta a {
    color: #777;
}

.product .product-brand {
    margin-right: 0 !important;
}

.sale-circle {
    top: 0;
    right: 0;
    left: auto;
    margin: -.5em -.5em 0 0;
    position: absolute;
    width: 55px;
    height: 55px;
    border-radius: 250px;
    font-weight: 600;
    color:#fff;
    line-height: 55px;
    text-align: center;
    font-size: 18px;
    background: #FF1317;
}

.product-page .sale-circle {
    top: -5px;
    right: auto;
    left: -5px;
}

.products-archive {
    width: 100%;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0.4rem 0.4rem 0;
}

.woocommerce-ordering select {
    margin: 0;
}

.products-archive .item,
.woocommerce ul.products li.product {
    padding: 15px;
}

.woocommerce ul.products li.product .button {
    margin: 0;
}

.products-archive a,
.woocommerce ul.products li.product a {
    text-decoration: none;
}

.products-archive .product:hover
.woocommerce ul.products li.product:hover {
    background: #f3f3f3;
}

.products-archive h2,
.question-inner .products-archive h2,
.woocommerce ul.products li.product h2 {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.1;
    margin-top: 0;
    margin-bottom: 10px;
    word-wrap: break-word;
}

.products-archive .woocommerce-product-details__short-description,
.woocommerce ul.products li.product .woocommerce-product-details__short-description {
    margin-bottom: 10px;
}

.products-archive .woocommerce-product-details__short-description p,
.woocommerce ul.products li.product .woocommerce-product-details__short-description {
    margin-bottom:0;
    font-size: 0.9rem;
}

.products-archive .price p,
.woocommerce ul.products li.product .price p {
    margin: 0;
}

.products-archive .variable-from,
.woocommerce ul.products li.product .variable-from {
	display: none;
}

.products-archive .prices-and-button,
.woocommerce ul.products li.product .prices-and-button {
    position: relative;
    margin-top: 15px;
    min-height: 40px;
}

.products-archive .price .amount,
.woocommerce ul.products li.product .price .amount {
    font-size: 1.1rem;
    font-weight:600;
    margin: 0;
}

.products-archive .price del .amount,
.woocommerce ul.products li.product .price del .amount {
    font-size: 15px;
}

.products-archive .buy,
.woocommerce ul.products li.product .buy {
    margin-top: 10px;
}

@media screen and (max-width: 39.9375em) {
    .products-archive .item,
    .woocommerce ul.products li.product {
        width: 100% !important;
    }
}

.wc-proceed-to-checkout-top {
    padding: 0 0 1em 0;
}

.wc-proceed-to-checkout-top a.button {
    display: block;
    text-align: center;
    font-size: 1.25em;
    padding: 1em 0;
}

@media screen and (min-width: 55em) {

    .woocommerce-cart-form {
        width: 59%;
        display: inline-block;
        vertical-align: top;
        padding-right: 30px;
    }

    .woocommerce .cart-collaterals {
        width: 40%;
        display: inline-block;
        background: #eee;
        padding: 20px;
    }

    .woocommerce .cart-collaterals .cart_totals {
        width: auto;
        float: none;
        vertical-align: top;
    }

    .woocommerce .cart-collaterals .cart_totals h2 {
        margin-top: 0;
        display: none;
    }

    .woocommerce-cart .wc-proceed-to-checkout {
        padding-bottom: 0;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        margin: 0;
    }
}

.woocommerce-cart .cross-sells .item {
	width: 50%;
}

.item.list img {
    float: left;
    width: 100px;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-weight: inherit;
    border-radius: unset;
}

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
    width: 100%;
    float: none;
}

.tabs {
    border-width: 0;
}

/* Variations */
.variations_form td {
    display: list-item;
    list-style: none;
    padding: 0;
}

.variations_form .label {
    background: transparent;
}

.variations select {
    min-width: 0 !important;
    padding-right: 40px; /* for the arrow */
}

/*** cart page ***/

.sb-cart-edit-link, .shipping-calculator-button, .showcoupon {
    text-decoration: underline;
    color: #555;
}

.woocommerce tbody tr:nth-child(2n) {
    background: transparent;
}

.woocommerce-cart table.cart img {
    width: 60px;
}

.shop_table .actions, .shop_table thead {
    background: #f5f1f1;
    color: #0a0a0a;
}

#coupon_code {
    padding: .618em;
    height: auto;
    min-width: 125px;
}

@media screen and (max-width: 768px) {
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
    .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        /* on mobile we want the darker bg colours */
        background-color: #f2f2f2;
    }
}

/** 
    Checkout Page 
**/

#billing_email_field {
    width: 100%;
}

#billing_phone_field {
    float: left;
}

#billing_postcode {
    width: 47%;
}

#shipping_postcode {
    width: 47%;
}

#ship-to-different-address {
    margin-bottom: 20px;
}

/**
    Featured Item: 
        Black button around an icon and title.
        eg for product categories
 **/
.on-featured-item {
    background: rgba(255, 255, 255, 0.075) none repeat scroll 0% 0%;
    display: block;
    margin: 0px;
    margin-bottom: 20px;
    border-radius: 10px;
    padding: 20px;
    color: inherit;
    font-weight: 200;
}

.on-featured-item img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
	width: 100px;
}
.on-featured-item:hover, .on-featured-item:active, .on-feature-item:focus {
    background: rgba(255, 255, 255, 0.125) none repeat scroll 0% 0%;
    color: inherit;
}

.on-featured-item.dark {
	background: #1F1F1F;
	color: #fff !important;
}

.on-featured-item.dark:hover, .on-featured-item.dark:active, .on-feature-item.dark:focus {
	background: #303030;
}

/**
    Featured Product: 
        White around product
        (eg products page)
 **/

.featured-product {
    margin-bottom: 25px;
    padding: 30px;
    
    background: white none repeat scroll 0% 0%;
    border-radius: 20px;
}

.featured-product img {
    padding: 5px 20px;
	width: 250px;
}

.featured-product p {
    font-size: 85%;
}

.featured-product .button {
	margin: 0;
	margin-top: 10px;
    float: none;
}

.featured-product-inner {
    min-height: 360px;
}

.featured-product ul {
    margin: 0;
    opacity: 0.7;
    font-size: 90%;
    list-style-type: none;
}


  /*/////////////*/
 /*// Article //*/
/*/////////////*/

.single-post #content {
    padding-bottom: 0;
}

.single-post #inner-content {
	max-width: 100%;
}

.single-post main {
	padding: 0;
}

.type-post .article-meta,
.type-post .article-header,
.type-post .entry-content,
.type-post .article-footer,
.type-post #disqus_thread,
.type-post #comments {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 20px;
}

.type-post.normal .article-meta,
.type-post.normal .article-header,
.type-post.normal .entry-content,
.type-post.normal .article-footer,
.type-post.normal #disqus_thread {
	max-width: none;
}

.type-post .article-meta {
	display: flex;
}

.type-post .author-photo {
	width: 50px;
	height: 50px;
	background: #ddd;
	border-radius: 50px;
	overflow: hidden;
	flex: 0 0 auto;
}

.type-post .author-details {
	line-height: 1.2;
	font-size: 13px;
	padding-left: 10px;
	color: #888;
}

.type-post .author-details a {
	color: #777;
}

.type-post .author-details a:hover {
	color: #999;
}

.type-post .author-details p {
    margin-bottom: 0;
}

.type-post .author-name {
	font-size: 16px;
	color: #444
}

.type-post .entry-title {
	text-align: left;
    margin: 10px 0 0 0 !important;
}

.type-post .entry-hero-image {
	margin: 0 auto;
	max-width: 100%;
	overflow: hidden;
}

.type-post .entry-hero-image img {
    margin: 20px auto 10px auto;
    display: block;
}

.type-post .entry-content {
	padding: 20px;
}

.entry-content h1:first-child {
  margin-top: 0;
}

.type-post .article-footer-wrapper {
	padding: 0;
	background: #f5f5f5;
}

.type-post .tags a {
    color: rgba(0,0,0,0.6);
    background: rgba(0,0,0,.075);
    text-decoration: none;
    padding: 5px 10px;
    border-radius: 3px;
    margin-right: 5px;
    font-size: 14px;
}

.type-post .tags a:hover {
    background: rgba(0,0,0,.1);
    color: rgba(0,0,0,.6);
}

.type-post #disqus_thread {
    padding-bottom: 30px; 
}

.type-post h1 {
	font-size: 2.4rem;
	line-height: 1;
	margin-top: 30px;
}

.type-post h2 {
	font-size: 2.0rem;
	line-height: 1;
	margin-top: 27px;
}

.type-post h3 {
	font-size: 1.75rem;
	line-height: 1;
	margin-top: 25px;
}

.type-post h4 {
	font-size: 1.60rem;
	line-height: 1;
	margin-top: 20px;
    margin-bottom: 0.3rem;
}

.type-post h5 {
	font-size: 1.40rem;
	line-height: 1;
	margin-top: 15px;
    margin-bottom: 0.2rem;
}

.type-post h6 {
	font-size: 1.20rem;
	line-height: 1;
	margin-top: 10px;
    margin-bottom: 0.1rem
}

.type-post .page-title {
    margin-top: 0;
}

.type-post h1, .type-post h2, .type-post h3, .type-post h4, .type-post h5, .type-post h6 {
	font-weight: 700;
}

.type-post blockquote p {
	color: #6f6e6e;
}

.type-post .wp-caption-text {
	font-size: 0.85rem;
	font-weight: 400;
}

.type-post .wp-caption {
	margin: 10px;
	text-align: center;
}

.type-post .alignleft, .type-post .aligncenter, .type-post .alignright, .type-post .alignnone {
	margin: 20px;
}

.type-post .alignleft {
	float: left;
	margin-left: -100px;
}

.type-post .aligncenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.type-post .alignright {
	float: right;
	margin-right: -100px;
}

.related {
    max-width: 75rem;
	margin: 0 auto;
	padding: 20px;
}

.related .article-item .item-description {
    background: #fff;
}

@media screen and (max-width: 900px) {
	.type-post .wp-caption {
		width: 100% !important;
		margin: 0;
		padding: 20px 20px 0 20px;
	}	
	
	.type-post .wp-caption img {
		width: 85%;
	}
	
	.type-post .alignleft, .type-post .aligncenter, .type-post .alignright, .type-post .alignnone {
		display: block;
		margin-left: auto;
		margin-right: auto;
		float: none;
		width: 85%;
	}
	
}


  /*////////////////*/
 /*// Items List //*/
/*////////////////*/

/* 
	List and grid items for posts. For eg, on archive pages. 
	Also relies on .grid-image to style the thumbnail. 
	
	LIST: shows a single post on a row.
	GRID: shows multiple posts on a row.
*/ 

.article-item  {
	padding: 20px;
	text-align: left;
}

.article-item  .item-thumbnail {
	width: 100%;
}

.article-item  .item-description {
    width: 100%;
    padding: 20px;
	background: #f3f3f3;
    color: #000;
}

.article-item  .title {
	margin: 0 !important;
	padding: 0;
	font-size: 1.2rem;
	font-weight: 600 !important;
	line-height: 1;
}

.article-item  .title a {
    color: #000 !important;
}

.article-item  .byline {
	font-size: 0.80rem;
    margin: 5px 0;
    line-height: 1.1;
	padding: 0;
}

.article-item .excerpt {
	margin: 0;
	padding: 0;
}

.item-list .item-thumbnail {
    border-radius: 5px;
}

.item-list .item-description {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.item-grid .item-thumbnail {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.item-grid .item-description {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}


@media screen and (min-width: 40em) {
	.article-item  .item-inner {
		display: flex;
		align-items: center;
	}
	
	.item-grid .item-inner {
		display: block;
	}
	
	.article-item  .item-thumbnail {
		flex: 0 0 250px;
	}

	.article-item  .excerpt {
		/*
			We want to limit the height to 2 lines.	
			This should be already somewhat done in the PHP,
			but let's just be sure. 
		*/
		
		font-size: 0.95em;
		line-height: 1.25rem;
	}
	
}


 /*///////////////////////////////*/
 /*// Grid Image (hover effect) //*/
/*///////////////////////////////*/

.grid-image {
    width: 100%;
    height: 150px;
    margin: 0; 
    background: #fff;
    overflow: hidden;
}

.grid-image-inner {
    width: 100%;
    height: 100%;
    background-image: url('../images/no_thumb.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.2s ease 0s;
}

.grid-image-inner:hover {
    -webkit-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    transition: all 0.2s ease 0s;
    opacity: 0.75;
}

.grid-image a:focus > .grid-image-inner {
    -webkit-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    transition: all 0.2s ease 0s;
    opacity: 0.5;
}

.grid-image a:active > .grid-image-inner {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
    transition: all 0.2s ease 0s;
    opacity: 0.5;
}

.item-list .grid-image {
    border-radius: 5px;
}


  /*////////////////////*/
 /*// Contact Form 7 //*/
/*////////////////////*/

.wpcf7 {
    margin: 0 auto !important;
	background: #eee;
	border-radius: 20px;
	padding: 20px !important;
	color: #111;
	text-align: left;
    max-width: 600px;
}

.white .wpcf7 {
    background: #fff;
}

.wpcf7 p, .wpcf7 input {
	margin: 0;
}

.wpcf7-not-valid {
	border-color: rgb(255, 0, 0) !important;
}

.wpcf7-recaptcha {
	display: none;
}

.wpcf7 .button {
	margin-bottom: 0;
}

.wpcf7-form-control-wrap {
	display: block;
	margin: 0 0 1rem;
}

.wpcf7 input::-moz-placeholder { color: #333; }
.wpcf7 input::-webkit-input-placeholder { color: #333; }
.wpcf7 input:-ms-input-placeholder { color: #333; }

.wpcf7 .contact-form-redirect {
    display: none;
}

  /*/////////////*/
 /*// Support //*/
/*/////////////*/

.livechat {
  position: fixed;
  bottom: 0px;
  right: 10%;
  width: 250px;
  max-width: 90%;
  background: #63bc0d;
  padding-top: 10px;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
  color: rgb(255, 255, 255);
  -webkit-box-shadow: inset 0 0 40px 0 rgba(0,0,0,0.1);
  box-shadow: inset 0 0 40px 0 rgba(0,0,0,0.1);
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

.livechat a {
  color: #fff;
}

.livechat span {
  color: #fff;
  font-size: 20px;
  padding: 0;
  margin: 0;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 10px !important
}

.livechat p {
  color: #fff;
  font-size: 15px;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.livechat .icon {
  font-size: 35px;
  line-height: 1;
}

.livechat .left {
  width: 80%;
  float: left;
}

.livechat .right {
  width: 19%;
  float: left;
  text-align: right;
}


.header-promo {
    text-align: center;
    display: inline-block;
    padding: 0 0 0 10px;
}

.header-promo img {
    height: 50px;
}

.header-promo-title {
    margin: 0;
    font-weight: 400;
    font-size: 0.8rem;
    line-height: 1;
}

.header-promo-description {
    margin: 0;
    font-weight: 400;
    font-size: 0.7rem;
    line-height: 1;
}

.yt-thumb img {
    cursor: pointer;
    background-size: 100% !important;
    transition: background-size 0.5s ease-in;
    background-position: center !important;
}

.yt-thumb img:hover {
    cursor: pointer;
    background-size: 105% !important;
}


  /*//////////////////////////////*/
 /*// Questions product wizard //*/
/*//////////////////////////////*/

.answer-row {
    display: flex;
    flex-wrap: wrap;
}

.answer-box {
    position: relative;
    display: flex; 
    padding-right: .325rem;
    padding-left: .325rem;
}

@media screen and (min-width: 40em) {
    .answer-box {
        padding-right: .525rem;
        padding-left: .625rem;
    }
}

.answer-box-inner {
    border: solid 1px #ccc;
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
    padding: 15px;
    position: relative;
    width: 100%;
}

.answer-box .title {
    flex: 1 0 auto;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 10px;
    margin-top: 0;
    word-wrap: break-word;
}

.answer-box a {
    margin: 0;
}

.question-content {
    width:100%;
}

.question-content .row {
    margin-left: 0;
    margin-right: 0;
}

@media screen and (max-width: 39.9375em) {
    .question-content .products-archive .column {
        width: 100%;
    }
}

.question-img {
    display: inline-block;
    position: relative;
    width: 100%;
    margin-bottom: 12px;
}

.question-img .dummy {
    margin-top: 100%;
}

.question-img .img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: cover;
    background-position: center;
}

.answer-box .description {
    color: #414141;
    font-size: 0.9rem;
    line-height: 1.5;
    padding: 0;
}

.imagewrapper {
    width: 150px;
    height: 150px;
    margin: 10px auto;
}

.imagewrapper img {
    margin: 0;
}


.product-top-bar {
    background: rgba(255, 255, 255, 0.0);
    border: 0 solid #aaa;
    border-bottom-width: 1px;
    padding: 0.75rem 0;
    z-index: 1000;
    position: absolute;
    width: 100%;
    transition: background 1s ease-out;
}

.elementor-editor-active .product-top-bar {
    display: none;
}

.product-top-bar.menu-active {
    background: rgba(255, 255, 255, 1);
}

.product-top-bar.fixed {
    transition: background 0.5s ease-out;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    width: 100%;
}

.product-top-bar li {
    display: inline;
    line-height: inherit;
    margin: 0 0.75rem 0 0;
}

.product-top-bar li > a {
    color: #666;
    text-decoration: none;
}

.product-top-bar li.active > a {
    color: #000;
    text-decoration: underline;
}

.product-top-bar-mobile {
    display: none;
    padding-top: 20px;
}

.product-top-bar-mobile li {
    display: block;
}

.product-top-bar-mobile a {
    display: block;
    padding: 0.5rem;
}

.product-top-bar-mobile a:hover {
    background: #eee;
}

#product-menu-toggle {
    display: inline-block;
    text-decoration: none;
}

#product-menu-toggle.active {
    transform: rotate(180deg);
}

.product-top-bar-underlay {
    background: black;
    bottom: 0;
    height: 0%;
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;    
    z-index: 500;
    transition: all 1s ease;
}

.product-top-bar-underlay.active {
    height: 100%;
    opacity: 0.5;
    transition: all 1.5s ease;
}

.product-modal {
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    z-index: 3000;
    left: 0;
    top: 0;
    width: 100%;
    overflow: auto;
    opacity: 0;
    height: 0%;
    transition: all 0.25s ease;
}

.product-modal.active {
    transition: opacity 0.25s ease;
    opacity: 1;
    height: 100%;
}

.product-modal-inner {
    background-color: #fefefe;
    margin: 2rem auto 2rem auto;
    border: 1px solid #888;
    width: 95%;
    max-width: 700px;

    -webkit-box-shadow: 6px 6px 30px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    6px 6px 30px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         6px 6px 30px 0px rgba(50, 50, 50, 0.75);

    transform: scale(0.95);
    opacity: 0;
    transition: all 0.5s ease;
}

.product-modal.active .product-modal-inner {
    transition: all 0.5s ease;
    transform: scale(1);
    opacity: 1;
}

.product-modal-title {
    background: blue;
    padding: 20px;
    position: relative;
    width: 100%;
}

.product-modal-title .close {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    margin-right: 5px;
    position: absolute;
    right: 0;
    top: 0;
}

.product-modal-title p {
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    margin: 0;
    overflow: hidden;
    padding: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 90%;
}

.product-modal-content {
    padding: 20px;
}

.product-modal .posted_in {
    display: none;
}

.product-modal h1 {
    font-size: 1.2rem;
    font-weight: 600;
}

.product-modal .variations_form {
    margin-bottom: 0 !important;
}

div.product .product-modal form.cart .variations {
    margin-bottom: 0;
}

.product-modal select {
    margin-bottom: 0.25rem;
}

.product-modal .sale-circle {
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    margin-left: -15px;
    margin-right: -15px;
    z-index: 300;
}

.product-modal .woocommerce-product-gallery {
    max-width: 70%;
    margin: 0 auto;
}

body.modal-open {
    height: 100%;
    overflow: hidden;
    position: fixed;
    width: 100%;
}

@media print, screen and (min-width: 64em) {
    .product-modal-inner {
        margin: 5rem auto 5rem auto;
    }

    .product-modal h1 {
        font-size: 1.5rem;
        font-weight: 600;
    }

    .product-modal .woocommerce-product-gallery {
        max-width: 100%;
    }

    .product-modal-title p {
        font-size: 1.2rem;
    }
}

.woocommerce-info h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
}
