/**
 * Mobile off-canvas menu.
 *
 * Ported from the main site theme (biz-theme-bschool-v2025/assets/css/off-canvas.css)
 * so this site's mobile menu matches the main site's intended design: a 295px panel
 * sliding in from the right, top-level items expanding in place, and second-level items
 * sliding in a full-height sub-panel with a back arrow in the header.
 *
 * Structural rules (the panel transform, the sub-panel positioning, the overlay) come
 * from lib/offcanvasjs/offCanvas.min.css, which is enqueued immediately before this
 * file. Everything here is the skin on top of that, plus two fixes noted below.
 *
 * The markup comes from bizmo_render_offcanvas_menu() in inc/menu-render.php.
 */

body {
    right: 0;
}

.offCanvas-opened body {
    overflow: hidden;
}

.offCanvas.right {
    left: auto;
    right: 0;
}

.offCanvas.right:not(.opened) {
    transform: translateX(100%);
}

/* --- Panel ------------------------------------------------------------------- */

.offCanvas {
    background-color: #ffffff;
    color: #404143;
    width: 295px;
}

.offCanvas ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 0;
    padding-left: 20px;
    -webkit-overflow-scrolling: touch;
}

.offCanvas ul > li {
    display: block;
}

.offCanvas ul > li > a {
    color: inherit;
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 18px 60px 18px 20px;
    text-decoration: none;
    transition: all 150ms;
    border-bottom: 1px solid #efefef;
}

.offCanvas ul > li > a:hover {
    color: #f6821f;
}

/* The main site's copy of this rule points at "/images/submenu-arrow.svg", which 404s
   there — the asset actually lives inside the theme. Corrected to a theme-relative
   path; the SVGs are copied into this theme's images/ directory. */
.offCanvas ul > li.has-submenu > a {
    background-image: url("../images/submenu-arrow.svg");
    background-position: right 40px center;
    background-repeat: no-repeat;
    background-size: 8px 14px;
}

.offCanvas ul > li.has-submenu > a:hover {
    background-image: url("../images/submenu-arrow-active.svg");
}

/* --- Header ------------------------------------------------------------------ */

.offCanvas .header,
.offCanvas .submenu-header {
    flex-shrink: 0;
    padding: 20px;
}

.offCanvas .btnClose {
    display: inline-block;
    font-size: 15px;
    text-decoration: none;
    padding: 8px;
    line-height: 22px;
    background-color: #fff;
    border: solid 1px #ebebeb;
    min-width: 40px;
    color: #141414;
}

.offCanvas .submenu-header > a {
    color: inherit;
    display: block;
    text-decoration: none;
}

/* --- Slide-in sub-panel ------------------------------------------------------- */

.offCanvas .submenu {
    background-color: #ffffff;
    left: 295px;
    margin-top: 5em;
}

/* css/styleguide.css line 375 carries an unscoped, orphaned `.submenu { display: none;
   position: absolute; float: left; z-index: 1000 }` from an older styleguide — nothing
   in this theme emits that class any more. offCanvasjs positions `.offCanvas .submenu`
   but never sets `display`, so without this override the legacy rule wins the cascade
   and every slide-in sub-panel stays invisible with no obvious cause. */
.offCanvas .submenu {
    display: block;
    float: none;
    z-index: auto;
}

.offCanvas .submenu > label {
    background: #f2f3f5;
    font-weight: 700;
    padding: 15px 20px;
    display: block;
    width: 100%;
}

.offCanvas ul.secondaryMenu > li > a {
    font-weight: normal;
}
