/* ========================================
   BECOMEONE LOGO SIZE
   ======================================== */

.custom-logo,
.custom-logo-link img {
    width: 180px !important;
    height: auto !important;
    max-width: 180px !important;
    max-height: none !important;
}


/* ========================================
   DESKTOP
   1101px AND ABOVE
   ======================================== */

@media screen and (min-width: 1101px) {

    /* Move logo slightly left */
    .site-logo {
        position: relative !important;
        left: -60px !important;
    }

    /* Keep entire menu on one line */
    .main-menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    /* Normal menu item size */
    .main-menu > li:not(.menu-button) > a {
        font-size: 15px !important;
        white-space: nowrap !important;
    }
	

    /* Reduce spacing between normal items */
    .main-menu > li:not(.menu-button) {
        margin-left: 6px !important;
        margin-right: 6px !important;
    }

    /* Support container */
    .menu-button {
        background: none !important;
        box-shadow: none !important;

        margin-left: 20px !important;

        flex: 0 0 auto !important;
        width: auto !important;
    }

    /* Support button */
    .menu-button > a,
    .menu-button > a:hover,
    .menu-button > a:active {
        background-color: #eb5e28 !important;
        color: #ffffff !important;

        width: 125px !important;
        height: 75px !important;

        padding: 8px 6px !important;
        box-sizing: border-box !important;

        border-radius: 4px !important;
        box-shadow: 1px 1px 0px 0px #2f2f2f !important;

        font-size: 17px !important;
        line-height: 1.15 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        text-align: center !important;
        white-space: normal !important;
    }
}
/* ========================================
   SUBMENU FONT SIZE
   ======================================== */

.main-navigation .sub-menu a {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

/* ========================================
   TABLET
   769px TO 1100px
   ======================================== */

@media screen and (min-width: 769px) and (max-width: 1100px) {

    /* Keep logo in a normal position */
    .site-logo {
        position: relative !important;
        left: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Allow menu to wrap neatly */
    .main-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;

        white-space: normal !important;

        column-gap: 18px !important;
        row-gap: 8px !important;
    }

    /* Remove extra theme spacing */
    .main-menu > li {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Tablet menu font */
    .main-menu > li:not(.menu-button) > a {
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    /* Put Support on its own row */
    .menu-button {
        background: none !important;
        box-shadow: none !important;

        flex-basis: 100% !important;

        display: flex !important;
        justify-content: center !important;

        margin: 10px 0 0 0 !important;

        position: static !important;
        left: auto !important;

        width: 100% !important;
    }

    /* Tablet Support button */
    .menu-button > a,
    .menu-button > a:hover,
    .menu-button > a:active {
        background-color: #eb5e28 !important;
        color: #ffffff !important;

        width: auto !important;
        min-width: 210px !important;
        height: auto !important;
        min-height: 52px !important;

        padding: 10px 18px !important;

        border-radius: 4px !important;
        box-shadow: 1px 1px 0px 0px #2f2f2f !important;

        box-sizing: border-box !important;

        font-size: 18px !important;
        line-height: 1.2 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        text-align: center !important;
        white-space: nowrap !important;
    }
}


/* ========================================
   MOBILE
   768px AND BELOW
   ======================================== */

@media screen and (max-width: 768px) {

    /* Center logo */
    .site-logo {
        position: relative !important;
        left: 0 !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .custom-logo-link {
        position: relative !important;
        left: 0 !important;

        display: block !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .custom-logo {
        display: block !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Mobile Support container */
    .menu-button {
        background: none !important;
        box-shadow: none !important;

        margin-top: 10px !important;
        margin-left: auto !important;
        margin-right: auto !important;

        position: static !important;
        left: auto !important;

        width: auto !important;
    }

    /* Mobile Support button */
    .menu-button > a,
    .menu-button > a:hover,
    .menu-button > a:active {
        background-color: #eb5e28 !important;
        color: #ffffff !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;
        min-width: 190px !important;
        min-height: 52px !important;

        padding: 10px 18px !important;

        border-radius: 4px !important;
        box-shadow: 1px 1px 0px 0px #2f2f2f !important;

        box-sizing: border-box !important;

        text-align: center !important;
        white-space: nowrap !important;

        font-size: 20px !important;
        line-height: 1.2 !important;
    }
}
/* ========================================
   BECOMEONE CUSTOM FOOTER
======================================== */

/* Make the widget containing our custom footer
   span the entire footer area */
footer .widget:has(.bo-custom-footer),
.site-footer .widget:has(.bo-custom-footer),
.footer-widgets .widget:has(.bo-custom-footer) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* Main footer container */
.bo-custom-footer {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 50px 40px 35px !important;
    box-sizing: border-box !important;
}


/* ========================================
   TOP 3 COLUMNS
======================================== */

.bo-footer-top {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 50px !important;
    align-items: start !important;
}


.bo-footer-column {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
}


.bo-footer-column h3 {
    margin: 0 0 12px !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}


.bo-footer-column p {
    margin: 7px 0 !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
}


.bo-footer-column a {
    color: inherit !important;
    text-decoration: none !important;
}


/* ========================================
   SOCIAL ICONS
======================================== */

.bo-footer-social {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 25px !important;
    margin: 70px auto !important;
}


/* ========================================
   NONPROFIT DESCRIPTION
======================================== */

.bo-footer-description {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}


.bo-footer-description p {
    margin: 5px 0 !important;
}


/* ========================================
   TABLET
======================================== */

@media screen and (max-width: 900px) {

    .bo-custom-footer {
        padding: 40px 25px 30px !important;
    }

    .bo-footer-top {
        gap: 25px !important;
    }

    .bo-footer-column h3 {
        font-size: 20px !important;
    }

    .bo-footer-column p {
        font-size: 16px !important;
    }
}


/* ========================================
   MOBILE
======================================== */

@media screen and (max-width: 650px) {

    .bo-footer-top {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }

    .bo-footer-social {
        margin: 45px auto !important;
    }

    .bo-footer-description {
        font-size: 16px !important;
    }
}
/* Make BecomeOne description use columns 1 and 2 */
.widget:has(.bo-footer-about) {
    grid-column: 1 / 3 !important;
    width: 100% !important;
}

/* Allow the text itself to use the available width */
.bo-footer-about {
    width: 100% !important;
    max-width: 100% !important;
    line-height: 1.6;
}
/* ========================================
   BECOMEONE FOOTER ABOUT - DESKTOP
======================================== */

.widget:has(.bo-footer-about) {
    grid-column: auto !important;
    width: 200% !important;
    max-width: 520px !important;
    min-width: 0 !important;
}

.bo-footer-about {
    width: 100% !important;
    max-width: 520px !important;
    min-width: 0 !important;
    line-height: 1.6 !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
}


/* ========================================
   MOBILE - FOOTER ABOUT FIX
======================================== */

@media screen and (max-width: 768px) {

    .widget:has(.bo-footer-about) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: auto !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .bo-footer-about {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        box-sizing: border-box !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .bo-footer-about p {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }
}