<li class="main-menu__item two">

    <input id="main-menu-item-toggle-two" class="menu-toggle u-a11y-text main-menu-item-toggle" type="checkbox" aria-controls="main-menu-item-menu-container-two">
    <label class="main-menu__link main-menu__link--toggle main-menu__link--with-sub menu-toggle-button menu-toggle-button--the-menu" for="main-menu-item-toggle-two" data-controls="main-menu-item-menu-container-two" aria-haspopup="true" aria-label="Toggle main menu visibility" role="menuitem">Academics</label>
    <div class="main-menu--sub-nav menu-toggle__toggleable menu-toggle__toggleable--with-close" aria-label="Academics" id="main-menu-item-menu-container-two">
        <div class="menu-toggle__toggleable-content-wrapper">

            <ul class="main-menu--sub">

                <li class="main-menu__item--sub title">

                    Undergraduate

                <li class="main-menu__item--sub sub-title">

                    Degree Programs

                <li class="main-menu__item--sub ">

                    <a href="#" class="main-menu__link main-menu__link--sub">BS Business & Economics</a>

                </li>
                <li class="main-menu__item--sub ">

                    <a href="#" class="main-menu__link main-menu__link--sub">BS Integrated Business & Engineering (IBE)</a>

                </li>
                <li class="main-menu__item--sub ">

                    <a href="#" class="main-menu__link main-menu__link--sub">BS Computer Science & Business (CSB)</a>

                </li>

</li>
<li class="main-menu__item--sub sub-title">

    Majors

<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Accounting</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Business Information Systems</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Economics</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Finance</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Management</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Marketing</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Supply Chain Managment</a>

</li>

</li>
<li class="main-menu__item--sub sub-title">

    Minors

<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Business Information Systems</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Entrepreneurship</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Fintech</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Management</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Real Estate</a>

</li>
<li class="main-menu__item--sub ">

    <a href="#" class="main-menu__link main-menu__link--sub">Supply Chain Management</a>

</li>

</li>

</li>

</ul>

<div class="main-menu--stacked">
    <ul class="main-menu--sub">

        <li class="main-menu__item--sub title">

            Graduate

        <li class="main-menu__item--sub sub-title">

            Master's Program

        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">1-MBA</a>

        </li>
        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">Flex MBA</a>

        </li>
        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">MS Accounting & Information Analysis</a>

        </li>
        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">MS Applied Economics</a>

        </li>
        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">MS Financial Engineering</a>

        </li>
        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">MS Mangament</a>

        </li>

        </li>
        <li class="main-menu__item--sub sub-title">

            PH.D. Program

        <li class="main-menu__item--sub ">

            <a href="#" class="main-menu__link main-menu__link--sub">PH.D. Business & Economics</a>

        </li>

        </li>

        </li>

    </ul>

    <ul class="main-menu--sub">

        <li class="main-menu__item--sub title">

            Executive Education

        <li class="main-menu__item--sub sub-title">

            <a href="#" class="main-menu__link main-menu__link--sub">Programs for Individuals</a>

        </li>
        <li class="main-menu__item--sub sub-title">

            <a href="#" class="main-menu__link main-menu__link--sub">Programs for Organizations</a>

        </li>
        <li class="main-menu__item--sub sub-title">

            <a href="#" class="main-menu__link main-menu__link--sub">Certificate Programs</a>

        </li>

        </li>

    </ul>
    <div class="decoration"></div>
</div>
</div>
</li>
{% include main_menu ?: '@main-menu' with {
    title: 'Academics',
    number: 'two',
    has_subtitles: true,
  }
%}
{
  "title": "Academics",
  "items": [
    {
      "title": "Undergraduate",
      "below": [
        {
          "title": "Degree Programs",
          "below": [
            {
              "title": "BS Business & Economics",
              "url": "#"
            },
            {
              "title": "BS Integrated Business & Engineering (IBE)",
              "url": "#"
            },
            {
              "title": "BS Computer Science & Business (CSB)",
              "url": "#"
            }
          ]
        },
        {
          "title": "Majors",
          "below": [
            {
              "title": "Accounting",
              "url": "#"
            },
            {
              "title": "Business Information Systems",
              "url": "#"
            },
            {
              "title": "Economics",
              "url": "#"
            },
            {
              "title": "Finance",
              "url": "#"
            },
            {
              "title": "Management",
              "url": "#"
            },
            {
              "title": "Marketing",
              "url": "#"
            },
            {
              "title": "Supply Chain Managment",
              "url": "#"
            }
          ]
        },
        {
          "title": "Minors",
          "below": [
            {
              "title": "Business Information Systems",
              "url": "#"
            },
            {
              "title": "Entrepreneurship",
              "url": "#"
            },
            {
              "title": "Fintech",
              "url": "#"
            },
            {
              "title": "Management",
              "url": "#"
            },
            {
              "title": "Real Estate",
              "url": "#"
            },
            {
              "title": "Supply Chain Management",
              "url": "#"
            }
          ]
        }
      ]
    },
    {
      "title": "Graduate",
      "below": [
        {
          "title": "Master's Program",
          "below": [
            {
              "title": "1-MBA",
              "url": "#"
            },
            {
              "title": "Flex MBA",
              "url": "#"
            },
            {
              "title": "MS Accounting & Information Analysis",
              "url": "#"
            },
            {
              "title": "MS Applied Economics",
              "url": "#"
            },
            {
              "title": "MS Financial Engineering",
              "url": "#"
            },
            {
              "title": "MS Mangament",
              "url": "#"
            }
          ]
        },
        {
          "title": "PH.D. Program",
          "below": [
            {
              "title": "PH.D. Business & Economics",
              "url": "#"
            }
          ]
        }
      ]
    },
    {
      "title": "Executive Education",
      "below": [
        {
          "title": "Programs for Individuals",
          "url": "#"
        },
        {
          "title": "Programs for Organizations",
          "url": "#"
        },
        {
          "title": "Certificate Programs",
          "url": "#"
        }
      ]
    }
  ]
}
  • Content:
    window.addEventListener('DOMContentLoaded', function() {
        var $menuToggles = document.querySelectorAll('.menu-toggle-button');
        for (let i = 0; i < $menuToggles.length; i++) {
            var $menuToggle = $menuToggles[i];
            menuToggle.Init($menuToggle);
        }
    });
    
  • URL: /components/raw/main-menu/main-menu.js
  • Filesystem Path: components/02-pieces/03-menus/02-main-menu/main-menu.js
  • Size: 273 Bytes
  • Content:
    .main-nav {
        background-color: $lehigh-brown;
    
      .main-menu {
        display: flex;
        flex-direction: column;
        border-top: 2px solid $white;
        @include reset-list-nav;
    
        @media (min-width: $break-desktop) {
          flex-direction: row;
          justify-content: flex-end;
          border: 0;
        }
    
        &__item {
          margin: 0;
          border-top: 1px solid $white;
          @media (min-width: $break-desktop) {
            margin: 0 $space-double 0 0;
            border: 0;
          }
    
        }
    
        .main-menu__link {
          width: 100%;
          padding: 0.5em 1em;
          border: 0;
          font-size: 1.5rem;
          color: $white;
          background-color: transparent;
          @media (min-width: $break-desktop) {
            width: auto;
            padding: 0;
          }
    
          &:hover,
          &:focus {
            text-decoration: none;
            color: $gold;
          }
    
          &--with-sub {
            &::after {
              position: relative;
              left: 3px;
              color: $white;
              display: inline-block;
              content: "\f107";
              font-family: $font-awesome;
              transform: rotate(-90deg);
              @media (min-width: $break-desktop) {
                transform: rotate(0);
              }
            }
          }
    
          &--sub {
            &:hover,
            &:focus {
              text-decoration: underline;
            }
          }
        }
    
        &--sub-nav {
          position: absolute;
          top: 10rem;
          left: 0;
          height: inherit;
          width: 100%;
          background-color: rgba(255, 255, 255, 0.9);
          backdrop-filter: blur(10px);
    
          .menu-toggle__toggleable-content-wrapper {
            padding: $space-double;
            @media (min-width: $break-desktop) {
              padding: 0 $space-triple $space-quintuple;
              height: 80vh;
              overflow-y: auto;
              text-align: center;
            }
          }
    
          &.show {
            visibility: visible;
          }
    
          .main-menu--sub {
            list-style: none;
            margin: $space-double 0 0 0;
            padding: 0;
            @media (min-width: $break-desktop) {
              margin: $space-quintuple 0 0 0;
              padding: 0 $space-quadruple 0 0;
              display: inline-block;
              vertical-align: top;
              text-align: left;
            }
    
            li {
              &.title {
                color: $grey_dark;
                font-size: 1.5rem;
                font-weight: bold;
                margin: 0 0 $space 0;
    
                a {
                  color: $grey_dark;
                  font-size: 1.5rem;
                  font-weight: bold;
                  margin: 0 0 $space 0;
                  text-decoration: none;
    
                  &:hover {
                    text-decoration: none;
                  }
                }
              }
    
              &.sub-title {
                color: $black;
                font-size: 1.25rem;
                font-weight: bold;
                margin: 1.5rem 0 $space-one-half 0;
    
                a {
                  color: $black;
                  font-size: 1.25rem;
                  font-weight: bold;
                  margin: 1.5rem 0 $space-one-half 0;
                  text-decoration: none;
    
                  &:hover {
                    text-decoration: none;
                  }
                }
              }
    
              margin: 0 0 $space-one-fourth 0;
    
              .main-menu__link {
                color: $black;
                font-size: 1.25rem;
              }
    
              &:last-of-type {
                margin: 0;
              }
            }
          }
    
          .main-menu--stacked {
            display: flex;
            flex-direction: column;
    
            .main-menu--sub {
              &:last-of-type {
                margin: $space-quadruple 0 0 0;
    
                li {
                  margin: $space-one-half 0;
    
                  &:last-of-type {
                    margin: $space-one-half 0 0 0;
                  }
                }
              }
            }
          }
    
          .decoration {
            display: none;
            position: absolute;
            bottom: 0;
            right: 0;
            overflow: hidden;
            @media (min-width: $break-desktop) {
              display: block;
            }
    
            &::before {
              content: '';
              display: block;
              position: relative;
              top: 0;
              width: 0;
              height: 0;
              border-top: 200px solid transparent;
              border-right: 200px solid $lehigh-brown;
            }
          }
        }
        .two {
          .decoration {
            &::before {
              border-right: 200px solid $red;
            }
          }
        }
      }
    
      .js-menu-toggle__toggleable__close {
        @include css-art--x;
        position: absolute;
        top: $space-double;
        right: $space-double;
        width: $space-double;
        height: $space-double;
        border: 0;
        background: transparent;
        appearance: none;
        cursor: pointer;
    
        // Change close icon color
        &:hover,
        &:focus {
          &:before,
          &:after {
            background: $blue_k60;
          }
        }
      }
    }
    
    .sticky .main-nav .main-menu--sub-nav {
      position: fixed;
      top: 121px;
    }
    
    // Open and Shut Styles
    // -----------------------------------------------------------------------------
    /// Visibility has to have a different delay on default state vs open state
    /// Adding mixin so transitions are managed in one place instead of 2
    @mixin main-menu__item__transitions($is-open: true) {
      $visibility-delay: 0s;
      @if $is-open == false {
        $visibility-delay: 0.4s;
      }
      transition: visibility 0s $visibility-delay;
      @media (min-width: $break-desktop) {
        // sass-lint:disable indentation
        transition:
          visibility 0s $visibility-delay,
          height 0.25s ease-out,
          box-shadow 0.4s ease-out;
        // sass-lint:enable indentation
      }
    }
    
    %main-menu__item--shut {
      @include main-menu__item__transitions(false);
      position: absolute;
      top: 0;
      left: 100vw;
      z-index: -2;
      width: 100%;
      // Last number is measured height of mobile header
      min-height: calc(100vh - 139px);
      max-height: calc(100vh - 139px);
      visibility: hidden;
      overflow-y: scroll;
      @media (min-width: $break-desktop) {
        position: absolute;
        top: 100%;
        left: 50%;
        height: 0;
        min-height: 0;
        max-height: 99999em;
        overflow: hidden;
        transform: translate(-50%);
      }
    }
    
    .main-nav .main-menu--sub-nav {
      .main-menu__item--sub {
        background-color: $white;
      }
    
      &.js-menu-toggle__toggleable--open {
        .main-menu__item--sub {
          background-color: inherit;
        }
      }
    }
    
    %main-menu__item--open {
      @include main-menu__item__transitions();
      // Default, it'll be overridden by JS
      overflow-y: scroll;
      visibility: visible;
      @media (min-width: $break-desktop) {
        height: calc(100vh - #{vr(4)});
      }
    
      .js & {
        box-shadow: 0 18px 54px 18px rgba($black, 0.22);
      }
    
      // If there's a height style on the tag JS has height, so we don't need scroll
      &[style*='height'] {
        @media ($break-desktop) {
          overflow: hidden;
        }
      }
    
    }
    
    // No JS solution
    // sass-lint:disable no-mergeable-selectors
    .main-menu__link--toggle {
      ~ .menu-toggle__toggleable {
        @extend %main-menu__item--shut;
      }
    
      &:checked ~ .menu-toggle__toggleable {
        @extend %main-menu__item--open;
      }
    }
    
    // JS Solution (which is more accessible)
    .main-menu--sub-nav {
      &.js-menu-toggle__toggleable {
        @extend %main-menu__item--shut;
      }
    
      &.js-menu-toggle__toggleable--open {
        @extend %main-menu__item--open;
      }
    }
    // sass-lint:enable no-mergeable-selectors
    
  • URL: /components/raw/main-menu/main-menu.scss
  • Filesystem Path: components/02-pieces/03-menus/02-main-menu/main-menu.scss
  • Size: 7.2 KB

No notes defined.