From 0bf0647032ff6f2d6f50b21dfe1f7e3f0837c834 Mon Sep 17 00:00:00 2001 From: MaZderMind Date: Fri, 17 Oct 2014 16:06:42 +0200 Subject: copy media.ccc.de style --- assets/css/_fonts.scss | 21 + assets/css/_variables.scss | 819 +++ assets/css/bootstrap.scss | 50 + assets/css/bootstrap/_alerts.scss | 68 + assets/css/bootstrap/_badges.scss | 57 + assets/css/bootstrap/_breadcrumbs.scss | 26 + assets/css/bootstrap/_button-groups.scss | 240 + assets/css/bootstrap/_buttons.scss | 157 + assets/css/bootstrap/_carousel.scss | 243 + assets/css/bootstrap/_close.scss | 35 + assets/css/bootstrap/_code.scss | 68 + assets/css/bootstrap/_component-animations.scss | 35 + assets/css/bootstrap/_dropdowns.scss | 215 + assets/css/bootstrap/_forms.scss | 538 ++ assets/css/bootstrap/_glyphicons.scss | 237 + assets/css/bootstrap/_grid.scss | 84 + assets/css/bootstrap/_input-groups.scss | 166 + assets/css/bootstrap/_jumbotron.scss | 48 + assets/css/bootstrap/_labels.scss | 66 + assets/css/bootstrap/_list-group.scss | 131 + assets/css/bootstrap/_media.scss | 56 + assets/css/bootstrap/_mixins.scss | 39 + assets/css/bootstrap/_modals.scss | 150 + assets/css/bootstrap/_navbar.scss | 659 +++ assets/css/bootstrap/_navs.scss | 242 + assets/css/bootstrap/_normalize.scss | 425 ++ assets/css/bootstrap/_pager.scss | 55 + assets/css/bootstrap/_pagination.scss | 88 + assets/css/bootstrap/_panels.scss | 243 + assets/css/bootstrap/_popovers.scss | 133 + assets/css/bootstrap/_print.scss | 101 + assets/css/bootstrap/_progress-bars.scss | 105 + assets/css/bootstrap/_responsive-embed.scss | 34 + assets/css/bootstrap/_responsive-utilities.scss | 174 + assets/css/bootstrap/_scaffolding.scss | 150 + assets/css/bootstrap/_tables.scss | 233 + assets/css/bootstrap/_theme.scss | 258 + assets/css/bootstrap/_thumbnails.scss | 38 + assets/css/bootstrap/_tooltip.scss | 95 + assets/css/bootstrap/_type.scss | 304 + assets/css/bootstrap/_utilities.scss | 57 + assets/css/bootstrap/_variables.scss | 850 +++ assets/css/bootstrap/_wells.scss | 29 + assets/css/bootstrap/bootstrap.scss | 50 + assets/css/bootstrap/mixins/_alerts.scss | 14 + .../css/bootstrap/mixins/_background-variant.scss | 11 + assets/css/bootstrap/mixins/_border-radius.scss | 18 + assets/css/bootstrap/mixins/_buttons.scss | 50 + assets/css/bootstrap/mixins/_center-block.scss | 7 + assets/css/bootstrap/mixins/_clearfix.scss | 22 + assets/css/bootstrap/mixins/_forms.scss | 84 + assets/css/bootstrap/mixins/_gradients.scss | 58 + assets/css/bootstrap/mixins/_grid-framework.scss | 81 + assets/css/bootstrap/mixins/_grid.scss | 122 + assets/css/bootstrap/mixins/_hide-text.scss | 21 + assets/css/bootstrap/mixins/_image.scss | 34 + assets/css/bootstrap/mixins/_labels.scss | 12 + assets/css/bootstrap/mixins/_list-group.scss | 31 + assets/css/bootstrap/mixins/_nav-divider.scss | 10 + .../css/bootstrap/mixins/_nav-vertical-align.scss | 9 + assets/css/bootstrap/mixins/_opacity.scss | 8 + assets/css/bootstrap/mixins/_pagination.scss | 23 + assets/css/bootstrap/mixins/_panels.scss | 24 + assets/css/bootstrap/mixins/_progress-bar.scss | 10 + assets/css/bootstrap/mixins/_reset-filter.scss | 8 + assets/css/bootstrap/mixins/_resize.scss | 6 + .../bootstrap/mixins/_responsive-visibility.scss | 21 + assets/css/bootstrap/mixins/_size.scss | 10 + assets/css/bootstrap/mixins/_tab-focus.scss | 9 + assets/css/bootstrap/mixins/_table-row.scss | 28 + assets/css/bootstrap/mixins/_text-emphasis.scss | 11 + assets/css/bootstrap/mixins/_text-overflow.scss | 8 + assets/css/bootstrap/mixins/_vendor-prefixes.scss | 219 + assets/css/font-awesome.css | 1566 ++++++ assets/css/font-awesome.min.css | 4 + assets/css/lustige-styles.css | 5816 ++++++++++++++++++++ assets/css/lustige-styles.css.map | 7 + assets/css/lustige-styles.scss | 680 +++ assets/css/mediaelementplayer.min.css | 1 + assets/fonts/FontAwesome.otf | Bin 0 -> 75188 bytes assets/fonts/estre.eot | Bin 0 -> 110642 bytes assets/fonts/estre.otf | Bin 0 -> 181776 bytes assets/fonts/estre.svg | 1821 ++++++ assets/fonts/estre.ttf | Bin 0 -> 110436 bytes assets/fonts/estre.woff | Bin 0 -> 82716 bytes assets/fonts/fontawesome-webfont.eot | Bin 0 -> 72449 bytes assets/fonts/fontawesome-webfont.svg | 504 ++ assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes assets/fonts/fontawesome-webfont.woff | Bin 0 -> 83760 bytes assets/img/promoted_bg.jpg | Bin 0 -> 7600 bytes assets/img/tv.png | Bin 0 -> 1416 bytes template/assemblies/header.phtml | 31 + template/assemblies/motd.phtml | 36 + template/assemblies/player-video.phtml | 30 + template/page.phtml | 43 +- template/player-video.phtml | 30 - 96 files changed, 19343 insertions(+), 67 deletions(-) create mode 100644 assets/css/_fonts.scss create mode 100644 assets/css/_variables.scss create mode 100644 assets/css/bootstrap.scss create mode 100644 assets/css/bootstrap/_alerts.scss create mode 100644 assets/css/bootstrap/_badges.scss create mode 100644 assets/css/bootstrap/_breadcrumbs.scss create mode 100644 assets/css/bootstrap/_button-groups.scss create mode 100644 assets/css/bootstrap/_buttons.scss create mode 100644 assets/css/bootstrap/_carousel.scss create mode 100644 assets/css/bootstrap/_close.scss create mode 100644 assets/css/bootstrap/_code.scss create mode 100644 assets/css/bootstrap/_component-animations.scss create mode 100644 assets/css/bootstrap/_dropdowns.scss create mode 100644 assets/css/bootstrap/_forms.scss create mode 100644 assets/css/bootstrap/_glyphicons.scss create mode 100644 assets/css/bootstrap/_grid.scss create mode 100644 assets/css/bootstrap/_input-groups.scss create mode 100644 assets/css/bootstrap/_jumbotron.scss create mode 100644 assets/css/bootstrap/_labels.scss create mode 100644 assets/css/bootstrap/_list-group.scss create mode 100644 assets/css/bootstrap/_media.scss create mode 100644 assets/css/bootstrap/_mixins.scss create mode 100644 assets/css/bootstrap/_modals.scss create mode 100644 assets/css/bootstrap/_navbar.scss create mode 100644 assets/css/bootstrap/_navs.scss create mode 100644 assets/css/bootstrap/_normalize.scss create mode 100644 assets/css/bootstrap/_pager.scss create mode 100644 assets/css/bootstrap/_pagination.scss create mode 100644 assets/css/bootstrap/_panels.scss create mode 100644 assets/css/bootstrap/_popovers.scss create mode 100644 assets/css/bootstrap/_print.scss create mode 100644 assets/css/bootstrap/_progress-bars.scss create mode 100644 assets/css/bootstrap/_responsive-embed.scss create mode 100644 assets/css/bootstrap/_responsive-utilities.scss create mode 100644 assets/css/bootstrap/_scaffolding.scss create mode 100644 assets/css/bootstrap/_tables.scss create mode 100644 assets/css/bootstrap/_theme.scss create mode 100644 assets/css/bootstrap/_thumbnails.scss create mode 100644 assets/css/bootstrap/_tooltip.scss create mode 100644 assets/css/bootstrap/_type.scss create mode 100644 assets/css/bootstrap/_utilities.scss create mode 100644 assets/css/bootstrap/_variables.scss create mode 100644 assets/css/bootstrap/_wells.scss create mode 100644 assets/css/bootstrap/bootstrap.scss create mode 100644 assets/css/bootstrap/mixins/_alerts.scss create mode 100644 assets/css/bootstrap/mixins/_background-variant.scss create mode 100644 assets/css/bootstrap/mixins/_border-radius.scss create mode 100644 assets/css/bootstrap/mixins/_buttons.scss create mode 100644 assets/css/bootstrap/mixins/_center-block.scss create mode 100644 assets/css/bootstrap/mixins/_clearfix.scss create mode 100644 assets/css/bootstrap/mixins/_forms.scss create mode 100644 assets/css/bootstrap/mixins/_gradients.scss create mode 100644 assets/css/bootstrap/mixins/_grid-framework.scss create mode 100644 assets/css/bootstrap/mixins/_grid.scss create mode 100644 assets/css/bootstrap/mixins/_hide-text.scss create mode 100644 assets/css/bootstrap/mixins/_image.scss create mode 100644 assets/css/bootstrap/mixins/_labels.scss create mode 100644 assets/css/bootstrap/mixins/_list-group.scss create mode 100644 assets/css/bootstrap/mixins/_nav-divider.scss create mode 100644 assets/css/bootstrap/mixins/_nav-vertical-align.scss create mode 100644 assets/css/bootstrap/mixins/_opacity.scss create mode 100644 assets/css/bootstrap/mixins/_pagination.scss create mode 100644 assets/css/bootstrap/mixins/_panels.scss create mode 100644 assets/css/bootstrap/mixins/_progress-bar.scss create mode 100644 assets/css/bootstrap/mixins/_reset-filter.scss create mode 100644 assets/css/bootstrap/mixins/_resize.scss create mode 100644 assets/css/bootstrap/mixins/_responsive-visibility.scss create mode 100644 assets/css/bootstrap/mixins/_size.scss create mode 100644 assets/css/bootstrap/mixins/_tab-focus.scss create mode 100644 assets/css/bootstrap/mixins/_table-row.scss create mode 100644 assets/css/bootstrap/mixins/_text-emphasis.scss create mode 100644 assets/css/bootstrap/mixins/_text-overflow.scss create mode 100644 assets/css/bootstrap/mixins/_vendor-prefixes.scss create mode 100644 assets/css/font-awesome.css create mode 100644 assets/css/font-awesome.min.css create mode 100644 assets/css/lustige-styles.css create mode 100644 assets/css/lustige-styles.css.map create mode 100644 assets/css/lustige-styles.scss create mode 100644 assets/css/mediaelementplayer.min.css create mode 100644 assets/fonts/FontAwesome.otf create mode 100644 assets/fonts/estre.eot create mode 100644 assets/fonts/estre.otf create mode 100644 assets/fonts/estre.svg create mode 100644 assets/fonts/estre.ttf create mode 100644 assets/fonts/estre.woff create mode 100644 assets/fonts/fontawesome-webfont.eot create mode 100644 assets/fonts/fontawesome-webfont.svg create mode 100644 assets/fonts/fontawesome-webfont.ttf create mode 100644 assets/fonts/fontawesome-webfont.woff create mode 100644 assets/img/promoted_bg.jpg create mode 100644 assets/img/tv.png create mode 100644 template/assemblies/header.phtml create mode 100644 template/assemblies/motd.phtml create mode 100644 template/assemblies/player-video.phtml delete mode 100644 template/player-video.phtml diff --git a/assets/css/_fonts.scss b/assets/css/_fonts.scss new file mode 100644 index 0000000..7d251f3 --- /dev/null +++ b/assets/css/_fonts.scss @@ -0,0 +1,21 @@ +/* font Estrangelo Edessa */ +@font-face { + font-family: 'Estrangelo Edessa'; + src: url('../fonts/estre.eot'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'Estrangelo Edessa'; + src: url('../fonts/estre.otf') format('opentype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'Estrangelo Edessa'; + src: url('../fonts/estre.ttf') format('truetype'), + url('../fonts/estre.woff') format('woff'), + url('../fonts/estre.svg') format('svg'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss new file mode 100644 index 0000000..22ada2d --- /dev/null +++ b/assets/css/_variables.scss @@ -0,0 +1,819 @@ +@import "bootstrap/variables"; + +// Override Bootstrap variables here (defaults from bootstrap-sass v3.1.1.1): + +// a flag to toggle asset pipeline / compass integration +// defaults to true if twbs-font-path function is present (no function => twbs-font-path('') parsed as string == right side) +// in Sass 3.3 this can be improved with: function-exists(twbs-font-path) +// $bootstrap-sass-asset-helper: (twbs-font-path("") != unquote('twbs-font-path("")')) +// +// Variables +// -------------------------------------------------- + +//== Colors +// +//## Gray and brand colors for use across Bootstrap. + +// $gray-darker: lighten(#000, 13.5%) // #222 +// $gray-dark: lighten(#000, 20%) // #333 (buttons & header) +// $gray: lighten(#000, 33.5%) // #555 +// $gray-light: lighten(#000, 60%) // #999 +// $gray-lighter: lighten(#000, 93.5%) // #eee + +$brand-primary: #d87500; // orange +$transparent-white: rgba(255, 255, 255, 0.3); +// $brand-success: #5cb85c +// $brand-info: #5bc0de +// $brand-warning: #f0ad4e +// $brand-danger: #d9534f + +//== Scaffolding +// +//## Settings for some of the most global styles. + +//* Background color for ``. +// $body-bg: #fff +$body-bg: #fff; +//* Global text color on ``. +$text-color: #000; + +//* Global textual link color. +$link-color: $brand-primary; +//* Link hover color set via `darken()` function. +$link-hover-color: darken($link-color, 15%); + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +$font-family-sans-serif: "Estrangelo Edessa", "Helvetica Neue", Helvetica, Arial, sans-serif; +// $font-family-serif: Georgia, "Times New Roman", Times, serif +//* Default monospace fonts for ``, ``, and `
`.
+// $font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace
+$font-family-base:        $font-family-sans-serif;
+//$font-family: "Droid Sans",Arial,"Trebuchet MS",sans-serif;
+
+$font-size-base:          14px;
+$font-size-large:         ceil(($font-size-base * 1.7)); // ~24px
+// $font-size-small:         ceil(($font-size-base * 0.85)) // ~12px
+
+$font-size-h1:            floor(($font-size-base * 3)); // ~42px
+$font-size-h2:            floor(($font-size-base * 2.15)); // ~30px
+// $font-size-h3:            ceil(($font-size-base * 1.7)) // ~24px
+// $font-size-h4:            ceil(($font-size-base * 1.25)) // ~18px
+// $font-size-h5:            $font-size-base
+// $font-size-h6:            ceil(($font-size-base * 0.85)) // ~12px
+
+//* Unit-less `line-height` for use in components like buttons.
+$line-height-base:        1.2;
+//* Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+$line-height-computed:    floor(($font-size-base * $line-height-base));
+
+//* By default, this inherits from the ``.
+// $headings-font-family:    inherit
+// $headings-font-weight:    500
+// $headings-line-height:    1.1
+$headings-color:          $gray;
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//* Load fonts from this directory.
+$icon-font-path: "../fonts/";
+//* File name for all font files.
+$icon-font-name: "fontawesome-webfont";
+//* Element ID within SVG icon file.
+$icon-font-svg-id: "fontawesomeregular";
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+$padding-base-vertical:     4px;
+// $padding-base-horizontal:   12px
+
+// $padding-large-vertical:    10px
+// $padding-large-horizontal:  16px
+
+// $padding-small-vertical:    5px
+// $padding-small-horizontal:  10px
+
+// $padding-xs-vertical:       1px
+// $padding-xs-horizontal:     5px
+
+// $line-height-large:         1.33
+// $line-height-small:         1.5
+
+$border-radius-base:        0;
+$border-radius-large:       0;
+$border-radius-small:       0;
+
+//* Global color for active items (e.g., navs or dropdowns).
+// $component-active-color:    #fff
+//* Global background color for active items (e.g., navs or dropdowns).
+// $component-active-bg:       $brand-primary
+
+//* Width of the `border` for generating carets that indicator dropdowns.
+// $caret-width-base:          4px
+//* Carets increase slightly in size for larger components.
+// $caret-width-large:         5px
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//* Padding for ``s and ``s.
+// $table-cell-padding:            8px
+//* Padding for cells in `.table-condensed`.
+// $table-condensed-cell-padding:  5px
+
+//* Default background color used for all tables.
+// $table-bg:                      transparent
+//* Background color used for `.table-striped`.
+// $table-bg-accent:               #f9f9f9
+//* Background color used for `.table-hover`.
+// $table-bg-hover:                #f5f5f5
+// $table-bg-active:               $table-bg-hover
+
+//* Border color for table and cell borders.
+// $table-border-color:            #ddd
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+
+// $btn-font-weight:                normal
+
+$btn-default-color:              $gray-dark;
+$btn-default-bg:                 #fff;
+$btn-default-border:             #fff;
+
+$btn-primary-color:              #fff;
+$btn-primary-bg:                 $gray-dark;
+$btn-primary-border:             $gray-dark;
+
+// $btn-success-color:              #fff
+// $btn-success-bg:                 $brand-success
+// $btn-success-border:             darken($btn-success-bg, 5%)
+
+// $btn-info-color:                 #fff
+// $btn-info-bg:                    $brand-info
+// $btn-info-border:                darken($btn-info-bg, 5%)
+
+// $btn-warning-color:              #fff
+// $btn-warning-bg:                 $brand-warning
+// $btn-warning-border:             darken($btn-warning-bg, 5%)
+
+// $btn-danger-color:               #fff
+// $btn-danger-bg:                  $brand-danger
+// $btn-danger-border:              darken($btn-danger-bg, 5%)
+
+// $btn-link-disabled-color:        $gray-light
+
+//== Forms
+//
+//##
+
+//* `` background color
+// $input-bg:                       #fff
+//* `` background color
+// $input-bg-disabled:              $gray-lighter
+
+//* Text color for ``s
+// $input-color:                    $gray
+//* `` border color
+$input-border:                   transparent;
+//* `` border radius
+$input-border-radius: $border-radius-base;
+//* Border color for inputs on focus
+$input-border-focus:             $brand-primary;
+
+//* Placeholder text color
+$input-color-placeholder:        $gray-light;
+
+//* Default `.form-control` height
+$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2);
+//* Large `.form-control` height
+// $input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2)
+//* Small `.form-control` height
+// $input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2)
+
+// $legend-color:                   $gray-dark
+// $legend-border-color:            #e5e5e5
+
+//* Background color for textual input addons
+// $input-group-addon-bg:           $gray-lighter
+//* Border color for textual input addons
+// $input-group-addon-border-color: $input-border
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//* Background for the dropdown menu.
+// $dropdown-bg:                    #fff
+//* Dropdown menu `border-color`.
+// $dropdown-border:                rgba(0,0,0,.15)
+//* Dropdown menu `border-color` **for IE8**.
+// $dropdown-fallback-border:       #ccc
+//* Divider color for between dropdown items.
+// $dropdown-divider-bg:            #e5e5e5
+
+//* Dropdown link text color.
+// $dropdown-link-color:            $gray-dark
+//* Hover color for dropdown links.
+// $dropdown-link-hover-color:      darken($gray-dark, 5%)
+//* Hover background for dropdown links.
+// $dropdown-link-hover-bg:         #f5f5f5
+
+//* Active dropdown menu item text color.
+// $dropdown-link-active-color:     $component-active-color
+//* Active dropdown menu item background color.
+// $dropdown-link-active-bg:        $component-active-bg
+
+//* Disabled dropdown menu item background color.
+// $dropdown-link-disabled-color:   $gray-light
+
+//* Text color for headers within dropdown menus.
+// $dropdown-header-color:          $gray-light
+
+// Note: Deprecated $dropdown-caret-color as of v3.1.0
+// $dropdown-caret-color:           #000
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+// $zindex-navbar:            1000
+// $zindex-dropdown:          1000
+// $zindex-popover:           1060
+// $zindex-tooltip:           1070
+// $zindex-navbar-fixed:      1030
+// $zindex-modal-background:  1040
+// $zindex-modal:             1050
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+// Note: Deprecated $screen-xs and $screen-phone as of v3.0.1
+// Note: Deprecated $screen-xs-min as of v3.2.0
+// $screen-xs:                  480px
+// $screen-xs-min:              $screen-xs
+// $screen-phone:               $screen-xs-min
+
+// Small screen / tablet
+// Note: Deprecated $screen-sm and $screen-tablet as of v3.0.1
+$screen-sm:                  450px;
+$screen-sm-min:              $screen-sm;
+$screen-tablet:              $screen-sm-min;
+
+// Medium screen / desktop
+// Note: Deprecated $screen-md and $screen-desktop as of v3.0.1
+$screen-md:                  960px;
+$screen-md-min:              $screen-md;
+$screen-desktop:             $screen-md-min;
+
+// Large screen / wide desktop
+// Note: Deprecated $screen-lg and $screen-lg-desktop as of v3.0.1
+$screen-lg:                  1200px;
+$screen-lg-min:              $screen-lg;
+$screen-lg-desktop:          $screen-lg-min;
+
+// So media queries don't overlap when required, provide a maximum
+$screen-xs-max:              ($screen-sm-min - 1);
+$screen-sm-max:              ($screen-md-min - 1);
+$screen-md-max:              ($screen-lg-min - 1);
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//* Number of columns in the grid.
+// $grid-columns:              12
+//* Padding between columns. Gets divided in half for the left and right.
+// $grid-gutter-width:         30px
+// Navbar collapse
+//* Point at which the navbar becomes uncollapsed.
+$grid-float-breakpoint:     0; //$screen-sm-min;
+//* Point at which the navbar begins collapsing.
+$grid-float-breakpoint-max: 0; //($grid-float-breakpoint - 1);
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+$container-tablet:             700px;
+//* For `$screen-sm-min` and up.
+$container-sm:                 $container-tablet;
+
+// Medium screen / desktop
+$container-desktop:            700px;
+//* For `$screen-md-min` and up.
+$container-md:                 $container-desktop;
+
+// Large screen / wide desktop
+$container-large-desktop:      700px;
+//* For `$screen-lg-min` and up.
+$container-lg:                 $container-large-desktop;
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+$navbar-height:                    48px;
+$navbar-margin-bottom:             0;
+$navbar-border-radius:             $border-radius-base;
+// $navbar-padding-horizontal:        floor(($grid-gutter-width / 2))
+$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2);
+// $navbar-collapse-max-height:       340px
+
+// $navbar-default-color:             #777
+$navbar-default-bg:                $gray-dark;
+$navbar-default-border:            transparent;
+
+// Navbar links
+$navbar-default-link-color:                $gray-dark;
+$navbar-default-link-hover-color:          $brand-primary;
+$navbar-default-link-hover-bg:             #fff;
+// $navbar-default-link-active-color:         #555
+// $navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%)
+// $navbar-default-link-disabled-color:       #ccc
+// $navbar-default-link-disabled-bg:          transparent
+
+// Navbar brand label
+$navbar-default-brand-color:               #fff;
+$navbar-default-brand-hover-color:         $gray-lighter;
+// $navbar-default-brand-hover-bg:            transparent
+
+// Navbar toggle
+// $navbar-default-toggle-hover-bg:           #ddd
+// $navbar-default-toggle-icon-bar-bg:        #888
+// $navbar-default-toggle-border-color:       #ddd
+
+// Inverted navbar
+// Reset inverted navbar basics
+// $navbar-inverse-color:                      $gray-light
+// $navbar-inverse-bg:                         #222
+// $navbar-inverse-border:                     darken($navbar-inverse-bg, 10%)
+
+// Inverted navbar links
+// $navbar-inverse-link-color:                 $gray-light
+// $navbar-inverse-link-hover-color:           #fff
+// $navbar-inverse-link-hover-bg:              transparent
+// $navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color
+// $navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%)
+// $navbar-inverse-link-disabled-color:        #444
+// $navbar-inverse-link-disabled-bg:           transparent
+
+// Inverted navbar brand label
+// $navbar-inverse-brand-color:                $navbar-inverse-link-color
+// $navbar-inverse-brand-hover-color:          #fff
+// $navbar-inverse-brand-hover-bg:             transparent
+
+// Inverted navbar toggle
+// $navbar-inverse-toggle-hover-bg:            #333
+// $navbar-inverse-toggle-icon-bar-bg:         #fff
+// $navbar-inverse-toggle-border-color:        #333
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+$nav-link-padding:                          0px 10px;
+$nav-link-hover-bg:                         #fff;
+
+// $nav-disabled-link-color:                   $gray-light
+// $nav-disabled-link-hover-color:             $gray-light
+
+// $nav-open-link-hover-color:                 #fff
+
+//== Tabs
+// $nav-tabs-border-color:                     #ddd
+
+// $nav-tabs-link-hover-border-color:          $gray-lighter
+
+// $nav-tabs-active-link-hover-bg:             $body-bg
+// $nav-tabs-active-link-hover-color:          $gray
+// $nav-tabs-active-link-hover-border-color:   #ddd
+
+// $nav-tabs-justified-link-border-color:            #ddd
+// $nav-tabs-justified-active-link-border-color:     $body-bg
+
+//== Pills
+$nav-pills-border-radius:                   $border-radius-base;
+// $nav-pills-active-link-hover-bg:            $component-active-bg
+// $nav-pills-active-link-hover-color:         $component-active-color
+
+//== Pagination
+//
+//##
+
+// $pagination-color:                     $link-color
+// $pagination-bg:                        #fff
+// $pagination-border:                    #ddd
+
+// $pagination-hover-color:               $link-hover-color
+// $pagination-hover-bg:                  $gray-lighter
+// $pagination-hover-border:              #ddd
+
+// $pagination-active-color:              #fff
+// $pagination-active-bg:                 $brand-primary
+// $pagination-active-border:             $brand-primary
+
+// $pagination-disabled-color:            $gray-light
+// $pagination-disabled-bg:               #fff
+// $pagination-disabled-border:           #ddd
+
+//== Pager
+//
+//##
+
+// $pager-bg:                             $pagination-bg
+// $pager-border:                         $pagination-border
+// $pager-border-radius:                  15px
+
+// $pager-hover-bg:                       $pagination-hover-bg
+
+// $pager-active-bg:                      $pagination-active-bg
+// $pager-active-color:                   $pagination-active-color
+
+// $pager-disabled-color:                 $pagination-disabled-color
+
+//== Jumbotron
+//
+//##
+
+// $jumbotron-padding:              30px
+// $jumbotron-color:                inherit
+// $jumbotron-bg:                   $gray-lighter
+// $jumbotron-heading-color:        inherit
+// $jumbotron-font-size:            ceil(($font-size-base * 1.5))
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+// $state-success-text:             #3c763d
+// $state-success-bg:               #dff0d8
+// $state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%)
+
+// $state-info-text:                #31708f
+// $state-info-bg:                  #d9edf7
+// $state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%)
+
+// $state-warning-text:             #8a6d3b
+// $state-warning-bg:               #fcf8e3
+// $state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%)
+
+// $state-danger-text:              #a94442
+// $state-danger-bg:                #f2dede
+// $state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%)
+
+//== Tooltips
+//
+//##
+
+//* Tooltip max width
+// $tooltip-max-width:           200px
+//* Tooltip text color
+// $tooltip-color:               #fff
+//* Tooltip background color
+// $tooltip-bg:                  #000
+// $tooltip-opacity:             .9
+
+//* Tooltip arrow width
+// $tooltip-arrow-width:         5px
+//* Tooltip arrow color
+// $tooltip-arrow-color:         $tooltip-bg
+
+//== Popovers
+//
+//##
+
+//* Popover body background color
+// $popover-bg:                          #fff
+//* Popover maximum width
+// $popover-max-width:                   276px
+//* Popover border color
+// $popover-border-color:                rgba(0,0,0,.2)
+//* Popover fallback border color
+// $popover-fallback-border-color:       #ccc
+
+//* Popover title background color
+// $popover-title-bg:                    darken($popover-bg, 3%)
+
+//* Popover arrow width
+// $popover-arrow-width:                 10px
+//* Popover arrow color
+// $popover-arrow-color:                 #fff
+
+//* Popover outer arrow width
+// $popover-arrow-outer-width:           ($popover-arrow-width + 1)
+//* Popover outer arrow color
+// $popover-arrow-outer-color:           rgba($popover-border-color, 0.05)
+//* Popover outer arrow fallback color
+// $popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%)
+
+//== Labels
+//
+//##
+
+//* Default label background color
+$label-default-bg:            $gray-dark;
+//* Primary label background color
+// $label-primary-bg:            $brand-primary
+//* Success label background color
+// $label-success-bg:            $brand-success
+//* Info label background color
+// $label-info-bg:               $brand-info
+//* Warning label background color
+// $label-warning-bg:            $brand-warning
+//* Danger label background color
+// $label-danger-bg:             $brand-danger
+
+//* Default label text color
+// $label-color:                 #fff
+//* Default text color of a linked label
+// $label-link-hover-color:      #fff
+
+//== Modals
+//
+//##
+
+//* Padding applied to the modal body
+// $modal-inner-padding:         15px
+
+//* Padding applied to the modal title
+// $modal-title-padding:         15px
+//* Modal title line-height
+// $modal-title-line-height:     $line-height-base
+
+//* Background color of modal content area
+// $modal-content-bg:                             #fff
+//* Modal content border color
+// $modal-content-border-color:                   rgba(0,0,0,.2)
+//* Modal content border color **for IE8**
+// $modal-content-fallback-border-color:          #999
+
+//* Modal backdrop background color
+// $modal-backdrop-bg:           #000
+//* Modal backdrop opacity
+// $modal-backdrop-opacity:      .5
+//* Modal header border color
+// $modal-header-border-color:   #e5e5e5
+//* Modal footer border color
+// $modal-footer-border-color:   $modal-header-border-color
+
+// $modal-lg:                    900px
+// $modal-md:                    600px
+// $modal-sm:                    300px
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+// $alert-padding:               15px
+$alert-border-radius:         $border-radius-base;
+// $alert-link-font-weight:      bold
+
+// $alert-success-bg:            $state-success-bg
+// $alert-success-text:          $state-success-text
+// $alert-success-border:        $state-success-border
+
+// $alert-info-bg:               $state-info-bg
+// $alert-info-text:             $state-info-text
+// $alert-info-border:           $state-info-border
+
+// $alert-warning-bg:            $state-warning-bg
+// $alert-warning-text:          $state-warning-text
+// $alert-warning-border:        $state-warning-border
+
+// $alert-danger-bg:             $state-danger-bg
+// $alert-danger-text:           $state-danger-text
+// $alert-danger-border:         $state-danger-border
+
+//== Progress bars
+//
+//##
+
+//* Background color of the whole progress component
+// $progress-bg:                 #f5f5f5
+//* Progress bar text color
+// $progress-bar-color:          #fff
+
+//* Default progress bar color
+// $progress-bar-bg:             $brand-primary
+//* Success progress bar color
+// $progress-bar-success-bg:     $brand-success
+//* Warning progress bar color
+// $progress-bar-warning-bg:     $brand-warning
+//* Danger progress bar color
+// $progress-bar-danger-bg:      $brand-danger
+//* Info progress bar color
+// $progress-bar-info-bg:        $brand-info
+
+//== List group
+//
+//##
+
+//* Background color on `.list-group-item`
+// $list-group-bg:                 #fff
+//* `.list-group-item` border color
+// $list-group-border:             #ddd
+//* List group border radius
+// $list-group-border-radius:      $border-radius-base
+
+//* Background color of single list items on hover
+// $list-group-hover-bg:           #f5f5f5
+//* Text color of active list items
+// $list-group-active-color:       $component-active-color
+//* Background color of active list items
+// $list-group-active-bg:          $component-active-bg
+//* Border color of active list elements
+// $list-group-active-border:      $list-group-active-bg
+//* Text color for content within active list items
+// $list-group-active-text-color:  lighten($list-group-active-bg, 40%)
+
+//* Text color of disabled list items
+// $list-group-disabled-color:      $gray-light
+//* Background color of disabled list items
+// $list-group-disabled-bg:         $gray-lighter
+//* Text color for content within disabled list items
+// $list-group-disabled-text-color: $list-group-disabled-color
+
+// $list-group-link-color:         #555
+// $list-group-link-hover-color:   $list-group-link-color
+// $list-group-link-heading-color: #333
+
+//== Panels
+//
+//##
+
+// $panel-bg:                    #fff
+// $panel-body-padding:          15px
+// $panel-heading-padding:       10px 15px
+// $panel-footer-padding:        $panel-heading-padding
+$panel-border-radius:         $border-radius-base;
+
+//* Border color for elements within panels
+// $panel-inner-border:          #ddd
+// $panel-footer-bg:             #f5f5f5
+
+// $panel-default-text:          $gray-dark
+// $panel-default-border:        #ddd
+// $panel-default-heading-bg:    #f5f5f5
+
+// $panel-primary-text:          #fff
+// $panel-primary-border:        $brand-primary
+// $panel-primary-heading-bg:    $brand-primary
+
+// $panel-success-text:          $state-success-text
+// $panel-success-border:        $state-success-border
+// $panel-success-heading-bg:    $state-success-bg
+
+// $panel-info-text:             $state-info-text
+// $panel-info-border:           $state-info-border
+// $panel-info-heading-bg:       $state-info-bg
+
+// $panel-warning-text:          $state-warning-text
+// $panel-warning-border:        $state-warning-border
+// $panel-warning-heading-bg:    $state-warning-bg
+
+// $panel-danger-text:           $state-danger-text
+// $panel-danger-border:         $state-danger-border
+// $panel-danger-heading-bg:     $state-danger-bg
+
+//== Thumbnails
+//
+//##
+
+//* Padding around the thumbnail image
+// $thumbnail-padding:           4px
+//* Thumbnail background color
+// $thumbnail-bg:                $body-bg
+//* Thumbnail border color
+$thumbnail-border:            none;
+//* Thumbnail border radius
+$thumbnail-border-radius:     $border-radius-base;
+
+//* Custom text color for thumbnail captions
+// $thumbnail-caption-color:     $text-color
+//* Padding around the thumbnail caption
+// $thumbnail-caption-padding:   9px
+
+//== Wells
+//
+//##
+
+// $well-bg:                     #f5f5f5
+// $well-border:                 darken($well-bg, 7%)
+
+//== Badges
+//
+//##
+
+// $badge-color:                 #fff
+//* Linked badge text color on hover
+// $badge-link-hover-color:      #fff
+// $badge-bg:                    $gray-light
+
+//* Badge text color in active nav link
+// $badge-active-color:          $link-color
+//* Badge background color in active nav link
+// $badge-active-bg:             #fff
+
+// $badge-font-weight:           bold
+// $badge-line-height:           1
+// $badge-border-radius:         10px
+
+//== Breadcrumbs
+//
+//##
+
+// $breadcrumb-padding-vertical:   8px
+// $breadcrumb-padding-horizontal: 15px
+//* Breadcrumb background color
+$breadcrumb-bg:                 none;
+//* Breadcrumb text color
+$breadcrumb-color:              #fff;
+//* Text color of current page in the breadcrumb
+$breadcrumb-active-color:       $brand-primary;
+//* Textual separator for between breadcrumb elements
+$breadcrumb-separator:          "\f054"
+
+//== Carousel
+//
+//##
+
+// $carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6)
+
+// $carousel-control-color:                      #fff
+// $carousel-control-width:                      15%
+// $carousel-control-opacity:                    .5
+// $carousel-control-font-size:                  20px
+
+// $carousel-indicator-active-bg:                #fff
+// $carousel-indicator-border-color:             #fff
+
+// $carousel-caption-color:                      #fff
+
+//== Close
+//
+//##
+
+// $close-font-weight:           bold
+// $close-color:                 #000
+// $close-text-shadow:           0 1px 0 #fff
+
+//== Code
+//
+//##
+
+// $code-color:                  #c7254e
+// $code-bg:                     #f9f2f4
+
+// $kbd-color:                   #fff
+// $kbd-bg:                      #333
+
+// $pre-bg:                      #f5f5f5
+// $pre-color:                   $gray-dark
+// $pre-border-color:            #ccc
+// $pre-scrollable-max-height:   340px
+
+//== Type
+//
+//##
+
+//* Text muted color
+// $text-muted:                  $gray-light
+//* Abbreviations and acronyms border color
+// $abbr-border-color:           $gray-light
+//* Headings small color
+// $headings-small-color:        $gray-light
+//* Blockquote small color
+// $blockquote-small-color:      $gray-light
+//* Blockquote font size
+// $blockquote-font-size:        ($font-size-base * 1.25)
+//* Blockquote border color
+// $blockquote-border-color:     $gray-lighter
+//* Page header border color
+// $page-header-border-color:    $gray-lighter
+
+//== Miscellaneous
+//
+//##
+
+//* Horizontal line color.
+// $hr-border:                   $gray-lighter
+
+//* Horizontal offset for forms and lists.
+// $component-offset-horizontal: 180px
diff --git a/assets/css/bootstrap.scss b/assets/css/bootstrap.scss
new file mode 100644
index 0000000..65204aa
--- /dev/null
+++ b/assets/css/bootstrap.scss
@@ -0,0 +1,50 @@
+// Core variables and mixins
+@import "bootstrap/variables";
+@import "bootstrap/mixins";
+
+// Reset and dependencies
+@import "bootstrap/normalize";
+@import "bootstrap/print";
+@import "bootstrap/glyphicons";
+
+// Core CSS
+@import "bootstrap/scaffolding";
+@import "bootstrap/type";
+@import "bootstrap/code";
+@import "bootstrap/grid";
+@import "bootstrap/tables";
+@import "bootstrap/forms";
+@import "bootstrap/buttons";
+
+// Components
+@import "bootstrap/component-animations";
+@import "bootstrap/dropdowns";
+@import "bootstrap/button-groups";
+@import "bootstrap/input-groups";
+@import "bootstrap/navs";
+@import "bootstrap/navbar";
+@import "bootstrap/breadcrumbs";
+@import "bootstrap/pagination";
+@import "bootstrap/pager";
+@import "bootstrap/labels";
+@import "bootstrap/badges";
+@import "bootstrap/jumbotron";
+@import "bootstrap/thumbnails";
+@import "bootstrap/alerts";
+@import "bootstrap/progress-bars";
+@import "bootstrap/media";
+@import "bootstrap/list-group";
+@import "bootstrap/panels";
+@import "bootstrap/responsive-embed";
+@import "bootstrap/wells";
+@import "bootstrap/close";
+
+// Components w/ JavaScript
+@import "bootstrap/modals";
+@import "bootstrap/tooltip";
+@import "bootstrap/popovers";
+@import "bootstrap/carousel";
+
+// Utility classes
+@import "bootstrap/utilities";
+@import "bootstrap/responsive-utilities";
diff --git a/assets/css/bootstrap/_alerts.scss b/assets/css/bootstrap/_alerts.scss
new file mode 100644
index 0000000..e45de83
--- /dev/null
+++ b/assets/css/bootstrap/_alerts.scss
@@ -0,0 +1,68 @@
+//
+// 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;
+    // Specified for the h4 to prevent conflicts of changing $headings-color
+    color: inherit;
+  }
+  // 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.
+
+.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
+.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);
+}
diff --git a/assets/css/bootstrap/_badges.scss b/assets/css/bootstrap/_badges.scss
new file mode 100644
index 0000000..02394ae
--- /dev/null
+++ b/assets/css/bootstrap/_badges.scss
@@ -0,0 +1,57 @@
+//
+// Badges
+// --------------------------------------------------
+
+
+// Base class
+.badge {
+  display: inline-block;
+  min-width: 10px;
+  padding: 3px 7px;
+  font-size: $font-size-small;
+  font-weight: $badge-font-weight;
+  color: $badge-color;
+  line-height: $badge-line-height;
+  vertical-align: baseline;
+  white-space: nowrap;
+  text-align: center;
+  background-color: $badge-bg;
+  border-radius: $badge-border-radius;
+
+  // Empty badges collapse automatically (not available in IE8)
+  &:empty {
+    display: none;
+  }
+
+  // Quick fix for badges in buttons
+  .btn & {
+    position: relative;
+    top: -1px;
+  }
+  .btn-xs & {
+    top: 0;
+    padding: 1px 5px;
+  }
+
+  // [converter] extracted a& to a.badge
+
+  // Account for badges in navs
+  a.list-group-item.active > &,
+  .nav-pills > .active > a > & {
+    color: $badge-active-color;
+    background-color: $badge-active-bg;
+  }
+  .nav-pills > li > a > & {
+    margin-left: 3px;
+  }
+}
+
+// Hover state, but only for links
+a.badge {
+  &:hover,
+  &:focus {
+    color: $badge-link-hover-color;
+    text-decoration: none;
+    cursor: pointer;
+  }
+}
diff --git a/assets/css/bootstrap/_breadcrumbs.scss b/assets/css/bootstrap/_breadcrumbs.scss
new file mode 100644
index 0000000..3641e33
--- /dev/null
+++ b/assets/css/bootstrap/_breadcrumbs.scss
@@ -0,0 +1,26 @@
+//
+// 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 {
+      content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
+      padding: 0 5px;
+      color: $breadcrumb-color;
+    }
+  }
+
+  > .active {
+    color: $breadcrumb-active-color;
+  }
+}
diff --git a/assets/css/bootstrap/_button-groups.scss b/assets/css/bootstrap/_button-groups.scss
new file mode 100644
index 0000000..63ccd92
--- /dev/null
+++ b/assets/css/bootstrap/_button-groups.scss
@@ -0,0 +1,240 @@
+//
+// 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;
+    }
+    &:focus {
+      // Remove focus outline when dropdown JS adds it after closing the menu
+      outline: 0;
+    }
+  }
+}
+
+// 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-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 a .dropdown-menu 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 {
+  > .btn:last-child,
+  > .dropdown-toggle {
+    @include border-right-radius(0);
+  }
+}
+.btn-group > .btn-group:last-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-left: 8px;
+  padding-right: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+  padding-left: 12px;
+  padding-right: 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) {
+    border-top-right-radius: $border-radius-base;
+    @include border-bottom-radius(0);
+  }
+  &:last-child:not(:first-child) {
+    border-bottom-left-radius: $border-radius-base;
+    @include border-top-radius(0);
+  }
+}
+.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 {
+    float: none;
+    display: table-cell;
+    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 `opacity`. We cannot
+// use `display: none;` or `visibility: hidden;` as that also hides the popover.
+// This way, we ensure a DOM element is visible to position the popover from.
+//
+// See https://github.com/twbs/bootstrap/pull/12794 for more.
+
+[data-toggle="buttons"] > .btn > input[type="radio"],
+[data-toggle="buttons"] > .btn > input[type="checkbox"] {
+  position: absolute;
+  z-index: -1;
+  @include opacity(0);
+}
diff --git a/assets/css/bootstrap/_buttons.scss b/assets/css/bootstrap/_buttons.scss
new file mode 100644
index 0000000..dae6ee3
--- /dev/null
+++ b/assets/css/bootstrap/_buttons.scss
@@ -0,0 +1,157 @@
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+.btn {
+  display: inline-block;
+  margin-bottom: 0; // For input.btn
+  font-weight: $btn-font-weight;
+  text-align: center;
+  vertical-align: middle;
+  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;
+  white-space: nowrap;
+  @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base);
+  @include user-select(none);
+
+  &,
+  &:active,
+  &.active {
+    &:focus {
+      @include tab-focus();
+    }
+  }
+
+  &:hover,
+  &:focus {
+    color: $btn-default-color;
+    text-decoration: none;
+  }
+
+  &:active,
+  &.active {
+    outline: 0;
+    background-image: none;
+    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+  }
+
+  &.disabled,
+  &[disabled],
+  fieldset[disabled] & {
+    cursor: not-allowed;
+    pointer-events: none; // Future-proof disabling of clicks
+    @include opacity(.65);
+    @include box-shadow(none);
+  }
+}
+
+
+// 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 {
+  color: $link-color;
+  font-weight: normal;
+  cursor: pointer;
+  border-radius: 0;
+
+  &,
+  &: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: underline;
+    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, $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, $border-radius-small);
+}
+.btn-xs {
+  @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $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%;
+  }
+}
diff --git a/assets/css/bootstrap/_carousel.scss b/assets/css/bootstrap/_carousel.scss
new file mode 100644
index 0000000..e9e2f7c
--- /dev/null
+++ b/assets/css/bootstrap/_carousel.scss
@@ -0,0 +1,243 @@
+//
+// Carousel
+// --------------------------------------------------
+
+
+// Wrapper for the slide container and indicators
+.carousel {
+  position: relative;
+}
+
+.carousel-inner {
+  position: relative;
+  overflow: hidden;
+  width: 100%;
+
+  > .item {
+    display: none;
+    position: relative;
+    @include transition(.6s ease-in-out left);
+
+    // Account for jankitude on images
+    > img,
+    > a > img {
+      @include img-responsive();
+      line-height: 1;
+    }
+  }
+
+  > .active,
+  > .next,
+  > .prev {
+    display: block;
+  }
+
+  > .active {
+    left: 0;
+  }
+
+  > .next,
+  > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  > .next {
+    left: 100%;
+  }
+  > .prev {
+    left: -100%;
+  }
+  > .next.left,
+  > .prev.right {
+    left: 0;
+  }
+
+  > .active.left {
+    left: -100%;
+  }
+  > .active.right {
+    left: 100%;
+  }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  width: $carousel-control-width;
+  @include opacity($carousel-control-opacity);
+  font-size: $carousel-control-font-size;
+  color: $carousel-control-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+  // We can't have this transition here because WebKit cancels the carousel
+  // animation if you trip this while in the middle of another animation.
+
+  // Set gradients for backgrounds
+  &.left {
+    @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
+  }
+  &.right {
+    left: auto;
+    right: 0;
+    @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
+  }
+
+  // Hover/focus state
+  &:hover,
+  &:focus {
+    outline: 0;
+    color: $carousel-control-color;
+    text-decoration: none;
+    @include opacity(.9);
+  }
+
+  // Toggles
+  .icon-prev,
+  .icon-next,
+  .glyphicon-chevron-left,
+  .glyphicon-chevron-right {
+    position: absolute;
+    top: 50%;
+    z-index: 5;
+    display: inline-block;
+  }
+  .icon-prev,
+  .glyphicon-chevron-left {
+    left: 50%;
+    margin-left: -10px;
+  }
+  .icon-next,
+  .glyphicon-chevron-right {
+    right: 50%;
+    margin-right: -10px;
+  }
+  .icon-prev,
+  .icon-next {
+    width:  20px;
+    height: 20px;
+    margin-top: -10px;
+    font-family: serif;
+  }
+
+
+  .icon-prev {
+    &:before {
+      content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
+    }
+  }
+  .icon-next {
+    &:before {
+      content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
+    }
+  }
+}
+
+// Optional indicator pips
+//
+// Add an unordered list with the following class and add a list item for each
+// slide your carousel holds.
+
+.carousel-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  margin-left: -30%;
+  padding-left: 0;
+  list-style: none;
+  text-align: center;
+
+  li {
+    display: inline-block;
+    width:  10px;
+    height: 10px;
+    margin: 1px;
+    text-indent: -999px;
+    border: 1px solid $carousel-indicator-border-color;
+    border-radius: 10px;
+    cursor: pointer;
+
+    // IE8-9 hack for event handling
+    //
+    // Internet Explorer 8-9 does not support clicks on elements without a set
+    // `background-color`. We cannot use `filter` since that's not viewed as a
+    // background color by the browser. Thus, a hack is needed.
+    //
+    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
+    // set alpha transparency for the best results possible.
+    background-color: #000 \9; // IE8
+    background-color: rgba(0,0,0,0); // IE9
+  }
+  .active {
+    margin: 0;
+    width:  12px;
+    height: 12px;
+    background-color: $carousel-indicator-active-bg;
+  }
+}
+
+// Optional captions
+// -----------------------------
+// Hidden by default for smaller viewports
+.carousel-caption {
+  position: absolute;
+  left: 15%;
+  right: 15%;
+  bottom: 20px;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: $carousel-caption-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+  & .btn {
+    text-shadow: none; // No shadow for button elements in carousel-caption
+  }
+}
+
+
+// Scale up controls for tablets and up
+@media screen and (min-width: $screen-sm-min) {
+
+  // Scale up the controls a smidge
+  .carousel-control {
+    .glyphicon-chevron-left,
+    .glyphicon-chevron-right,
+    .icon-prev,
+    .icon-next {
+      width: 30px;
+      height: 30px;
+      margin-top: -15px;
+      font-size: 30px;
+    }
+    .glyphicon-chevron-left,
+    .icon-prev {
+      margin-left: -15px;
+    }
+    .glyphicon-chevron-right,
+    .icon-next {
+      margin-right: -15px;
+    }
+  }
+
+  // Show and left align the captions
+  .carousel-caption {
+    left: 20%;
+    right: 20%;
+    padding-bottom: 30px;
+  }
+
+  // Move up the indicators
+  .carousel-indicators {
+    bottom: 20px;
+  }
+}
diff --git a/assets/css/bootstrap/_close.scss b/assets/css/bootstrap/_close.scss
new file mode 100644
index 0000000..62ce30f
--- /dev/null
+++ b/assets/css/bootstrap/_close.scss
@@ -0,0 +1,35 @@
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+  float: right;
+  font-size: ($font-size-base * 1.5);
+  font-weight: $close-font-weight;
+  line-height: 1;
+  color: $close-color;
+  text-shadow: $close-text-shadow;
+  @include opacity(.2);
+
+  &:hover,
+  &:focus {
+    color: $close-color;
+    text-decoration: none;
+    cursor: pointer;
+    @include opacity(.5);
+  }
+
+  // [converter] extracted button& to button.close
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
diff --git a/assets/css/bootstrap/_code.scss b/assets/css/bootstrap/_code.scss
new file mode 100644
index 0000000..8d83b14
--- /dev/null
+++ b/assets/css/bootstrap/_code.scss
@@ -0,0 +1,68 @@
+//
+// Code (inline and block)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+kbd,
+pre,
+samp {
+  font-family: $font-family-monospace;
+}
+
+// Inline code
+code {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: $code-color;
+  background-color: $code-bg;
+  border-radius: $border-radius-base;
+}
+
+// User input typically entered via keyboard
+kbd {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: $kbd-color;
+  background-color: $kbd-bg;
+  border-radius: $border-radius-small;
+  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
+
+  kbd {
+    padding: 0;
+    font-size: 100%;
+    box-shadow: none;
+  }
+}
+
+// Blocks of code
+pre {
+  display: block;
+  padding: (($line-height-computed - 1) / 2);
+  margin: 0 0 ($line-height-computed / 2);
+  font-size: ($font-size-base - 1); // 14px to 13px
+  line-height: $line-height-base;
+  word-break: break-all;
+  word-wrap: break-word;
+  color: $pre-color;
+  background-color: $pre-bg;
+  border: 1px solid $pre-border-color;
+  border-radius: $border-radius-base;
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    font-size: inherit;
+    color: inherit;
+    white-space: pre-wrap;
+    background-color: transparent;
+    border-radius: 0;
+  }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+  max-height: $pre-scrollable-max-height;
+  overflow-y: scroll;
+}
diff --git a/assets/css/bootstrap/_component-animations.scss b/assets/css/bootstrap/_component-animations.scss
new file mode 100644
index 0000000..8c3fd07
--- /dev/null
+++ b/assets/css/bootstrap/_component-animations.scss
@@ -0,0 +1,35 @@
+//
+// 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(height .35s ease);
+}
diff --git a/assets/css/bootstrap/_dropdowns.scss b/assets/css/bootstrap/_dropdowns.scss
new file mode 100644
index 0000000..eb74be5
--- /dev/null
+++ b/assets/css/bootstrap/_dropdowns.scss
@@ -0,0 +1,215 @@
+//
+// Dropdown menus
+// --------------------------------------------------
+
+
+// Dropdown arrow/caret
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 2px;
+  vertical-align: middle;
+  border-top:   $caret-width-base solid;
+  border-right: $caret-width-base solid transparent;
+  border-left:  $caret-width-base solid transparent;
+}
+
+// The dropdown wrapper (div)
+.dropdown {
+  position: relative;
+}
+
+// Prevent the focus on the dropdown toggle when closing dropdowns
+.dropdown-toggle:focus {
+  outline: 0;
+}
+
+// The dropdown menu (ul)
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: $zindex-dropdown;
+  display: none; // none by default, but block on "open" of the menu
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0; // override default ul
+  list-style: none;
+  font-size: $font-size-base;
+  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
+  background-color: $dropdown-bg;
+  border: 1px solid $dropdown-fallback-border; // IE8 fallback
+  border: 1px solid $dropdown-border;
+  border-radius: $border-radius-base;
+  @include box-shadow(0 6px 12px rgba(0,0,0,.175));
+  background-clip: padding-box;
+
+  // Aligns the dropdown menu to right
+  //
+  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
+  &.pull-right {
+    right: 0;
+    left: auto;
+  }
+
+  // Dividers (basically an hr) within the dropdown
+  .divider {
+    @include nav-divider($dropdown-divider-bg);
+  }
+
+  // Links within the dropdown menu
+  > li > a {
+    display: block;
+    padding: 3px 20px;
+    clear: both;
+    font-weight: normal;
+    line-height: $line-height-base;
+    color: $dropdown-link-color;
+    white-space: nowrap; // prevent links from randomly breaking onto new lines
+  }
+}
+
+// Hover/Focus state
+.dropdown-menu > li > a {
+  &:hover,
+  &:focus {
+    text-decoration: none;
+    color: $dropdown-link-hover-color;
+    background-color: $dropdown-link-hover-bg;
+  }
+}
+
+// Active state
+.dropdown-menu > .active > a {
+  &,
+  &:hover,
+  &:focus {
+    color: $dropdown-link-active-color;
+    text-decoration: none;
+    outline: 0;
+    background-color: $dropdown-link-active-bg;
+  }
+}
+
+// Disabled state
+//
+// Gray out text and ensure the hover/focus state remains gray
+
+.dropdown-menu > .disabled > a {
+  &,
+  &:hover,
+  &:focus {
+    color: $dropdown-link-disabled-color;
+  }
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a {
+  &:hover,
+  &:focus {
+    text-decoration: none;
+    background-color: transparent;
+    background-image: none; // Remove CSS gradient
+    @include reset-filter();
+    cursor: not-allowed;
+  }
+}
+
+// Open state for the dropdown
+.open {
+  // Show the menu
+  > .dropdown-menu {
+    display: block;
+  }
+
+  // Remove the outline when :focus is triggered
+  > a {
+    outline: 0;
+  }
+}
+
+// Menu positioning
+//
+// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
+// menu with the parent.
+.dropdown-menu-right {
+  left: auto; // Reset the default from `.dropdown-menu`
+  right: 0;
+}
+// With v3, we enabled auto-flipping if you have a dropdown within a right
+// aligned nav component. To enable the undoing of that, we provide an override
+// to restore the default dropdown menu alignment.
+//
+// This is only for left-aligning a dropdown menu within a `.navbar-right` or
+// `.pull-right` nav component.
+.dropdown-menu-left {
+  left: 0;
+  right: auto;
+}
+
+// Dropdown section headers
+.dropdown-header {
+  display: block;
+  padding: 3px 20px;
+  font-size: $font-size-small;
+  line-height: $line-height-base;
+  color: $dropdown-header-color;
+  white-space: nowrap; // as with > li > a
+}
+
+// Backdrop to catch body clicks on mobile, etc.
+.dropdown-backdrop {
+  position: fixed;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+  z-index: ($zindex-dropdown - 10);
+}
+
+// Right aligned dropdowns
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+//
+// Just add .dropup after the standard .dropdown class and you're set, bro.
+// TODO: abstract this so that the navbar fixed styles are not placed here?
+
+.dropup,
+.navbar-fixed-bottom .dropdown {
+  // Reverse the caret
+  .caret {
+    border-top: 0;
+    border-bottom: $caret-width-base solid;
+    content: "";
+  }
+  // Different positioning for bottom up menu
+  .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 1px;
+  }
+}
+
+
+// Component alignment
+//
+// Reiterate per navbar.less and the modified component alignment there.
+
+@media (min-width: $grid-float-breakpoint) {
+  .navbar-right {
+    .dropdown-menu {
+      right: 0; left: auto;
+    }
+    // Necessary for overrides of the default right aligned menu.
+    // Will remove come v4 in all likelihood.
+    .dropdown-menu-left {
+      left: 0; right: auto;
+    }
+  }
+}
+
diff --git a/assets/css/bootstrap/_forms.scss b/assets/css/bootstrap/_forms.scss
new file mode 100644
index 0000000..74bb67d
--- /dev/null
+++ b/assets/css/bootstrap/_forms.scss
@@ -0,0 +1,538 @@
+//
+// Forms
+// --------------------------------------------------
+
+
+// Normalize non-controls
+//
+// Restyle and baseline non-control form elements.
+
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+  // 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;
+}
+
+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: bold;
+}
+
+
+// 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.
+
+// Override content-box in Normalize (* isn't specific enough)
+input[type="search"] {
+  @include box-sizing(border-box);
+}
+
+// Position radios and checkboxes better
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9; // IE8-9
+  line-height: normal;
+}
+
+// Set the height of file controls to match text inputs
+input[type="file"] {
+  display: block;
+}
+
+// Make range inputs behave like textual form controls
+input[type="range"] {
+  display: block;
+  width: 100%;
+}
+
+// Make multiple select elements height not fixed
+select[multiple],
+select[size] {
+  height: auto;
+}
+
+// Focus for file, radio, and checkbox
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  @include tab-focus();
+}
+
+// Adjust output element
+output {
+  display: block;
+  padding-top: ($padding-base-vertical + 1);
+  font-size: $font-size-base;
+  line-height: $line-height-base;
+  color: $input-color;
+}
+
+
+// Common form controls
+//
+// Shared size and type resets for form controls. Apply `.form-control` to any
+// of the following form controls:
+//
+// select
+// textarea
+// input[type="text"]
+// input[type="password"]
+// input[type="datetime"]
+// input[type="datetime-local"]
+// input[type="date"]
+// input[type="month"]
+// input[type="time"]
+// input[type="week"]
+// input[type="number"]
+// input[type="email"]
+// input[type="url"]
+// input[type="search"]
+// input[type="tel"]
+// input[type="color"]
+
+.form-control {
+  display: block;
+  width: 100%;
+  height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
+  padding: $padding-base-vertical $padding-base-horizontal;
+  font-size: $font-size-base;
+  line-height: $line-height-base;
+  color: $input-color;
+  background-color: $input-bg;
+  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
+  border: 1px solid $input-border;
+  border-radius: $input-border-radius;
+  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
+
+  // Customize the `:focus` state to imitate native WebKit styles.
+  @include form-control-focus();
+
+  // Placeholder
+  @include placeholder();
+
+  // Disabled and read-only inputs
+  //
+  // HTML5 says that controls under a fieldset > legend:first-child won't be
+  // disabled if the fieldset is disabled. Due to implementation difficulty, we
+  // don't honor that edge case; we style them as disabled anyway.
+  &[disabled],
+  &[readonly],
+  fieldset[disabled] & {
+    cursor: not-allowed;
+    background-color: $input-bg-disabled;
+    opacity: 1; // iOS fix for unreadable disabled content
+  }
+
+  // [converter] extracted textarea& to textarea.form-control
+}
+
+// Reset height for `textarea`s
+textarea.form-control {
+  height: auto;
+}
+
+
+// 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.
+
+input[type="search"] {
+  -webkit-appearance: none;
+}
+
+
+// Special styles for iOS temporal inputs
+//
+// In Mobile Safari, setting `display: block` on temporal inputs causes the
+// text within the input to become vertically misaligned.
+// As a workaround, we set a pixel line-height that matches the
+// given height of the input. Since this fucks up everything else, we have to
+// appropriately reset it for Internet Explorer and the size variations.
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  line-height: $input-height-base;
+  // IE8+ misaligns the text within date inputs, so we reset
+  line-height: $line-height-base #{\0};
+
+  &.input-sm {
+    line-height: $input-height-small;
+  }
+  &.input-lg {
+    line-height: $input-height-large;
+  }
+}
+
+
+// Form groups
+//
+// Designed to help with the organization and spacing of vertical forms. For
+// horizontal forms, use the predefined grid classes.
+
+.form-group {
+  margin-bottom: 15px;
+}
+
+
+// Checkboxes and radios
+//
+// Indent the labels to position radios/checkboxes as hanging controls.
+
+.radio,
+.checkbox {
+  position: relative;
+  display: block;
+  min-height: $line-height-computed; // clear the floating input if there is no label text
+  margin-top: 10px;
+  margin-bottom: 10px;
+
+  label {
+    padding-left: 20px;
+    margin-bottom: 0;
+    font-weight: normal;
+    cursor: pointer;
+  }
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  position: absolute;
+  margin-left: -20px;
+  margin-top: 4px \9;
+}
+
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
+}
+
+// Radios and checkboxes on same line
+.radio-inline,
+.checkbox-inline {
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  vertical-align: middle;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px; // space out consecutive inline controls
+}
+
+// Apply same disabled cursor tweak as for inputs
+// Some special care is needed because