/*
Theme Name:  Divi Ecommerce
Theme URI:   https://diviecommerce.aspengrovestudio.com/
Description: Woocommerce Divi Child Theme
Author:      Divi Space
Author URI:  https://divi.space
Template:    Divi
Version:     1.1.3
License:     GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Tags:        Divi, Ecommerce, Woocommerce, Child Theme
Text Domain: divi_ecommerce
*/

/*
Divi Ecommerce Child Theme
Copyright (C) 2020 Divi Space, an Aspen Grove Studios company

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.


==========

CREDITS:

Parts of this theme are based on and/or copied from WordPress, copyright 2011-2020
by the contributors. Licensed under the GNU General Public License (GPL), version
2 or later.

Parts of this theme are based on and/or copied from WooCommerce by Automattic,
copyright 2015 by the contributors. Licensed under the GNU General Public License
(GPL), version 3 or later.

Parts of this theme are based on and/or copied from Divi by Elegant Themes. Licensed
under the GNU General Public License (GPL), version 2.

See the aspen-plugin-installer.php file for additional credit and licensing information.

See the files in the plugin's updater/ and aspen-demo-content/ directories for additional
credit and licensing information.

See the license.txt file in the theme's root directory for the text of the GPL, version 3.

*/

/*    ..........................................................................................................................................................     */
/*                                                                                                                                                                    */
/*    IMPORTANT: UTILIZING THE AUTOMATIC UPDATE  FEATURE OF THIS                                  */
/*    CHILD THEME WILL OVERWRITE ANY CUSTOM CODE PLACED WITHIN                                */
/*    THIS FILE. IF YOU WISH TO AUTOMATICALLY UPDATE, PLEASE PLACE                                */
/*    YOUR CODE IN THEME OPTIONS >> CUSTOM CSS. OTHERWISE YOU                                  */
/*    CAN MANUALLY UPDATE  THE THEME FILES.                                                                              */
/*                                                                                                                                                                   */
/*    ..........................................................................................................................................................     */


/**
 * #.#  Fixes
 *
 */

#page-container {
    overflow: hidden;
}

blockquote {
    margin: 15px 0;
    border-left: 2px solid;
    font-weight: 500;
    line-height: 1.5;
}

/**
 * #.#  Page Headers
 *
 */

.de-page-header {
    background: #f9f9f9;
    padding: 50px 0;
}

.de-page-header .et_pb_row {
    padding: 0 !important;
}

.de-page-header .et_pb_module {
    margin-bottom: 0 !important;
}

.de-page-header .et_pb_text,
.de-page-header .et_pb_code {
    text-align: center !important;
}

.de-page-header h1 {
    margin-bottom: 0 !important;
    padding-bottom: 5px !important;
    line-height: 1.2;
    font-weight: 700;
}

.de-page-header .woocommerce-breadcrumb {
    margin: 0 !important;
    line-height: 1.5;
    font-weight: 400;
}

@media (min-width: 981px) {
    .de-page-header h1 {
        font-size: 35px;
    }

    .de-page-header .woocommerce-breadcrumb {
        font-size: 15px;
    }
}

@media (min-width: 768px) and (max-width: 980px) {
    .de-page-header h1 {
        font-size: 32px;
    }

    .de-page-header .woocommerce-breadcrumb {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .de-page-header h1 {
        font-size: 27px;
    }

    .de-page-header .woocommerce-breadcrumb {
        font-size: 13px;
    }
}

/* Default Header */

.default-header {
    line-height: 1.5;
    font-weight: 300;
}

.default-header h1 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2;
    font-weight: 700;
    position: relative;
    display: inline-block;
}

@media (min-width: 981px) {
    .default-header h1 {
        font-size: 35px;
    }

    .default-header {
        font-size: 17px;
    }
}

@media (min-width: 768px) and (max-width: 980px) {
    .default-header h1 {
        font-size: 32px;
    }

    .default-header {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .default-header h1 {
        font-size: 27px;
    }

    .default-header {
        font-size: 15px;
    }
}

.default-header h1:after,
.default-header h1:before {
    position: absolute;
    top: 50%;
    content: '';
    width: 1000%;
    height: 1px;
}

.default-header h1:before {
    right: 105%;
    right: calc(100% + 25px);
}

.default-header h1:after {
    left: 105%;
    left: calc(100% + 25px);
}

.default-header.et_pb_bg_layout_light h1:after,
.default-header.et_pb_bg_layout_light h1:before {
    background: rgba(0, 0, 0, 0.075);
}

.default-header.et_pb_bg_layout_dark h1:after,
.default-header.et_pb_bg_layout_dark h1:before {
    background: rgba(255, 255, 255, 0.1);
}

/**
 * #.# Pagination
 *
 */

.wp-pagenavi,
.woocommerce .woocommerce-pagination ul.page-numbers,
.woocommerce-page .woocommerce-pagination ul.page-numbers {
    border: none;
    text-align: center;
}

.woocommerce .woocommerce-pagination ul.page-numbers li,
.woocommerce-page .woocommerce-pagination ul.page-numbers li {
    border: none;
    padding: 4px;
}

.wp-pagenavi a,
.wp-pagenavi span.current,
.woocommerce .woocommerce-pagination ul.page-numbers span.current,
.woocommerce-page .woocommerce-pagination ul.page-numbers span.current,
.woocommerce .woocommerce-pagination ul.page-numbers a,
.woocommerce-page .woocommerce-pagination ul.page-numbers a {
    padding: 0 15px;
    height: 40px !important;
    font-size: 14px;
    line-height: 40px !important;
    border-radius: 1px !important;
    font-weight: 600 !important;
    background: transparent !important;
    transition: 0.3s all;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
}

.woocommerce .woocommerce-pagination ul.page-numbers a,
.woocommerce-page .woocommerce-pagination ul.page-numbers a,
.wp-pagenavi a {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #000 !important;
}

.woocommerce .woocommerce-pagination ul.page-numbers span.current,
.woocommerce-page .woocommerce-pagination ul.page-numbers span.current,
.wp-pagenavi span.current {
    border-width: 1px !important;
    border-style: solid !important;
}

.woocommerce .woocommerce-pagination ul.page-numbers a:hover,
.woocommerce-page .woocommerce-pagination ul.page-numbers a:hover,
.wp-pagenavi a:hover {
    color: #fff !important;
}

/**
 * #.#  Sidebar
 *
 */

@media (max-width: 980px) {
    .archive #sidebar,
    .single #sidebar,
    .blog #sidebar {
        margin-top: 30px;
    }
}

.divi-ecommerce-sidebar h4.widgettitle,
#sidebar h4.widgettitle {
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 1.1;
}

.tagcloud a {
    background: transparent !important;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 1px;
}

.divi-ecommerce-sidebar li.cat-item,
#sidebar li.cat-item {
    margin: 0 !important;
}

.divi-ecommerce-sidebar li.cat-item a,
#sidebar li.cat-item a {
    padding: 8px 0;
    margin: 0;
    display: block;
    font-size: 14px;
    line-height: 1.4;
    position: relative;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.divi-ecommerce-sidebar ul.children,
#sidebar ul.children {
    margin-left: 15px;
}

.divi-ecommerce-sidebar li.cat-item a:before,
#sidebar li.cat-item a:before {
    position: absolute;
    top: 50%;
    left: -10px;
    font-family: "ETmodules";
    content: '\35';
    font-weight: bold;
    font-size: 16px;
    margin-top: -8px;
    line-height: 1;
    opacity: 0;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.divi-ecommerce-sidebar li.cat-item.current-cat a:before,
.divi-ecommerce-sidebar li.cat-item a:hover:before,
#sidebar li.cat-item a:hover:before,
#sidebar li.cat-item.current-cat > a:before {
    opacity: 1 !important;
}

.divi-ecommerce-sidebar li.cat-item a:hover,
.divi-ecommerce-sidebar li.cat-item.current-cat > a,
#sidebar li.cat-item a:hover,
#sidebar li.cat-item.current-cat > a {
    padding-left: 10px !important;
}

/**
 * #.#  Bottom Blurbs
 *
 */

.bottom-blurbs .et_pb_column {
    padding: 30px 12px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.bottom-blurbs .et_pb_module_header {
    padding-bottom: 5px;
}

@media (min-width: 650px) {
    .bottom-blurbs .et_pb_main_blurb_image {
        margin-bottom: 0;
        vertical-align: middle;
    }
}

@media (min-width: 981px) and (max-width: 1250px) {
    .bottom-blurbs .et_pb_main_blurb_image,
    .bottom-blurbs .et_pb_blurb_container {
        display: block;
        padding: 0;
    }

    .bottom-blurbs .et_pb_main_blurb_image {
        margin: 0 auto 15px;
    }

    .bottom-blurbs .et_pb_blurb_content,
    .bottom-blurbs .et_pb_blurb_container {
        text-align: center !important;
    }
}

@media (min-width: 480px) and (max-width: 650px) {
    .bottom-blurbs .et_pb_main_blurb_image,
    .bottom-blurbs .et_pb_blurb_container {
        display: block;
        padding: 0;
    }

    .bottom-blurbs .et_pb_main_blurb_image {
        margin: 0 auto 15px;
    }

    .bottom-blurbs .et_pb_blurb_content,
    .bottom-blurbs .et_pb_blurb_container {
        text-align: center !important;
    }
}

/**
 * #.#  Page 404
 *
 */

.not-found-404 .et_pb_section {
    font-size: 16px;
}

.not-found-404 p.large-404 {
    font-size: 140px;
    font-weight: 700;
    margin-bottom: 10px;
    display: block;
    position: relative;
    overflow: hidden;
    padding: 0;
    line-height: 150px !important;
}

.not-found-404 h2 {
    font-weight: bold;
    line-height: 1.25;
    padding-bottom: 10px;
    color: #000;
    font-size: 40px;
}

.not-found-404 .buttons-container {
    display: block;
    margin-top: 25px;
}

.not-found-404 .buttons-container a {
    border: 1px solid;
    padding: 8px 20px !important;
    line-height: 1.2;
    font-size: 16px;
    transition: 0.5s, ease-in;
    border-radius: 1px;
}

.not-found-404 .buttons-container a:hover {
    padding: 8px 20px !important;
}

@media (max-width: 500px) {
    .not-found-404 .et_pb_section {
        font-size: 15px;
        padding: 50px 0;
    }

    .not-found-404 .buttons-container {
        text-align: center;
        margin-top: 30px;
    }

    .not-found-404 p.large-404 {
        font-size: 90px !important;
        line-height: 90px !important;
    }

    .not-found-404 h2 {
        font-size: 30px;
    }
}

/**
 * #.#  Page Contact
 *
 */

@media (min-width: 981px) {
    .contact-blurbs-row .et_pb_column:last-child {
        border: none;
    }

    .contact-blurb {
        padding: 50px 20px;
        background: #fff;
    }

    .contact-blurb {
        margin-top: -50px !important;
        background: #fff;
        position: relative;
        z-index: 5;
        transition: 0.5s ease-in-out;
    }

    .contact-blurb:hover {
        margin-top: -75px !important;
        padding-bottom: 75px;
        -webkit-box-shadow: 0 15px 50px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 15px 50px 0 rgba(0, 0, 0, 0.15);
        overflow: visible;
    }
}

.contact-blurb .et_pb_module_header {
    font-weight: 600;
}

.contact-blurb .et_pb_main_blurb_image {
    padding-right: 15px;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    vertical-align: middle;
}

.contact-blurb .et_pb_blurb_container {
    padding-left: 25px;
}

@media (max-width: 980px) {
    .contact-blurb {
        margin-bottom: 30px !important;
    }

    .contact-blurb .et_pb_blurb_content {
        max-width: none;
    }
}

@media (max-width: 400px) {
    .contact-blurb {
        text-align: center;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        padding-bottom: 10px;
    }

    .contact-blurb .et_pb_main_blurb_image,
    .contact-blurb .et_pb_blurb_container {
        border: none;
        display: block;
        padding: 0;
        margin: 0 auto 15px !important;
        text-align: center !important;
    }
}

.de-contact-form p input,
.de-contact-form p textarea {
    background: transparent;
    font-size: 14px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 1px;
    overflow: hidden;
    position: relative;
    box-shadow: none;
    color: inherit;
}

.de-contact-form p input,
.de-contact-form .et_pb_button {
    line-height: 1;
    height: 49px;
    padding: 0 20px;
}

.de-contact-form p textarea {
    line-height: 1.5;
    padding: 20px;
}

.de-contact-form .et_pb_button:hover {
    background: #000;
    color: #fff;
}

/**
 * #.#  Page About
 *
 */

@media (min-width: 981px) {
    .about-page-content .et_pb_column {
        margin-top: -150px;
    }
}

.about-page-blurb .et_pb_module_header {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 10px;
}

.about-page-blurb .et_pb_module_header:before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 50px;
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
}

.about-page-blurb.et_pb_text_align_left .et_pb_module_header:before {
    left: 0;
}

.about-page-blurb.et_pb_text_align_right .et_pb_module_header:before {
    right: 0;
}

.about-page-blurb.et_pb_text_align_center .et_pb_module_header:before {
    left: 50%;
    margin-left: -25px;
}

.about-page-blurb .et_pb_main_blurb_image {
    display: block;
    margin-bottom: 15px !important;
}

.about-page-blurb.et_pb_text_align_left .et_pb_main_blurb_image {
    text-align: left;
}

.about-page-blurb.et_pb_text_align_right .et_pb_main_blurb_image {
    text-align: left;
}

.brand-logo {
    padding: 20px 15px;
    border-radius: 3px;
    transition: all 0.5s ease;
    border: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.brand-logo:hover {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}

.brand-logo img {
    height: 85px;
    width: auto;
    margin: 0 auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}
