@import '../constants/colors'; @import '../constants/dimensions'; @import '../constants/fonts'; .dropdown { position: relative; display: inline-block; box-sizing: border-box; text-align: left; &:focus { outline: none; } } .dropdown__backdrop { position: fixed; z-index: 999; display: none; left: 0; right: 0; top: 0; bottom: 0; content: ' '; } .dropdown__menu { &.dropdown__menu--open .dropdown__backdrop { display: block; } ul { z-index: 9999; display: none; position: fixed; top: 0; left: 0; border: 1px solid @hl-sm; box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1); box-sizing: border-box; background: var(--color-bg); // Separate it from it's surroundings a bit margin: @padding-xxs 3px; padding-top: @radius-md; padding-bottom: @radius-md; border-radius: @radius-md; overflow: auto; .dropdown__inner { width: 100%; } .dropdown__text { white-space: nowrap; display: flex; flex-direction: row; align-items: center; & > *:not(:first-child) { margin-left: 0.3em; } .dropdown__hint, .dropdown__right { color: @hl-xl; margin-left: auto; padding-left: @padding-lg; } } li > button { font-size: @font-size-md; text-align: left; padding-right: @padding-md; padding-left: @padding-sm; height: @line-height-xs; width: 100%; display: block; color: var(--color-font) !important; white-space: nowrap; margin: 0; &:hover:not(:disabled), &:focus:not(:disabled) { background: @hl-sm; } &:active:not(:disabled) { background: @hl-md; } i.fa:first-child { display: inline-block; width: 2.2em; text-align: center; } } li.dropdown__divider { border-bottom: 1px solid @hl-lg; overflow: visible !important; height: 0; margin: @padding-md @padding-md @padding-md @padding-md; min-width: @dropdown-min-width - @padding-md * 2; .dropdown__divider__label { position: relative; left: -@padding-sm / 2; top: -0.7rem; color: @hl; padding-right: 1em; background: var(--color-bg); font-size: @font-size-xs; text-transform: uppercase; } &.dropdown__divider--no-name { margin: @padding-xs 0; .dropdown__divider__label { display: none; } } } } &.dropdown__menu--open ul { display: block; animation: fadeIn 200ms ease-out; } }