UNPKG

bullframe.css

Version:

Bullframe CSS is a lightweight Sass (SCSS) framework for building fast, responsive, and accessible UIs — semantic, themeable, and classless-friendly, with solid cross-browser support.

1,019 lines (866 loc) 18.4 kB
/* ! Bullframe CSS v5.1.0 | MIT License | https://github.com/marcop135/bullframe.css */ .bf-container, .bf-container--fluid { box-sizing: border-box; display: block; margin-right: auto; margin-left: auto; padding-left: 1.5rem; padding-right: 1.5rem; } .bf-container { max-width: 114rem; } .bf-row { display: flex; flex-wrap: wrap; margin-left: -1.5rem; margin-right: -1.5rem; } [class^=bf-col-] { position: relative; min-height: 1px; padding-left: 1.5rem; padding-right: 1.5rem; flex-grow: 0; flex-shrink: 0; } .bf-no-gutters { margin-right: 0; margin-left: 0; } .bf-no-gutters > [class^=bf-col] { padding-right: 0; padding-left: 0; } .bf-col-12 { flex-basis: 100%; max-width: 100%; } .bf-col-11 { flex-basis: 91.6667%; max-width: 91.6667%; } .bf-col-10 { flex-basis: 83.3333%; max-width: 83.3333%; } .bf-col-9 { flex-basis: 75%; max-width: 75%; } .bf-col-8 { flex-basis: 66.6667%; max-width: 66.6667%; } .bf-col-7 { flex-basis: 58.3333%; max-width: 58.3333%; } .bf-col-6 { flex-basis: 50%; max-width: 50%; } .bf-col-5 { flex-basis: 41.6667%; max-width: 41.6667%; } .bf-col-4 { flex-basis: 33.3333%; max-width: 33.3333%; } .bf-col-3 { flex-basis: 25%; max-width: 25%; } .bf-col-2 { flex-basis: 16.6667%; max-width: 16.6667%; } .bf-col-1 { flex-basis: 8.3333%; max-width: 8.3333%; } @media (max-width: 575px) { .bf-container--break-xs .bf-row { margin-left: 0; margin-right: 0; } .bf-container--break-xs [class^=bf-col] { flex-basis: 100%; max-width: 100%; margin-left: 0; padding-left: 0; padding-right: 0; } } @media (max-width: 767px) { .bf-container--break-md .bf-row { margin-left: 0; margin-right: 0; } .bf-container--break-md [class^=bf-col] { flex-basis: 100%; max-width: 100%; margin-left: 0; padding-left: 0; padding-right: 0; } } @media (max-width: 991px) { .bf-container--break-lg .bf-row { margin-left: 0; margin-right: 0; } .bf-container--break-lg [class^=bf-col] { flex-basis: 100%; max-width: 100%; margin-left: 0; padding-left: 0; padding-right: 0; } } table td[class^=bf-col], table th[class^=bf-col] { position: static; } .bf-clearfix::before, .bf-clearfix::after { content: " "; display: table; } .bf-clearfix::after { clear: both; } .bf-hide { display: none !important; } .bf-hidden { display: none !important; visibility: hidden !important; } .bf-text-hide { /* stylelint-disable-next-line */ font: 0/0 a !important; color: transparent !important; text-shadow: none !important; background-color: transparent !important; border: 0 !important; margin: 0 !important; padding: 0 !important; } /* // taken from https://github.com/h5bp/html5-boilerplate/blob/v7.3.0/dist/css/main.css // * Hide only visually, but have it available for screen readers: * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility * * 1. For long content, line feeds are not interpreted as spaces and small width * causes content to wrap 1 word per line: * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe */ .bf-sr-only { border: 0 !important; clip: rect(0, 0, 0, 0) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; white-space: nowrap !important; width: 1px !important; } /* // taken from https://github.com/h5bp/html5-boilerplate/blob/v7.3.0/dist/css/main.css // * Extends the .sr-only class to allow the element * to be focusable when navigated to via the keyboard: * https://www.drupal.org/node/897638 */ .bf-sr-only.focusable:active, .bf-sr-only.focusable:focus { clip: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important; position: static !important; white-space: inherit !important; width: auto !important; } .bf-invisible { visibility: hidden !important; } .bf-visible { visibility: visible !important; } .bf-display-block { display: block !important; } .bf-display-block-center { display: block !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; } .bf-display-inline { display: inline !important; } .bf-display-inline-block { display: inline-block !important; } .bf-display-flex { display: flex !important; } .bf-display-inline-flex { display: inline-flex !important; } .bf-display-flex--justify-start { justify-content: flex-start !important; } .bf-display-flex--justify-end { justify-content: flex-end !important; } .bf-display-flex--justify-center { justify-content: center !important; } .bf-display-flex--wrap { flex-wrap: wrap !important; } .bf-display-flex--nowrap { flex-wrap: nowrap !important; } .bf-float-left { float: left !important; } .bf-float-right { float: right !important; } .bf-position-fixed { position: fixed !important; } .bf-position-sticky { position: sticky !important; top: 0 !important; } .bf-align-center-unknown { position: relative !important; } .bf-align-center-unknown--item { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; } .bf-align-center-flex { display: flex; align-items: center; justify-content: center; } .bf-width-25 { width: 25% !important; } .bf-width-33 { width: 33.3333% !important; } .bf-width-50 { width: 50% !important; } .bf-width-75 { width: 75% !important; } .bf-width-100 { width: 100% !important; } .bf-width-auto { width: auto !important; } .bf-z-index-1 { z-index: 1; } .bf-z-index-2 { z-index: 2; } .bf-z-index-3 { z-index: 3; } .bf-z-index-4 { z-index: 4; } .bf-z-index-5 { z-index: 5; } .bf-z-index-6 { z-index: 6; } .bf-z-index-7 { z-index: 7; } .bf-z-index-8 { z-index: 8; } .bf-z-index-9 { z-index: 9; } .bf-z-index-10 { z-index: 10; } .bf-z-index-20 { z-index: 20; } .bf-z-index-30 { z-index: 30; } .bf-z-index-40 { z-index: 40; } .bf-z-index-50 { z-index: 50; } .bf-z-index-60 { z-index: 60; } .bf-z-index-70 { z-index: 70; } .bf-z-index-80 { z-index: 80; } .bf-z-index-90 { z-index: 90; } .bf-z-index-100 { z-index: 100; } .bf-z-index-200 { z-index: 200; } .bf-z-index-300 { z-index: 200; } .bf-m-0 { margin: 0 !important; } .bf-m-t-0 { margin-top: 0 !important; } .bf-m-b-0 { margin-bottom: 0 !important; } .bf-m-l-0 { margin-left: 0 !important; } .bf-m-r-0 { margin-right: 0 !important; } .bf-m-1 { margin-bottom: 0.5rem !important; } .bf-m-2 { margin-bottom: 1rem !important; } .bf-m-3 { margin-bottom: 2rem !important; } .bf-m-4 { margin-bottom: 3rem !important; } .bf-m-t-1 { margin-top: 0.5rem !important; } .bf-m-t-2 { margin-top: 1rem !important; } .bf-m-t-3 { margin-top: 2rem !important; } .bf-m-t-4 { margin-top: 3rem !important; } .bf-m-b-1 { margin-bottom: 0.5rem !important; } .bf-m-b-2 { margin-bottom: 1rem !important; } .bf-m-b-3 { margin-bottom: 2rem !important; } .bf-m-b-4 { margin-bottom: 3rem !important; } .bf-p-0 { padding: 0 !important; } .bf-p-t-0 { padding-top: 0 !important; } .bf-p-b-0 { padding-bottom: 0 !important; } .bf-p-l-0 { padding-left: 0 !important; } .bf-p-r-0 { padding-right: 0 !important; } .bf-p-1 { padding-bottom: 0.5rem !important; } .bf-p-2 { padding-bottom: 1rem !important; } .bf-p-3 { padding-bottom: 2rem !important; } .bf-p-4 { padding-bottom: 3rem !important; } .bf-p-t-1 { padding-top: 0.5rem !important; } .bf-p-t-2 { padding-top: 1rem !important; } .bf-p-t-3 { padding-top: 2rem !important; } .bf-p-t-4 { padding-top: 3rem !important; } .bf-p-b-1 { padding-bottom: 0.5rem !important; } .bf-p-b-2 { padding-bottom: 1rem !important; } .bf-p-b-3 { padding-bottom: 2rem !important; } .bf-p-b-4 { padding-bottom: 3rem !important; } .bf-t-transform-uppercase { text-transform: uppercase !important; } .bf-t-transform-none { text-transform: none !important; } .bf-t-left { text-align: left !important; } .bf-t-center { text-align: center !important; } .bf-t-right { text-align: right !important; } .bf-t-shadow { text-shadow: 0 0 2px #222 !important; text-shadow: 0 0 0.2rem #222 !important; } .bf-t-italic { font-style: italic !important; } .bf-t-style-normal { font-style: normal !important; } .bf-t-weight-300 { font-weight: 300 !important; } .bf-t-weight-400 { font-weight: 400 !important; } .bf-t-weight-500 { font-weight: 500 !important; } .bf-t-weight-600 { font-weight: 600 !important; } .bf-t-weight-700 { font-weight: 700 !important; } .bf-t-weight-800 { font-weight: 800 !important; } .bf-text-break { word-wrap: break-word !important; } .bf-t-truncate { max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; word-wrap: normal !important; } .bf-t-truncate--multiline-2 { overflow: hidden !important; text-overflow: ellipsis !important; display: -webkit-box !important; line-clamp: 2 !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; } .bf-t-truncate--multiline-3 { overflow: hidden !important; text-overflow: ellipsis !important; display: -webkit-box !important; line-clamp: 3 !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; } .bf-no-select { -webkit-user-select: none !important; -moz-user-select: none !important; user-select: none !important; -webkit-touch-callout: none !important; } .bf-font-sans-serif { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important; } .bf-font-serif { font-family: Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important; } .bf-font-monospace { font-family: Menlo, Consolas, "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important; } .bf-h1, .bf-h2, .bf-h3, .bf-h4, .bf-h5, .bf-h6 { font-weight: 600 !important; margin-top: 0 !important; line-height: 1.2 !important; margin-bottom: 10px !important; margin-bottom: 1rem !important; } .bf-h1 { font-size: 36px !important; font-size: 3.6rem !important; } .bf-h2 { font-size: 30px !important; font-size: 3rem !important; } .bf-h3 { font-size: 24px !important; font-size: 2.4rem !important; } .bf-h4 { font-size: 20px !important; font-size: 2rem !important; } .bf-h5, .bf-h6 { font-size: 16px !important; font-size: 1.6rem !important; } p.bf-lead { font-size: 120% !important; } body.bf-responsive-typography { --body-rt-font-size-flex: calc(1.5rem + 3 * ((100vw - 320px) / 680)); --body-rt-font-size-max: 1.8rem; } @media (min-width: 320px) { body.bf-responsive-typography { font-size: var(--body-rt-font-size-flex); } } @media (min-width: 1000px) { body.bf-responsive-typography { font-size: var(--body-rt-font-size-max); } } .bf-btn { display: inline-block; cursor: pointer; color: #222; padding: 0.6666666667rem 1.3333333333rem; line-height: normal; text-align: center; margin: 0; background-clip: padding-box; vertical-align: baseline; overflow: visible; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-user-select: none; -moz-user-select: none; user-select: none; border-radius: 0.25rem; border: 0; background-image: none; background-color: #ccc; transition: all 0.2s; } .bf-btn:hover, .bf-btn:active, .bf-btn:focus { text-decoration: none; color: #222; background: rgb(178.5, 178.5, 178.5); } .bf-btn:active, .bf-btn:focus { box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15); } .bf-btn:focus { outline: 0; } .bf-btn.bf-btn--primary { color: #fff; background: #007bff; } .bf-btn.bf-btn--primary:hover, .bf-btn.bf-btn--primary:active, .bf-btn.bf-btn--primary:focus { color: #fff; background: rgb(0, 98.4, 204); } .bf-btn.bf-btn--primary:active, .bf-btn.bf-btn--primary:focus { box-shadow: 0 0 0 3px rgba(0, 86, 179, 0.25); } fieldset[disabled] .bf-btn, .bf-btn[disabled], .bf-btn:disabled, .bf-btn[aria-disabled=true] { cursor: default !important; cursor: not-allowed !important; pointer-events: none !important; -webkit-user-select: none !important; -moz-user-select: none !important; user-select: none !important; box-shadow: none !important; opacity: 0.5 !important; background-color: #ccc; } .bf-focused { transition: border 0.2s, background-color 0.2s, box-shadow 0.2s !important; border-color: #007bff !important; box-shadow: 0 0 0 3px rgba(0, 86, 179, 0.25) !important; } .bf-disabled, .bf-disabled:hover, .bf-disabled:active, .bf-disabled:focus, .bf-disabled::after, .bf-disabled::before, .bf-disabled:invalid, .bf-disabled:checked { cursor: default !important; cursor: not-allowed !important; pointer-events: none !important; -webkit-user-select: none !important; -moz-user-select: none !important; user-select: none !important; box-shadow: none !important; opacity: 0.5 !important; background-color: #fff; border-color: #999; } label.bf-disabled { background-color: transparent; border-color: transparent; } button.bf-disabled, [type=button].bf-disabled, [type=reset].bf-disabled, [type=submit].bf-disabled, .bf-btn.bf-disabled { cursor: default; cursor: not-allowed; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; box-shadow: none; opacity: 0.5; color: #222; background: #ccc; } button.bf-disabled:hover, button.bf-disabled:active, button.bf-disabled:focus, [type=button].bf-disabled:hover, [type=button].bf-disabled:active, [type=button].bf-disabled:focus, [type=reset].bf-disabled:hover, [type=reset].bf-disabled:active, [type=reset].bf-disabled:focus, [type=submit].bf-disabled:hover, [type=submit].bf-disabled:active, [type=submit].bf-disabled:focus, .bf-btn.bf-disabled:hover, .bf-btn.bf-disabled:active, .bf-btn.bf-disabled:focus { box-shadow: none; color: #222; background: #ccc; } .bf-btn--primary.bf-disabled { cursor: default; cursor: not-allowed; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; box-shadow: none; opacity: 0.5; color: #fff; background: #007bff; } .bf-btn--primary.bf-disabled:hover, .bf-btn--primary.bf-disabled:active, .bf-btn--primary.bf-disabled:focus { box-shadow: none; color: #fff; background: #007bff; } .bf-invalid, .bf-invalid:focus { color: #f00 !important; border-color: #f00 !important; box-shadow: 0 0 0 3px rgba(255, 0, 0, 0.25) !important; } .bf-list-unstyled, menu ul.bf-list-unstyled, menu ol.bf-list-unstyled, ul.bf-list-unstyled ul, ul.bf-list-unstyled ol, ol.bf-list-unstyled ol, ol.bf-list-unstyled ul, dd.bf-list-unstyled { margin: 0; padding: 0; list-style: none; } dt { font-weight: 700; } .bf-embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; } .bf-embed-responsive::before { display: block; content: ""; padding-top: 56.25%; } .bf-embed-responsive .bf-embed-responsive--4-3::before { padding-top: 75%; } .bf-embed-responsive .bf-embed-responsive--item, .bf-embed-responsive iframe, .bf-embed-responsive embed, .bf-embed-responsive object, .bf-embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .bf-table th, .bf-table td { padding: 1rem; border-bottom: 1px solid #999; margin-bottom: 0.5rem; } .bf-table-responsive { overflow: auto hidden; -ms-overflow-style: scrollbar; } .bf-table-responsive table { width: 100%; margin-bottom: 0.5rem; } .bf-table-responsive.scrollbar { -webkit-overflow-scrolling: auto; } .bf-table--zebra tbody tr:nth-child(odd), .bf-table-responsive--zebra tbody tr:nth-child(odd) { background-color: #e9e9e9; } /* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */ /* ========================================================================== Print styles. Inlined to avoid the additional HTTP request: https://www.phpied.com/delay-loading-your-print-css/ ========================================================================== */ @media print { *, *::before, *::after { background: #fff !important; color: #000 !important; /* Black prints faster */ box-shadow: none !important; text-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]::after { content: " (" attr(href) ")"; } abbr[title]::after { content: " (" attr(title) ")"; } /* * Don't show links that are fragment identifiers, * or use the `javascript:` pseudo protocol */ a[href^="#"]::after, a[href^="javascript:"]::after { content: ""; } pre { white-space: pre-wrap !important; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } tr, img { page-break-inside: avoid; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } } @media print { body, .bf-container { min-width: 992px !important; } .bf-table-responsive { overflow: auto; } .bf-table-responsive table { width: auto; } .bf-table-responsive table, .bf-table { border-collapse: collapse !important; } } @media (prefers-reduced-motion: reduce) { .bf-reduced-motion, .bf-reduced-motion::before, .bf-reduced-motion::after, .bf-reduced-motion *, .bf-reduced-motion *::before, .bf-reduced-motion *::after { animation-delay: -1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; background-attachment: initial !important; scroll-behavior: auto !important; transition-delay: 0s !important; transition-duration: 0s !important; } } /*# sourceMappingURL=bullframe-utilities.css.map */