$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; @use '_variables' as *; @use '_mixins' as *; @import './_bootstrap-variables'; @import '~bootstrap/scss/functions'; @import '~bootstrap/scss/variables'; @import '~bootstrap/scss/mixins'; @import '~bootstrap/scss/root'; @import '~bootstrap/scss/reboot'; @import '~bootstrap/scss/type'; @import '~bootstrap/scss/grid'; @import '~bootstrap/scss/tables'; @import '~bootstrap/scss/forms'; @import '~bootstrap/scss/buttons'; @import '~bootstrap/scss/dropdown'; @import '~bootstrap/scss/button-group'; @import '~bootstrap/scss/input-group'; @import '~bootstrap/scss/nav'; @import '~bootstrap/scss/card'; @import '~bootstrap/scss/badge'; @import '~bootstrap/scss/alert'; @import '~bootstrap/scss/close'; @import '~bootstrap/scss/modal'; @import '~bootstrap/scss/tooltip'; @import '~bootstrap/scss/popover'; @import '~bootstrap/scss/utilities'; @import '~@neos21/bootstrap3-glyphicons/assets/stylesheets/bootstrap3-glyphicons'; // Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d .glyphicon-refresh-animate { animation: spin 0.7s infinite linear; } .glyphicon-duplicate { font-size: 70%; } .flex-auto { flex: auto; } .c-hand { cursor: pointer; } @keyframes spin { from { transform: scale(1) rotate(0deg); } to { transform: scale(1) rotate(360deg); } } /* rules for dropdowns excepts when in button group, to avoid impacting the dropdown-toggle */ .dropdown, .dropup { z-index: z(dropdown) !important; } .list-overflow-menu, .parent-entry { z-index: z(menu) - 1 !important; } .btn-group, .dropdown-root, .action-dropdown, .input-group-prepend, .column-toggle { z-index: inherit !important; } .btn-group > .btn:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; } .dropdown-menu { z-index: z(dropdown) + 1 !important; border-radius: 3px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); font-size: 15px; color: pvar(--mainForegroundColor); background-color: pvar(--mainBackgroundColor); .dropdown-header { @include padding-left(1rem); } .dropdown-item { padding: 3px 15px; color: pvar(--mainForegroundColor); background-color: pvar(--mainBackgroundColor); &.active { color: pvar(--mainBackgroundColor) !important; background-color: pvar(--mainHoverColor); opacity: 0.9; } a:active, &:hover { color: pvar(--mainForegroundColor) !important; background-color: pvar(--mainBackgroundHoverColor); } &::after { display: none; } } button { @include disable-default-a-behaviour; } a { @include disable-default-a-behaviour; } } .badge { line-height: 1.1; } @media screen and (min-width: #{breakpoint(md)}) { .modal::before { vertical-align: middle; content: ' '; height: 100%; } .modal-dialog { text-align: start; &:not(.modal-lg):not(.modal-xl) { min-width: 500px; width: 40vw; max-width: 900px; } } } .modal { text-align: center; .modal-content { background-color: pvar(--mainBackgroundColor); word-break: break-word; } .modal-header { border-bottom: 0; margin-bottom: 5px; .modal-title { font-size: 20px; font-weight: $font-semibold; } my-global-icon { @include icon(22px); position: relative; top: 5px; float: right; margin: 0; padding: 0; opacity: 0.5; &[iconName=cross] { /* stylelint-disable-line selector-max-compound-selectors */ @include icon(16px); top: -3px; } } } .inputs { margin-bottom: 0; text-align: end; > .peertube-button:not(:first-child) { @include margin-left(10px); } } } // On desktop browsers, make the content and header horizontally sticked to right not move when modal open and close .modal-open { overflow-y: scroll !important; // Make sure vertical scroll bar is always visible on desktop browsers to get disabled scrollbar effect width: 100vw; // Make sure the content fits all the available width } // On touchscreen devices, simply overflow: hidden to avoid detached overlay on scroll @media (hover: none) and (pointer: coarse) { .modal-open, .menu-open { overflow: hidden !important; } // On touchscreen devices display content overlay when opened menu .menu-open { .main-col { &::before { background-color: #000; width: 100vw; height: 100vh; opacity: 0.75; content: ''; display: block; position: fixed; z-index: z(overlay); } } } } // Nav customizations .nav .nav-link { display: flex !important; align-items: center; height: 30px !important; padding: 10px 15px !important; } .nav.nav-pills { font-size: 16px !important; font-weight: $font-semibold !important; .nav-link { opacity: 0.6 !important; &.active, &:hover, &:active, &:focus { opacity: 1 !important; } } a { @include disable-default-a-behaviour; color: pvar(--mainForegroundColor); } } .nav-tabs .nav-link { @include disable-default-a-behaviour; color: pvar(--mainForegroundColor); font-weight: $font-semibold; border: 0; border-bottom: 2px solid transparent; opacity: 0.6; &.active { color: pvar(--mainForegroundColor); background-color: pvar(--mainBackgroundColor) !important; border-bottom-color: pvar(--mainColor); } &.active, &:hover, &:active, &:focus { opacity: 1; } } .card { background-color: pvar(--mainBackgroundColor); border-color: #dee2e6; } .collapse-transition { // Animation when we show/hide the filters transition: max-height 0.3s; display: block !important; overflow: hidden !important; max-height: 0; &.show { max-height: 1500px; overflow: inherit !important; } } .dropdown-divider { margin: 0.3rem 0; } ngb-modal-backdrop { z-index: z(modal) - 1 !important; } ngb-modal-window { z-index: z(modal) !important; } ngb-popover-window { z-index: z(popover) !important; } ngb-tooltip-window { z-index: z(tooltip) !important; } .btn-outline-secondary { border-color: $input-border-color; &:focus-within, &:focus, &:hover { color: #fff; background-color: #6c757d; } } .btn-outline-tertiary { color: pvar(--secondaryColor); border-color: pvar(--secondaryColor); &:focus-within, &:focus, &:hover { color: pvar(--mainBackgroundColor); background-color: pvar(--secondaryColor); } } .btn-group.select-button { font-weight: $font-semibold; .active { @include orange-button; } :not(.active) { @include grey-button; } > * { @include peertube-button-link; box-shadow: none !important; &:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; } &:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } } } // input box-shadow on focus .form-control { font-size: 15px; color: pvar(--mainForegroundColor); background-color: pvar(--inputBackgroundColor); outline: none; &:focus-within, &:focus { box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest); &.input-error { box-shadow: #{$focus-box-shadow-form} #{scale-color($red, $alpha: -75%)}; } } } .input-group { > .form-control { flex: initial; } input.form-control { width: unset !important; flex-grow: 1; } .input-group-prepend + input { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; } } .has-feedback.has-clear { position: relative; input { @include padding-right(1.5rem !important); } .form-control-clear { color: rgba(0, 0, 0, 0.4); /* * Enable pointer events as they have been disabled since Bootstrap 3.3 * See https://github.com/twbs/bootstrap/pull/14104 */ pointer-events: all; display: flex; justify-content: center; align-items: center; position: absolute; right: .5rem; height: 95%; font-size: 14px; &:hover { color: rgba(0, 0, 0, 0.7); cursor: pointer; } } input:placeholder-shown + .form-control-clear { display: none; } } .callout { padding: 1.25rem; border: 1px solid #eee; border-radius: .25rem; > label { position: relative; top: -5px; left: -10px; color: #6c757d !important; } &:not(.callout-light) { border-left-width: .25rem; } &.callout-info { border-color: pvar(--mainColorLightest); border-left-color: pvar(--mainColor); } } // Override these properties for Bidi support @each $size, $length in $spacers { .ml-#{$size} { @include margin-left($length); } .mr-#{$size} { @include margin-right($length); } .pl-#{$size} { @include padding-left($length); } .pr-#{$size} { @include padding-right($length); } }