├── ico ├── favicon.png ├── apple-touch-icon-114-precomposed.png ├── apple-touch-icon-144-precomposed.png ├── apple-touch-icon-57-precomposed.png └── apple-touch-icon-72-precomposed.png ├── screenshot.png ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.ttf └── glyphicons-halflings-regular.woff ├── rtl.css ├── inc ├── jetpack.php ├── customizer.php ├── extras.php ├── custom-header.php ├── general │ └── class-Upbootwp_Walker_Nav_Menu.php └── template-tags.php ├── less ├── breadcrumbs.less ├── component-animations.less ├── wells.less ├── close.less ├── thumbnails.less ├── utilities.less ├── media.less ├── pager.less ├── jumbotron.less ├── badges.less ├── code.less ├── labels.less ├── bootstrap.less ├── upbootwp-wordpress.less ├── alerts.less ├── progress-bars.less ├── grid.less ├── print.less ├── pagination.less ├── list-group.less ├── scaffolding.less ├── tooltip.less ├── modals.less ├── popovers.less ├── input-groups.less ├── buttons.less ├── dropdowns.less ├── panels.less ├── tables.less ├── carousel.less ├── responsive-utilities.less ├── button-groups.less ├── navs.less ├── type.less ├── theme.less ├── normalize.less ├── forms.less └── glyphicons.less ├── style.css ├── readme.md ├── searchform.php ├── content-page.php ├── footer.php ├── sidebar.php ├── single.php ├── page-templates ├── content-full-width.php └── content-left-sidebar.php ├── no-results.php ├── page.php ├── search.php ├── index.php ├── header.php ├── 404.php ├── content-single.php ├── content.php ├── archive.php ├── image.php ├── comments.php ├── functions.php └── languages └── _s.pot /ico/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/ico/favicon.png -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/screenshot.png -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /ico/apple-touch-icon-114-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/ico/apple-touch-icon-114-precomposed.png -------------------------------------------------------------------------------- /ico/apple-touch-icon-144-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/ico/apple-touch-icon-144-precomposed.png -------------------------------------------------------------------------------- /ico/apple-touch-icon-57-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/ico/apple-touch-icon-57-precomposed.png -------------------------------------------------------------------------------- /ico/apple-touch-icon-72-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/upplex/upBootstrap3WP/HEAD/ico/apple-touch-icon-72-precomposed.png -------------------------------------------------------------------------------- /rtl.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: upBootWP 3 | 4 | Adding support for language written in a Right To Left (RTL) direction is easy - 5 | it's just a matter of overwriting all the horizontal positioning attributes 6 | of your CSS stylesheet in a separate stylesheet file named rtl.css. 7 | 8 | http://codex.wordpress.org/Right_to_Left_Language_Support 9 | 10 | */ 11 | 12 | /* 13 | body { 14 | direction: rtl; 15 | unicode-bidi: embed; 16 | } 17 | */ -------------------------------------------------------------------------------- /inc/jetpack.php: -------------------------------------------------------------------------------- 1 | 'main', 17 | 'footer' => 'page', 18 | ) ); 19 | } 20 | add_action( 'after_setup_theme', 'upbootwp_jetpack_setup' ); 21 | -------------------------------------------------------------------------------- /less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: 8px 15px; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | > li { 13 | display: inline-block; 14 | + li:before { 15 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 16 | padding: 0 5px; 17 | color: @breadcrumb-color; 18 | } 19 | } 20 | > .active { 21 | color: @breadcrumb-active-color; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | &.in { 21 | display: block; 22 | } 23 | } 24 | .collapsing { 25 | position: relative; 26 | height: 0; 27 | overflow: hidden; 28 | .transition(height .35s ease); 29 | } 30 | -------------------------------------------------------------------------------- /less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid darken(@well-bg, 7%); 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: upBootWP 3 | Theme URI: http://upplex.de/bootstrap-3-wordpress-theme-framework/ 4 | Author: upplex 5 | Author URI: http://upplex.de 6 | Description: upBootWP is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc. and Twitter Bootstrap 3. Feel free to edit it. 7 | Version: 0.1 8 | License: GNU General Public License 9 | License URI: license.txt 10 | Text Domain: upbootwp 11 | Domain Path: /languages/ 12 | Tags: 13 | 14 | This theme, like WordPress, is licensed under the GPL. 15 | Use it to make something cool, have fun, and share what you've learned with others. 16 | 17 | upBootWP is based on Underscores http://underscores.me/, (C) 2012-2013 Automattic, Inc. and Twitter Bootstrap 3 18 | 19 | */ -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # [BootstrapWP - Wordpress Theme Framework v1.1 ](http://upplex.de/bootstrap-3-wordpress-theme-framework/) 2 | 3 | Based on Twitter Bootstrap 3.0.3 4 | 5 | To get started with Bootstrap 3, check out [http://getbootstrap.com](http://getbootstrap.com)! 6 | 7 | By [upplex - webdesign](http://upplex.de) 8 | 9 | ## Quick start 10 | 11 | Copy the Folder in your Wordpress theme folder and enable it on the theme page. 12 | 13 | ## Bugs and feature requests 14 | 15 | Have a bug or a feature request? [Please open a new issue](https://github.com/upplex/upBootstrap3WP/issues). 16 | 17 | ## Contributing 18 | 19 | Submit your pull request and I will check it. 20 | 21 | ## Copyright and license 22 | 23 | Copyright 2014 upplex under GPL 3.0(LICENSE) 24 | -------------------------------------------------------------------------------- /searchform.php: -------------------------------------------------------------------------------- 1 | 9 | 15 | -------------------------------------------------------------------------------- /content-page.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 |
> 12 |
13 |

14 |
15 | 16 |
17 | 18 | '', 22 | )); 23 | ?> 24 |
25 | ', '' ); ?> 26 |
27 | -------------------------------------------------------------------------------- /less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button& { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(all .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | .img-responsive(); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 |
14 |
15 |
16 |
17 |
18 | 19 | © 20 | | 21 | upplex'); ?> 22 |
23 |
24 |
25 |
26 |
27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | visibility: hidden !important; 48 | } 49 | 50 | 51 | // For Affix plugin 52 | // ------------------------- 53 | 54 | .affix { 55 | position: fixed; 56 | } 57 | -------------------------------------------------------------------------------- /sidebar.php: -------------------------------------------------------------------------------- 1 | 9 | 35 | -------------------------------------------------------------------------------- /less/media.less: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | zoom: 1; 14 | } 15 | 16 | // Proper spacing between instances of .media 17 | .media, 18 | .media .media { 19 | margin-top: 15px; 20 | } 21 | .media:first-child { 22 | margin-top: 0; 23 | } 24 | 25 | // For images and videos, set to block 26 | .media-object { 27 | display: block; 28 | } 29 | 30 | // Reset margins on headings for tighter default spacing 31 | .media-heading { 32 | margin: 0 0 5px; 33 | } 34 | 35 | 36 | // Media image alignment 37 | // ------------------------- 38 | 39 | .media { 40 | > .pull-left { 41 | margin-right: 10px; 42 | } 43 | > .pull-right { 44 | margin-left: 10px; 45 | } 46 | } 47 | 48 | 49 | // Media list variation 50 | // ------------------------- 51 | 52 | // Undo default ul/ol styles 53 | .media-list { 54 | padding-left: 0; 55 | list-style: none; 56 | } 57 | -------------------------------------------------------------------------------- /inc/customizer.php: -------------------------------------------------------------------------------- 1 | get_setting( 'blogname' )->transport = 'postMessage'; 16 | $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; 17 | $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; 18 | } 19 | add_action( 'customize_register', 'upbootwp_customize_register' ); 20 | 21 | /** 22 | * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. 23 | */ 24 | function upbootwp_customize_preview_js() { 25 | wp_enqueue_script( 'upbootwp_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20130508', true ); 26 | } 27 | add_action( 'customize_preview_init', 'upbootwp_customize_preview_js' ); 28 | -------------------------------------------------------------------------------- /less/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: @line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | .clearfix(); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: @pagination-bg; 19 | border: 1px solid @pagination-border; 20 | border-radius: @pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: @pagination-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: @pager-disabled-color; 50 | background-color: @pagination-bg; 51 | cursor: not-allowed; 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /less/jumbotron.less: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: @jumbotron-padding; 8 | margin-bottom: @jumbotron-padding; 9 | font-size: @jumbotron-font-size; 10 | font-weight: 200; 11 | line-height: (@line-height-base * 1.5); 12 | color: @jumbotron-color; 13 | background-color: @jumbotron-bg; 14 | 15 | h1, 16 | .h1 { 17 | line-height: 1; 18 | color: @jumbotron-heading-color; 19 | } 20 | p { 21 | line-height: 1.4; 22 | } 23 | 24 | .container & { 25 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container 26 | } 27 | 28 | .container { 29 | max-width: 100%; 30 | } 31 | 32 | @media screen and (min-width: @screen-sm-min) { 33 | padding-top: (@jumbotron-padding * 1.6); 34 | padding-bottom: (@jumbotron-padding * 1.6); 35 | 36 | .container & { 37 | padding-left: (@jumbotron-padding * 2); 38 | padding-right: (@jumbotron-padding * 2); 39 | } 40 | 41 | h1, 42 | .h1 { 43 | font-size: (@font-size-base * 4.5); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /single.php: -------------------------------------------------------------------------------- 1 | 9 |
10 |
11 |
12 |
13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 26 | 27 | 28 | 29 |
30 |
31 |
32 | 33 |
34 | 35 |
36 |
37 |
38 | -------------------------------------------------------------------------------- /less/badges.less: -------------------------------------------------------------------------------- 1 | // 2 | // Badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base classes 7 | .badge { 8 | display: inline-block; 9 | min-width: 10px; 10 | padding: 3px 7px; 11 | font-size: @font-size-small; 12 | font-weight: @badge-font-weight; 13 | color: @badge-color; 14 | line-height: @badge-line-height; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-align: center; 18 | background-color: @badge-bg; 19 | border-radius: @badge-border-radius; 20 | 21 | // Empty badges collapse automatically (not available in IE8) 22 | &:empty { 23 | display: none; 24 | } 25 | 26 | // Quick fix for badges in buttons 27 | .btn & { 28 | position: relative; 29 | top: -1px; 30 | } 31 | } 32 | 33 | // Hover state, but only for links 34 | a.badge { 35 | &:hover, 36 | &:focus { 37 | color: @badge-link-hover-color; 38 | text-decoration: none; 39 | cursor: pointer; 40 | } 41 | } 42 | 43 | // Account for counters in navs 44 | a.list-group-item.active > .badge, 45 | .nav-pills > .active > a > .badge { 46 | color: @badge-active-color; 47 | background-color: @badge-active-bg; 48 | } 49 | .nav-pills > li > a > .badge { 50 | margin-left: 3px; 51 | } 52 | -------------------------------------------------------------------------------- /page-templates/content-full-width.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 |
13 |
14 |
15 | 16 | 17 |
18 |

19 |
20 | 21 |
22 | 23 | 24 | '', 28 | )); 29 | ?> 30 |
31 | ', '' ); ?> 32 | 33 |
34 |
35 |
36 | -------------------------------------------------------------------------------- /no-results.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 16 | 17 |
18 | 19 | 20 |

Get started here.', 'upbootwp' ), esc_url( admin_url( 'post-new.php' ) ) ); ?>

21 | 22 | 23 | 24 |

25 | 26 | 27 | 28 | 29 |

30 | 31 | 32 | 33 |
34 |
35 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | 15 |
16 |
17 |
18 |
19 |
20 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 |
34 |
35 |
36 | 37 |
38 | 39 |
40 |
41 |
42 | 43 | -------------------------------------------------------------------------------- /less/code.less: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and block) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | kbd, 9 | pre, 10 | samp { 11 | font-family: @font-family-monospace; 12 | } 13 | 14 | // Inline code 15 | code { 16 | padding: 2px 4px; 17 | font-size: 90%; 18 | color: @code-color; 19 | background-color: @code-bg; 20 | white-space: nowrap; 21 | border-radius: @border-radius-base; 22 | } 23 | 24 | // Blocks of code 25 | pre { 26 | display: block; 27 | padding: ((@line-height-computed - 1) / 2); 28 | margin: 0 0 (@line-height-computed / 2); 29 | font-size: (@font-size-base - 1); // 14px to 13px 30 | line-height: @line-height-base; 31 | word-break: break-all; 32 | word-wrap: break-word; 33 | color: @pre-color; 34 | background-color: @pre-bg; 35 | border: 1px solid @pre-border-color; 36 | border-radius: @border-radius-base; 37 | 38 | // Account for some code outputs that place code tags in pre tags 39 | code { 40 | padding: 0; 41 | font-size: inherit; 42 | color: inherit; 43 | white-space: pre-wrap; 44 | background-color: transparent; 45 | border-radius: 0; 46 | } 47 | } 48 | 49 | // Enable scrollable blocks of code 50 | .pre-scrollable { 51 | max-height: @pre-scrollable-max-height; 52 | overflow-y: scroll; 53 | } 54 | -------------------------------------------------------------------------------- /less/labels.less: -------------------------------------------------------------------------------- 1 | // 2 | // Labels 3 | // -------------------------------------------------- 4 | 5 | .label { 6 | display: inline; 7 | padding: .2em .6em .3em; 8 | font-size: 75%; 9 | font-weight: bold; 10 | line-height: 1; 11 | color: @label-color; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | border-radius: .25em; 16 | 17 | // Add hover effects, but only for links 18 | &[href] { 19 | &:hover, 20 | &:focus { 21 | color: @label-link-hover-color; 22 | text-decoration: none; 23 | cursor: pointer; 24 | } 25 | } 26 | 27 | // Empty labels collapse automatically (not available in IE8) 28 | &:empty { 29 | display: none; 30 | } 31 | 32 | // Quick fix for labels in buttons 33 | .btn & { 34 | position: relative; 35 | top: -1px; 36 | } 37 | } 38 | 39 | // Colors 40 | // Contextual variations (linked labels get darker on :hover) 41 | 42 | .label-default { 43 | .label-variant(@label-default-bg); 44 | } 45 | 46 | .label-primary { 47 | .label-variant(@label-primary-bg); 48 | } 49 | 50 | .label-success { 51 | .label-variant(@label-success-bg); 52 | } 53 | 54 | .label-info { 55 | .label-variant(@label-info-bg); 56 | } 57 | 58 | .label-warning { 59 | .label-variant(@label-warning-bg); 60 | } 61 | 62 | .label-danger { 63 | .label-variant(@label-danger-bg); 64 | } 65 | -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 |
13 |
14 |
15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 |
39 |
40 | 41 |
42 | 43 |
44 |
45 |
46 | -------------------------------------------------------------------------------- /page-templates/content-left-sidebar.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 |
13 | 14 |
15 | 16 |
17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 |
42 |
43 |
44 |
45 | -------------------------------------------------------------------------------- /less/bootstrap.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 3 | * 4 | * Copyright 2013 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world by @mdo and @fat. 9 | */ 10 | 11 | // Core variables and mixins 12 | @import "variables.less"; 13 | @import "mixins.less"; 14 | 15 | // Reset 16 | @import "normalize.less"; 17 | @import "print.less"; 18 | 19 | // Core CSS 20 | @import "scaffolding.less"; 21 | @import "type.less"; 22 | @import "code.less"; 23 | @import "grid.less"; 24 | @import "tables.less"; 25 | @import "forms.less"; 26 | @import "buttons.less"; 27 | 28 | // Components 29 | @import "component-animations.less"; 30 | @import "glyphicons.less"; 31 | @import "dropdowns.less"; 32 | @import "button-groups.less"; 33 | @import "input-groups.less"; 34 | @import "navs.less"; 35 | @import "navbar.less"; 36 | @import "breadcrumbs.less"; 37 | @import "pagination.less"; 38 | @import "pager.less"; 39 | @import "labels.less"; 40 | @import "badges.less"; 41 | @import "jumbotron.less"; 42 | @import "thumbnails.less"; 43 | @import "alerts.less"; 44 | @import "progress-bars.less"; 45 | @import "media.less"; 46 | @import "list-group.less"; 47 | @import "panels.less"; 48 | @import "wells.less"; 49 | @import "close.less"; 50 | 51 | // Components w/ JavaScript 52 | @import "modals.less"; 53 | @import "tooltip.less"; 54 | @import "popovers.less"; 55 | @import "carousel.less"; 56 | 57 | // Utility classes 58 | @import "utilities.less"; 59 | @import "responsive-utilities.less"; 60 | 61 | // Wordpress overrides 62 | @import "upbootwp-wordpress.less"; 63 | -------------------------------------------------------------------------------- /less/upbootwp-wordpress.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Overrides for Wordpresss to improve integration 3 | * 4 | * @author Matthias Thom | http://upplex.de 5 | * @package upBootWP 0.1 6 | */ 7 | 8 | 9 | /** 10 | * Content wrapping 11 | */ 12 | 13 | // Fix position with navbar fixed 14 | #content { 15 | padding: 60px 0 20px 0; 16 | } 17 | 18 | /** 19 | * Widgets 20 | */ 21 | 22 | .widget ul li { 23 | list-style: none; 24 | } 25 | 26 | .col-nav-next { 27 | float: right; 28 | } 29 | 30 | /** 31 | * Buttons 32 | */ 33 | 34 | #submit { 35 | display: inline-block; 36 | padding: @padding-base-vertical @padding-base-horizontal; 37 | margin-bottom: 0; // For input.btn 38 | font-size: @font-size-base; 39 | font-weight: @btn-font-weight; 40 | line-height: @line-height-base; 41 | text-align: center; 42 | vertical-align: middle; 43 | cursor: pointer; 44 | border: 1px solid transparent; 45 | border-radius: @border-radius-base; 46 | white-space: nowrap; 47 | .user-select(none); 48 | 49 | &:focus { 50 | .tab-focus(); 51 | } 52 | 53 | &:hover, 54 | &:focus { 55 | color: @btn-default-color; 56 | text-decoration: none; 57 | } 58 | 59 | &:active, 60 | &.active { 61 | outline: 0; 62 | background-image: none; 63 | .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); 64 | } 65 | 66 | &.disabled, 67 | &[disabled], 68 | fieldset[disabled] & { 69 | cursor: not-allowed; 70 | pointer-events: none; // Future-proof disabling of clicks 71 | .opacity(.65); 72 | .box-shadow(none); 73 | } 74 | 75 | } 76 | 77 | #submit { 78 | .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); 79 | } -------------------------------------------------------------------------------- /less/alerts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: @alert-padding; 11 | margin-bottom: @line-height-computed; 12 | border: 1px solid transparent; 13 | border-radius: @alert-border-radius; 14 | 15 | // Headings for larger alerts 16 | h4 { 17 | margin-top: 0; 18 | // Specified for the h4 to prevent conflicts of changing @headings-color 19 | color: inherit; 20 | } 21 | // Provide class for links that match alerts 22 | .alert-link { 23 | font-weight: @alert-link-font-weight; 24 | } 25 | 26 | // Improve alignment and spacing of inner content 27 | > p, 28 | > ul { 29 | margin-bottom: 0; 30 | } 31 | > p + p { 32 | margin-top: 5px; 33 | } 34 | } 35 | 36 | // Dismissable alerts 37 | // 38 | // Expand the right padding and account for the close button's positioning. 39 | 40 | .alert-dismissable { 41 | padding-right: (@alert-padding + 20); 42 | 43 | // Adjust close link position 44 | .close { 45 | position: relative; 46 | top: -2px; 47 | right: -21px; 48 | color: inherit; 49 | } 50 | } 51 | 52 | // Alternate styles 53 | // 54 | // Generate contextual modifier classes for colorizing the alert. 55 | 56 | .alert-success { 57 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); 58 | } 59 | .alert-info { 60 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); 61 | } 62 | .alert-warning { 63 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); 64 | } 65 | .alert-danger { 66 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); 67 | } 68 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 16 |
17 |
18 |
19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
43 |
44 |
45 | 46 |
47 | 48 |
49 |
50 |
51 | -------------------------------------------------------------------------------- /less/progress-bars.less: -------------------------------------------------------------------------------- 1 | // 2 | // Progress bars 3 | // -------------------------------------------------- 4 | 5 | 6 | // Bar animations 7 | // ------------------------- 8 | 9 | // WebKit 10 | @-webkit-keyframes progress-bar-stripes { 11 | from { background-position: 40px 0; } 12 | to { background-position: 0 0; } 13 | } 14 | 15 | // Spec and IE10+ 16 | @keyframes progress-bar-stripes { 17 | from { background-position: 40px 0; } 18 | to { background-position: 0 0; } 19 | } 20 | 21 | 22 | 23 | // Bar itself 24 | // ------------------------- 25 | 26 | // Outer container 27 | .progress { 28 | overflow: hidden; 29 | height: @line-height-computed; 30 | margin-bottom: @line-height-computed; 31 | background-color: @progress-bg; 32 | border-radius: @border-radius-base; 33 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 34 | } 35 | 36 | // Bar of progress 37 | .progress-bar { 38 | float: left; 39 | width: 0%; 40 | height: 100%; 41 | font-size: @font-size-small; 42 | line-height: @line-height-computed; 43 | color: @progress-bar-color; 44 | text-align: center; 45 | background-color: @progress-bar-bg; 46 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 47 | .transition(width .6s ease); 48 | } 49 | 50 | // Striped bars 51 | .progress-striped .progress-bar { 52 | #gradient > .striped(); 53 | background-size: 40px 40px; 54 | } 55 | 56 | // Call animation for the active one 57 | .progress.active .progress-bar { 58 | .animation(progress-bar-stripes 2s linear infinite); 59 | } 60 | 61 | 62 | 63 | // Variations 64 | // ------------------------- 65 | 66 | .progress-bar-success { 67 | .progress-bar-variant(@progress-bar-success-bg); 68 | } 69 | 70 | .progress-bar-info { 71 | .progress-bar-variant(@progress-bar-info-bg); 72 | } 73 | 74 | .progress-bar-warning { 75 | .progress-bar-variant(@progress-bar-warning-bg); 76 | } 77 | 78 | .progress-bar-danger { 79 | .progress-bar-variant(@progress-bar-danger-bg); 80 | } 81 | -------------------------------------------------------------------------------- /less/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | // Set the container width, and override it for fixed navbars in media queries 6 | .container { 7 | .container-fixed(); 8 | 9 | @media (min-width: @screen-sm) { 10 | width: @container-sm; 11 | } 12 | @media (min-width: @screen-md) { 13 | width: @container-md; 14 | } 15 | @media (min-width: @screen-lg-min) { 16 | width: @container-lg; 17 | } 18 | } 19 | 20 | // mobile first defaults 21 | .row { 22 | .make-row(); 23 | } 24 | 25 | // Common styles for small and large grid columns 26 | .make-grid-columns(); 27 | 28 | 29 | // Extra small grid 30 | // 31 | // Columns, offsets, pushes, and pulls for extra small devices like 32 | // smartphones. 33 | 34 | .make-grid-columns-float(xs); 35 | .make-grid(@grid-columns, xs, width); 36 | .make-grid(@grid-columns, xs, pull); 37 | .make-grid(@grid-columns, xs, push); 38 | .make-grid(@grid-columns, xs, offset); 39 | 40 | 41 | // Small grid 42 | // 43 | // Columns, offsets, pushes, and pulls for the small device range, from phones 44 | // to tablets. 45 | 46 | @media (min-width: @screen-sm-min) { 47 | .make-grid-columns-float(sm); 48 | .make-grid(@grid-columns, sm, width); 49 | .make-grid(@grid-columns, sm, pull); 50 | .make-grid(@grid-columns, sm, push); 51 | .make-grid(@grid-columns, sm, offset); 52 | } 53 | 54 | 55 | // Medium grid 56 | // 57 | // Columns, offsets, pushes, and pulls for the desktop device range. 58 | 59 | @media (min-width: @screen-md-min) { 60 | .make-grid-columns-float(md); 61 | .make-grid(@grid-columns, md, width); 62 | .make-grid(@grid-columns, md, pull); 63 | .make-grid(@grid-columns, md, push); 64 | .make-grid(@grid-columns, md, offset); 65 | } 66 | 67 | 68 | // Large grid 69 | // 70 | // Columns, offsets, pushes, and pulls for the large desktop device range. 71 | 72 | @media (min-width: @screen-lg-min) { 73 | .make-grid-columns-float(lg); 74 | .make-grid(@grid-columns, lg, width); 75 | .make-grid(@grid-columns, lg, pull); 76 | .make-grid(@grid-columns, lg, push); 77 | .make-grid(@grid-columns, lg, offset); 78 | } 79 | 80 | -------------------------------------------------------------------------------- /less/print.less: -------------------------------------------------------------------------------- 1 | // 2 | // Basic print styles 3 | // -------------------------------------------------- 4 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css 5 | 6 | @media print { 7 | 8 | * { 9 | text-shadow: none !important; 10 | color: #000 !important; // Black prints faster: h5bp.com/s 11 | background: transparent !important; 12 | box-shadow: none !important; 13 | } 14 | 15 | a, 16 | a:visited { 17 | text-decoration: underline; 18 | } 19 | 20 | a[href]:after { 21 | content: " (" attr(href) ")"; 22 | } 23 | 24 | abbr[title]:after { 25 | content: " (" attr(title) ")"; 26 | } 27 | 28 | // Don't show links for images, or javascript/internal links 29 | a[href^="javascript:"]:after, 30 | a[href^="#"]:after { 31 | content: ""; 32 | } 33 | 34 | pre, 35 | blockquote { 36 | border: 1px solid #999; 37 | page-break-inside: avoid; 38 | } 39 | 40 | thead { 41 | display: table-header-group; // h5bp.com/t 42 | } 43 | 44 | tr, 45 | img { 46 | page-break-inside: avoid; 47 | } 48 | 49 | img { 50 | max-width: 100% !important; 51 | } 52 | 53 | @page { 54 | margin: 2cm .5cm; 55 | } 56 | 57 | p, 58 | h2, 59 | h3 { 60 | orphans: 3; 61 | widows: 3; 62 | } 63 | 64 | h2, 65 | h3 { 66 | page-break-after: avoid; 67 | } 68 | 69 | // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 70 | // Once fixed, we can just straight up remove this. 71 | select { 72 | background: #fff !important; 73 | } 74 | 75 | // Bootstrap components 76 | .navbar { 77 | display: none; 78 | } 79 | .table { 80 | td, 81 | th { 82 | background-color: #fff !important; 83 | } 84 | } 85 | .btn, 86 | .dropup > .btn { 87 | > .caret { 88 | border-top-color: #000 !important; 89 | } 90 | } 91 | .label { 92 | border: 1px solid #000; 93 | } 94 | 95 | .table { 96 | border-collapse: collapse !important; 97 | } 98 | .table-bordered { 99 | th, 100 | td { 101 | border: 1px solid #ddd !important; 102 | } 103 | } 104 | 105 | } 106 | -------------------------------------------------------------------------------- /inc/extras.php: -------------------------------------------------------------------------------- 1 | post_parent ) && $image->post_parent != $id ) 42 | $url .= '#main'; 43 | 44 | return $url; 45 | } 46 | add_filter( 'attachment_link', 'upbootwp_enhanced_image_navigation', 10, 2 ); 47 | 48 | /** 49 | * Filters wp_title to print a neat tag based on what is being viewed. 50 | */ 51 | function upbootwp_wp_title( $title, $sep ) { 52 | global $page, $paged; 53 | 54 | if ( is_feed() ) 55 | return $title; 56 | 57 | // Add the blog name 58 | $title .= get_bloginfo( 'name' ); 59 | 60 | // Add the blog description for the home/front page. 61 | $site_description = get_bloginfo( 'description', 'display' ); 62 | if ( $site_description && ( is_home() || is_front_page() ) ) 63 | $title .= " $sep $site_description"; 64 | 65 | // Add a page number if necessary: 66 | if ( $paged >= 2 || $page >= 2 ) 67 | $title .= " $sep " . sprintf( __( 'Page %s', 'upbootwp' ), max( $paged, $page ) ); 68 | 69 | return $title; 70 | } 71 | add_filter( 'wp_title', 'upbootwp_wp_title', 10, 2 ); -------------------------------------------------------------------------------- /less/pagination.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pagination (multiple pages) 3 | // -------------------------------------------------- 4 | .pagination { 5 | display: inline-block; 6 | padding-left: 0; 7 | margin: @line-height-computed 0; 8 | border-radius: @border-radius-base; 9 | 10 | > li { 11 | display: inline; // Remove list-style and block-level defaults 12 | > a, 13 | > span { 14 | position: relative; 15 | float: left; // Collapse white-space 16 | padding: @padding-base-vertical @padding-base-horizontal; 17 | line-height: @line-height-base; 18 | text-decoration: none; 19 | background-color: @pagination-bg; 20 | border: 1px solid @pagination-border; 21 | margin-left: -1px; 22 | } 23 | &:first-child { 24 | > a, 25 | > span { 26 | margin-left: 0; 27 | .border-left-radius(@border-radius-base); 28 | } 29 | } 30 | &:last-child { 31 | > a, 32 | > span { 33 | .border-right-radius(@border-radius-base); 34 | } 35 | } 36 | } 37 | 38 | > li > a, 39 | > li > span { 40 | &:hover, 41 | &:focus { 42 | background-color: @pagination-hover-bg; 43 | } 44 | } 45 | 46 | > .active > a, 47 | > .active > span { 48 | &, 49 | &:hover, 50 | &:focus { 51 | z-index: 2; 52 | color: @pagination-active-color; 53 | background-color: @pagination-active-bg; 54 | border-color: @pagination-active-bg; 55 | cursor: default; 56 | } 57 | } 58 | 59 | > .disabled { 60 | > span, 61 | > span:hover, 62 | > span:focus, 63 | > a, 64 | > a:hover, 65 | > a:focus { 66 | color: @pagination-disabled-color; 67 | background-color: @pagination-bg; 68 | border-color: @pagination-border; 69 | cursor: not-allowed; 70 | } 71 | } 72 | } 73 | 74 | // Sizing 75 | // -------------------------------------------------- 76 | 77 | // Large 78 | .pagination-lg { 79 | .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large); 80 | } 81 | 82 | // Small 83 | .pagination-sm { 84 | .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small); 85 | } 86 | -------------------------------------------------------------------------------- /header.php: -------------------------------------------------------------------------------- 1 | <?php 2 | /** 3 | * The Header for our theme. 4 | * 5 | * Displays all of the <head> section and everything up till <main id="main"> 6 | * 7 | * @author Matthias Thom | http://upplex.de 8 | * @package upBootWP 1.1 9 | */ 10 | ?><!DOCTYPE html> 11 | <html <?php language_attributes(); ?>> 12 | <head> 13 | <meta charset="<?php bloginfo( 'charset' ); ?>"> 14 | <meta name="viewport" content="width=device-width, initial-scale=1"> 15 | <title><?php wp_title( '|', true, 'right' ); ?> 16 | 17 | 18 | 19 | 20 | 21 | 22 | > 23 |
24 | 25 | 57 | 58 |
59 | -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 |
13 |
14 |
15 |
16 | 17 |
18 | 21 | 22 |
23 |

24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |

32 |
    33 | 'count', 36 | 'order' => 'DESC', 37 | 'show_count' => 1, 38 | 'title_li' => '', 39 | 'number' => 10, 40 | ) ); 41 | ?> 42 |
43 |
44 | 45 | 46 | ' . sprintf( __( 'Try looking in the monthly archives. %1$s', 'upbootwp' ), convert_smilies( ':)' ) ) . '

'; 49 | the_widget( 'WP_Widget_Archives', 'dropdown=1', "after_title=$archive_content" ); 50 | ?> 51 | 52 | 53 | 54 |
55 |
56 | 57 |
58 |
59 |
60 |
61 |
62 | -------------------------------------------------------------------------------- /less/list-group.less: -------------------------------------------------------------------------------- 1 | // 2 | // List groups 3 | // -------------------------------------------------- 4 | 5 | // Base class 6 | // 7 | // Easily usable on
46 |
47 | 48 | max_num_pages > 1 && (is_home() || is_archive() || is_search())) : // navigation links for home, archive, and search pages ?> 49 |
50 |
51 | 52 | 53 | 54 | 55 | 56 |
57 |
58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 66 | 67 | 68 | 69 | comment_type || 'trackback' == $comment->comment_type ) : ?> 83 | 84 |
  • > 85 |
    86 | ', '' ); ?> 87 |
    88 | 89 | 90 | 91 |
  • > 92 |
    93 |
    94 |
    95 | 96 | says:', 'upbootwp' ), sprintf( '%s', get_comment_author_link() ) ); ?> 97 |
    98 | 99 | 107 | 108 | comment_approved ) : ?> 109 |

    110 | 111 |
    112 | 113 |
    114 | 115 |
    116 | 117 | 'div-comment', 120 | 'depth' => $depth, 121 | 'max_depth' => $args['max_depth'], 122 | 'before' => '
    ', 123 | 'after' => '
    ', 124 | ) ) ); 125 | ?> 126 |
    127 | 128 | $post->post_parent, 150 | 'fields' => 'ids', 151 | 'numberposts' => -1, 152 | 'post_status' => 'inherit', 153 | 'post_type' => 'attachment', 154 | 'post_mime_type' => 'image', 155 | 'order' => 'ASC', 156 | 'orderby' => 'menu_order ID' 157 | ) ); 158 | 159 | // If there is more than 1 attachment in a gallery... 160 | if ( count( $attachment_ids ) > 1 ) { 161 | foreach ( $attachment_ids as $attachment_id ) { 162 | if ( $attachment_id == $post->ID ) { 163 | $next_id = current( $attachment_ids ); 164 | break; 165 | } 166 | } 167 | 168 | // get the URL of the next image attachment... 169 | if ( $next_id ) 170 | $next_attachment_url = get_attachment_link( $next_id ); 171 | 172 | // or get the URL of the first image attachment. 173 | else 174 | $next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) ); 175 | } 176 | 177 | printf( '%3$s', 178 | esc_url( $next_attachment_url ), 179 | the_title_attribute( array( 'echo' => false ) ), 180 | wp_get_attachment_image( $post->ID, $attachment_size ) 181 | ); 182 | } 183 | endif; 184 | 185 | if ( ! function_exists( 'upbootwp_posted_on' ) ) : 186 | /** 187 | * Prints HTML with meta information for the current post-date/time and author. 188 | */ 189 | function upbootwp_posted_on() { 190 | $time_string = ''; 191 | if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) 192 | $time_string .= ''; 193 | 194 | $time_string = sprintf( $time_string, 195 | esc_attr( get_the_date( 'c' ) ), 196 | esc_html( get_the_date() ), 197 | esc_attr( get_the_modified_date( 'c' ) ), 198 | esc_html( get_the_modified_date() ) 199 | ); 200 | 201 | printf( __( 'Posted on %1$s by %2$s', 'upbootwp' ), 202 | sprintf( '%3$s', 203 | esc_url( get_permalink() ), 204 | esc_attr( get_the_time() ), 205 | $time_string 206 | ), 207 | sprintf( '%3$s', 208 | esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), 209 | esc_attr( sprintf( __( 'View all posts by %s', 'upbootwp' ), get_the_author() ) ), 210 | esc_html( get_the_author() ) 211 | ) 212 | ); 213 | } 214 | endif; 215 | 216 | /** 217 | * Returns true if a blog has more than 1 category 218 | */ 219 | function upbootwp_categorized_blog() { 220 | if ( false === ( $all_the_cool_cats = get_transient( 'all_the_cool_cats' ) ) ) { 221 | // Create an array of all the categories that are attached to posts 222 | $all_the_cool_cats = get_categories( array( 223 | 'hide_empty' => 1, 224 | ) ); 225 | 226 | // Count the number of categories that are attached to the posts 227 | $all_the_cool_cats = count( $all_the_cool_cats ); 228 | 229 | set_transient( 'all_the_cool_cats', $all_the_cool_cats ); 230 | } 231 | 232 | if ( '1' != $all_the_cool_cats ) { 233 | // This blog has more than 1 category so upbootwp_categorized_blog should return true 234 | return true; 235 | } else { 236 | // This blog has only 1 category so upbootwp_categorized_blog should return false 237 | return false; 238 | } 239 | } 240 | 241 | /** 242 | * Flush out the transients used in upbootwp_categorized_blog 243 | */ 244 | function upbootwp_category_transient_flusher() { 245 | // Like, beat it. Dig? 246 | delete_transient( 'all_the_cool_cats' ); 247 | } 248 | add_action( 'edit_category', 'upbootwp_category_transient_flusher' ); 249 | add_action( 'save_post', 'upbootwp_category_transient_flusher' ); 250 | -------------------------------------------------------------------------------- /less/forms.less: -------------------------------------------------------------------------------- 1 | // 2 | // Forms 3 | // -------------------------------------------------- 4 | 5 | 6 | // Normalize non-controls 7 | // 8 | // Restyle and baseline non-control form elements. 9 | 10 | fieldset { 11 | padding: 0; 12 | margin: 0; 13 | border: 0; 14 | } 15 | 16 | legend { 17 | display: block; 18 | width: 100%; 19 | padding: 0; 20 | margin-bottom: @line-height-computed; 21 | font-size: (@font-size-base * 1.5); 22 | line-height: inherit; 23 | color: @legend-color; 24 | border: 0; 25 | border-bottom: 1px solid @legend-border-color; 26 | } 27 | 28 | label { 29 | display: inline-block; 30 | margin-bottom: 5px; 31 | font-weight: bold; 32 | } 33 | 34 | 35 | // Normalize form controls 36 | 37 | // Override content-box in Normalize (* isn't specific enough) 38 | input[type="search"] { 39 | .box-sizing(border-box); 40 | } 41 | 42 | // Position radios and checkboxes better 43 | input[type="radio"], 44 | input[type="checkbox"] { 45 | margin: 4px 0 0; 46 | margin-top: 1px \9; /* IE8-9 */ 47 | line-height: normal; 48 | } 49 | 50 | // Set the height of select and file controls to match text inputs 51 | input[type="file"] { 52 | display: block; 53 | } 54 | 55 | // Make multiple select elements height not fixed 56 | select[multiple], 57 | select[size] { 58 | height: auto; 59 | } 60 | 61 | // Fix optgroup Firefox bug per https://github.com/twbs/bootstrap/issues/7611 62 | select optgroup { 63 | font-size: inherit; 64 | font-style: inherit; 65 | font-family: inherit; 66 | } 67 | 68 | // Focus for select, file, radio, and checkbox 69 | input[type="file"]:focus, 70 | input[type="radio"]:focus, 71 | input[type="checkbox"]:focus { 72 | .tab-focus(); 73 | } 74 | 75 | // Fix for Chrome number input 76 | // Setting certain font-sizes causes the `I` bar to appear on hover of the bottom increment button. 77 | // See https://github.com/twbs/bootstrap/issues/8350 for more. 78 | input[type="number"] { 79 | &::-webkit-outer-spin-button, 80 | &::-webkit-inner-spin-button { 81 | height: auto; 82 | } 83 | } 84 | 85 | // Adjust output element 86 | output { 87 | display: block; 88 | padding-top: (@padding-base-vertical + 1); 89 | font-size: @font-size-base; 90 | line-height: @line-height-base; 91 | color: @input-color; 92 | vertical-align: middle; 93 | } 94 | 95 | 96 | // Common form controls 97 | // 98 | // Shared size and type resets for form controls. Apply `.form-control` to any 99 | // of the following form controls: 100 | // 101 | // select 102 | // textarea 103 | // input[type="text"] 104 | // input[type="password"] 105 | // input[type="datetime"] 106 | // input[type="datetime-local"] 107 | // input[type="date"] 108 | // input[type="month"] 109 | // input[type="time"] 110 | // input[type="week"] 111 | // input[type="number"] 112 | // input[type="email"] 113 | // input[type="url"] 114 | // input[type="search"] 115 | // input[type="tel"] 116 | // input[type="color"] 117 | 118 | .form-control { 119 | display: block; 120 | width: 100%; 121 | height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) 122 | padding: @padding-base-vertical @padding-base-horizontal; 123 | font-size: @font-size-base; 124 | line-height: @line-height-base; 125 | color: @input-color; 126 | vertical-align: middle; 127 | background-color: @input-bg; 128 | background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 129 | border: 1px solid @input-border; 130 | border-radius: @input-border-radius; 131 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); 132 | .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); 133 | 134 | // Customize the `:focus` state to imitate native WebKit styles. 135 | .form-control-focus(); 136 | 137 | // Placeholder 138 | // 139 | // Placeholder text gets special styles because when browsers invalidate entire 140 | // lines if it doesn't understand a selector/ 141 | .placeholder(); 142 | 143 | // Disabled and read-only inputs 144 | // Note: HTML5 says that controls under a fieldset > legend:first-child won't 145 | // be disabled if the fieldset is disabled. Due to implementation difficulty, 146 | // we don't honor that edge case; we style them as disabled anyway. 147 | &[disabled], 148 | &[readonly], 149 | fieldset[disabled] & { 150 | cursor: not-allowed; 151 | background-color: @input-bg-disabled; 152 | } 153 | 154 | // Reset height for `textarea`s 155 | textarea& { 156 | height: auto; 157 | } 158 | } 159 | 160 | 161 | // Form groups 162 | // 163 | // Designed to help with the organization and spacing of vertical forms. For 164 | // horizontal forms, use the predefined grid classes. 165 | 166 | .form-group { 167 | margin-bottom: 15px; 168 | } 169 | 170 | 171 | // Checkboxes and radios 172 | // 173 | // Indent the labels to position radios/checkboxes as hanging controls. 174 | 175 | .radio, 176 | .checkbox { 177 | display: block; 178 | min-height: @line-height-computed; // clear the floating input if there is no label text 179 | margin-top: 10px; 180 | margin-bottom: 10px; 181 | padding-left: 20px; 182 | vertical-align: middle; 183 | label { 184 | display: inline; 185 | margin-bottom: 0; 186 | font-weight: normal; 187 | cursor: pointer; 188 | } 189 | } 190 | .radio input[type="radio"], 191 | .radio-inline input[type="radio"], 192 | .checkbox input[type="checkbox"], 193 | .checkbox-inline input[type="checkbox"] { 194 | float: left; 195 | margin-left: -20px; 196 | } 197 | .radio + .radio, 198 | .checkbox + .checkbox { 199 | margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing 200 | } 201 | 202 | // Radios and checkboxes on same line 203 | .radio-inline, 204 | .checkbox-inline { 205 | display: inline-block; 206 | padding-left: 20px; 207 | margin-bottom: 0; 208 | vertical-align: middle; 209 | font-weight: normal; 210 | cursor: pointer; 211 | } 212 | .radio-inline + .radio-inline, 213 | .checkbox-inline + .checkbox-inline { 214 | margin-top: 0; 215 | margin-left: 10px; // space out consecutive inline controls 216 | } 217 | 218 | // Apply same disabled cursor tweak as for inputs 219 | // 220 | // Note: Neither radios nor checkboxes can be readonly. 221 | input[type="radio"], 222 | input[type="checkbox"], 223 | .radio, 224 | .radio-inline, 225 | .checkbox, 226 | .checkbox-inline { 227 | &[disabled], 228 | fieldset[disabled] & { 229 | cursor: not-allowed; 230 | } 231 | } 232 | 233 | // Form control sizing 234 | .input-sm { 235 | .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); 236 | } 237 | 238 | .input-lg { 239 | .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); 240 | } 241 | 242 | 243 | // Form control feedback states 244 | // 245 | // Apply contextual and semantic states to individual form controls. 246 | 247 | // Warning 248 | .has-warning { 249 | .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg); 250 | } 251 | // Error 252 | .has-error { 253 | .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg); 254 | } 255 | // Success 256 | .has-success { 257 | .form-control-validation(@state-success-text; @state-success-text; @state-success-bg); 258 | } 259 | 260 | 261 | // Static form control text 262 | // 263 | // Apply class to a `p` element to make any string of text align with labels in 264 | // a horizontal form layout. 265 | 266 | .form-control-static { 267 | margin-bottom: 0; // Remove default margin from `p` 268 | } 269 | 270 | 271 | // Help text 272 | // 273 | // Apply to any element you wish to create light text for placement immediately 274 | // below a form control. Use for general help, formatting, or instructional text. 275 | 276 | .help-block { 277 | display: block; // account for any element using help-block 278 | margin-top: 5px; 279 | margin-bottom: 10px; 280 | color: lighten(@text-color, 25%); // lighten the text some for contrast 281 | } 282 | 283 | 284 | 285 | // Inline forms 286 | // 287 | // Make forms appear inline(-block) by adding the `.form-inline` class. Inline 288 | // forms begin stacked on extra small (mobile) devices and then go inline when 289 | // viewports reach <768px. 290 | // 291 | // Requires wrapping inputs and labels with `.form-group` for proper display of 292 | // default HTML form controls and our custom form controls (e.g., input groups). 293 | // 294 | // Heads up! This is mixin-ed into `.navbar-form` in navbars.less. 295 | 296 | .form-inline { 297 | 298 | // Kick in the inline 299 | @media (min-width: @screen-sm) { 300 | // Inline-block all the things for "inline" 301 | .form-group { 302 | display: inline-block; 303 | margin-bottom: 0; 304 | vertical-align: middle; 305 | } 306 | 307 | // In navbar-form, allow folks to *not* use `.form-group` 308 | .form-control { 309 | display: inline-block; 310 | } 311 | 312 | // Override `width: 100%;` when not within a `.form-group` 313 | select.form-control { 314 | width: auto; 315 | } 316 | 317 | // Remove default margin on radios/checkboxes that were used for stacking, and 318 | // then undo the floating of radios and checkboxes to match (which also avoids 319 | // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969). 320 | .radio, 321 | .checkbox { 322 | display: inline-block; 323 | margin-top: 0; 324 | margin-bottom: 0; 325 | padding-left: 0; 326 | } 327 | .radio input[type="radio"], 328 | .checkbox input[type="checkbox"] { 329 | float: none; 330 | margin-left: 0; 331 | } 332 | } 333 | } 334 | 335 | 336 | // Horizontal forms 337 | // 338 | // Horizontal forms are built on grid classes and allow you to create forms with 339 | // labels on the left and inputs on the right. 340 | 341 | .form-horizontal { 342 | 343 | // Consistent vertical alignment of labels, radios, and checkboxes 344 | .control-label, 345 | .radio, 346 | .checkbox, 347 | .radio-inline, 348 | .checkbox-inline { 349 | margin-top: 0; 350 | margin-bottom: 0; 351 | padding-top: (@padding-base-vertical + 1); // Default padding plus a border 352 | } 353 | // Account for padding we're adding to ensure the alignment and of help text 354 | // and other content below items 355 | .radio, 356 | .checkbox { 357 | min-height: @line-height-computed + (@padding-base-vertical + 1); 358 | } 359 | 360 | // Make form groups behave like rows 361 | .form-group { 362 | .make-row(); 363 | } 364 | 365 | .form-control-static { 366 | padding-top: (@padding-base-vertical + 1); 367 | } 368 | 369 | // Only right align form labels here when the columns stop stacking 370 | @media (min-width: @screen-sm-min) { 371 | .control-label { 372 | text-align: right; 373 | } 374 | } 375 | } 376 | -------------------------------------------------------------------------------- /less/glyphicons.less: -------------------------------------------------------------------------------- 1 | // 2 | // Glyphicons for Bootstrap 3 | // 4 | // Since icons are fonts, they can be placed anywhere text is placed and are 5 | // thus automatically sized to match the surrounding child. To use, create an 6 | // inline element with the appropriate classes, like so: 7 | // 8 | // Star 9 | 10 | // Import the fonts 11 | @font-face { 12 | font-family: 'Glyphicons Halflings'; 13 | src: ~"url('@{icon-font-path}@{icon-font-name}.eot')"; 14 | src: ~"url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype')", 15 | ~"url('@{icon-font-path}@{icon-font-name}.woff') format('woff')", 16 | ~"url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype')", 17 | ~"url('@{icon-font-path}@{icon-font-name}.svg#glyphicons-halflingsregular') format('svg')"; 18 | } 19 | 20 | // Catchall baseclass 21 | .glyphicon { 22 | position: relative; 23 | top: 1px; 24 | display: inline-block; 25 | font-family: 'Glyphicons Halflings'; 26 | font-style: normal; 27 | font-weight: normal; 28 | line-height: 1; 29 | -webkit-font-smoothing: antialiased; 30 | -moz-osx-font-smoothing: grayscale; 31 | 32 | &:empty { 33 | width: 1em; 34 | } 35 | } 36 | 37 | // Individual icons 38 | .glyphicon-asterisk { &:before { content: "\2a"; } } 39 | .glyphicon-plus { &:before { content: "\2b"; } } 40 | .glyphicon-euro { &:before { content: "\20ac"; } } 41 | .glyphicon-minus { &:before { content: "\2212"; } } 42 | .glyphicon-cloud { &:before { content: "\2601"; } } 43 | .glyphicon-envelope { &:before { content: "\2709"; } } 44 | .glyphicon-pencil { &:before { content: "\270f"; } } 45 | .glyphicon-glass { &:before { content: "\e001"; } } 46 | .glyphicon-music { &:before { content: "\e002"; } } 47 | .glyphicon-search { &:before { content: "\e003"; } } 48 | .glyphicon-heart { &:before { content: "\e005"; } } 49 | .glyphicon-star { &:before { content: "\e006"; } } 50 | .glyphicon-star-empty { &:before { content: "\e007"; } } 51 | .glyphicon-user { &:before { content: "\e008"; } } 52 | .glyphicon-film { &:before { content: "\e009"; } } 53 | .glyphicon-th-large { &:before { content: "\e010"; } } 54 | .glyphicon-th { &:before { content: "\e011"; } } 55 | .glyphicon-th-list { &:before { content: "\e012"; } } 56 | .glyphicon-ok { &:before { content: "\e013"; } } 57 | .glyphicon-remove { &:before { content: "\e014"; } } 58 | .glyphicon-zoom-in { &:before { content: "\e015"; } } 59 | .glyphicon-zoom-out { &:before { content: "\e016"; } } 60 | .glyphicon-off { &:before { content: "\e017"; } } 61 | .glyphicon-signal { &:before { content: "\e018"; } } 62 | .glyphicon-cog { &:before { content: "\e019"; } } 63 | .glyphicon-trash { &:before { content: "\e020"; } } 64 | .glyphicon-home { &:before { content: "\e021"; } } 65 | .glyphicon-file { &:before { content: "\e022"; } } 66 | .glyphicon-time { &:before { content: "\e023"; } } 67 | .glyphicon-road { &:before { content: "\e024"; } } 68 | .glyphicon-download-alt { &:before { content: "\e025"; } } 69 | .glyphicon-download { &:before { content: "\e026"; } } 70 | .glyphicon-upload { &:before { content: "\e027"; } } 71 | .glyphicon-inbox { &:before { content: "\e028"; } } 72 | .glyphicon-play-circle { &:before { content: "\e029"; } } 73 | .glyphicon-repeat { &:before { content: "\e030"; } } 74 | .glyphicon-refresh { &:before { content: "\e031"; } } 75 | .glyphicon-list-alt { &:before { content: "\e032"; } } 76 | .glyphicon-lock { &:before { content: "\e033"; } } 77 | .glyphicon-flag { &:before { content: "\e034"; } } 78 | .glyphicon-headphones { &:before { content: "\e035"; } } 79 | .glyphicon-volume-off { &:before { content: "\e036"; } } 80 | .glyphicon-volume-down { &:before { content: "\e037"; } } 81 | .glyphicon-volume-up { &:before { content: "\e038"; } } 82 | .glyphicon-qrcode { &:before { content: "\e039"; } } 83 | .glyphicon-barcode { &:before { content: "\e040"; } } 84 | .glyphicon-tag { &:before { content: "\e041"; } } 85 | .glyphicon-tags { &:before { content: "\e042"; } } 86 | .glyphicon-book { &:before { content: "\e043"; } } 87 | .glyphicon-bookmark { &:before { content: "\e044"; } } 88 | .glyphicon-print { &:before { content: "\e045"; } } 89 | .glyphicon-camera { &:before { content: "\e046"; } } 90 | .glyphicon-font { &:before { content: "\e047"; } } 91 | .glyphicon-bold { &:before { content: "\e048"; } } 92 | .glyphicon-italic { &:before { content: "\e049"; } } 93 | .glyphicon-text-height { &:before { content: "\e050"; } } 94 | .glyphicon-text-width { &:before { content: "\e051"; } } 95 | .glyphicon-align-left { &:before { content: "\e052"; } } 96 | .glyphicon-align-center { &:before { content: "\e053"; } } 97 | .glyphicon-align-right { &:before { content: "\e054"; } } 98 | .glyphicon-align-justify { &:before { content: "\e055"; } } 99 | .glyphicon-list { &:before { content: "\e056"; } } 100 | .glyphicon-indent-left { &:before { content: "\e057"; } } 101 | .glyphicon-indent-right { &:before { content: "\e058"; } } 102 | .glyphicon-facetime-video { &:before { content: "\e059"; } } 103 | .glyphicon-picture { &:before { content: "\e060"; } } 104 | .glyphicon-map-marker { &:before { content: "\e062"; } } 105 | .glyphicon-adjust { &:before { content: "\e063"; } } 106 | .glyphicon-tint { &:before { content: "\e064"; } } 107 | .glyphicon-edit { &:before { content: "\e065"; } } 108 | .glyphicon-share { &:before { content: "\e066"; } } 109 | .glyphicon-check { &:before { content: "\e067"; } } 110 | .glyphicon-move { &:before { content: "\e068"; } } 111 | .glyphicon-step-backward { &:before { content: "\e069"; } } 112 | .glyphicon-fast-backward { &:before { content: "\e070"; } } 113 | .glyphicon-backward { &:before { content: "\e071"; } } 114 | .glyphicon-play { &:before { content: "\e072"; } } 115 | .glyphicon-pause { &:before { content: "\e073"; } } 116 | .glyphicon-stop { &:before { content: "\e074"; } } 117 | .glyphicon-forward { &:before { content: "\e075"; } } 118 | .glyphicon-fast-forward { &:before { content: "\e076"; } } 119 | .glyphicon-step-forward { &:before { content: "\e077"; } } 120 | .glyphicon-eject { &:before { content: "\e078"; } } 121 | .glyphicon-chevron-left { &:before { content: "\e079"; } } 122 | .glyphicon-chevron-right { &:before { content: "\e080"; } } 123 | .glyphicon-plus-sign { &:before { content: "\e081"; } } 124 | .glyphicon-minus-sign { &:before { content: "\e082"; } } 125 | .glyphicon-remove-sign { &:before { content: "\e083"; } } 126 | .glyphicon-ok-sign { &:before { content: "\e084"; } } 127 | .glyphicon-question-sign { &:before { content: "\e085"; } } 128 | .glyphicon-info-sign { &:before { content: "\e086"; } } 129 | .glyphicon-screenshot { &:before { content: "\e087"; } } 130 | .glyphicon-remove-circle { &:before { content: "\e088"; } } 131 | .glyphicon-ok-circle { &:before { content: "\e089"; } } 132 | .glyphicon-ban-circle { &:before { content: "\e090"; } } 133 | .glyphicon-arrow-left { &:before { content: "\e091"; } } 134 | .glyphicon-arrow-right { &:before { content: "\e092"; } } 135 | .glyphicon-arrow-up { &:before { content: "\e093"; } } 136 | .glyphicon-arrow-down { &:before { content: "\e094"; } } 137 | .glyphicon-share-alt { &:before { content: "\e095"; } } 138 | .glyphicon-resize-full { &:before { content: "\e096"; } } 139 | .glyphicon-resize-small { &:before { content: "\e097"; } } 140 | .glyphicon-exclamation-sign { &:before { content: "\e101"; } } 141 | .glyphicon-gift { &:before { content: "\e102"; } } 142 | .glyphicon-leaf { &:before { content: "\e103"; } } 143 | .glyphicon-fire { &:before { content: "\e104"; } } 144 | .glyphicon-eye-open { &:before { content: "\e105"; } } 145 | .glyphicon-eye-close { &:before { content: "\e106"; } } 146 | .glyphicon-warning-sign { &:before { content: "\e107"; } } 147 | .glyphicon-plane { &:before { content: "\e108"; } } 148 | .glyphicon-calendar { &:before { content: "\e109"; } } 149 | .glyphicon-random { &:before { content: "\e110"; } } 150 | .glyphicon-comment { &:before { content: "\e111"; } } 151 | .glyphicon-magnet { &:before { content: "\e112"; } } 152 | .glyphicon-chevron-up { &:before { content: "\e113"; } } 153 | .glyphicon-chevron-down { &:before { content: "\e114"; } } 154 | .glyphicon-retweet { &:before { content: "\e115"; } } 155 | .glyphicon-shopping-cart { &:before { content: "\e116"; } } 156 | .glyphicon-folder-close { &:before { content: "\e117"; } } 157 | .glyphicon-folder-open { &:before { content: "\e118"; } } 158 | .glyphicon-resize-vertical { &:before { content: "\e119"; } } 159 | .glyphicon-resize-horizontal { &:before { content: "\e120"; } } 160 | .glyphicon-hdd { &:before { content: "\e121"; } } 161 | .glyphicon-bullhorn { &:before { content: "\e122"; } } 162 | .glyphicon-bell { &:before { content: "\e123"; } } 163 | .glyphicon-certificate { &:before { content: "\e124"; } } 164 | .glyphicon-thumbs-up { &:before { content: "\e125"; } } 165 | .glyphicon-thumbs-down { &:before { content: "\e126"; } } 166 | .glyphicon-hand-right { &:before { content: "\e127"; } } 167 | .glyphicon-hand-left { &:before { content: "\e128"; } } 168 | .glyphicon-hand-up { &:before { content: "\e129"; } } 169 | .glyphicon-hand-down { &:before { content: "\e130"; } } 170 | .glyphicon-circle-arrow-right { &:before { content: "\e131"; } } 171 | .glyphicon-circle-arrow-left { &:before { content: "\e132"; } } 172 | .glyphicon-circle-arrow-up { &:before { content: "\e133"; } } 173 | .glyphicon-circle-arrow-down { &:before { content: "\e134"; } } 174 | .glyphicon-globe { &:before { content: "\e135"; } } 175 | .glyphicon-wrench { &:before { content: "\e136"; } } 176 | .glyphicon-tasks { &:before { content: "\e137"; } } 177 | .glyphicon-filter { &:before { content: "\e138"; } } 178 | .glyphicon-briefcase { &:before { content: "\e139"; } } 179 | .glyphicon-fullscreen { &:before { content: "\e140"; } } 180 | .glyphicon-dashboard { &:before { content: "\e141"; } } 181 | .glyphicon-paperclip { &:before { content: "\e142"; } } 182 | .glyphicon-heart-empty { &:before { content: "\e143"; } } 183 | .glyphicon-link { &:before { content: "\e144"; } } 184 | .glyphicon-phone { &:before { content: "\e145"; } } 185 | .glyphicon-pushpin { &:before { content: "\e146"; } } 186 | .glyphicon-usd { &:before { content: "\e148"; } } 187 | .glyphicon-gbp { &:before { content: "\e149"; } } 188 | .glyphicon-sort { &:before { content: "\e150"; } } 189 | .glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } 190 | .glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } 191 | .glyphicon-sort-by-order { &:before { content: "\e153"; } } 192 | .glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } 193 | .glyphicon-sort-by-attributes { &:before { content: "\e155"; } } 194 | .glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } 195 | .glyphicon-unchecked { &:before { content: "\e157"; } } 196 | .glyphicon-expand { &:before { content: "\e158"; } } 197 | .glyphicon-collapse-down { &:before { content: "\e159"; } } 198 | .glyphicon-collapse-up { &:before { content: "\e160"; } } 199 | .glyphicon-log-in { &:before { content: "\e161"; } } 200 | .glyphicon-flash { &:before { content: "\e162"; } } 201 | .glyphicon-log-out { &:before { content: "\e163"; } } 202 | .glyphicon-new-window { &:before { content: "\e164"; } } 203 | .glyphicon-record { &:before { content: "\e165"; } } 204 | .glyphicon-save { &:before { content: "\e166"; } } 205 | .glyphicon-open { &:before { content: "\e167"; } } 206 | .glyphicon-saved { &:before { content: "\e168"; } } 207 | .glyphicon-import { &:before { content: "\e169"; } } 208 | .glyphicon-export { &:before { content: "\e170"; } } 209 | .glyphicon-send { &:before { content: "\e171"; } } 210 | .glyphicon-floppy-disk { &:before { content: "\e172"; } } 211 | .glyphicon-floppy-saved { &:before { content: "\e173"; } } 212 | .glyphicon-floppy-remove { &:before { content: "\e174"; } } 213 | .glyphicon-floppy-save { &:before { content: "\e175"; } } 214 | .glyphicon-floppy-open { &:before { content: "\e176"; } } 215 | .glyphicon-credit-card { &:before { content: "\e177"; } } 216 | .glyphicon-transfer { &:before { content: "\e178"; } } 217 | .glyphicon-cutlery { &:before { content: "\e179"; } } 218 | .glyphicon-header { &:before { content: "\e180"; } } 219 | .glyphicon-compressed { &:before { content: "\e181"; } } 220 | .glyphicon-earphone { &:before { content: "\e182"; } } 221 | .glyphicon-phone-alt { &:before { content: "\e183"; } } 222 | .glyphicon-tower { &:before { content: "\e184"; } } 223 | .glyphicon-stats { &:before { content: "\e185"; } } 224 | .glyphicon-sd-video { &:before { content: "\e186"; } } 225 | .glyphicon-hd-video { &:before { content: "\e187"; } } 226 | .glyphicon-subtitles { &:before { content: "\e188"; } } 227 | .glyphicon-sound-stereo { &:before { content: "\e189"; } } 228 | .glyphicon-sound-dolby { &:before { content: "\e190"; } } 229 | .glyphicon-sound-5-1 { &:before { content: "\e191"; } } 230 | .glyphicon-sound-6-1 { &:before { content: "\e192"; } } 231 | .glyphicon-sound-7-1 { &:before { content: "\e193"; } } 232 | .glyphicon-copyright-mark { &:before { content: "\e194"; } } 233 | .glyphicon-registration-mark { &:before { content: "\e195"; } } 234 | .glyphicon-cloud-download { &:before { content: "\e197"; } } 235 | .glyphicon-cloud-upload { &:before { content: "\e198"; } } 236 | .glyphicon-tree-conifer { &:before { content: "\e199"; } } 237 | .glyphicon-tree-deciduous { &:before { content: "\e200"; } } 238 | --------------------------------------------------------------------------------