sass/navigation.scss (351 lines of code) (raw):

.navOuterContainer { background: $lightergrey; box-sizing: border-box; order: 1; .navInnerContainer { height: 100%; } h3 { font-size: 19px; } h5 { font-size: 16px; } .navList { position: relative; .navGroup.navGroupActive { .subList { display: block; } h4 { background-color: #DADADA; } } li { a { color: $lightgrey; display: block; font-weight: bold; &:hover { background-color: #DADADA; color: #303030; } } h4 { font-family: $base-font; font-size: 16px; a { color: $orange; padding-bottom: 10px; padding-top: 10px; } } } } .subList { margin-bottom: 20px; display: none; .subListItem { h5 { a { color: $grey; font-weight: 400; padding-left: 30px; position: relative; &::before { border-color: transparent transparent transparent transparent; border-style: solid; border-width: 5px 0 5px 8.7px; content: ""; height: 0; left: 12px; position: absolute; top: 8px; transition: border-color 0.5s; width: 0; } } } &:hover { h5 { a { &::before { border-color: transparent transparent transparent $grey; } } } } &.itemActive { h5 { a { font-weight: 700; &::before { border-color: transparent transparent transparent $orange; } } } } } } .apiNavList { .navGroup { .subList { display: none; } &.navGroupActive { .subList { display: block; } } } .subList { .subListItem { h5 { line-height: 0.7em; a { @include apinavlink; &::before { top: 7.5px; } } } .secondLevelList { display: none; .secondLevelListItem { h6 { line-height: 0.7em; a { @include apinavlink; font-weight: 400; padding-left: 45px; } } &.secondLevelItemActive { h6 { a { color: $midgrey; font-weight: 700; } } } } } &.itemActive { .secondLevelList { display: block; } } } } } } .breadcrumbNav { line-height: normal; padding-top: 10px; word-wrap: break-word; } .breadcrumbNav, .breadcrumbNav a { font-size: 12px; font-weight: 400; text-transform: uppercase; } .breadcrumbSeparator { margin: 0 10px; padding-left: 6px; position: relative; } .breadcrumbSeparator::before { border-color: transparent transparent transparent $lightgrey; border-style: solid; border-width: 3px 0px 3px 5.5px; content: ""; height: 0; left: 0px; position: absolute; top: 5px; transition: border-color 0.5s; width: 0; } @media only screen and (max-width: 480px) { .navOuterContainer { .navInnerContainer { .navList { display: block; li { width: 100%; } } .navToggleOn { .navList { display: block; } } } } .breadcrumbNav { line-height: 1.6em; } } @media only screen and (min-width: 480px) and (max-width: 1020px) { .navOuterContainer { .navInnerContainer { .navList { display: flex; & > li { width: 50%; } } .navToggleOn { .navList { display: flex; } } } } } @media only screen and (max-width: 1020px) { .navOuterContainer { background: none; box-sizing: border-box; height: 60px; overflow-x: hidden; position: fixed; right: 0; top: 0; transition: height 0.3s; width: 60px; z-index: 999; &.navToggleOn { height: 100%; left: 0px; padding-top: 60px; width: 100%; .navToggleButton { color: white; } } &.navToggleOff { .navList { display: none; } .navToggleButton { color: $grey; } } .navToggleButton { cursor: pointer; font-size: 24px; line-height: 60px; position: fixed; top: 0; right: 15px; z-index: 9999; transition: color 0.3s; } .navList { align-items: stretch; background: #f8f8f8; box-sizing: border-box; display: flex; flex-flow: row wrap; height: 100%; overflow-y: scroll; -webkit-overflow-scrolling: touch; padding: 10px; width: 100%; & > li { box-sizing: border-box; flex: 1; flex-basis: 50%; flex-shrink: 0; flex-flow: 1; padding: 10px; width: 50%; } } .subList { .subListItem h5 a::before { left: -12px; } } } } @media only screen and (min-width: 1020px) { .navOuterContainer { height: 100vh; order: 1; padding: 60px 0 0; position: fixed; left: 0px; top: 0px; width: 300px; z-index: 99; .navToggleButton { display: none; } & + .mainContainer { margin-left: 300px; } h3 { font-size: 19px; } .navList { box-sizing: border-box; height: 100%; overflow-x: hidden; overflow-y: scroll; padding: 20px 0; li { h4 { a { padding-left: 30px; } } } .subList { .subListItem { h5 { a { padding-left: 30px; } } } } } .navInnerContainer { & > .navList { box-sizing: border-box; height: 100%; overflow-x: hidden; overflow-y: scroll; padding: 20px 0; } } } } @media only screen and (min-width: 1400px) { .navOuterContainer { .subList { .subListItem { h5 { a { &::before { top: 12px; } } } } } .apiNavList { .subList { .subListItem { h5 { a::before { top: 10px; } } } } } } }