/*! Responsive Menu - Seth Anandram Jaipuria College
    version: 0.2.1 (Modified)
    Theme: Blue & White — Primary Blue #1a3a6e
*/

/*
  Color Palette:
  --primary-blue:  #1a3a6e   (nav background, main brand)
  --primary-dark:  #0d2240   (darker hover / active)
  --primary-light: #2c5aa0   (lighter hover / sub-menus)
  --accent-blue:   #3b82f6   (highlight borders)
  --accent-light:  #60a5fa   (hover underlines & icons)
  --white:         #ffffff
  --text-dark:     #1e293b
  --border-light:  #e2e8f0

  HTML Structure:
  <a class="rm-toggle rm-button rm-nojs" href="#">Menu</a>
  <nav class="rm-nav rm-nojs rm-lighten"> <ul> ... </ul> </nav>
*/

/* ============================================================
   RESET & CONTAINER
   ============================================================ */

.rm-nav ul,
.rm-menu {
    margin-top: 0;
    margin-bottom: 0;
}

.rm-container:after {
    content: " ";
    display: block;
    clear: both;
}

/* ============================================================
   TOGGLE LINK
   ============================================================ */

.rm-toggle {
    display: none;
    float: right;
    padding: 0 .25em;
    margin: .25em .20em;
    height: 2em;
    line-height: 2em;
    text-decoration: none;
    z-index: 99999;
}

.rm-toggle.rm-show {
    display: inline-block;
}

.rm-toggle.rm-button {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAASCAYAAABB7B6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NjU2N0Q1RTNBMkZFMjExQTlCNjg5QjQzQTBGRDY1QSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4MkIzMDBDNTJGODIxMUUyOTgzN0ExQ0FEREZERTE4MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4MkIzMDBDNDJGODIxMUUyOTgzN0ExQ0FEREZERTE4MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU3NTY3RDVFM0EyRkUyMTFBOUI2ODlCNDNBMEZENjVBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2NTY3RDVFM0EyRkUyMTFBOUI2ODlCNDNBMEZENjVBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+S+feugAAAFtJREFUeNpi/P//PwMtAeOQt4AFjU8V2xgZGXmA1E8g/oPuA2pZoAykXgLxVxQLgBLcQEociHkotOMLLgtAQcaOJehIBX+wBhHQApqnotFIHo3k0UgeipEMEGAADaRXEC7WAy0AAAAASUVORK5CYII=);
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #1a3a6e;
    /*border: 2px solid #60a5fa;*/
    border-radius: 5px;
    padding: 0;
    width: 2.2em;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    transition: background-color 0.3s;
}

.rm-toggle.rm-button:hover,
.rm-toggle.rm-button:focus {
    background-color: #0d2240;
    border-color: #ffffff;
    outline: none;
}

/* ============================================================
   MENU CONTAINER & BASE ELEMENTS
   ============================================================ */

.rm-nav {
    clear: both;
    background-color: #1a3a6e;
}

.rm-nav > ul,
.rm-top-menu {
    clear: both;
    list-style: none;
    padding: 0;
    margin-left: 0;
    margin-bottom: 0;
    zoom: 1;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #1a3a6e;
}

.rm-nav li,
.rm-menu-item {
    position: relative;
}

.rm-nav > ul > .rm-last,
.rm-top-menu > .rm-last {
    margin-bottom: 0;
}

.rm-nav li a,
.rm-menu-item a {
    padding: .15em .15em;
    display: block;
    position: relative;
    color: #ffffff;
    text-decoration: none;
    font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 15px;
    text-transform: capitalize;
    transition: background-color 0.3s, color 0.3s;
}

/* ============================================================
   SUBMENUS (DROPDOWNS)
   ============================================================ */

.rm-nav li ul,
.rm-menu-item .rm-menu {
    width: 100%;
    padding: 0;
    margin-left: 0;
    list-style: none;
    z-index: 500;
    zoom: 1;
    background-color: #ffffff;
    border-radius: 0 0 8px 8px;
}

.rm-nav .rm-hover ul,
.rm-nav .rm-hover .rm-menu {
    z-index: 600;
}

.rm-nav li li a,
.rm-menu-item .rm-menu-item a {
    z-index: 500;
    padding-left: 2em;
    color: #1e293b !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #e2e8f0;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.rm-nav li li.rm-last a,
.rm-menu-item .rm-menu-item.rm-last a {
    padding-bottom: 1em;
}

.rm-nav li li ul,
.rm-menu-item .rm-menu-item .rm-menu {
    position: static;
}

.rm-nav li li li a,
.rm-menu-item .rm-menu-item .rm-menu-item a {
    z-index: 600;
    padding-left: 3em;
    background-color: #f0f7ff !important;
    color: #1e293b !important;
}

/* ============================================================
   CSS ANIMATIONS
   ============================================================ */

.rm-accelerate {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;
}

.rm-css-animate {
    display: block;
    max-height: 0;
    overflow: hidden;
}

.rm-css-animate.rm-menu-expanded {
    overflow: visible;
}

/* ============================================================
   THEME — LIGHTEN
   ============================================================ */

.rm-nav a {
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
}

.rm-lighten li a:focus,
.rm-lighten li a:hover,
.rm-lighten li.rm-hover > a,
.rm-lighten .rm-menu-item a:focus,
.rm-lighten .rm-menu-item a:hover,
.rm-lighten .rm-menu-item.rm-hover > a {
    background-color: rgba(255, 255, 255, 0.12);
    color: #60a5fa;
    outline: none;
}

.rm-lighten li li a,
.rm-lighten li li a:focus,
.rm-lighten li li a:hover,
.rm-lighten li li.rm-hover a,
.rm-lighten .rm-menu-item .rm-menu-item a,
.rm-lighten .rm-menu-item .rm-menu-item a:focus,
.rm-lighten .rm-menu-item .rm-menu-item a:hover,
.rm-lighten .rm-menu-item .rm-menu-item.rm-hover a {
    background-color: #ffffff;
    color: #1e293b;
    outline: none;
    clear: both;
}

.rm-lighten li li a:hover,
.rm-lighten li li a:focus,
.rm-lighten li li.rm-hover > a,
.rm-lighten .rm-menu-item .rm-menu-item a:hover,
.rm-lighten .rm-menu-item .rm-menu-item a:focus,
.rm-lighten .rm-menu-item .rm-menu-item.rm-hover > a {
    background-color: #1a3a6e !important;
    color: #ffffff !important;
}

.rm-lighten li li li a:focus,
.rm-lighten li li li a:hover,
.rm-lighten li li li.rm-hover a,
.rm-lighten .rm-menu-item .rm-menu-item .rm-menu-item a:focus,
.rm-lighten .rm-menu-item .rm-menu-item .rm-menu-item a:hover,
.rm-lighten .rm-menu-item .rm-menu-item .rm-menu-item.rm-hover a {
    background-color: #0d2240 !important;
    color: #ffffff !important;
}

/* ============================================================
   THEME — DARKEN
   ============================================================ */

.rm-darken li a:focus,
.rm-darken li a:hover,
.rm-darken li.rm-hover a,
.rm-darken .rm-menu-item a:focus,
.rm-darken .rm-menu-item a:hover,
.rm-darken .rm-menu-item.rm-hover > a {
    background-color: rgba(255, 255, 255, 0.1);
    color: #60a5fa;
    outline: none;
}

.rm-darken li li a,
.rm-darken li li a:hover,
.rm-darken li li.rm-hover a,
.rm-darken .rm-menu-item .rm-menu-item a,
.rm-darken .rm-menu-item .rm-menu-item a:hover,
.rm-darken .rm-menu-item .rm-menu-item.rm-hover a {
    background-color: #2c5aa0;
    color: #ffffff;
}

.rm-darken li li li a:focus,
.rm-darken li li li a:hover,
.rm-darken li li li.rm-hover a {
    background-color: #0d2240 !important;
    color: #ffffff !important;
}

/* ============================================================
   EXPANDED LAYOUT (desktop — applied by plugin JS)
   ============================================================ */

.rm-layout-expanded .rm-nav > ul,
.rm-layout-expanded .rm-top-menu {
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.rm-layout-expanded .rm-nav > ul > li,
.rm-layout-expanded .rm-top-menu > .rm-menu-item {
    float: left;
    text-transform: uppercase;
}

.rm-layout-expanded .rm-nav > ul > .rm-last,
.rm-layout-expanded .rm-top-menu > .rm-last {
    margin-bottom: 0;
}

/* Top-level link sizing */
.rm-layout-expanded .rm-nav > ul > li > a,
.rm-layout-expanded .rm-top-menu > .rm-menu-item > a {
    height: 3em;
    line-height: 3em;
    padding: 0 10px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 15px;
    font-weight: 500;
    color: #ffffff;
    position: relative;
}

/* Animated underline on top-level hover */
.rm-layout-expanded .rm-nav > ul > li > a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    /*background: #60a5fa;*/
    transition: width 0.3s, left 0.3s;
}

.rm-layout-expanded .rm-nav > ul > li:hover > a::before,
.rm-layout-expanded .rm-nav > ul > li.rm-hover > a::before,
.rm-layout-expanded .rm-nav > ul > li.active > a::before {
    width: 100%;
    left: 0;
}

/* Dropdown container */
.rm-layout-expanded li ul,
.rm-layout-expanded .rm-menu-item .rm-menu {
    width: 260px;
    position: absolute;
    left: 0;
    top: 100%;
    /*border-top: 3px solid #3b82f6;*/
    box-shadow: 0 8px 30px rgba(26, 58, 110, 0.18);
    border-radius: 0 0 8px 8px;
    background: #ffffff;
}

/* Right-align last two dropdowns */
.rm-layout-expanded li.rm-last ul,
.rm-layout-expanded .rm-menu-item.rm-last .rm-menu,
.rm-layout-expanded li.rm-2nd-last ul,
.rm-layout-expanded .rm-menu-item.rm-2nd-last .rm-menu {
    left: auto;
    right: 0;
}

/* Nested (3rd-level) dropdown */
.rm-layout-expanded li li ul,
.rm-layout-expanded .rm-menu-item .rm-menu-item .rm-menu {
    position: absolute;
    left: 100%;
    top: 0;
    /*border-top: 3px solid #3b82f6;*/
}

.rm-layout-expanded li li.rm-last ul,
.rm-layout-expanded .rm-menu-item .rm-menu-item.rm-last .rm-menu,
.rm-layout-expanded li li.rm-2nd-last ul,
.rm-layout-expanded .rm-menu-item .rm-menu-item.rm-2nd-last .rm-menu {
    right: 100%;
    left: auto;
}

/* All expanded link sizes */
.rm-layout-expanded li a,
.rm-layout-expanded li li a,
.rm-layout-expanded li li li a,
.rm-layout-expanded .rm-menu-item a,
.rm-layout-expanded .rm-menu-item .rm-menu-item a,
.rm-layout-expanded .rm-menu-item .rm-menu-item .rm-menu-item a {
    padding-left: 0.70em;
    padding-right: 0.70em;
    font-size: 14px;
    text-align: left !important;
    line-height: 30px;
}

/* Clearfix */
.rm-layout-expanded .rm-nav > ul:before,
.rm-layout-expanded .rm-nav > ul:after,
.rm-layout-expanded .rm-top-menu:before,
.rm-layout-expanded .rm-top-menu:after {
    content: " ";
    display: table;
}
.rm-layout-expanded .rm-nav > ul:after,
.rm-layout-expanded .rm-top-menu:after {
    clear: both;
}

/* ============================================================
   DROPDOWN LINK STATES — desktop
   ============================================================ */

.rm-nav li li a,
.rm-menu-item .rm-menu-item a {
    color: #1e293b !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #e2e8f0;
}

.rm-nav li li a:hover,
.rm-nav li li a:focus,
.rm-menu-item .rm-menu-item a:hover,
.rm-menu-item .rm-menu-item a:focus {
    background: linear-gradient(135deg, #1a3a6e 0%, #2c5aa0 100%) !important;
    color: #ffffff !important;
}

.rm-nav > ul > li > a:hover,
.rm-nav > ul > li > a:focus,
.rm-nav > ul > li.rm-hover > a {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: #60a5fa !important;
}

.rm-nav li li li a,
.rm-menu-item .rm-menu-item .rm-menu-item a {
    background-color: #f0f7ff !important;
    color: #1e293b !important;
}

.rm-nav li li li a:hover,
.rm-nav li li li a:focus,
.rm-menu-item .rm-menu-item .rm-menu-item a:hover,
.rm-menu-item .rm-menu-item .rm-menu-item a:focus {
    background: linear-gradient(135deg, #0d2240 0%, #1a3a6e 100%) !important;
    color: #ffffff !important;
}

/* ============================================================
   DROPDOWN ARROW INDICATORS
   ============================================================ */

.rm-nav > ul > li > a::after {
    content: none;
}

/* Down chevron — top-level items with sub-menus */
.rm-nav > ul > li:has(> ul) > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 9px;
    margin-left: 5px;
    transition: transform 0.3s ease;
    display: inline-block;
}

.rm-nav > ul > li:has(> ul):hover > a::after,
.rm-nav > ul > li:has(> ul).rm-hover > a::after {
    transform: rotate(180deg);
}

/* Right chevron — second-level items with nested menus */
.rm-nav li li:has(> ul) > a::after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 9px;
    margin-left: auto;
    padding-left: 10px;
    transition: transform 0.3s ease;
    display: inline-block;
}

.rm-nav li li:has(> ul):hover > a::after,
.rm-nav li li:has(> ul).rm-hover > a::after {
    transform: translateX(3px);
}

/* Third-level right chevron */
.rm-nav li li li:has(> ul) > a::after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 9px;
    margin-left: auto;
    padding-left: 10px;
}

/* Flex on dropdown links for arrow alignment */
.rm-nav li li a,
.rm-menu-item .rm-menu-item a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

/* ============================================================
   OVERFLOW FIX — last two items' nested menus open LEFT
   ============================================================ */

.rm-layout-expanded .rm-nav > ul > li:nth-last-child(-n+2) li ul {
    left: auto !important;
    right: 100% !important;
}

.rm-nav > ul > li:nth-last-child(-n+2) li:has(> ul) > a::after {
    content: '\f053' !important;
}

.rm-nav > ul > li:nth-last-child(-n+2) li:has(> ul):hover > a::after {
    transform: translateX(-3px);
}

/* ============================================================
   NO-JS FALLBACK
   ============================================================ */

.no-js .rm-nav li ul,
.rm-nojs li ul,
.no-js .rm-nav .rm-menu-item .rm-menu,
.rm-nojs .rm-menu-item .rm-menu {
    position: absolute;
    left: -999em;
}

.rm-toggle.rm-nojs {
    display: inline-block;
    visibility: hidden;
}

@media screen and (min-width: 800px) {
    .rm-nojs > ul > li,
    .no-js .rm-nav > ul > li {
        float: left;
    }

    .rm-nojs li a,
    .no-js .rm-nav li a {
        padding-left: 1em;
    }

    .rm-nojs > ul:before,
    .rm-nojs > ul:after,
    .no-js .rm-nav > ul:before,
    .no-js .rm-nav > ul:after {
        content: " ";
        display: table;
    }

    .rm-nojs > ul:after,
    .no-js .rm-nav > ul:after {
        clear: both;
    }

    .rm-toggle.rm-nojs {
        display: none;
    }
}

/* ============================================================
   CALCULATION STYLES (applied/removed by jQuery)
   ============================================================ */

.rm-calculate {
    position: absolute !important;
    max-height: none !important;
    overflow: visible !important;
}

.rm-layout-contracted .rm-calculate {
    width: 100% !important;
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */

.rm-container .accessibly-hidden {
    position: absolute;
    left: -999em;
}

/* ============================================================
   TABLET BREAKPOINT  (≤ 1024px)
   ============================================================ */

@media screen and (max-width: 1024px) {
    .rm-layout-expanded .rm-nav > ul > li > a,
    .rm-layout-expanded .rm-top-menu > .rm-menu-item > a {
        height: 2.6em;
        line-height: 2.6em;
        font-size: 13px;
        padding: 0 6px;
    }
}

/* ============================================================
   MOBILE MENU  (≤ 800px)
   ============================================================ */

@media screen and (max-width: 800px) {

    .rm-nav,
    .rm-nav ul {
        background: linear-gradient(180deg, #1a3a6e 0%, #0d2240 100%);
        width: 100%;
    }

    .rm-nav li a,
    .rm-menu-item a {
        padding: 12px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        color: #ffffff !important;
        font-size: 14px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        background: transparent !important;
        text-align: left !important;
        line-height: 1.5 !important;
        text-decoration: none;
    }

    .rm-nav > ul > li > a {
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px;
        font-size: 13px !important;
        background: rgba(255, 255, 255, 0.05) !important;
    }

    .rm-nav li li a,
    .rm-nav li ul li a,
    .rm-menu-item .rm-menu-item a {
        padding-left: 32px !important;
        font-weight: 400 !important;
        text-transform: none !important;
        font-size: 13px !important;
        background: rgba(0, 0, 0, 0.15) !important;
        color: rgba(255, 255, 255, 0.92) !important;
    }

    .rm-nav li li li a,
    .rm-nav li ul li ul li a,
    .rm-menu-item .rm-menu-item .rm-menu-item a {
        padding-left: 48px !important;
        font-size: 12px !important;
        background: rgba(0, 0, 0, 0.22) !important;
        color: rgba(255, 255, 255, 0.85) !important;
    }

    .rm-nav li li li li a,
    .rm-menu-item .rm-menu-item .rm-menu-item .rm-menu-item a {
        padding-left: 64px !important;
        font-size: 12px !important;
        background: rgba(0, 0, 0, 0.28) !important;
    }

    .rm-nav li a:hover,
    .rm-nav li a:focus,
    .rm-menu-item a:hover,
    .rm-menu-item a:focus {
        background: rgba(96, 165, 250, 0.18) !important;
        color: #60a5fa !important;
    }

    .rm-nav li.rm-hover > a,
    .rm-nav li:has(> .rm-menu-expanded) > a {
        background: rgba(59, 130, 246, 0.15) !important;
        color: #60a5fa !important;
        /*border-left: 3px solid #60a5fa !important;*/
    }

    .rm-nav li ul,
    .rm-menu-item .rm-menu {
        width: 100% !important;
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
    }

    .rm-nav li:last-child > a,
    .rm-nav li ul li:last-child > a {
        border-bottom: none !important;
    }

    .rm-nav li:has(> ul) > a::after {
        content: '\f078' !important;
        font-family: 'Font Awesome 6 Free' !important;
        font-weight: 900 !important;
        font-size: 10px !important;
        margin-left: auto !important;
        padding-left: 10px !important;
        transition: transform 0.3s ease !important;
        color: rgba(255, 255, 255, 0.55);
    }

    .rm-nav li.rm-hover > a::after,
    .rm-nav li:has(> .rm-menu-expanded) > a::after {
        transform: rotate(180deg) !important;
        color: #60a5fa !important;
    }

    .rm-nav > ul > li.active > a {
        background: rgba(96, 165, 250, 0.18) !important;
    }

    .rm-nav > ul > li.active > a i {
        color: #60a5fa;
    }

    .rm-toggle.rm-button {
        margin: 8px 10px;
        padding: 8px 12px !important;
        width: auto !important;
        text-indent: 0 !important;
        background-color: #1a3a6e !important;
        /*border: 2px solid #60a5fa !important;*/
        border-radius: 6px !important;
        color: #ffffff !important;
        font-size: 14px !important;
    }

    .rm-toggle.rm-button:hover,
    .rm-toggle.rm-button:focus {
        background-color: #0d2240 !important;
        border-color: #ffffff !important;
    }

    .rm-nav li,
    .rm-menu-item {
        position: relative;
        width: 100%;
    }
}
