/*
 Theme Name:   Queer Empowerment Theme
 Description:  GeneratePress child theme
 Author:       Emma Leadley
 Template:     generatepress
 Version:      1.0
*/
/* ==========================================================================
   1. Base Elements
   ========================================================================== */

hr {
    margin-top: 0;
    margin-bottom: 20px;
}

blockquote {
    border-left: 5px solid #5a5661;
}

.screen-reader-text.skip-link {
    color: var(--contrast);
}


/* ==========================================================================
   2. Utilities
   ========================================================================== */

.drop-shadow {
    box-shadow: 0px 0px 20px rgba(200, 200, 200, 0.2);
}


/* ==========================================================================
   3. Content Blocks & Media
   ========================================================================== */

.featured-image img,
.post-image img,
.wp-block-media-text__media img,
.wp-block-column {
    border-radius: 25px;
}

.full-width-content.one-container .site-content {
    padding: 80px 0px 0px;
}

/* Image backgrounds on homepage */
@media (min-width: 601px) {
    .wp-block-media-text {
        margin-left: 20px;
        margin-right: 20px;
    }

    figure.wp-block-media-text__media {
        position: relative;
    }

    figure.wp-block-media-text__media::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 20px;
        right: 20px;
        background-color: var(--accent);
        border-radius: 25px;
        z-index: -1;
    }

    .dreams figure.wp-block-media-text__media::before {
        left: 20px;
        background-color: var(--accent-2);
    }
}

@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media img {
        max-width: 250px;
        margin: 0 auto;
        display: block;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .generate-columns.tablet-grid-50,
    .grid-sizer.tablet-grid-50 {
        width: 100% !important;
    }
}


/* ==========================================================================
   4. WPForms
   ========================================================================== */

.wpforms-container {
    --wpforms-label-error-color: #ce3334 !important;
    --wpforms-button-background-color: #274e93 !important;
}

.wpforms-container .wpforms-recaptcha-container {
    text-align: center;
}

/* div.wpforms-container-full button[type=submit]:not(:hover):not(:active) */
div.wpforms-container-full button[type=submit] {
    padding: 20px 40px 40px;
    display: block;
    margin: 0 auto;
    border-radius: 5px;
    color: #fff !important;
}

div.wpforms-container-full button[type=submit]:hover {
    background: var(--contrast-2);
    color: #fff;
}

div.wpforms-confirmation-container-full {
    text-align: center;
    background: var(--accent) !important;
    color: var(--contrast) !important;
    border: none !important;
}

#wpforms-2661-field_5 .wpforms-field-label-inline {
    position: relative;
}

#wpforms-2661-field_5 .wpforms-field-label-inline::after {
    bottom: 0;
    color: var(--wpforms-label-error-color);
    content: '*';
    position: absolute;
    transform: translate(-100%, 0);
}


/* ==========================================================================
   5. Navigation & Header
   ========================================================================== */

.main-title {
    line-height: inherit !important;
}

.sticky-site-title a {
    color: var(--contrast-2);
}

.sticky-enabled .main-navigation.is_stuck {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.main-navigation.has-branding .inside-navigation.grid-container,
.main-navigation.has-branding.grid-container .inside-navigation:not(.grid-container),
.nav-below-header .main-navigation .inside-navigation.grid-container,
.nav-above-header .main-navigation .inside-navigation.grid-container {
    padding: 0 !important;
}

.slideout-navigation.main-navigation,
.sticky-enabled .main-navigation.is_stuck,
.main-navigation {
    background-color: var(--accent-2);
    background-image: url(https://emmaleadleycoach.com/wp-assets/uploads/abstract-shapes.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.slideout-navigation.do-overlay .menu-item-has-children .dropdown-menu-toggle {
    border-left: none !important;
}

@media (max-width: 1001px) {
    .mobile-header-navigation.has-menu-bar-items .mobile-header-logo {
        margin-right: 0;
    }

    .main-navigation .inside-navigation {
        justify-content: flex-start;
    }

    #mobile-header .menu-toggle {
        margin-left: auto;
    }
}

@media (max-width: 514px) {
    #mobile-header .menu-toggle .mobile-menu {
        display: none;
    }
}

@media (max-width: 444px) {
    #mobile-header p.main-title a,
    #mobile-header p.main-title .site-description {
        font-size: 60%;
        line-height: 60%;
    }

    #mobile-header .site-logo.mobile-header-logo img {
        height: 60px;
    }
}

/* --- Slideout submenu font-size ---
   NOTE: base rule then narrower-viewport override must stay in this order;
   both share equal specificity so the cascade relies on source order. */
.main-navigation.slideout-navigation .main-nav ul li ul li a {
    padding: 10px 16px;
    font-size: 0.6em;
}

@media (max-width: 768px) {
    .main-navigation.slideout-navigation .main-nav ul li ul li a {
        padding: 10px 16px;
        font-size: 0.75em !important;
    }
}

/* --- Menu underline effect ---
   This chain is specificity/order-dependent: each rule below progressively
   overrides the width of the same ::after element at equal specificity,
   so the source order must be preserved exactly as written. */

/* menu and submenu */
.main-navigation .menu .menu-item > a::after,
.main-navigation .slideout-menu .menu-item > a::after {
    content: "";
    position: absolute;
    right: 0;
    left: 50%;
    bottom: 5px;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    display: block;
    width: 0;
    height: 2px;
    background-color: currentColor;
    transition: 0.3s width ease;
}

.main-navigation .menu .menu-item.current-menu-item > a::after,
.main-navigation .menu .menu-item.current-menu-ancestor > a::after,
.main-navigation .menu .menu-item > a:hover::after {
    width: 50%;
}

.main-navigation .slideout-menu .menu-item.current-menu-item > a::after,
.main-navigation .slideout-menu .menu-item.current-menu-ancestor > a::after,
.main-navigation .slideout-menu .menu-item > a:hover::after {
    width: 20%;
}

/* menu only */
.main-navigation .menu > .menu-item > a::after {
    bottom: 15px;
}

.main-navigation .menu > .menu-item.current-menu-item > a::after,
.main-navigation .menu > .menu-item.current-menu-ancestor > a::after,
.main-navigation .menu > .menu-item > a:hover::after {
    width: 80%;
}

@media (max-width: 649px) {
    .main-navigation .main-nav ul li a {
        text-align: center;
    }

    .main-navigation .menu > .menu-item.current-menu-item > a::after,
    .main-navigation .menu > .menu-item.current-menu-ancestor > a::after,
    .main-navigation .menu > .menu-item > a:hover::after {
        width: 25%;
    }
}


/* ==========================================================================
   6. Third-Party Widgets & Plugins
   ========================================================================== */

.sp-easy-accordion .sp-ea-single .ea-header a {
    font-weight: inherit !important;
}

.sp-easy-accordion .sp-ea-single .ea-body {
    font-size: 18px;
}

.anww-external-link-icon {
    font-size: 0.5em !important;
}

.member-badges .anww-external-link-icon {
    display: none;
}

.stts-audio-container audio {
    text-align: center;
    display: block;
    margin: var(--stts-spacing-md) auto;
}

.stts-audio-container audio::-webkit-media-controls-panel {
    background-color: #E5E4E7 !important;
}


/* ==========================================================================
   7. Page-Specific Overrides
   ========================================================================== */

h3#book {
    margin-top: -150px;
    padding-top: 150px;
}

.gb-container-07146b05 {
    padding: 0px 30px !important;
    margin-bottom: 40px;
}

.gb-container-c1f1455e {
    margin-bottom: 0 !important;
}