xstatic/0000775000175100017510000000000015136556167011624 5ustar mylesmylesxstatic/main.py0000664000175100017510000000340415136556166013122 0ustar mylesmyles# Copyright: 2011-2018 by the XStatic authors, see AUTHORS.txt for details. # License: MIT license, see LICENSE.txt for details. """ XStatic - main package with minimal support code to work with static file packages """ class XStatic(object): """ minimal support code to access resources from xstatic.pkg.* files or CDN locations. """ def __init__(self, module, root_url='/xstatic', provider='local', protocol='http'): """ :arg module: xstatic resource package/module, has metadata as attributes :arg root_url: the common root url path for all local xstatic resources :arg provider: 'local' to get it from local server or a name of another source (e.g. CDN) :arg protocol: 'http' (default) or 'https' """ self.__dict__.update([(name.lower(), getattr(module, name)) for name in dir(module) if name.isupper() ]) self.provider = provider if provider == 'local': self.base_url = "%s/%s" % (root_url, self.name) else: self.base_url = self.locations[(provider, protocol)] def get_mapping(self): """ query the mapping url -> directory, use this to setup your own static file serving. """ if self.provider == 'local': return self.base_url, self.base_dir def url_for(self, path): """ compute the url for some resource. :arg path: a relative path into the data """ loc = self.base_url if isinstance(loc, str): loc = "%s/%s" % (loc, path) elif isinstance(loc, dict): loc = loc[path] return loc xstatic/__pycache__/0000775000175100017510000000000015136556167014034 5ustar mylesmylesxstatic/pkg/0000775000175100017510000000000015136556167012405 5ustar mylesmylesxstatic/pkg/bootstrap_scss/0000775000175100017510000000000015136556166015454 5ustar mylesmylesxstatic/pkg/bootstrap_scss/__pycache__/0000775000175100017510000000000015136556167017665 5ustar mylesmylesxstatic/pkg/bootstrap_scss/data/0000775000175100017510000000000015136556166016365 5ustar mylesmylesxstatic/pkg/bootstrap_scss/data/scss/0000775000175100017510000000000015136556166017340 5ustar mylesmylesxstatic/pkg/bootstrap_scss/data/scss/_bootstrap-compass.scss0000664000175100017510000000026215136556166024054 0ustar mylesmyles@function twbs-font-path($path) { @return font-url($path, true); } @function twbs-image-path($path) { @return image-url($path, true); } $bootstrap-sass-asset-helper: true; xstatic/pkg/bootstrap_scss/data/scss/bootstrap/0000775000175100017510000000000015136556166021355 5ustar mylesmylesxstatic/pkg/bootstrap_scss/data/scss/bootstrap/_wells.scss0000664000175100017510000000103515136556166023536 0ustar mylesmyles// // Wells // -------------------------------------------------- // Base class .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: $well-bg; border: 1px solid $well-border; border-radius: $border-radius-base; @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05)); blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } } // Sizes .well-lg { padding: 24px; border-radius: $border-radius-large; } .well-sm { padding: 9px; border-radius: $border-radius-small; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_thumbnails.scss0000664000175100017510000000157415136556166024566 0ustar mylesmyles// // Thumbnails // -------------------------------------------------- // Mixin and adjust the regular image class .thumbnail { display: block; padding: $thumbnail-padding; margin-bottom: $line-height-computed; line-height: $line-height-base; background-color: $thumbnail-bg; border: 1px solid $thumbnail-border; border-radius: $thumbnail-border-radius; @include transition(border .2s ease-in-out); > img, a > img { @include img-responsive; margin-right: auto; margin-left: auto; } // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active // Image captions .caption { padding: $thumbnail-caption-padding; color: $thumbnail-caption-color; } } // Add a hover state for linked versions only a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: $link-color; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_pagination.scss0000664000175100017510000000403115136556166024540 0ustar mylesmyles// // Pagination (multiple pages) // -------------------------------------------------- .pagination { display: inline-block; padding-left: 0; margin: $line-height-computed 0; border-radius: $border-radius-base; > li { display: inline; // Remove list-style and block-level defaults > a, > span { position: relative; float: left; // Collapse white-space padding: $padding-base-vertical $padding-base-horizontal; margin-left: -1px; line-height: $line-height-base; color: $pagination-color; text-decoration: none; background-color: $pagination-bg; border: 1px solid $pagination-border; &:hover, &:focus { z-index: 2; color: $pagination-hover-color; background-color: $pagination-hover-bg; border-color: $pagination-hover-border; } } &:first-child { > a, > span { margin-left: 0; @include border-left-radius($border-radius-base); } } &:last-child { > a, > span { @include border-right-radius($border-radius-base); } } } > .active > a, > .active > span { &, &:hover, &:focus { z-index: 3; color: $pagination-active-color; cursor: default; background-color: $pagination-active-bg; border-color: $pagination-active-border; } } > .disabled { > span, > span:hover, > span:focus, > a, > a:hover, > a:focus { color: $pagination-disabled-color; cursor: $cursor-disabled; background-color: $pagination-disabled-bg; border-color: $pagination-disabled-border; } } } // Sizing // -------------------------------------------------- // Large .pagination-lg { @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large); } // Small .pagination-sm { @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_responsive-utilities.scss0000664000175100017510000001050515136556166026620 0ustar mylesmyles// // Responsive: Utility classes // -------------------------------------------------- // IE10 in Windows (Phone) 8 // // Support for responsive views via media queries is kind of borked in IE10, for // Surface/desktop in split view and for Windows Phone 8. This particular fix // must be accompanied by a snippet of JavaScript to sniff the user agent and // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at // our Getting Started page for more information on this bug. // // For more information, see the following: // // Issue: https://github.com/twbs/bootstrap/issues/10497 // Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width // Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/ // Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ @at-root { @-ms-viewport { width: device-width; } } // Visibility utilities // Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 @include responsive-invisibility('.visible-xs'); @include responsive-invisibility('.visible-sm'); @include responsive-invisibility('.visible-md'); @include responsive-invisibility('.visible-lg'); .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: $screen-xs-max) { @include responsive-visibility('.visible-xs'); } .visible-xs-block { @media (max-width: $screen-xs-max) { display: block !important; } } .visible-xs-inline { @media (max-width: $screen-xs-max) { display: inline !important; } } .visible-xs-inline-block { @media (max-width: $screen-xs-max) { display: inline-block !important; } } @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { @include responsive-visibility('.visible-sm'); } .visible-sm-block { @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { display: block !important; } } .visible-sm-inline { @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { display: inline !important; } } .visible-sm-inline-block { @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { display: inline-block !important; } } @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { @include responsive-visibility('.visible-md'); } .visible-md-block { @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { display: block !important; } } .visible-md-inline { @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { display: inline !important; } } .visible-md-inline-block { @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { display: inline-block !important; } } @media (min-width: $screen-lg-min) { @include responsive-visibility('.visible-lg'); } .visible-lg-block { @media (min-width: $screen-lg-min) { display: block !important; } } .visible-lg-inline { @media (min-width: $screen-lg-min) { display: inline !important; } } .visible-lg-inline-block { @media (min-width: $screen-lg-min) { display: inline-block !important; } } @media (max-width: $screen-xs-max) { @include responsive-invisibility('.hidden-xs'); } @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { @include responsive-invisibility('.hidden-sm'); } @media (min-width: $screen-md-min) and (max-width: $screen-md-max) { @include responsive-invisibility('.hidden-md'); } @media (min-width: $screen-lg-min) { @include responsive-invisibility('.hidden-lg'); } // Print utilities // // Media queries are placed on the inside to be mixin-friendly. // Note: Deprecated .visible-print as of v3.2.0 @include responsive-invisibility('.visible-print'); @media print { @include responsive-visibility('.visible-print'); } .visible-print-block { display: none !important; @media print { display: block !important; } } .visible-print-inline { display: none !important; @media print { display: inline !important; } } .visible-print-inline-block { display: none !important; @media print { display: inline-block !important; } } @media print { @include responsive-invisibility('.hidden-print'); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_breadcrumbs.scss0000664000175100017510000000127415136556166024706 0ustar mylesmyles// // Breadcrumbs // -------------------------------------------------- .breadcrumb { padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; margin-bottom: $line-height-computed; list-style: none; background-color: $breadcrumb-bg; border-radius: $border-radius-base; > li { display: inline-block; + li:before { padding: 0 5px; color: $breadcrumb-color; // [converter] Workaround for https://github.com/sass/libsass/issues/1115 $nbsp: "\00a0"; content: "#{$breadcrumb-separator}#{$nbsp}"; // Unicode space added since inline-block means non-collapsing white-space } } > .active { color: $breadcrumb-active-color; } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_progress-bars.scss0000664000175100017510000000371615136556166025211 0ustar mylesmyles// // Progress bars // -------------------------------------------------- // Bar animations // ------------------------- // WebKit @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } // Spec and IE10+ @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } // Bar itself // ------------------------- // Outer container .progress { height: $line-height-computed; margin-bottom: $line-height-computed; overflow: hidden; background-color: $progress-bg; border-radius: $progress-border-radius; @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1)); } // Bar of progress .progress-bar { float: left; width: 0%; height: 100%; font-size: $font-size-small; line-height: $line-height-computed; color: $progress-bar-color; text-align: center; background-color: $progress-bar-bg; @include box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15)); @include transition(width .6s ease); } // Striped bars // // `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the // `.progress-bar-striped` class, which you just add to an existing // `.progress-bar`. .progress-striped .progress-bar, .progress-bar-striped { @include gradient-striped; background-size: 40px 40px; } // Call animation for the active one // // `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the // `.progress-bar.active` approach. .progress.active .progress-bar, .progress-bar.active { @include animation(progress-bar-stripes 2s linear infinite); } // Variations // ------------------------- .progress-bar-success { @include progress-bar-variant($progress-bar-success-bg); } .progress-bar-info { @include progress-bar-variant($progress-bar-info-bg); } .progress-bar-warning { @include progress-bar-variant($progress-bar-warning-bg); } .progress-bar-danger { @include progress-bar-variant($progress-bar-danger-bg); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_alerts.scss0000664000175100017510000000301215136556166023677 0ustar mylesmyles// // Alerts // -------------------------------------------------- // Base styles // ------------------------- .alert { padding: $alert-padding; margin-bottom: $line-height-computed; border: 1px solid transparent; border-radius: $alert-border-radius; // Headings for larger alerts h4 { margin-top: 0; color: inherit; // Specified for the h4 to prevent conflicts of changing $headings-color } // Provide class for links that match alerts .alert-link { font-weight: $alert-link-font-weight; } // Improve alignment and spacing of inner content > p, > ul { margin-bottom: 0; } > p + p { margin-top: 5px; } } // Dismissible alerts // // Expand the right padding and account for the close button's positioning. // The misspelled .alert-dismissable was deprecated in 3.2.0. .alert-dismissable, .alert-dismissible { padding-right: ($alert-padding + 20); // Adjust close link position .close { position: relative; top: -2px; right: -21px; color: inherit; } } // Alternate styles // // Generate contextual modifier classes for colorizing the alert. .alert-success { @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text); } .alert-info { @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text); } .alert-warning { @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text); } .alert-danger { @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_grid.scss0000664000175100017510000000304115136556166023334 0ustar mylesmyles// // Grid system // -------------------------------------------------- // Container widths // // Set the container width, and override it for fixed navbars in media queries. .container { @include container-fixed; @media (min-width: $screen-sm-min) { width: $container-sm; } @media (min-width: $screen-md-min) { width: $container-md; } @media (min-width: $screen-lg-min) { width: $container-lg; } } // Fluid container // // Utilizes the mixin meant for fixed width containers, but without any defined // width for fluid, full width layouts. .container-fluid { @include container-fixed; } // Row // // Rows contain and clear the floats of your columns. .row { @include make-row; } .row-no-gutters { margin-right: 0; margin-left: 0; [class*="col-"] { padding-right: 0; padding-left: 0; } } // Columns // // Common styles for small and large grid columns @include make-grid-columns; // Extra small grid // // Columns, offsets, pushes, and pulls for extra small devices like // smartphones. @include make-grid(xs); // Small grid // // Columns, offsets, pushes, and pulls for the small device range, from phones // to tablets. @media (min-width: $screen-sm-min) { @include make-grid(sm); } // Medium grid // // Columns, offsets, pushes, and pulls for the desktop device range. @media (min-width: $screen-md-min) { @include make-grid(md); } // Large grid // // Columns, offsets, pushes, and pulls for the large desktop device range. @media (min-width: $screen-lg-min) { @include make-grid(lg); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_button-groups.scss0000664000175100017510000001320415136556166025241 0ustar mylesmyles// // Button groups // -------------------------------------------------- // Make the div behave like a button .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { position: relative; float: left; // Bring the "active" button to the front &:hover, &:focus, &:active, &.active { z-index: 2; } } } // Prevent double borders when buttons are next to each other .btn-group { .btn + .btn, .btn + .btn-group, .btn-group + .btn, .btn-group + .btn-group { margin-left: -1px; } } // Optional: Group multiple button groups together for a toolbar .btn-toolbar { margin-left: -5px; // Offset the first child's margin @include clearfix; .btn, .btn-group, .input-group { float: left; } > .btn, > .btn-group, > .input-group { margin-left: 5px; } } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } // 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; &:not(:last-child):not(.dropdown-toggle) { @include border-right-radius(0); } } // Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { @include border-left-radius(0); } // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { @include border-right-radius(0); } } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { @include border-left-radius(0); } // On active and open, don't show outline .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } // Sizing // // Remix the default button sizing classes into new ones for easier manipulation. .btn-group-xs > .btn { @extend .btn-xs; } .btn-group-sm > .btn { @extend .btn-sm; } .btn-group-lg > .btn { @extend .btn-lg; } // Split button dropdowns // ---------------------- // Give the line between buttons some depth .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } // The clickable button for toggling the menu // Remove the gradient and set the same inset shadow as the :active state .btn-group.open .dropdown-toggle { @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); // Show no shadow for `.btn-link` since it has no other button styles. &.btn-link { @include box-shadow(none); } } // Reposition the caret .btn .caret { margin-left: 0; } // Carets in other button sizes .btn-lg .caret { border-width: $caret-width-large $caret-width-large 0; border-bottom-width: 0; } // Upside down carets for .dropup .dropup .btn-lg .caret { border-width: 0 $caret-width-large $caret-width-large; } // Vertical button groups // ---------------------- .btn-group-vertical { > .btn, > .btn-group, > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } // Clear floats so dropdown menus can be properly placed > .btn-group { @include clearfix; > .btn { float: none; } } > .btn + .btn, > .btn + .btn-group, > .btn-group + .btn, > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } } .btn-group-vertical > .btn { &:not(:first-child):not(:last-child) { border-radius: 0; } &:first-child:not(:last-child) { @include border-top-radius($btn-border-radius-base); @include border-bottom-radius(0); } &:last-child:not(:first-child) { @include border-top-radius(0); @include border-bottom-radius($btn-border-radius-base); } } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { @include border-bottom-radius(0); } } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { @include border-top-radius(0); } // Justified button groups // ---------------------- .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; > .btn, > .btn-group { display: table-cell; float: none; width: 1%; } > .btn-group .btn { width: 100%; } > .btn-group .dropdown-menu { left: auto; } } // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use // `display: none;` or `visibility: hidden;` as that also hides the popover. // Simply visually hiding the inputs via `opacity` would leave them clickable in // certain cases which is prevented by using `clip` and `pointer-events`. // This way, we ensure a DOM element is visible to position the popover from. // // See https://github.com/twbs/bootstrap/pull/12794 and // https://github.com/twbs/bootstrap/pull/14559 for more information. [data-toggle="buttons"] { > .btn, > .btn-group > .btn { input[type="radio"], input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_component-animations.scss0000664000175100017510000000146415136556166026560 0ustar mylesmyles// // Component animations // -------------------------------------------------- // Heads up! // // We don't use the `.opacity()` mixin here since it causes a bug with text // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. .fade { opacity: 0; @include transition(opacity .15s linear); &.in { opacity: 1; } } .collapse { display: none; &.in { display: block; } // [converter] extracted tr&.in to tr.collapse.in // [converter] extracted tbody&.in to tbody.collapse.in } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; @include transition-property(height, visibility); @include transition-duration(.35s); @include transition-timing-function(ease); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_labels.scss0000664000175100017510000000220315136556166023650 0ustar mylesmyles// // Labels // -------------------------------------------------- .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: 700; line-height: 1; color: $label-color; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; // [converter] extracted a& to a.label // Empty labels collapse automatically (not available in IE8) &:empty { display: none; } // Quick fix for labels in buttons .btn & { position: relative; top: -1px; } } // Add hover effects, but only for links a.label { &:hover, &:focus { color: $label-link-hover-color; text-decoration: none; cursor: pointer; } } // Colors // Contextual variations (linked labels get darker on :hover) .label-default { @include label-variant($label-default-bg); } .label-primary { @include label-variant($label-primary-bg); } .label-success { @include label-variant($label-success-bg); } .label-info { @include label-variant($label-info-bg); } .label-warning { @include label-variant($label-warning-bg); } .label-danger { @include label-variant($label-danger-bg); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_popovers.scss0000664000175100017510000000662415136556166024276 0ustar mylesmyles// // Popovers // -------------------------------------------------- .popover { position: absolute; top: 0; left: 0; z-index: $zindex-popover; display: none; max-width: $popover-max-width; padding: 1px; // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element. // So reset our font and text properties to avoid inheriting weird values. @include reset-text; font-size: $font-size-base; background-color: $popover-bg; background-clip: padding-box; border: 1px solid $popover-fallback-border-color; border: 1px solid $popover-border-color; border-radius: $border-radius-large; @include box-shadow(0 5px 10px rgba(0, 0, 0, .2)); // Offset the popover to account for the popover arrow &.top { margin-top: -$popover-arrow-width; } &.right { margin-left: $popover-arrow-width; } &.bottom { margin-top: $popover-arrow-width; } &.left { margin-left: -$popover-arrow-width; } // Arrows // .arrow is outer, .arrow:after is inner > .arrow { border-width: $popover-arrow-outer-width; &, &:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } &:after { content: ""; border-width: $popover-arrow-width; } } &.top > .arrow { bottom: -$popover-arrow-outer-width; left: 50%; margin-left: -$popover-arrow-outer-width; border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback border-top-color: $popover-arrow-outer-color; border-bottom-width: 0; &:after { bottom: 1px; margin-left: -$popover-arrow-width; content: " "; border-top-color: $popover-arrow-color; border-bottom-width: 0; } } &.right > .arrow { top: 50%; left: -$popover-arrow-outer-width; margin-top: -$popover-arrow-outer-width; border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback border-right-color: $popover-arrow-outer-color; border-left-width: 0; &:after { bottom: -$popover-arrow-width; left: 1px; content: " "; border-right-color: $popover-arrow-color; border-left-width: 0; } } &.bottom > .arrow { top: -$popover-arrow-outer-width; left: 50%; margin-left: -$popover-arrow-outer-width; border-top-width: 0; border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback border-bottom-color: $popover-arrow-outer-color; &:after { top: 1px; margin-left: -$popover-arrow-width; content: " "; border-top-width: 0; border-bottom-color: $popover-arrow-color; } } &.left > .arrow { top: 50%; right: -$popover-arrow-outer-width; margin-top: -$popover-arrow-outer-width; border-right-width: 0; border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback border-left-color: $popover-arrow-outer-color; &:after { right: 1px; bottom: -$popover-arrow-width; content: " "; border-right-width: 0; border-left-color: $popover-arrow-color; } } } .popover-title { padding: 8px 14px; margin: 0; // reset heading margin font-size: $font-size-base; background-color: $popover-title-bg; border-bottom: 1px solid darken($popover-title-bg, 5%); border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0; } .popover-content { padding: 9px 14px; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_buttons.scss0000664000175100017510000000735315136556166024117 0ustar mylesmyles// // Buttons // -------------------------------------------------- // Base styles // -------------------------------------------------- .btn { display: inline-block; margin-bottom: 0; // For input.btn font-weight: $btn-font-weight; text-align: center; white-space: nowrap; vertical-align: middle; touch-action: manipulation; cursor: pointer; background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 border: 1px solid transparent; @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base); @include user-select(none); &, &:active, &.active { &:focus, &.focus { @include tab-focus; } } &:hover, &:focus, &.focus { color: $btn-default-color; text-decoration: none; } &:active, &.active { background-image: none; outline: 0; @include box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125)); } &.disabled, &[disabled], fieldset[disabled] & { cursor: $cursor-disabled; @include opacity(.65); @include box-shadow(none); } // [converter] extracted a& to a.btn } a.btn { &.disabled, fieldset[disabled] & { pointer-events: none; // Future-proof disabling of clicks on `` elements } } // Alternate buttons // -------------------------------------------------- .btn-default { @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); } .btn-primary { @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); } // Success appears as green .btn-success { @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); } // Info appears as blue-green .btn-info { @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); } // Warning appears as orange .btn-warning { @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); } // Danger and error appear as red .btn-danger { @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); } // Link buttons // ------------------------- // Make a button look and behave like a link .btn-link { font-weight: 400; color: $link-color; border-radius: 0; &, &:active, &.active, &[disabled], fieldset[disabled] & { background-color: transparent; @include box-shadow(none); } &, &:hover, &:focus, &:active { border-color: transparent; } &:hover, &:focus { color: $link-hover-color; text-decoration: $link-hover-decoration; background-color: transparent; } &[disabled], fieldset[disabled] & { &:hover, &:focus { color: $btn-link-disabled-color; text-decoration: none; } } } // Button Sizes // -------------------------------------------------- .btn-lg { // line-height: ensure even-numbered height of button next to large input @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large); } .btn-sm { // line-height: ensure proper height of button next to small input @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); } .btn-xs { @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small); } // Block button // -------------------------------------------------- .btn-block { display: block; width: 100%; } // Vertically space out multiple block buttons .btn-block + .btn-block { margin-top: 5px; } // Specificity overrides input[type="submit"], input[type="reset"], input[type="button"] { &.btn-block { width: 100%; } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_modals.scss0000664000175100017510000000676715136556166023710 0ustar mylesmyles// // Modals // -------------------------------------------------- // .modal-open - body class for killing the scroll // .modal - container to scroll within // .modal-dialog - positioning shell for the actual modal // .modal-content - actual modal w/ bg and corners and shit // Kill the scroll on the body .modal-open { overflow: hidden; } // Container that the modal scrolls within .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: $zindex-modal; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; // Prevent Chrome on Windows from adding a focus outline. For details, see // https://github.com/twbs/bootstrap/pull/10951. outline: 0; // When fading in the modal, animate it to slide down &.fade .modal-dialog { @include translate(0, -25%); @include transition-transform(0.3s ease-out); } &.in .modal-dialog { @include translate(0, 0); } } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } // Shell div to position the modal with bottom padding .modal-dialog { position: relative; width: auto; margin: 10px; } // Actual modal .modal-content { position: relative; background-color: $modal-content-bg; background-clip: padding-box; border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc) border: 1px solid $modal-content-border-color; border-radius: $border-radius-large; @include box-shadow(0 3px 9px rgba(0, 0, 0, .5)); // Remove focus outline from opened modal outline: 0; } // Modal background .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: $zindex-modal-background; background-color: $modal-backdrop-bg; // Fade for backdrop &.fade { @include opacity(0); } &.in { @include opacity($modal-backdrop-opacity); } } // Modal header // Top section of the modal w/ title and dismiss .modal-header { padding: $modal-title-padding; border-bottom: 1px solid $modal-header-border-color; @include clearfix; } // Close icon .modal-header .close { margin-top: -2px; } // Title text within header .modal-title { margin: 0; line-height: $modal-title-line-height; } // Modal body // Where all modal content resides (sibling of .modal-header and .modal-footer) .modal-body { position: relative; padding: $modal-inner-padding; } // Footer (for actions) .modal-footer { padding: $modal-inner-padding; text-align: right; // right align buttons border-top: 1px solid $modal-footer-border-color; @include clearfix; // clear it in case folks use .pull-* classes on buttons // Properly space out buttons .btn + .btn { margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs margin-left: 5px; } // but override that for button groups .btn-group .btn + .btn { margin-left: -1px; } // and override it for block buttons as well .btn-block + .btn-block { margin-left: 0; } } // Measure scrollbar width for padding body during modal show/hide .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } // Scale up the modal @media (min-width: $screen-sm-min) { // Automatically set modal's width for larger viewports .modal-dialog { width: $modal-md; margin: 30px auto; } .modal-content { @include box-shadow(0 5px 15px rgba(0, 0, 0, .5)); } // Modal sizes .modal-sm { width: $modal-sm; } } @media (min-width: $screen-md-min) { .modal-lg { width: $modal-lg; } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_navbar.scss0000664000175100017510000003447415136556166023676 0ustar mylesmyles// // Navbars // -------------------------------------------------- // Wrapper and base class // // Provide a static navbar from which we expand to create full-width, fixed, and // other navbar variations. .navbar { position: relative; min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) margin-bottom: $navbar-margin-bottom; border: 1px solid transparent; // Prevent floats from breaking the navbar @include clearfix; @media (min-width: $grid-float-breakpoint) { border-radius: $navbar-border-radius; } } // Navbar heading // // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy // styling of responsive aspects. .navbar-header { @include clearfix; @media (min-width: $grid-float-breakpoint) { float: left; } } // Navbar collapse (body) // // Group your navbar content into this for easy collapsing and expanding across // various device sizes. By default, this content is collapsed when <768px, but // will expand past that for a horizontal display. // // To start (on mobile devices) the navbar links, forms, and buttons are stacked // vertically and include a `max-height` to overflow in case you have too much // content for the user's viewport. .navbar-collapse { padding-right: $navbar-padding-horizontal; padding-left: $navbar-padding-horizontal; overflow-x: visible; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); @include clearfix; -webkit-overflow-scrolling: touch; &.in { overflow-y: auto; } @media (min-width: $grid-float-breakpoint) { width: auto; border-top: 0; box-shadow: none; &.collapse { display: block !important; height: auto !important; padding-bottom: 0; // Override default setting overflow: visible !important; } &.in { overflow-y: visible; } // Undo the collapse side padding for navbars with containers to ensure // alignment of right-aligned contents. .navbar-fixed-top &, .navbar-static-top &, .navbar-fixed-bottom & { padding-right: 0; padding-left: 0; } } } .navbar-fixed-top, .navbar-fixed-bottom { .navbar-collapse { max-height: $navbar-collapse-max-height; @media (max-device-width: $screen-xs-min) and (orientation: landscape) { max-height: 200px; } } // Fix the top/bottom navbars when screen real estate supports it position: fixed; right: 0; left: 0; z-index: $zindex-navbar-fixed; // Undo the rounded corners @media (min-width: $grid-float-breakpoint) { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; // override .navbar defaults border-width: 1px 0 0; } // Both navbar header and collapse // // When a container is present, change the behavior of the header and collapse. .container, .container-fluid { > .navbar-header, > .navbar-collapse { margin-right: -$navbar-padding-horizontal; margin-left: -$navbar-padding-horizontal; @media (min-width: $grid-float-breakpoint) { margin-right: 0; margin-left: 0; } } } // // Navbar alignment options // // Display the navbar across the entirety of the page or fixed it to the top or // bottom of the page. // Static top (unfixed, but 100% wide) navbar .navbar-static-top { z-index: $zindex-navbar; border-width: 0 0 1px; @media (min-width: $grid-float-breakpoint) { border-radius: 0; } } // Brand/project name .navbar-brand { float: left; height: $navbar-height; padding: $navbar-padding-vertical $navbar-padding-horizontal; font-size: $font-size-large; line-height: $line-height-computed; &:hover, &:focus { text-decoration: none; } > img { display: block; } @media (min-width: $grid-float-breakpoint) { .navbar > .container &, .navbar > .container-fluid & { margin-left: -$navbar-padding-horizontal; } } } // Navbar toggle // // Custom button for toggling the `.navbar-collapse`, powered by the collapse // JavaScript plugin. .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-right: $navbar-padding-horizontal; @include navbar-vertical-align(34px); background-color: transparent; background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 border: 1px solid transparent; border-radius: $border-radius-base; // We remove the `outline` here, but later compensate by attaching `:hover` // styles to `:focus`. &:focus { outline: 0; } // Bars .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: $grid-float-breakpoint) { display: none; } } // Navbar nav links // // Builds on top of the `.nav` components with its own modifier class to make // the nav the full height of the horizontal nav (above 768px). .navbar-nav { margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal); > li > a { padding-top: 10px; padding-bottom: 10px; line-height: $line-height-computed; } @media (max-width: $grid-float-breakpoint-max) { // Dropdowns get custom display when collapsed .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; box-shadow: none; > li > a, .dropdown-header { padding: 5px 15px 5px 25px; } > li > a { line-height: $line-height-computed; &:hover, &:focus { background-image: none; } } } } // Uncollapse the nav @media (min-width: $grid-float-breakpoint) { float: left; margin: 0; > li { float: left; > a { padding-top: $navbar-padding-vertical; padding-bottom: $navbar-padding-vertical; } } } } // Navbar form // // Extension of the `.form-inline` with some extra flavor for optimum display in // our navbars. .navbar-form { padding: 10px $navbar-padding-horizontal; margin-right: -$navbar-padding-horizontal; margin-left: -$navbar-padding-horizontal; border-top: 1px solid transparent; border-bottom: 1px solid transparent; $shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); @include box-shadow($shadow); // Mixin behavior for optimum display @include form-inline; .form-group { @media (max-width: $grid-float-breakpoint-max) { margin-bottom: 5px; &:last-child { margin-bottom: 0; } } } // Vertically center in expanded, horizontal navbar @include navbar-vertical-align($input-height-base); // Undo 100% width for pull classes @media (min-width: $grid-float-breakpoint) { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; @include box-shadow(none); } } // Dropdown menus // Menu position and menu carets .navbar-nav > li > .dropdown-menu { margin-top: 0; @include border-top-radius(0); } // Menu position and menu caret support for dropups via extra dropup class .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; @include border-top-radius($navbar-border-radius); @include border-bottom-radius(0); } // Buttons in navbars // // Vertically center a button within a navbar (when *not* in a form). .navbar-btn { @include navbar-vertical-align($input-height-base); &.btn-sm { @include navbar-vertical-align($input-height-small); } &.btn-xs { @include navbar-vertical-align(22); } } // Text in navbars // // Add a class to make any element properly align itself vertically within the navbars. .navbar-text { @include navbar-vertical-align($line-height-computed); @media (min-width: $grid-float-breakpoint) { float: left; margin-right: $navbar-padding-horizontal; margin-left: $navbar-padding-horizontal; } } // Component alignment // // Repurpose the pull utilities as their own navbar utilities to avoid specificity // issues with parents and chaining. Only do this when the navbar is uncollapsed // though so that navbar contents properly stack and align in mobile. // // Declared after the navbar components to ensure more specificity on the margins. @media (min-width: $grid-float-breakpoint) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -$navbar-padding-horizontal; ~ .navbar-right { margin-right: 0; } } } // Alternate navbars // -------------------------------------------------- // Default navbar .navbar-default { background-color: $navbar-default-bg; border-color: $navbar-default-border; .navbar-brand { color: $navbar-default-brand-color; &:hover, &:focus { color: $navbar-default-brand-hover-color; background-color: $navbar-default-brand-hover-bg; } } .navbar-text { color: $navbar-default-color; } .navbar-nav { > li > a { color: $navbar-default-link-color; &:hover, &:focus { color: $navbar-default-link-hover-color; background-color: $navbar-default-link-hover-bg; } } > .active > a { &, &:hover, &:focus { color: $navbar-default-link-active-color; background-color: $navbar-default-link-active-bg; } } > .disabled > a { &, &:hover, &:focus { color: $navbar-default-link-disabled-color; background-color: $navbar-default-link-disabled-bg; } } // Dropdown menu items // Remove background color from open dropdown > .open > a { &, &:hover, &:focus { color: $navbar-default-link-active-color; background-color: $navbar-default-link-active-bg; } } @media (max-width: $grid-float-breakpoint-max) { // Dropdowns get custom display when collapsed .open .dropdown-menu { > li > a { color: $navbar-default-link-color; &:hover, &:focus { color: $navbar-default-link-hover-color; background-color: $navbar-default-link-hover-bg; } } > .active > a { &, &:hover, &:focus { color: $navbar-default-link-active-color; background-color: $navbar-default-link-active-bg; } } > .disabled > a { &, &:hover, &:focus { color: $navbar-default-link-disabled-color; background-color: $navbar-default-link-disabled-bg; } } } } } .navbar-toggle { border-color: $navbar-default-toggle-border-color; &:hover, &:focus { background-color: $navbar-default-toggle-hover-bg; } .icon-bar { background-color: $navbar-default-toggle-icon-bar-bg; } } .navbar-collapse, .navbar-form { border-color: $navbar-default-border; } // Links in navbars // // Add a class to ensure links outside the navbar nav are colored correctly. .navbar-link { color: $navbar-default-link-color; &:hover { color: $navbar-default-link-hover-color; } } .btn-link { color: $navbar-default-link-color; &:hover, &:focus { color: $navbar-default-link-hover-color; } &[disabled], fieldset[disabled] & { &:hover, &:focus { color: $navbar-default-link-disabled-color; } } } } // Inverse navbar .navbar-inverse { background-color: $navbar-inverse-bg; border-color: $navbar-inverse-border; .navbar-brand { color: $navbar-inverse-brand-color; &:hover, &:focus { color: $navbar-inverse-brand-hover-color; background-color: $navbar-inverse-brand-hover-bg; } } .navbar-text { color: $navbar-inverse-color; } .navbar-nav { > li > a { color: $navbar-inverse-link-color; &:hover, &:focus { color: $navbar-inverse-link-hover-color; background-color: $navbar-inverse-link-hover-bg; } } > .active > a { &, &:hover, &:focus { color: $navbar-inverse-link-active-color; background-color: $navbar-inverse-link-active-bg; } } > .disabled > a { &, &:hover, &:focus { color: $navbar-inverse-link-disabled-color; background-color: $navbar-inverse-link-disabled-bg; } } // Dropdowns > .open > a { &, &:hover, &:focus { color: $navbar-inverse-link-active-color; background-color: $navbar-inverse-link-active-bg; } } @media (max-width: $grid-float-breakpoint-max) { // Dropdowns get custom display .open .dropdown-menu { > .dropdown-header { border-color: $navbar-inverse-border; } .divider { background-color: $navbar-inverse-border; } > li > a { color: $navbar-inverse-link-color; &:hover, &:focus { color: $navbar-inverse-link-hover-color; background-color: $navbar-inverse-link-hover-bg; } } > .active > a { &, &:hover, &:focus { color: $navbar-inverse-link-active-color; background-color: $navbar-inverse-link-active-bg; } } > .disabled > a { &, &:hover, &:focus { color: $navbar-inverse-link-disabled-color; background-color: $navbar-inverse-link-disabled-bg; } } } } } // Darken the responsive nav toggle .navbar-toggle { border-color: $navbar-inverse-toggle-border-color; &:hover, &:focus { background-color: $navbar-inverse-toggle-hover-bg; } .icon-bar { background-color: $navbar-inverse-toggle-icon-bar-bg; } } .navbar-collapse, .navbar-form { border-color: darken($navbar-inverse-bg, 7%); } .navbar-link { color: $navbar-inverse-link-color; &:hover { color: $navbar-inverse-link-hover-color; } } .btn-link { color: $navbar-inverse-link-color; &:hover, &:focus { color: $navbar-inverse-link-hover-color; } &[disabled], fieldset[disabled] & { &:hover, &:focus { color: $navbar-inverse-link-disabled-color; } } } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_glyphicons.scss0000664000175100017510000004773515136556166024610 0ustar mylesmyles// // Glyphicons for Bootstrap // // Since icons are fonts, they can be placed anywhere text is placed and are // thus automatically sized to match the surrounding child. To use, create an // inline element with the appropriate classes, like so: // // Star @at-root { // Import the fonts @font-face { font-family: "Glyphicons Halflings"; src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.eot"), "#{$icon-font-path}#{$icon-font-name}.eot")); src: url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.eot?#iefix"), "#{$icon-font-path}#{$icon-font-name}.eot?#iefix")) format("embedded-opentype"), url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.woff2"), "#{$icon-font-path}#{$icon-font-name}.woff2")) format("woff2"), url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.woff"), "#{$icon-font-path}#{$icon-font-name}.woff")) format("woff"), url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.ttf"), "#{$icon-font-path}#{$icon-font-name}.ttf")) format("truetype"), url(if($bootstrap-sass-asset-helper, twbs-font-path("#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}"), "#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}")) format("svg"); } } // Catchall baseclass .glyphicon { position: relative; top: 1px; display: inline-block; font-family: "Glyphicons Halflings"; font-style: normal; font-weight: 400; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } // Individual icons .glyphicon-asterisk { &:before { content: "\002a"; } } .glyphicon-plus { &:before { content: "\002b"; } } .glyphicon-euro, .glyphicon-eur { &:before { content: "\20ac"; } } .glyphicon-minus { &:before { content: "\2212"; } } .glyphicon-cloud { &:before { content: "\2601"; } } .glyphicon-envelope { &:before { content: "\2709"; } } .glyphicon-pencil { &:before { content: "\270f"; } } .glyphicon-glass { &:before { content: "\e001"; } } .glyphicon-music { &:before { content: "\e002"; } } .glyphicon-search { &:before { content: "\e003"; } } .glyphicon-heart { &:before { content: "\e005"; } } .glyphicon-star { &:before { content: "\e006"; } } .glyphicon-star-empty { &:before { content: "\e007"; } } .glyphicon-user { &:before { content: "\e008"; } } .glyphicon-film { &:before { content: "\e009"; } } .glyphicon-th-large { &:before { content: "\e010"; } } .glyphicon-th { &:before { content: "\e011"; } } .glyphicon-th-list { &:before { content: "\e012"; } } .glyphicon-ok { &:before { content: "\e013"; } } .glyphicon-remove { &:before { content: "\e014"; } } .glyphicon-zoom-in { &:before { content: "\e015"; } } .glyphicon-zoom-out { &:before { content: "\e016"; } } .glyphicon-off { &:before { content: "\e017"; } } .glyphicon-signal { &:before { content: "\e018"; } } .glyphicon-cog { &:before { content: "\e019"; } } .glyphicon-trash { &:before { content: "\e020"; } } .glyphicon-home { &:before { content: "\e021"; } } .glyphicon-file { &:before { content: "\e022"; } } .glyphicon-time { &:before { content: "\e023"; } } .glyphicon-road { &:before { content: "\e024"; } } .glyphicon-download-alt { &:before { content: "\e025"; } } .glyphicon-download { &:before { content: "\e026"; } } .glyphicon-upload { &:before { content: "\e027"; } } .glyphicon-inbox { &:before { content: "\e028"; } } .glyphicon-play-circle { &:before { content: "\e029"; } } .glyphicon-repeat { &:before { content: "\e030"; } } .glyphicon-refresh { &:before { content: "\e031"; } } .glyphicon-list-alt { &:before { content: "\e032"; } } .glyphicon-lock { &:before { content: "\e033"; } } .glyphicon-flag { &:before { content: "\e034"; } } .glyphicon-headphones { &:before { content: "\e035"; } } .glyphicon-volume-off { &:before { content: "\e036"; } } .glyphicon-volume-down { &:before { content: "\e037"; } } .glyphicon-volume-up { &:before { content: "\e038"; } } .glyphicon-qrcode { &:before { content: "\e039"; } } .glyphicon-barcode { &:before { content: "\e040"; } } .glyphicon-tag { &:before { content: "\e041"; } } .glyphicon-tags { &:before { content: "\e042"; } } .glyphicon-book { &:before { content: "\e043"; } } .glyphicon-bookmark { &:before { content: "\e044"; } } .glyphicon-print { &:before { content: "\e045"; } } .glyphicon-camera { &:before { content: "\e046"; } } .glyphicon-font { &:before { content: "\e047"; } } .glyphicon-bold { &:before { content: "\e048"; } } .glyphicon-italic { &:before { content: "\e049"; } } .glyphicon-text-height { &:before { content: "\e050"; } } .glyphicon-text-width { &:before { content: "\e051"; } } .glyphicon-align-left { &:before { content: "\e052"; } } .glyphicon-align-center { &:before { content: "\e053"; } } .glyphicon-align-right { &:before { content: "\e054"; } } .glyphicon-align-justify { &:before { content: "\e055"; } } .glyphicon-list { &:before { content: "\e056"; } } .glyphicon-indent-left { &:before { content: "\e057"; } } .glyphicon-indent-right { &:before { content: "\e058"; } } .glyphicon-facetime-video { &:before { content: "\e059"; } } .glyphicon-picture { &:before { content: "\e060"; } } .glyphicon-map-marker { &:before { content: "\e062"; } } .glyphicon-adjust { &:before { content: "\e063"; } } .glyphicon-tint { &:before { content: "\e064"; } } .glyphicon-edit { &:before { content: "\e065"; } } .glyphicon-share { &:before { content: "\e066"; } } .glyphicon-check { &:before { content: "\e067"; } } .glyphicon-move { &:before { content: "\e068"; } } .glyphicon-step-backward { &:before { content: "\e069"; } } .glyphicon-fast-backward { &:before { content: "\e070"; } } .glyphicon-backward { &:before { content: "\e071"; } } .glyphicon-play { &:before { content: "\e072"; } } .glyphicon-pause { &:before { content: "\e073"; } } .glyphicon-stop { &:before { content: "\e074"; } } .glyphicon-forward { &:before { content: "\e075"; } } .glyphicon-fast-forward { &:before { content: "\e076"; } } .glyphicon-step-forward { &:before { content: "\e077"; } } .glyphicon-eject { &:before { content: "\e078"; } } .glyphicon-chevron-left { &:before { content: "\e079"; } } .glyphicon-chevron-right { &:before { content: "\e080"; } } .glyphicon-plus-sign { &:before { content: "\e081"; } } .glyphicon-minus-sign { &:before { content: "\e082"; } } .glyphicon-remove-sign { &:before { content: "\e083"; } } .glyphicon-ok-sign { &:before { content: "\e084"; } } .glyphicon-question-sign { &:before { content: "\e085"; } } .glyphicon-info-sign { &:before { content: "\e086"; } } .glyphicon-screenshot { &:before { content: "\e087"; } } .glyphicon-remove-circle { &:before { content: "\e088"; } } .glyphicon-ok-circle { &:before { content: "\e089"; } } .glyphicon-ban-circle { &:before { content: "\e090"; } } .glyphicon-arrow-left { &:before { content: "\e091"; } } .glyphicon-arrow-right { &:before { content: "\e092"; } } .glyphicon-arrow-up { &:before { content: "\e093"; } } .glyphicon-arrow-down { &:before { content: "\e094"; } } .glyphicon-share-alt { &:before { content: "\e095"; } } .glyphicon-resize-full { &:before { content: "\e096"; } } .glyphicon-resize-small { &:before { content: "\e097"; } } .glyphicon-exclamation-sign { &:before { content: "\e101"; } } .glyphicon-gift { &:before { content: "\e102"; } } .glyphicon-leaf { &:before { content: "\e103"; } } .glyphicon-fire { &:before { content: "\e104"; } } .glyphicon-eye-open { &:before { content: "\e105"; } } .glyphicon-eye-close { &:before { content: "\e106"; } } .glyphicon-warning-sign { &:before { content: "\e107"; } } .glyphicon-plane { &:before { content: "\e108"; } } .glyphicon-calendar { &:before { content: "\e109"; } } .glyphicon-random { &:before { content: "\e110"; } } .glyphicon-comment { &:before { content: "\e111"; } } .glyphicon-magnet { &:before { content: "\e112"; } } .glyphicon-chevron-up { &:before { content: "\e113"; } } .glyphicon-chevron-down { &:before { content: "\e114"; } } .glyphicon-retweet { &:before { content: "\e115"; } } .glyphicon-shopping-cart { &:before { content: "\e116"; } } .glyphicon-folder-close { &:before { content: "\e117"; } } .glyphicon-folder-open { &:before { content: "\e118"; } } .glyphicon-resize-vertical { &:before { content: "\e119"; } } .glyphicon-resize-horizontal { &:before { content: "\e120"; } } .glyphicon-hdd { &:before { content: "\e121"; } } .glyphicon-bullhorn { &:before { content: "\e122"; } } .glyphicon-bell { &:before { content: "\e123"; } } .glyphicon-certificate { &:before { content: "\e124"; } } .glyphicon-thumbs-up { &:before { content: "\e125"; } } .glyphicon-thumbs-down { &:before { content: "\e126"; } } .glyphicon-hand-right { &:before { content: "\e127"; } } .glyphicon-hand-left { &:before { content: "\e128"; } } .glyphicon-hand-up { &:before { content: "\e129"; } } .glyphicon-hand-down { &:before { content: "\e130"; } } .glyphicon-circle-arrow-right { &:before { content: "\e131"; } } .glyphicon-circle-arrow-left { &:before { content: "\e132"; } } .glyphicon-circle-arrow-up { &:before { content: "\e133"; } } .glyphicon-circle-arrow-down { &:before { content: "\e134"; } } .glyphicon-globe { &:before { content: "\e135"; } } .glyphicon-wrench { &:before { content: "\e136"; } } .glyphicon-tasks { &:before { content: "\e137"; } } .glyphicon-filter { &:before { content: "\e138"; } } .glyphicon-briefcase { &:before { content: "\e139"; } } .glyphicon-fullscreen { &:before { content: "\e140"; } } .glyphicon-dashboard { &:before { content: "\e141"; } } .glyphicon-paperclip { &:before { content: "\e142"; } } .glyphicon-heart-empty { &:before { content: "\e143"; } } .glyphicon-link { &:before { content: "\e144"; } } .glyphicon-phone { &:before { content: "\e145"; } } .glyphicon-pushpin { &:before { content: "\e146"; } } .glyphicon-usd { &:before { content: "\e148"; } } .glyphicon-gbp { &:before { content: "\e149"; } } .glyphicon-sort { &:before { content: "\e150"; } } .glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } .glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } .glyphicon-sort-by-order { &:before { content: "\e153"; } } .glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } .glyphicon-sort-by-attributes { &:before { content: "\e155"; } } .glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } .glyphicon-unchecked { &:before { content: "\e157"; } } .glyphicon-expand { &:before { content: "\e158"; } } .glyphicon-collapse-down { &:before { content: "\e159"; } } .glyphicon-collapse-up { &:before { content: "\e160"; } } .glyphicon-log-in { &:before { content: "\e161"; } } .glyphicon-flash { &:before { content: "\e162"; } } .glyphicon-log-out { &:before { content: "\e163"; } } .glyphicon-new-window { &:before { content: "\e164"; } } .glyphicon-record { &:before { content: "\e165"; } } .glyphicon-save { &:before { content: "\e166"; } } .glyphicon-open { &:before { content: "\e167"; } } .glyphicon-saved { &:before { content: "\e168"; } } .glyphicon-import { &:before { content: "\e169"; } } .glyphicon-export { &:before { content: "\e170"; } } .glyphicon-send { &:before { content: "\e171"; } } .glyphicon-floppy-disk { &:before { content: "\e172"; } } .glyphicon-floppy-saved { &:before { content: "\e173"; } } .glyphicon-floppy-remove { &:before { content: "\e174"; } } .glyphicon-floppy-save { &:before { content: "\e175"; } } .glyphicon-floppy-open { &:before { content: "\e176"; } } .glyphicon-credit-card { &:before { content: "\e177"; } } .glyphicon-transfer { &:before { content: "\e178"; } } .glyphicon-cutlery { &:before { content: "\e179"; } } .glyphicon-header { &:before { content: "\e180"; } } .glyphicon-compressed { &:before { content: "\e181"; } } .glyphicon-earphone { &:before { content: "\e182"; } } .glyphicon-phone-alt { &:before { content: "\e183"; } } .glyphicon-tower { &:before { content: "\e184"; } } .glyphicon-stats { &:before { content: "\e185"; } } .glyphicon-sd-video { &:before { content: "\e186"; } } .glyphicon-hd-video { &:before { content: "\e187"; } } .glyphicon-subtitles { &:before { content: "\e188"; } } .glyphicon-sound-stereo { &:before { content: "\e189"; } } .glyphicon-sound-dolby { &:before { content: "\e190"; } } .glyphicon-sound-5-1 { &:before { content: "\e191"; } } .glyphicon-sound-6-1 { &:before { content: "\e192"; } } .glyphicon-sound-7-1 { &:before { content: "\e193"; } } .glyphicon-copyright-mark { &:before { content: "\e194"; } } .glyphicon-registration-mark { &:before { content: "\e195"; } } .glyphicon-cloud-download { &:before { content: "\e197"; } } .glyphicon-cloud-upload { &:before { content: "\e198"; } } .glyphicon-tree-conifer { &:before { content: "\e199"; } } .glyphicon-tree-deciduous { &:before { content: "\e200"; } } .glyphicon-cd { &:before { content: "\e201"; } } .glyphicon-save-file { &:before { content: "\e202"; } } .glyphicon-open-file { &:before { content: "\e203"; } } .glyphicon-level-up { &:before { content: "\e204"; } } .glyphicon-copy { &:before { content: "\e205"; } } .glyphicon-paste { &:before { content: "\e206"; } } // The following 2 Glyphicons are omitted for the time being because // they currently use Unicode codepoints that are outside the // Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle // non-BMP codepoints in CSS string escapes, and thus can't display these two icons. // Notably, the bug affects some older versions of the Android Browser. // More info: https://github.com/twbs/bootstrap/issues/10106 // .glyphicon-door { &:before { content: "\1f6aa"; } } // .glyphicon-key { &:before { content: "\1f511"; } } .glyphicon-alert { &:before { content: "\e209"; } } .glyphicon-equalizer { &:before { content: "\e210"; } } .glyphicon-king { &:before { content: "\e211"; } } .glyphicon-queen { &:before { content: "\e212"; } } .glyphicon-pawn { &:before { content: "\e213"; } } .glyphicon-bishop { &:before { content: "\e214"; } } .glyphicon-knight { &:before { content: "\e215"; } } .glyphicon-baby-formula { &:before { content: "\e216"; } } .glyphicon-tent { &:before { content: "\26fa"; } } .glyphicon-blackboard { &:before { content: "\e218"; } } .glyphicon-bed { &:before { content: "\e219"; } } .glyphicon-apple { &:before { content: "\f8ff"; } } .glyphicon-erase { &:before { content: "\e221"; } } .glyphicon-hourglass { &:before { content: "\231b"; } } .glyphicon-lamp { &:before { content: "\e223"; } } .glyphicon-duplicate { &:before { content: "\e224"; } } .glyphicon-piggy-bank { &:before { content: "\e225"; } } .glyphicon-scissors { &:before { content: "\e226"; } } .glyphicon-bitcoin { &:before { content: "\e227"; } } .glyphicon-btc { &:before { content: "\e227"; } } .glyphicon-xbt { &:before { content: "\e227"; } } .glyphicon-yen { &:before { content: "\00a5"; } } .glyphicon-jpy { &:before { content: "\00a5"; } } .glyphicon-ruble { &:before { content: "\20bd"; } } .glyphicon-rub { &:before { content: "\20bd"; } } .glyphicon-scale { &:before { content: "\e230"; } } .glyphicon-ice-lolly { &:before { content: "\e231"; } } .glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } .glyphicon-education { &:before { content: "\e233"; } } .glyphicon-option-horizontal { &:before { content: "\e234"; } } .glyphicon-option-vertical { &:before { content: "\e235"; } } .glyphicon-menu-hamburger { &:before { content: "\e236"; } } .glyphicon-modal-window { &:before { content: "\e237"; } } .glyphicon-oil { &:before { content: "\e238"; } } .glyphicon-grain { &:before { content: "\e239"; } } .glyphicon-sunglasses { &:before { content: "\e240"; } } .glyphicon-text-size { &:before { content: "\e241"; } } .glyphicon-text-color { &:before { content: "\e242"; } } .glyphicon-text-background { &:before { content: "\e243"; } } .glyphicon-object-align-top { &:before { content: "\e244"; } } .glyphicon-object-align-bottom { &:before { content: "\e245"; } } .glyphicon-object-align-horizontal{ &:before { content: "\e246"; } } .glyphicon-object-align-left { &:before { content: "\e247"; } } .glyphicon-object-align-vertical { &:before { content: "\e248"; } } .glyphicon-object-align-right { &:before { content: "\e249"; } } .glyphicon-triangle-right { &:before { content: "\e250"; } } .glyphicon-triangle-left { &:before { content: "\e251"; } } .glyphicon-triangle-bottom { &:before { content: "\e252"; } } .glyphicon-triangle-top { &:before { content: "\e253"; } } .glyphicon-console { &:before { content: "\e254"; } } .glyphicon-superscript { &:before { content: "\e255"; } } .glyphicon-subscript { &:before { content: "\e256"; } } .glyphicon-menu-left { &:before { content: "\e257"; } } .glyphicon-menu-right { &:before { content: "\e258"; } } .glyphicon-menu-down { &:before { content: "\e259"; } } .glyphicon-menu-up { &:before { content: "\e260"; } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_print.scss0000664000175100017510000000322215136556166023544 0ustar mylesmyles/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ // ========================================================================== // Print styles. // Inlined to avoid the additional HTTP request: h5bp.com/r // ========================================================================== @media print { *, *:before, *:after { color: #000 !important; // Black prints faster: h5bp.com/s text-shadow: none !important; background: transparent !important; box-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, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; // h5bp.com/t } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } // Bootstrap specific changes start // Bootstrap components .navbar { display: none; } .btn, .dropup > .btn { > .caret { border-top-color: #000 !important; } } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; td, th { background-color: #fff !important; } } .table-bordered { th, td { border: 1px solid #ddd !important; } } } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_responsive-embed.scss0000664000175100017510000000104215136556166025655 0ustar mylesmyles// Embeds responsive // // Credit: Nicolas Gallagher and SUIT CSS. .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; .embed-responsive-item, iframe, embed, object, video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } } // Modifier class for 16:9 aspect ratio .embed-responsive-16by9 { padding-bottom: 56.25%; } // Modifier class for 4:3 aspect ratio .embed-responsive-4by3 { padding-bottom: 75%; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_tooltip.scss0000664000175100017510000000571715136556166024115 0ustar mylesmyles// // Tooltips // -------------------------------------------------- // Base class .tooltip { position: absolute; z-index: $zindex-tooltip; display: block; // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. // So reset our font and text properties to avoid inheriting weird values. @include reset-text; font-size: $font-size-small; @include opacity(0); &.in { @include opacity($tooltip-opacity); } &.top { padding: $tooltip-arrow-width 0; margin-top: -3px; } &.right { padding: 0 $tooltip-arrow-width; margin-left: 3px; } &.bottom { padding: $tooltip-arrow-width 0; margin-top: 3px; } &.left { padding: 0 $tooltip-arrow-width; margin-left: -3px; } // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1 &.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -$tooltip-arrow-width; border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-top-color: $tooltip-arrow-color; } &.top-left .tooltip-arrow { right: $tooltip-arrow-width; bottom: 0; margin-bottom: -$tooltip-arrow-width; border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-top-color: $tooltip-arrow-color; } &.top-right .tooltip-arrow { bottom: 0; left: $tooltip-arrow-width; margin-bottom: -$tooltip-arrow-width; border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-top-color: $tooltip-arrow-color; } &.right .tooltip-arrow { top: 50%; left: 0; margin-top: -$tooltip-arrow-width; border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0; border-right-color: $tooltip-arrow-color; } &.left .tooltip-arrow { top: 50%; right: 0; margin-top: -$tooltip-arrow-width; border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width; border-left-color: $tooltip-arrow-color; } &.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -$tooltip-arrow-width; border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; border-bottom-color: $tooltip-arrow-color; } &.bottom-left .tooltip-arrow { top: 0; right: $tooltip-arrow-width; margin-top: -$tooltip-arrow-width; border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; border-bottom-color: $tooltip-arrow-color; } &.bottom-right .tooltip-arrow { top: 0; left: $tooltip-arrow-width; margin-top: -$tooltip-arrow-width; border-width: 0 $tooltip-arrow-width $tooltip-arrow-width; border-bottom-color: $tooltip-arrow-color; } } // Wrapper for the tooltip content .tooltip-inner { max-width: $tooltip-max-width; padding: 3px 8px; color: $tooltip-color; text-align: center; background-color: $tooltip-bg; border-radius: $border-radius-base; } // Arrows .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_navs.scss0000664000175100017510000001152615136556166023365 0ustar mylesmyles// // Navs // -------------------------------------------------- // Base class // -------------------------------------------------- .nav { padding-left: 0; // Override default ul/ol margin-bottom: 0; list-style: none; @include clearfix; > li { position: relative; display: block; > a { position: relative; display: block; padding: $nav-link-padding; &:hover, &:focus { text-decoration: none; background-color: $nav-link-hover-bg; } } // Disabled state sets text to gray and nukes hover/tab effects &.disabled > a { color: $nav-disabled-link-color; &:hover, &:focus { color: $nav-disabled-link-hover-color; text-decoration: none; cursor: $cursor-disabled; background-color: transparent; } } } // Open dropdowns .open > a { &, &:hover, &:focus { background-color: $nav-link-hover-bg; border-color: $link-color; } } // Nav dividers (deprecated with v3.0.1) // // This should have been removed in v3 with the dropping of `.nav-list`, but // we missed it. We don't currently support this anywhere, but in the interest // of maintaining backward compatibility in case you use it, it's deprecated. .nav-divider { @include nav-divider; } // Prevent IE8 from misplacing imgs // // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 > li > a > img { max-width: none; } } // Tabs // ------------------------- // Give the tabs something to sit on .nav-tabs { border-bottom: 1px solid $nav-tabs-border-color; > li { float: left; // Make the list-items overlay the bottom border margin-bottom: -1px; // Actual tabs (as links) > a { margin-right: 2px; line-height: $line-height-base; border: 1px solid transparent; border-radius: $border-radius-base $border-radius-base 0 0; &:hover { border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; } } // Active state, and its :hover to override normal :hover &.active > a { &, &:hover, &:focus { color: $nav-tabs-active-link-hover-color; cursor: default; background-color: $nav-tabs-active-link-hover-bg; border: 1px solid $nav-tabs-active-link-hover-border-color; border-bottom-color: transparent; } } } // pulling this in mainly for less shorthand &.nav-justified { @extend .nav-justified; @extend .nav-tabs-justified; } } // Pills // ------------------------- .nav-pills { > li { float: left; // Links rendered as pills > a { border-radius: $nav-pills-border-radius; } + li { margin-left: 2px; } // Active state &.active > a { &, &:hover, &:focus { color: $nav-pills-active-link-hover-color; background-color: $nav-pills-active-link-hover-bg; } } } } // Stacked pills .nav-stacked { > li { float: none; + li { margin-top: 2px; margin-left: 0; // no need for this gap between nav items } } } // Nav variations // -------------------------------------------------- // Justified nav links // ------------------------- .nav-justified { width: 100%; > li { float: none; > a { margin-bottom: 5px; text-align: center; } } > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: $screen-sm-min) { > li { display: table-cell; width: 1%; > a { margin-bottom: 0; } } } } // Move borders to anchors instead of bottom of list // // Mixin for adding on top the shared `.nav-justified` styles for our tabs .nav-tabs-justified { border-bottom: 0; > li > a { // Override margin from .nav-tabs margin-right: 0; border-radius: $border-radius-base; } > .active > a, > .active > a:hover, > .active > a:focus { border: 1px solid $nav-tabs-justified-link-border-color; } @media (min-width: $screen-sm-min) { > li > a { border-bottom: 1px solid $nav-tabs-justified-link-border-color; border-radius: $border-radius-base $border-radius-base 0 0; } > .active > a, > .active > a:hover, > .active > a:focus { border-bottom-color: $nav-tabs-justified-active-link-border-color; } } } // Tabbable tabs // ------------------------- // Hide tabbable panes to start, show them when `.active` .tab-content { > .tab-pane { display: none; } > .active { display: block; } } // Dropdowns // ------------------------- // Specific dropdowns .nav-tabs .dropdown-menu { // make dropdown border overlap tab border margin-top: -1px; // Remove the top rounded corners here since there is a hard edge above the menu @include border-top-radius(0); } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_media.scss0000664000175100017510000000160415136556166023471 0ustar mylesmyles.media { // Proper spacing between instances of .media margin-top: 15px; &:first-child { margin-top: 0; } } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; // Fix collapse in webkit from max-width: 100% and display: table-cell. &.img-thumbnail { max-width: none; } } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } // Reset margins on headings for tighter default spacing .media-heading { margin-top: 0; margin-bottom: 5px; } // Media list variation // // Undo default ul/ol styles .media-list { padding-left: 0; list-style: none; } xstatic/pkg/bootstrap_scss/data/scss/bootstrap/_forms.scss0000664000175100017510000003727115136556166023551 0ustar mylesmyles// // Forms // -------------------------------------------------- // Normalize non-controls // // Restyle and baseline non-control form elements. fieldset { // Chrome and Firefox set a `min-width: min-content;` on fieldsets, // so we reset that to ensure it behaves more like a standard block element. // See https://github.com/twbs/bootstrap/issues/12359. min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: $line-height-computed; font-size: ($font-size-base * 1.5); line-height: inherit; color: $legend-color; border: 0; border-bottom: 1px solid $legend-border-color; } label { display: inline-block; max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) margin-bottom: 5px; font-weight: 700; } // Normalize form controls // // While most of our form styles require extra classes, some basic normalization // is required to ensure optimum display with or without those classes to better // address browser inconsistencies. input[type="search"] { // Override content-box in Normalize (* isn't specific enough) @include box-sizing(border-box); // Search inputs in iOS // // This overrides the extra rounded corners on search inputs in iOS so that our // `.form-control` class can properly style them. Note that this cannot simply // be added to `.form-control` as it's not specific enough. For details, see // https://github.com/twbs/bootstrap/issues/11586. -webkit-appearance: none; appearance: none; } // Position radios and checkboxes better input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; // IE8-9 line-height: normal; // Apply same disabled cursor tweak as for inputs // Some special care is needed because