// The dropdown wrapper (`
`) .dropdown { position: relative; display: inline-block; } .dropdown-toggle { box-shadow: none; cursor: default; &:hover, &:focus { background: transparent; } &:after { content: ''; display: inline-block; width: 14px; height: 10px; background: url('../img/icon-caret.svg') no-repeat center center; background-size: contain; transition: .15s ease-out; } .dropdown.show &, .dropdown--hover:hover & { &:after { transform: rotate(180deg); } } } // The dropdown menu .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 10; display: block; float: left; min-width: 10rem; padding: $spacer / 4 0; margin: 0; font-size: $font-size-base; color: $body-bg; text-align: left; list-style: none; border-radius: $border-radius; box-shadow: 0 3px 10px rgba(0, 0, 0, .3); background: $gray-dark; background-clip: padding-box; border: 0; max-height: 20rem; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: .2s $timing-bounce; opacity: 0; transform: scale(1, 0); transform-origin: top; @media (max-width: 27rem), (max-height: 27rem) { max-height: 11.25rem; } } // Links, buttons, and more within the dropdown menu .dropdown-item { display: block; width: 100%; padding: $spacer / 2 $spacer; clear: both; font-weight: $font-weight-normal; color: $brand-main-gray-light; text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; box-shadow: none; &:hover, &:focus { text-decoration: none; } &.active { background: $brand-main-gray-light; color: $gray-dark; text-decoration: none; } &[rel='external']:after { margin-left: 0; } } .dropdown-menu.show, .dropdown--hover:hover > .dropdown-menu { transform: scale(1, 1); opacity: 1; } .dropdown--hover > .dropdown-toggle:active { // Without this, clicking will make it sticky pointer-events: none; }