.c-search { display: flex; align-items: center; border-bottom: 3px $primary-color solid; } .c-search__input { border: 0; margin: 0; box-shadow: none; &:focus { border: 0; box-shadow: none; } } .c-search__confirm { padding: 0em 1em; font-size: 1.1rem; } .c-responsive-menu-toggle { display: inline-block; font-size: 1.15rem; border: 1px solid $medium-gray; transition: border .2s; } .c-responsive-menu-toogle__button { display: flex; align-items: center; padding: 0.7rem 1.25rem; } .c-responsive-menu-toggle__caption { margin-right: .25rem; text-transform: uppercase; } .c-responsive-menu { display: block; padding: .5rem 0; @include breakpoint(medium down) { position: absolute; top: 100%; left: 0; z-index: 10; background: $light-gray; border-bottom: 3px $primary-color solid; width: calc(100% + 2.5rem); margin-left: -1.25rem; margin-right: -1.25rem; } @include breakpoint(small down) { width: calc(100% + 1.25rem); margin-left: -0.625rem; margin-right: -0.625rem; } } .c-responsive-menu__items { list-style-type: none; margin: 0; } .c-responsive-menu__item { display: inline-block; @include breakpoint(medium down) { display: block; } @include breakpoint(small down) { text-align: center; } } .c-responsive-menu__item a { display: block; position: relative; color: map-get($foundation-palette, dark); text-transform: uppercase; font-family: $header-font-family; font-size: 1.25rem; font-weight: 600; margin: 0.7rem 1.25rem; padding: 4px .25em 0; // 4px to compensate for font @include breakpoint(medium down) { padding: 1rem 1.8rem; } } // Highlight active item in the menu. .c-responsive-menu__item--active a, .c-responsive-menu__item a:hover, { color: $primary-color; } .c-responsive-menu__item a:hover, .c-responsive-menu__item--active a { background: $primary-color; color: $secondary-color; } // Display '/' divider between menu items on desktop view. .c-responsive-menu__item + .c-responsive-menu__item a { @include breakpoint(large) { &:before { content: '/'; width: 12px; display: inline-block; position: absolute; top: -1px; left: -27px; font-size: 1.7rem; color: $medium-gray; border: 0px solid transparent; margin-top: 0; } } } .c-top-bar { position: relative; display: flex; align-items: center; @include breakpoint(medium down) { padding: 1.5rem 0; } } // Brand goes first. .c-top-bar__brand { order: 1; width: 130px; // a little bit bigger on large screens flex-shrink: 0; display: flex; align-items: center; margin-right: 1.5rem; @include breakpoint(medium down) { width: 115px; } @include breakpoint(small down) { display: none; } } // Responsive menu is second. .c-top-bar .c-responsive-menu { order: 2; } // Search is last. .c-top-bar__search { order: 3; @include breakpoint(large) { flex: 1; // search spreads to available space max-width: 200px; // ... but max 200px margin-left: auto; } @include breakpoint(medium down) { flex: 1; margin-right: 1.5rem; } .c-search { @include breakpoint(large) { margin: 1rem 0; } // On large screen, search confirm is at the very right of the container. // @see: order: 3. .c-search__confirm { @include breakpoint(large) { padding-right: 0; } } } } .c-top-bar .c-responsive-menu-toggle { order: 4; } // Divides top bar from the rest of the page. .c-top-bar__divider { clear: both; display: block; height: 5px; margin-top: -3px; background: $primary-color; position: relative; z-index: 9; }