// The dropdown wrapper (`
`) .dropup, .dropright, .dropdown, .dropleft { position: relative; } .dropdown-toggle { white-space: nowrap; // Generate the caret automatically @include caret(); } // The dropdown menu .dropdown-menu { position: absolute; top: 100%; left: 0; right: auto; max-width: 280px; overflow-y: auto; z-index: $zindex-fixed + 200; display: none; // none by default, but block on "open" of the menu float: left; min-width: $dropdown-min-width; padding: $dropdown-padding-y $dropdown-padding-x; margin: $dropdown-spacer 0 0; // override default ul @include font-size($dropdown-font-size); color: $dropdown-color; text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) list-style: none; background-color: $dropdown-bg; background-clip: padding-box; @include border-radius($dropdown-border-radius); box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px, rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px, rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px; .rui-course-card & { max-width: 195px; } .border-top, .border-bottom { border-color: $dropdown-border-color!important; } .block-controls & { padding: 5px; margin: 2px; } .theme-dark & { color: $dm-dropdown-color; background-color: $dm-dropdown-bg; border: 1px solid $dm-border-color; } li { margin-bottom: .35rem; &:last-of-type { margin-bottom: 0; } } } @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { $infix: breakpoint-infix($breakpoint, $grid-breakpoints); .dropdown-menu#{$infix}-left { right: auto; left: 0; } .dropdown-menu#{$infix}-right { right: 0; left: auto; } } } // Allow for dropdowns to go bottom up (aka, dropup-menu) // Just add .dropup after the standard .dropdown class and you're set. .dropup { .dropdown-menu { top: auto; bottom: 100%; margin-top: 0; margin-bottom: $dropdown-spacer; } .dropdown-toggle { @include caret(up); } } .dropright { .dropdown-menu { top: 0; right: auto; left: 100%; margin-top: 0; margin-left: $dropdown-spacer; } .dropdown-toggle { @include caret(right); &::after { vertical-align: 0; } } } .dropleft { .dropdown-menu { top: 0; right: 100%; left: auto; margin-top: 0; margin-right: $dropdown-spacer; } .dropdown-toggle { @include caret(left); &::before { vertical-align: 0; } } } // When enabled Popper.js, reset basic dropdown position // stylelint-disable-next-line no-duplicate-selectors .dropdown-menu { &[x-placement^="top"], &[x-placement^="right"], &[x-placement^="bottom"], &[x-placement^="left"] { right: auto; bottom: auto; } } // Dividers (basically an `
`) within the dropdown .dropdown-divider { @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true); .theme-dark & { @include nav-divider($dm-dropdown-divider-bg, $dropdown-divider-margin-y, true); } &+.dropdown-divider { display: none; } } // Links, buttons, and more within the dropdown menu // // `