/*
Theme Name: MakeMusic V2
Theme URI: https://www.makemusic.com
Text Domain: makemusic
Author: MakeMusic | Alex Factor
Author URI: http://makemusic.com
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
body {
    word-spacing: 0;
}

.site-header {
    position: unset;
}

.nav-header.nav-scrolling.eco-nav {
    padding: 0;
}

.nav-header .nav-switch-bar-container {
    background: #F7F7F7;
}

.nav-header .nav-container,
.nav-header .nav-switch-bar {
    max-width: 1228px;
    margin: 0 auto;
}

.nav-header .nav-container .row {
    padding: 9.5px 0;
}

.nav-header .site-logo {
}

.nav-header .site-logo figure,
.nav-header.nav-scrolling .site-logo figure {
    background-image: url("assets/images/logos/makemusic_studio_logo.png");
    background-size: contain;
    background-position: center 10px;
    left: 0;
}

.nav-header.nav-scrolling.eco-nav {
    height: 127px;
    box-shadow: 0px 8px 8px 0px #0000000D;
    border-bottom: 0;
}

.col-10.mm-logo {
    height: auto;
}

/* Nav Switchbar Styles */
.nav-switch-bar {
    font-size: 12px;
    letter-spacing: -1%;
    font-family: 'Poppins', sans-serif;
}

.switchbar-list {
    margin-bottom: 0;
    padding: 0;
}

.switchbar-list .switch-bar-divider {
    padding: 15px;
    font-size: 18px;
    line-height: 18px;
}

.switchbar-list a {
    padding: 14.5px 0;
    display: block;
    text-transform: uppercase;
}

.switch-bar-link {
    color: #6c757d;
    text-decoration: none;
    font-weight: 400;
}

.switch-bar-link:hover {
    color: #343a40;
    text-decoration: none;
}

.switch-bar-link.active {
    color: #147F7F;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}

.switch-bar-divider {
    color: #ced4da;
    margin: 0 10px;
}

.nav-switch-bar .switchbar-list {
    list-style: none;
    display: flex;
}

@media (min-width: 992px) {
    #menu-login-menu li {
        border-radius: 30px;
        margin: 0;
    }

    .login .menu-login-container {
        width: auto;
        display: flex;
        margin: 0;
        flex-direction: column;
        height: 100%;
        justify-content: center;
    }

    #menu-login-menu > li a {
        font-family: 'Poppins', sans-serif;
        font-weight: 700;
        font-size: 14px;
        text-transform: uppercase;
        height: 46px;
        line-height: 46px;
        padding: 0 20px;
        width: 106px;
        text-align: center;
    }

    #menu-login-menu > li:first-child {
        border: none;
    }

    .nav-header .menu {
        top: auto;
    }

    #menu-login-menu > li:first-child {
        margin-right: 5px;
    }

    .nav-container .menu-header-container {
        padding: 13px 0;
    }

    .nav-container .menu-login-container .menu {
        display: flex;
        justify-content: right;
        position: unset;
    }

    #menu-login-menu li {
        background: #147F7F;
    }

    .nav-header.nav-scrolling #menu-login-menu li > a:first-child {
        padding: 0 20px;
    }

    .nav-header.nav-scrolling #menu-login-menu li:last-child:hover {
        background: #004C4C;
    }
}

.site-footer {
    background-color: rgba(0, 0, 0, .88);
    border-top: 0;
    border-top: 22px solid #91FED8;
    padding: 70px 0;
}

.site-footer .container {
    padding-inline: 0;
    max-width: 1228px;
    margin: 0 auto;
}

.footer-logo {
    position: unset;
    right: unset;
    bottom: unset;
    display: block;
}

.footer-address {
    margin: 15px 0 10px 0;
}

.footer-widget:last-child {
    text-align: left;
}

.footer-widget .widget-title {
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.footer-widget .widget-title a {
    display: block;
    font-family: 'Bricolage Grotesque', sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    padding-bottom: 5px;
}

.footer-widget .widget-title a:hover {
    text-decoration: none;
}

.footer-widget.studio .widget-title a span.highlight {
    color: rgba(145, 254, 216, 1);
}

.footer-widget.cloud .widget-title a span.highlight {
    color: rgba(205, 164, 246, 1);
}

.footer-widget .widget-title a span.arrow-title {
    display: block;
    float: right;
    width: 16px;
    height: 16px;
    background-image: url("assets/images/arrow_title.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin-top: 5px;
}

.footer-widget .menu-footer-container {
    padding-top: 20px;
}

.menu-footer-container > .menu a {
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    line-height: 30px;
}

/* ============================================================= */
/* MAK-19/MAK-22 MOBILE FIXES - mobile-only, never affects desktop (>=992px) */
/* Shared header/footer/container rules apply to every page.      */
/* ============================================================= */
@media (max-width: 991px) {
    /* Header: keep switch bar + nav row tidy on small screens */
    .nav-header.nav-scrolling.eco-nav {
        height: auto;
    }
    .nav-header .nav-switch-bar-container {
        overflow-x: hidden;
    }
    .nav-header .nav-switch-bar {
        max-width: 100%;
    }
    .nav-header .nav-container {
        max-width: 100%;
        padding: 0 12px;
    }
    .nav-header .nav-container .row {
        padding: 8px 0;
        margin: 0;
    }
    .nav-header .site-logo figure,
    .nav-header.nav-scrolling .site-logo figure {
        background-position: left center;
    }

    /* Footer: stack widgets comfortably, reduce chrome on mobile */
    .site-footer {
        padding: 40px 0;
        border-top-width: 14px;
    }
    .site-footer .container {
        max-width: 100%;
        padding: 0 16px;
    }
    .site-footer .footer-widgets {
        flex-direction: column;
        gap: 32px;
    }
    .footer-widget,
    .footer-widget.cloud,
    .footer-widget.studio,
    .footer-widget.footer-right {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        text-align: left;
    }
    .footer-widget:last-child {
        text-align: left;
    }
    .footer-widget .menu-footer-container {
        padding-top: 12px;
    }
    .footer-widget .widget-title a {
        font-size: 16px;
    }
    .menu-footer-container > .menu a {
        font-size: 15px;
        line-height: 26px;
    }
}

/* ============================================================= */
/* SITEWIDE MOBILE OVERFLOW GUARD - mobile-only, never affects desktop (>=1024px)
   Stops Bootstrap .row negative margins and fixed-width section wrappers
   from forcing horizontal scroll on mobile. Targets the common
   page-content ancestors (every page renders the_content() inside
   .site-main #main / .content-area #primary). Applies to home,
   pricing, and all other pages.                                   */
/* ============================================================= */
@media (max-width: 1023px) {
    .site-main,
    .content-area,
    .site-main .container,
    .site-main .row,
    .site-main .row.content {
        max-width: 100% !important;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .site-main .row,
    .site-main .row.content {
        margin-left: 0;
        margin-right: 0;
    }
    .site-main .container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ============================================================= */
/* SITIEWIDE MOBILE OVERFLOW GUARD - never affects desktop        */
/* Stops Bootstrap .row negative margins and fixed-width section  */
/* wrappers from forcing horizontal scroll on mobile. Targets the */
/* common page-content ancestors that every page renders         */
/* the_content() inside (.site-main #main / .content-area).      */
/* ============================================================= */
@media (max-width: 1023px) {
    .site-main,
    .content-area,
    .site-main .container,
    .site-main .row,
    .site-main .row.content {
        max-width: 100% !important;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .site-main .row,
    .site-main .row.content {
        margin-left: 0;
        margin-right: 0;
    }
    .site-main .container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ============================================================= */
/* SITewIDE MOBILE OVERFLOW GUARD - mobile-only, never affects desktop (>=1024px)
   Stops Bootstrap .row negative margins and fixed-width section wrappers
   from forcing horizontal scroll on mobile. Targets the common page-content
   ancestors (every page renders the_content() inside .site-main #main /
   .content-area #primary), so this applies to home, pricing, and any page. */
/* ============================================================= */
@media (max-width: 1023px) {
    .site-main,
    .content-area,
    .site-main .container,
    .site-main .row,
    .site-main .row.content {
        max-width: 100% !important;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .site-main .row,
    .site-main .row.content {
        margin-left: 0;
        margin-right: 0;
    }
    .site-main .container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ============================================================= */
/* ACTIVE NAV INDICATOR REMOVAL - removes the purple underline bar
   that theme.min.css draws under the current/active nav item
   (.nav-header .menu>.current-menu-item:after / .current-menu-ancestor:after
   uses background-color:#4338ca). Per client this was removed on the
   MakeMusic Cloud nav and should be removed here too. Sitewide.      */
/* ============================================================= */
.nav-header .menu > .current-menu-ancestor:after,
.nav-header .menu > .current-menu-item:after,
.nav-header .menu > .current-menu-item.menu-item-has-children:after {
    content: none !important;
    display: none !important;
}

/* ============================================================= */
/* MOBILE LOGIN-MENU BUTTON COLOR - the mobile (flyout) Sign Up
   button inherits the purple (#4338ca) from theme.min.css
   .button-container a / #menu-login-menu li. Desktop already
   overrides to #147F7F via the @media(min-width:992px) block above.
   This mobile-only rule matches desktop so the Sign Up button is
   teal (#147F7F) on all viewports.                              */
/* ============================================================= */
@media (max-width: 991px) {
    /* ---- MOBILE FLYOUT LOGIN/SIGNUP BUTTONS ----
       theme.min.js injects the login buttons into the mobile flyout as
       .login-buttons > .button-container > a. The default .button-container a
       uses purple #4338ca (from theme.min.css). Override to teal #147F7F to
       match the desktop Sign Up button. The Log In link uses a.secondary
       (already white/outlined). The login URLs/labels are set in theme.min.js. */
    .login-buttons .button-container a {
        background: #147F7F !important;
        color: #fff !important;
    }
    .login-buttons .button-container a:hover {
        background: #004C4C !important;
        text-decoration: none;
    }
    .login-buttons .button-container a.secondary {
        background: #fff !important;
        color: #313131 !important;
        border: 1px solid #C8C8C7;
    }
    .login-buttons .button-container a.secondary:hover {
        background: #f0f0f0 !important;
    }
}

/* ============================================================= */
/* MOBILE HERO BACKGROUND - on mobile the client does not want the
   desktop hero photo (assets/images/home_one_bg.jpg, set inline in
   the home page content). Replace it with a flat dark-teal gradient.
   Desktop keeps the photo. This lives in the theme (not the page
   inline <style>) so it deploys to every environment via code - the
   DB-only version was missing on UAT and left the photo showing.
   !important is required because the home page inline <style> block
   loads after this file in the DOM and sets the photo background.   */
/* ============================================================= */
@media (max-width: 1023px) {
    .home-one.management-software {
        background: linear-gradient(90deg, #18393f 0%, #294039 55%, #3c3c34 100%) !important;
        background-blend-mode: normal !important;
    }
}

/* ============================================================= */
/* MOBILE HERO HEADING SIZE - client wants the hero headline larger
   on mobile so it fills the space like the design (breaking as
   "More Time for the" / "Moments that Matter."). Overrides the
   smaller sizes set in the home page inline <style> (28px @<=600,
   34px @<=1023). Lives in the theme so it deploys via code to UAT.
   36px @<=600 gives the two-line break on common phones; 44px on
   tablets. Scoped to the hero (.home-one) so other sections are
   unaffected.                                                     */
/* ============================================================= */
@media (max-width: 1023px) {
    .home-one.management-software .content .title strong {
        font-size: 44px !important;
        line-height: 50px !important;
    }
}
@media (max-width: 600px) {
    .home-one.management-software .content .title strong {
        font-size: 35px !important;
        line-height: 40px !important;
    }
}

/* ============================================================= */
/* HOME-TWO MOBILE IMAGE ORDER - client wants the home_two_left_bg.png
   image (the first .col-md-6 / .img) to appear BELOW the
   home_two_list_logo.svg (inside .left-content, the last .col-md-6)
   on mobile. The row's three children are: col-md-12 (title),
   col-md-6 (image), col-md-6 (text + logo). Force a column stack and
   order them title -> text+logo -> image. (The inline <style>'s
   existing order rule is a no-op because its :first-child selector
   never matches the image column, which is the 2nd child.)          */
/* ============================================================= */
@media (max-width: 1023px) {
    .home-two .row.content {
        display: flex;
        flex-direction: column;
    }
    .home-two .row.content > .col-md-12 {
        order: 1 !important;
    }
    .home-two .row.content > .col-md-6:nth-child(3) {
        order: 2 !important;
    }
    .home-two .row.content > .col-md-6:nth-child(2) {
        order: 3 !important;
    }
    /* Space between the home_two_list_logo and the home_two_left_bg image,
       matching the "FEATURING CONTENT FROM" -> logos gap (20px). */
    .home-two .content .img {
        margin-top: 20px;
    }
}

/* ============================================================= */
/* MOBILE HERO SIDE PADDING - align the hero's left/right edges with
   the home-two block below it. The hero content sat at 16px from each
   edge while home-two content sits at 30px (container 16px + Bootstrap
   column 15px). Push the hero container to 30px so the eyebrow, heading,
   copy, and buttons line up with the sections below.               */
/* ============================================================= */
@media (max-width: 1023px) {
    .home-one.management-software .container {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

/* ============================================================= */
/* DESKTOP CATALOG H1 WIDTH - the home-two heading sits in a full-bleed
   1440px container, so left-aligned/centered it stretched wider than
   the other sections' content (home-one is 1228px, home-three 1000px)
   and ran edge to edge. Cap it and center it on desktop so it wraps to
   a balanced two lines within the content width. Desktop only
   (min-width:1024px) so mobile keeps its full-width heading.        */
/* ============================================================= */
@media (min-width: 1024px) {
    .home-two .title {
        max-width: 900px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
