/* Button groups ======================================== */ /* Make the div behave like a button container */ .btn-group { position: relative; display: inline-flex; vertical-align: middle; } /* Space out series of button groups */ .btn-group + .btn-group { margin-left: 5px; } /* Optional: Group multiple button groups together for a toolbar */ .btn-toolbar { display: flex; flex-wrap: wrap; gap: 5px; margin-top: calc(var(--base-line-height) / 2); margin-bottom: calc(var(--base-line-height) / 2); } /* Float them, remove border radius, then re-add to first and last elements */ .btn-group > .btn { position: relative; border-radius: 0; flex: 0 1 auto; } .btn-group > .btn + .btn { margin-left: -1px; } .btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover { font-size: var(--base-font-size); } /* Reset fonts for other sizes */ .btn-group > .btn-mini { font-size: var(--font-size-mini); } .btn-group > .btn-small { font-size: var(--font-size-small); } .btn-group > .btn-large { font-size: var(--font-size-large); } /* Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match */ .btn-group > .btn:first-child { margin-left: 0; border-top-left-radius: var(--base-border-radius); border-bottom-left-radius: var(--base-border-radius); } /* Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it */ .btn-group > .btn:last-child, .btn-group > .dropdown-toggle { border-top-right-radius: var(--base-border-radius); border-bottom-right-radius: var(--base-border-radius); } /* Reset corners for large buttons */ .btn-group > .btn.large:first-child { margin-left: 0; border-top-left-radius: var(--border-radius-large); border-bottom-left-radius: var(--border-radius-large); } .btn-group > .btn.large:last-child, .btn-group > .large.dropdown-toggle { border-top-right-radius: var(--border-radius-large); border-bottom-right-radius: var(--border-radius-large); } /* On hover/focus/active, bring the proper btn to front */ .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active { z-index: 2; } /* On active and open, don't show outline */ .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } /* Split button dropdowns */ .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; box-shadow: inset 1px 0 0 rgba(255, 255, 255, .125), inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); } .btn-group > .btn-mini + .dropdown-toggle { padding-left: 5px; padding-right: 5px; } .btn-group > .btn-large + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { background-image: none; box-shadow: inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05); } /* Keep the hover's background when dropdown is open */ .btn-group.open .btn.dropdown-toggle { background-color: var(--btn-background-highlight); } .btn-group.open .btn-primary.dropdown-toggle { background-color: var(--btn-primary-background-highlight); } .btn-group.open .btn-warning.dropdown-toggle { background-color: var(--btn-warning-background-highlight); } .btn-group.open .btn-danger.dropdown-toggle { background-color: var(--btn-danger-background-highlight); } .btn-group.open .btn-success.dropdown-toggle { background-color: var(--btn-success-background-highlight); } .btn-group.open .btn-info.dropdown-toggle { background-color: var(--btn-info-background-highlight); } .btn-group.open .btn-inverse.dropdown-toggle { background-color: var(--btn-inverse-background-highlight); } /* Reposition the caret */ .btn .caret { margin-top: 8px; margin-left: 0; } /* Carets in other button sizes */ .btn-large .caret { margin-top: 6px; border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; } .btn-mini .caret, .btn-small .caret { margin-top: 8px; } /* Upside down carets for .dropup */ .dropup .btn-large .caret { border-bottom-width: 5px; } /* Account for other colors */ .btn-primary .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret, .btn-success .caret, .btn-inverse .caret { border-top-color: var(--white); border-bottom-color: var(--white); } /* Vertical button groups */ .btn-group-vertical { display: inline-flex; flex-direction: column; } .btn-group-vertical > .btn { width: 100%; max-width: 100%; border-radius: 0; } .btn-group-vertical > .btn + .btn { margin-left: 0; margin-top: -1px; } .btn-group-vertical > .btn:first-child { border-radius: var(--base-border-radius) var(--base-border-radius) 0 0; } .btn-group-vertical > .btn:last-child { border-radius: 0 0 var(--base-border-radius) var(--base-border-radius); } .btn-group-vertical > .btn-large:first-child { border-radius: var(--border-radius-large) var(--border-radius-large) 0 0; } .btn-group-vertical > .btn-large:last-child { border-radius: 0 0 var(--border-radius-large) var(--border-radius-large); }