/*
Theme Name: ShawnDeWolfe Theme
Theme URI: https://shawndewolfe.com/wordpress/
Description: A Custom Child Theme – Divi 5 Compatible
Author: Shawn DeWolfe
Author URI: https://shawndewolfe.com/
Template: Divi
Version: 2.0
*/


/* ================================================================== */
/* FOUC FIX – button colour rendered before Divi dynamic CSS loads    */
/* Change #008580 to match your actual button colour                  */
/* ================================================================== */

.et_pb_button,
a.et_pb_button {
    background-color: #008580;
    border-color:     #008580;
}


/*-----------------------------------------------------*/
/*----------------[ 01 MAIN MENU AREA ]----------------*/
/*-----------------------------------------------------*/

h1 {
    text-transform: uppercase;
    font-size: 40px !important;
    font-weight: 600 !important;
}

h2 {
    text-transform: uppercase;
    font-size: 32px !important;
    font-weight: 500 !important;
}

h3 {
    text-transform: uppercase;
    font-size: 28px !important;
    font-weight: 500 !important;
}

h4 {
    text-transform: uppercase;
    font-size: 24px !important;
}

li h4.mega-block-title {
    font-size: 18px !important;
    font-weight: 700;
}

.sidemenu h3,
h5 {
    font-size: 24px !important;
}

h6 {
    font-size: 22px;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    padding-top: 16px;
    padding-bottom: 10px;
}

#top-menu .et-hover {
    color: white;
    background-color: #008580 !important;
}

#top-menu li {
    padding: 4px 8px 8px 8px;
}

#top-menu .et-hover a {
    color: white;
    text-decoration: none;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 14px !important;
}

#main-header {
    min-height: 120px;
}

.et_header_style_left .logo_container {
    position: absolute;
    max-width: 240px;
    height: inherit;
}

.et-pb-controllers a {
    display: none !important;
}

.et_pb_post .entry-featured-image-url {
    margin-bottom: -60px;
    z-index: 100;
}

.et_pb_post .entry-featured-image-url img {
    -webkit-filter: grayscale(50%) brightness(90%);
    filter: grayscale(50%) brightness(90%);
    transition: filter 0.5s;
}

.et_pb_post:hover .entry-featured-image-url img {
    -webkit-filter: grayscale(10%) brightness(110%);
    filter: grayscale(10%) brightness(110%);
}

div.wraphelp {
    display: block;
    min-height: 100px;
    overflow: hidden;
}

div.wraphelp img {
    max-height: 100px;
    width: auto;
}

.et_pb_section div.percent p span.percent-value {
    font-size: 75%;
}

/* Divi 5: counter inner class updated – both selectors kept for compatibility */
.et_pb_section div.et_pb_circle_counter_inner div.percent p span.percent-value,
.et_pb_section .et_pb_counter_amount_number {
    font-size: 125%;
}

.et_pb_post .entry-title {
    z-index: 200;
    position: relative;
    background-color: rgba(255, 255, 255, 0.9);
}

.et_pb_slide_description h2.et_pb_slide_title {
    background-color: transparent !important;
}

.shared-counts-wrap {
    margin: 0 0 20px 0;
    overflow: hidden;
    max-width: calc(1080px - 33%);
    position: relative;
    left: calc(50% - (540px - 17%));
}

.et_pb_pagebuilder_layout .shared-counts-wrap {
    margin: 0 0 20px 0;
    overflow: hidden;
    max-width: 1080px;
    position: relative;
    left: calc(50% - 540px);
}

.shared-counts-button.shared-counts-no-count {
    height: 22px;
}

.page-id-28 .et_pb_ajax_pagination_container article.et_pb_post {
    margin-bottom: 30px;
}

#main-header.et-fixed-header {
    min-height: 60px;
    max-height: 80px;
}

.et-fixed-header .logo_container {
    max-width: 180px !important;
    height: inherit;
    top: -28px;
}

.et_header_style_left #et-top-navigation nav > ul > li > a,
.et_header_style_split #et-top-navigation nav > ul > li > a {
    padding: 2px;
}

#top-menu > li:last-child {
    padding-right: 12px;
}

.et_header_style_left #et-top-navigation,
.et_header_style_split #et-top-navigation {
    padding-top: 53px;
}

#et_top_search {
    left: 18px;
    margin: 8px 0 0 0px;
    top: -32px;
}

.page-id-17 .et_pb_section_1 .et_pb_slide_3 a.et_pb_button.et_pb_more_button {
    color: #333;
    background-color: white;
}

.page-id-17 .et_pb_section_1 .et_pb_slide_5 a.et_pb_button.et_pb_more_button {
    background-color: transparent;
}

/* Divi 5 uses .et_divi_builder wrapper; #et-boc kept for back-compat */
div#et-boc.et-boc article,
.et_divi_builder article {
    padding: 12px;
}

div#et-boc.et-boc div.et_pb_row.et_pb_row_2 h2.entry-title,
div#et-boc.et-boc div.et_pb_row.et_pb_row_3 h2.entry-title,
div#et-boc.et-boc .et_pb_column_1_3.et_pb_column_2 h2.entry-title,
.et_divi_builder .et_pb_row_2 h2.entry-title,
.et_divi_builder .et_pb_row_3 h2.entry-title {
    font-size: 32px !important;
}

.page-id-19 a.et_pb_button {
    border-color: #008580;
    color: #008580;
}

a.su-post-comments-link {
    display: none;
}

.su-posts-default-loop .su-post-thumbnail img {
    max-width: 320px !important;
    height: auto;
}

.su-posts-default-loop h2.su-post-title,
.su-posts-default-loop .su-post-meta {
    margin-left: 340px;
}

/* Divi 5 updated breakpoint: 980px (was 981px in Divi 4) */
@media only screen and (min-width: 980px) {
    .et_pb_gutters3 .et_pb_column_2_3,
    .et_pb_gutters3.et_pb_row .et_pb_column_2_3 {
        width: 67.333%;
    }

    .et_pb_gutters3 .et_pb_column_1_3,
    .et_pb_gutters3.et_pb_row .et_pb_column_1_3 {
        width: 31.6667%;
    }

    .et_pb_gutters3 .et_pb_column,
    .et_pb_gutters3.et_pb_row .et_pb_column {
        margin-right: 2.5%;
    }

    div#et-boc .et_pb_row,
    .et_divi_builder .et_pb_row {
        padding-top: 12px;
    }
}


/*
 * Menu Effects – progressive CSS3 submenu animations
 */

/* forward */
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(1) { transition-delay: 0s; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(2) { transition-delay: 66ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(3) { transition-delay: 133ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(4) { transition-delay: 200ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(5) { transition-delay: 266ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(6) { transition-delay: 333ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(7) { transition-delay: 400ms; }
#top-menu-nav ul#top-menu > li:hover ul.sub-menu li:nth-child(8) { transition-delay: 466ms; }

#top-menu-nav ul.sub-menu li {
    margin: 0px !important;
    opacity: 0;
    transition: opacity .4s, transform .6s, max-height .6s;
}

#top-menu-nav ul#top-menu > li:hover ul.sub-menu li,
#top-menu-nav ul#top-menu > li:focus ul.sub-menu li {
    opacity: 1;
    transform: none;
}

#top-menu-nav ul.sub-menu {
    overflow: hidden;
    background-color: transparent !important;
    padding: 0px !important;
    box-shadow: none !important;
}

#top-menu-nav ul#top-menu > li:hover ul.sub-menu,
#top-menu-nav ul#top-menu > li:focus ul.sub-menu {
    max-height: 2000px;
}

#top-menu-nav #top-menu li li a {
    width: 240px !important;
    color: #fff !important;
}

#top-menu-nav #top-menu li li {
    padding: 0px !important;
    background-color: #1D4A89 !important;
}

.megatop {
    background-color: rgba(244, 244, 244, 0.9) !important;
}

#mep_0 {
    margin-top: -5vw;
    margin-bottom: -15vw;
}

/* Divi 5: video section class kept; .et_pb_fullwidth_section_video also targeted */
.et_pb_section_video_bg,
.et_pb_fullwidth_section_video .et_pb_section_video_bg {
    height: auto;
    min-height: 450px;
    margin-top: -64px;
}

.page-id-19 div.et_pb_section.et_pb_section_1.et_section_regular {
    padding-top: 12px;
}

/* Blind Effect */
#top-menu-nav li.blind ul.sub-menu li { max-height: 0; }
#top-menu-nav li.blind:hover ul.sub-menu li,
#top-menu-nav li.blind:focus ul.sub-menu li { max-height: 40px; }

.midpage {
    padding: 12px;
    text-align: center;
}

.midpage a {
    font-size: 16px;
    color: white;
    font-weight: bold;
    width: 20%;
    text-align: left;
    display: inline-block;
    max-height: 54px;
}

@media only screen and (min-width: 1025px) {
    .midpage a {
        margin-left: calc(12px + 3%);
        padding: 20px 12px 20px 72px;
    }

    .midpage a.webdes {
        background: url(/wp-content/uploads/2019/06/web_design.png) no-repeat;
        background-size: contain;
    }

    .midpage a.webdev {
        background: url(/wp-content/uploads/2019/06/web_dev.png) no-repeat;
        background-size: contain;
    }

    .midpage a.websup {
        background: url(/wp-content/uploads/2019/06/support.png) no-repeat;
        background-size: contain;
    }
}


/*-----------------------------------------------------*/
/*----------------[ 02 GLOBAL STYLES ]-----------------*/
/*-----------------------------------------------------*/

.et_pb_svg_logo #logo,
.et_pb_svg_logo.et_header_style_split .et-fixed-header .centered-inline-logo-wrap #logo {
    height: calc(96% - 4px);
}

#logo {
    margin-top: 2px;
    margin-bottom: 8px;
}

img#logo {
    height: auto;
}

.et_pb_fullwidth_section.header-top {
    background-color: #1D4A89 !important;
    color: white !important;
    margin-bottom: 0px;
    padding-bottom: 0px;
    min-height: 20px;
    z-index: 999;
    position: relative;
}

.et_pb_fullwidth_section.header-top .et_pb_row {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.et_pb_module.et_pb_posts {
    min-height: 396px;
}

.header-top * a {
    color: white !important;
}

.et_search_outer {
    background-color: white;
}

.et-search-form {
    max-width: 280px !important;
}

.et-search-form input {
    font-size: 14px;
    color: #008580 !important;
}

.righty {
    text-align: right;
    float: right;
}

.et_pb_section.snug-top,
.et_pb_row.snug-top,
.snug-top {
    padding-top: 0;
}

.et_pb_section.snug-btm,
.et_pb_row.snug-btm,
.snug-btm {
    padding-bottom: 0;
}

.sidemenu ul.sub-menu li        { margin-bottom: 0px; }
.sidemenu ul.sub-menu li ul.sub-menu { margin-bottom: 0px; padding-bottom: 0px; }

.fullwidth-menu li {
    margin-left: 3vw;
    margin-right: 3vw;
}

.single-portfolio .post-meta {
    display: none;
}


/*-----------------------------------------------------*/
/*-------------[ 04 SECTIONS & MODULES ]---------------*/
/*-----------------------------------------------------*/

/* Divi 5 uses a new icon font; these ETline codes are kept for back-compat
   and still work when Divi loads the ETline font as a fallback. */
.et-social-facebook   a.icon:before { content: '\e093'; }
.et-social-twitter    a.icon:before { content: '\e094'; }
.et-social-pinterest  a.icon:before { content: '\e095'; }
.et-social-linkedin   a.icon:before { content: '\e09d'; }
.et-social-instagram  a.icon:before { content: '\e09a'; }
.et-social-youtube    a.icon:before { content: '\e0a3'; }
.et-social-rss        a.icon:before { content: '\e09e'; }
/* Note: Google+ removed (service shut down) */


/*-----------------------------------------------------*/
/*-------------------[ 05 FOOTER ]---------------------*/
/*-----------------------------------------------------*/

#main-footer {
    color: white;
    background-color: #008580 !important;
}

.floatedt dt {
    display: inline-block;
    float: left;
    margin-right: 12px;
}

.footer-widget:nth-of-type(3n) {
    width: 45% !important;
    margin-right: 0 !important;
}

footer#main-footer h4.title {
    font-size: 24px !important;
    font-weight: 400;
    color: white;
}

footer#main-footer a.icon:before {
    color: #D7D7D7;
}

#footer-info,
#footer-info a {
    font-size: 12px !important;
    color: rgba(250, 250, 250, 0.9) !important;
}

#footer-widgets .footer-widget li::before {
    position: absolute;
    top: 9px;
    left: 0;
    border-width: 0px;
    border-style: none;
    border-radius: 0px;
    content: "";
}

#footer-widgets .footer-widget li {
    padding-left: 2px;
}

#footer-widgets * {
    color: white !important;
}

#footer-widgets ul {
    list-style-type: none !important;
}


/*-----------------------------------------------------*/
/*-----------------[ 06 RESPONSIVE ]-------------------*/
/*-----------------------------------------------------*/

/* Divi 5 tablet breakpoint is 980px; kept 1025px for the logo rule
   which is a design decision independent of Divi's breakpoints */
@media only screen and (max-width: 1025px) {

    .et_header_style_left #logo,
    .et_header_style_split #logo {
        max-width: calc(100% - 12px);
        margin-top: 12px;
    }

    .et_pb_slide_content h2,
    h2.et_pb_slide_title,
    .et_pb_slide_description h2.et_pb_slide_title {
        font-weight: 700 !important;
        font-size: calc(5vw + 2px) !important;
    }

    h1 { font-size: 36px !important; }
    h2 { font-size: 28px !important; }
    h3 { font-size: 24px !important; }
    h4 { font-size: 18px !important; }

    li h4.mega-block-title { font-size: 18px !important; }

    .sidemenu h3,
    h5 { font-size: 16px !important; }

    h6 {
        font-size: 14px;
        font-weight: 700;
    }

    .et_pb_slide_content,
    .et_pb_button_wrapper * {
        font-size: 16px !important;
    }

    #et_top_search {
        left: 16px;
        top: -36px;
    }

    .et_header_style_left .et-search-form,
    .et_header_style_split .et-search-form {
        width: 100% !important;
        max-width: 100% !important;
    }

    .et-search-form input {
        right: 5vw;
        background-color: rgba(250, 250, 250, 0.95);
        padding: 12px;
    }
}

/* Divi 5 no longer requires the width:100% !important overrides for
   numbered text modules (.et_pb_text_1 … _6) – those were a Divi 4
   workaround. Removed. */
