├── .gitignore ├── Gemfile ├── LICENSE.txt ├── README.md ├── _config.yml ├── _includes ├── footer.html ├── head.html └── header.html ├── _layouts ├── default.html ├── page.html └── post.html ├── assets ├── css │ ├── Newbootstrap │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap-theme.min.css.map │ ├── bootstrap.css │ ├── bootstrap.min.css │ ├── bootstrap.min.css.map │ ├── custom-blog.css │ ├── custom.css │ ├── elegant-icons.min.css │ ├── flexslider.css │ ├── flexslider.min.css │ ├── font-awesome.css │ ├── font-awesome.min.css │ ├── ie9.css │ ├── less │ │ ├── alerts.less │ │ ├── badges.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── camaro.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dandelion.less │ │ ├── debbie.less │ │ ├── deepblue.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── glyphicons.less │ │ ├── grass.less │ │ ├── grid.less │ │ ├── gunmetalpurple.less │ │ ├── haemo.less │ │ ├── handbag.less │ │ ├── hot.less │ │ ├── humblebumble.less │ │ ├── input-groups.less │ │ ├── jaded.less │ │ ├── jumbotron.less │ │ ├── labels.less │ │ ├── lava.less │ │ ├── leaf.less │ │ ├── lightjade.less │ │ ├── lime.less │ │ ├── lippy.less │ │ ├── list-group.less │ │ ├── meadowlea.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── normalize.less │ │ ├── oceanfloor.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── pivot.less │ │ ├── popovers.less │ │ ├── powerpuff.less │ │ ├── print.less │ │ ├── progress-bars.less │ │ ├── properorange.less │ │ ├── responsive-utilities.less │ │ ├── scaffolding.less │ │ ├── sulphur.less │ │ ├── tables.less │ │ ├── theme.less │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ ├── lightbox.min.css │ ├── pe-icon-7-stroke.min.css │ ├── theme-camaro.css │ ├── theme-dandelion.css │ ├── theme-debbie.css │ ├── theme-deepblue.css │ ├── theme-grass.css │ ├── theme-gunmetalpurple.css │ ├── theme-haemo.css │ ├── theme-handbag.css │ ├── theme-hot.css │ ├── theme-humblebumble.css │ ├── theme-jaded.css │ ├── theme-lava.css │ ├── theme-leaf.css │ ├── theme-lightjade.css │ ├── theme-lime.css │ ├── theme-lippy.css │ ├── theme-meadowlea.css │ ├── theme-oceanfloor.css │ ├── theme-pivot.css │ ├── theme-powerpuff.css │ ├── theme-properorange.css │ ├── theme-sulphur.css │ └── theme.css ├── fonts │ ├── ElegantIcons.eot │ ├── ElegantIcons.svg │ ├── ElegantIcons.ttf │ ├── ElegantIcons.woff │ ├── Pe-icon-7-stroke.eot │ ├── Pe-icon-7-stroke.svg │ ├── Pe-icon-7-stroke.ttf │ └── Pe-icon-7-stroke.woff ├── img │ ├── 16684326949_3f300eacf7_z.jpg │ ├── 16685244587_dc6defba93_z.jpg │ ├── 16704948658_0dff7bd62c_z.jpg │ ├── 3dprinter.JPG │ ├── Asia Open Source Event FOSSASIA_0.JPG │ ├── Badgeyay.png │ ├── DSC_0291_0.JPG │ ├── DSC_0446_0.JPG │ ├── DSC_0450_0.JPG │ ├── DSC_0502_1_0.JPG │ ├── DSC_0508_1_0.JPG │ ├── DSC_0525_0.JPG │ ├── DSC_0567_0.JPG │ ├── FFII.png │ ├── FOSSASIA 2011 Open Source Software Conference_0.JPG │ ├── FOSSASIA Open Source Hong Phuc Dang Free Software Community_0.JPG │ ├── FOSSASIA Social Event on Boat_0.JPG │ ├── Free Open Source Summit Asia FOSSASIA_0.JPG │ ├── Girls in Open Source and IT FOSSASIA_0.JPG │ ├── Google.png │ ├── HongPhucFOSSASIA.JPG │ ├── IMG_1132_0.JPG │ ├── IMG_1146_0.JPG │ ├── IMG_1154_0.JPG │ ├── IMG_1165_0.JPG │ ├── IMG_1175_0.JPG │ ├── IMG_1180_0.JPG │ ├── IMG_1215_0.JPG │ ├── IMG_1243_0.JPG │ ├── IMG_1250_0.JPG │ ├── IMG_4460.JPG │ ├── IMG_4947_0.JPG │ ├── IMG_4972_0.JPG │ ├── IMG_5111_0.JPG │ ├── IMG_5368_0.JPG │ ├── IMG_6615.jpg │ ├── Internet_Society_SG.png │ ├── Libre-Graphics-Jon-Phillips-Participants-fossasia2010.JPG │ ├── Linuxpilot.png │ ├── OpenEventAndroidApp.jpg │ ├── OpenEventAndroidApp.png │ ├── OpenEventAndroidApp2.png │ ├── OpenTechSummit-LinuxCommunity.jpg │ ├── SoumyaDeb.jpg │ ├── Wordpress.png │ ├── asksusi.png │ ├── ayab-knitting.jpg │ ├── bodyapps-3d.png │ ├── bodyapps-female-3d.jpg │ ├── bodyapps-ui-3d.jpg │ ├── cambodia-vietnamese-malaysian-participants-fossasia-2010.jpg │ ├── chooser.jpg │ ├── citybg.jpg │ ├── community-map.jpg │ ├── community-map.png │ ├── engelsystem.png │ ├── flappy-svg.jpg │ ├── fossasia-2010-group-foto-contributors.JPG │ ├── fossasia-dark.png │ ├── fossasia-long.png │ ├── fossasia-squarewhite-path.png │ ├── fossaspa-app.jpg │ ├── fossaspa-app.png │ ├── grey-bg.jpg │ ├── hackerspacesg.png │ ├── header-fossasia.jpg │ ├── hero1.jpg │ ├── hero2.jpg │ ├── hero3.jpg │ ├── hero4.jpg │ ├── hero5.jpg │ ├── hero6.jpg │ ├── hero7.jpg │ ├── hero8.jpg │ ├── hongphucdang.jpg │ ├── hotel1.jpg │ ├── ida-logo.png │ ├── kaiyuanshe.png │ ├── kaiyuanshe_big.png │ ├── knittingeditor.png │ ├── knittingpattern.png │ ├── labyrinth.png │ ├── lb1.jpg │ ├── lb2.jpg │ ├── lb3.jpg │ ├── lb4.jpg │ ├── lb5.jpg │ ├── lb6.jpg │ ├── lb7.jpg │ ├── lb8.jpg │ ├── lightbox │ │ ├── close.png │ │ ├── loading.gif │ │ ├── next.png │ │ └── prev.png │ ├── logo-dark.png │ ├── logo.png │ ├── loklak-fossasia.jpg │ ├── loklak.jpg │ ├── lubuntu-fossasia-julien-lavergne_0.JPG │ ├── lubuntu-netbook.jpg │ ├── machine-knitting.jpg │ ├── meilix.png │ ├── open-event-orga-app.png │ ├── open-event.jpg │ ├── phimpme.jpg │ ├── phimpme.png │ ├── pierros-papadeas-with-fossasia-participants.JPG │ ├── pocketscience.jpg │ ├── pslab.png │ ├── query-server.jpg │ ├── side1.jpg │ ├── side2.jpg │ ├── side3.jpg │ ├── siliconstraits.png │ ├── soareschen.jpg │ ├── speaker1.jpg │ ├── speaker2.jpg │ ├── speaker3.jpg │ ├── speaker4.jpg │ ├── sponsor1.png │ ├── sponsor2.png │ ├── sponsor3.png │ ├── sponsor4.png │ ├── sponsor5.png │ ├── sponsor6.png │ ├── susi.png │ ├── susi_android.png │ ├── susi_android_a.png │ ├── susi_ios.png │ ├── susi_ios2.png │ ├── susper.png │ ├── travel.jpg │ ├── venue.jpg │ ├── webapp.png │ ├── women-panel-fossasia-2010-Hong-Phuc-Dang-middle-and-Lilly-Nguyen-right.jpg │ └── yaydoc.jpg └── js │ ├── bootstrap.js │ ├── bootstrap.min copy.min.js │ ├── bootstrap.min.js │ ├── bootstrap │ ├── affix.js │ ├── alert.js │ ├── bootstrap.mix.js │ ├── button.js │ ├── carousel.js │ ├── collapse.js │ ├── dropdown.js │ ├── modal.js │ ├── popover.js │ ├── scrollspy.js │ ├── tab.js │ ├── tooltip.js │ └── transition.js │ ├── flexslider.min.js │ ├── jquery.countdown.min.js │ ├── jquery.plugin.min.js │ ├── lightbox.min.js │ ├── placeholders.min.js │ ├── scripts.js │ ├── showdown.min.js │ ├── skrollr.min.js │ ├── smooth-scroll.min.js │ ├── spectragram.min.js │ └── twitterfetcher.min.js ├── fossasia.gemspec └── index.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | .bundle 3 | .sass-cache 4 | _site 5 | Gemfile.lock 6 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | gemspec 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FOSSASIA Jekyll Theme 2 | 3 | Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`. 4 | 5 | To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site! 6 | 7 | TODO: Delete this and the text above, and describe your gem 8 | 9 | 10 | ## Installation 11 | 12 | Add this line to your Jekyll site's `Gemfile`: 13 | 14 | ```ruby 15 | gem "fossasia" 16 | ``` 17 | 18 | And add this line to your Jekyll site's `_config.yml`: 19 | 20 | ```yaml 21 | theme: fossasia 22 | ``` 23 | 24 | And then execute: 25 | 26 | $ bundle 27 | 28 | Or install it yourself as: 29 | 30 | $ gem install fossasia 31 | 32 | ## Usage 33 | 34 | TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets. 35 | 36 | ## Contributing 37 | 38 | Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hello. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. 39 | 40 | ## Development 41 | 42 | To set up your environment to develop this theme, run `bundle install`. 43 | 44 | Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal. 45 | 46 | When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled. 47 | To add a custom directory to your theme-gem, please edit the regexp in `fossasia.gemspec` accordingly. 48 | 49 | ## License 50 | 51 | The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). 52 | 53 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Knitting 2 | description: Open Source Knitting Software with FOSSASIA 3 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | {{ site.title }} | FOSSASIA 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | {% include header.html %} 8 |
9 |
10 |
11 | Background Image 12 |
13 |
14 |
15 |
16 |

{{ site.title | default: site.github.repository_name }}

17 |

18 | {{ site.description | default: site.github.project_tagline }} 19 |

20 |
21 |
22 |
23 |
24 |
25 |
26 | {{ content }} 27 |
28 |
29 |
30 | {% include footer.html %} 31 | 32 | 33 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | {{ content }} 6 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | {{ content }} 6 | -------------------------------------------------------------------------------- /assets/css/custom-blog.css: -------------------------------------------------------------------------------- 1 | img.rss { 2 | margin-bottom: 30px; 3 | } 4 | 5 | 6 | #result .item{ 7 | height: 450px; 8 | margin:5% 3% 5% 3%; 9 | background-color: #fff; 10 | overflow: hidden; 11 | } 12 | #result .item h1 { 13 | font-weight: 400 ; 14 | } 15 | #result p a{ 16 | margin-left: 5px; 17 | margin-right: 5px; 18 | } 19 | #result .item .summary{ 20 | margin: 36px 10% 50px 10%; 21 | } 22 | 23 | 24 | /* 25 | .post { 26 | display: none; 27 | padding: 20px; 28 | position: relative; 29 | height: 100%; 30 | } 31 | 32 | .title, .author-date { 33 | padding: 0 0 20px; 34 | } 35 | 36 | .post.active { 37 | display: block; 38 | } 39 | 40 | .post > h4 { 41 | font-size: 1em; 42 | } 43 | 44 | .links { 45 | display: flex; 46 | list-style-type: none; 47 | justify-content: flex-start; 48 | padding-left: 0; 49 | } 50 | 51 | .links li { 52 | display: inline-block; 53 | margin-right: 15px; 54 | background-color: #2D728F; 55 | padding: 5px 10px; 56 | } 57 | 58 | .post img, post svg{ 59 | display: block; 60 | width:30%; 61 | height: 30%; 62 | margin: 10px auto; 63 | } 64 | 65 | .post .link { 66 | position: absolute; 67 | top: 0; 68 | width: 100%; 69 | margin-left: -20px; 70 | margin-top: 440px; 71 | height: 60px; 72 | box-sizing: border-box; 73 | padding: 20px; 74 | font-weight: 700; 75 | background-color: #fff; 76 | transition: background-color 0.2s ease-in; 77 | color: #e12b00; 78 | } 79 | 80 | .linkText { 81 | padding-bottom: 3px; 82 | font-size: 1.5em; 83 | } 84 | 85 | .post .link:hover { 86 | background-color: #ddd; 87 | 88 | }*/ 89 | */ -------------------------------------------------------------------------------- /assets/css/custom.css: -------------------------------------------------------------------------------- 1 | .schedule a { 2 | color: #E12B00; 3 | border: none; 4 | } 5 | 6 | .schedule a:hover { 7 | color: #E12B00; 8 | text-decoration: underline; 9 | border: none; 10 | }; 11 | 12 | .schedule a:active { 13 | color: red; 14 | text-decoration: underline; 15 | border: none; 16 | } 17 | 18 | .schedule a:visited { 19 | color: #B82300; 20 | text-decoration: none; 21 | border: none; 22 | } 23 | 24 | .tweets-feed { 25 | color: #FFFFFF; 26 | line-height: 25px; 27 | font-size: 20px; 28 | transition: opacity 0.2s linear; 29 | margin-bottom: 20px; 30 | height: 250px; 31 | } 32 | 33 | .tweets-feed a { 34 | color: #FFFFFF; 35 | text-decoration: underline; 36 | font-weight:700; 37 | } 38 | 39 | .tweets-feed a:hover { 40 | color: #FFFFFF; 41 | } 42 | 43 | .tweets-feed .dateTweeted { 44 | font-size: 15px; 45 | display: block; 46 | text-align: center; 47 | margin: 10px auto; 48 | } 49 | 50 | .subscribe-1 .email-subscribe { 51 | margin-bottom: 50px !important; 52 | } 53 | .newsletter-name{ 54 | padding-right: 0px; 55 | } 56 | .newsletter-name input{ 57 | border-radius: 10px 0px 0px 10px; 58 | } 59 | .newsletter-email{ 60 | padding-left: 5px; 61 | padding-right: 5px; 62 | } 63 | .newsletter-email input{ 64 | border-radius: 0px; 65 | } 66 | .newsletter-submit{ 67 | padding-left: 0px; 68 | } 69 | .newsletter-submit input{ 70 | border-radius: 0px 10px 10px 0px; 71 | } 72 | .social-profiles a i{ 73 | transition: all .5s; 74 | } 75 | .social-profiles > *{ 76 | height: 48px; 77 | width: 48px; 78 | text-align: center; 79 | margin-right: 0px !important; 80 | display: inline-block; 81 | } 82 | .social-profiles i{ 83 | vertical-align: middle; 84 | } 85 | .social-profiles a:hover i{ 86 | color: grey; 87 | } 88 | .sticky-nav .menu li a:hover { 89 | border-color: #C3BFBF; 90 | border-bottom-width: 2px; 91 | margin-bottom: 2px; 92 | } 93 | 94 | .sidebar-content .widget ul li a:hover{ 95 | border-color: #C3BFBF; 96 | border-bottom-width: 2px; 97 | margin-top: 2px; 98 | margin-bottom: 2px; 99 | } 100 | /*css classes for hiding and showing Donation and regular supporter parts in donate.html*/ 101 | .appear{ 102 | display: block; 103 | } 104 | .hide{ 105 | display: none; 106 | } 107 | .baddition{ 108 | margin-left: 600px; 109 | } 110 | 111 | div.copy-text { 112 | padding-left: 30px; 113 | padding-right: 30px; 114 | font-size: 12px; 115 | } 116 | 117 | .background-image-holder.parallax-background.skrollable.skrollable-between { 118 | background-image: url(img/header-fossasia.jpg); 119 | } 120 | 121 | .project-links a 122 | { 123 | text-decoration: none; 124 | padding: 1rem; 125 | font-size: 150%; 126 | color: #e12b00; 127 | border: 2px solid #e12b00; 128 | border-radius: 100vw; 129 | margin: 0.5rem; 130 | width: 4.5rem; 131 | height: 4.5rem; 132 | text-align: center; 133 | } 134 | 135 | .project-links a:hover 136 | { 137 | color: white; 138 | background: #e12b00; 139 | border-color: #e12b00; 140 | } 141 | 142 | p a, .text-link a { 143 | border: none; 144 | padding-bottom: 2px; 145 | } 146 | 147 | p a:hover, .text-link a:hover { 148 | text-decoration: underline; 149 | } 150 | 151 | .md-content-raw { 152 | line-height: 1.6; 153 | } 154 | 155 | .md-content-raw ul, .md-content-raw ol { 156 | line-height: 2; 157 | } 158 | 159 | .md-content-raw h1, .md-content-raw h2, .md-content-raw h3, .md-content-raw h4, .md-content-raw h5, .md-content-raw ul, .md-content-raw ol, .md-content-raw p { 160 | margin-bottom: 15px; 161 | } 162 | -------------------------------------------------------------------------------- /assets/css/flexslider.css: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery FlexSlider v2.2.0 3 | * http://www.woothemes.com/flexslider/ 4 | * 5 | * Copyright 2012 WooThemes 6 | * Free to use under the GPLv2 license. 7 | * http://www.gnu.org/licenses/gpl-2.0.html 8 | * 9 | * Contributing author: Tyler Smith (@mbmufffin) 10 | */ 11 | 12 | 13 | /* Browser Resets 14 | *********************************/ 15 | .flex-container a:active, 16 | .flexslider a:active, 17 | .flex-container a:focus, 18 | .flexslider a:focus {outline: none;} 19 | .slides, 20 | .flex-control-nav, 21 | .flex-direction-nav {margin: 0; padding: 0; list-style: none;} 22 | 23 | 24 | /* FlexSlider Necessary Styles 25 | *********************************/ 26 | .flexslider {margin: 0; padding: 0;} 27 | .flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */ 28 | .flexslider .slides img {width: 100%; display: block;} 29 | .flex-pauseplay span {text-transform: capitalize;} 30 | 31 | /* Clearfix for the .slides element */ 32 | .slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} 33 | html[xmlns] .slides {display: block;} 34 | * html .slides {height: 1%;} 35 | 36 | /* No JavaScript Fallback */ 37 | /* If you are not using another script, such as Modernizr, make sure you 38 | * include js that eliminates this class on page load */ 39 | .no-js .slides > li:first-child {display: block;} 40 | 41 | /* FlexSlider Default Theme 42 | *********************************/ 43 | .flexslider { margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1; } 44 | .flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; } 45 | .loading .flex-viewport { max-height: 300px; } 46 | .flexslider .slides { zoom: 1; } 47 | .carousel li { margin-right: 5px; } 48 | 49 | /* Direction Nav */ 50 | .flex-direction-nav {*height: 0;} 51 | .flex-direction-nav a { display: block; width: 60px; height: 60px; background: none; border: 2px solid #fff; border-radius: 50%; margin: -20px 0 0; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 1; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; cursor: pointer; } 52 | .flex-direction-nav a:hover{ background: rgba(255,255,255,0.3); } 53 | .flex-direction-nav .flex-prev { left: 17px; } 54 | .flex-direction-nav .flex-next { right: 17px; text-align: right; } 55 | .flexslider:hover .flex-prev { opacity: 0.7; left: 10px; } 56 | .flexslider:hover .flex-next { opacity: 0.7; right: 10px; } 57 | .flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; } 58 | .flex-disabled{ opacity: 0 !important; } 59 | .flex-direction-nav a:before { font-family: 'ElegantIcons'; font-size: 38px; display: inline-block; content: '#'; position: relative; top: -3px; color: #fff; left: 7px; padding-bottom: 22px; } 60 | .flex-direction-nav a.flex-next:before { content: '$'; right: 8px; left: -9px; } 61 | 62 | /* Pause/Play */ 63 | .flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; } 64 | .flex-pauseplay a:before { font-family: "flexslider-icon"; font-size: 20px; display: inline-block; content: '\f004'; } 65 | .flex-pauseplay a:hover { opacity: 1; } 66 | .flex-pauseplay a.flex-play:before { content: '\f003'; } 67 | 68 | /* Control Nav */ 69 | .flex-control-nav {width: 100%; position: absolute; bottom: 44px; text-align: center; z-index: 10;} 70 | .flex-control-nav li {margin: 0 5px; display: inline-block; zoom: 1; *display: inline;} 71 | .flex-control-paging li a {width: 8px; height: 8px; display: block; background: #fff; background: rgba(255,255,255,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 50%; -moz-border-radius: 20px; -o-border-radius: 50%; border-radius: 50%; transition: all .5s ease; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; } 72 | .flex-control-paging li a:hover { background: #fff; background: rgba(255,255,255,0.7); } 73 | .flex-control-paging li a.flex-active { background: #fff; background: rgba(255,255,255,0.9); cursor: default; } 74 | 75 | .flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;} 76 | .flex-control-thumbs li {width: 25%; float: left; margin: 0;} 77 | .flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;} 78 | .flex-control-thumbs img:hover {opacity: 1;} 79 | .flex-control-thumbs .flex-active {opacity: 1; cursor: default;} 80 | 81 | @media screen and (max-width: 860px) { 82 | .flex-direction-nav .flex-prev { opacity: 1; left: 10px;} 83 | .flex-direction-nav .flex-next { opacity: 1; right: 10px;} 84 | } -------------------------------------------------------------------------------- /assets/css/flexslider.min.css: -------------------------------------------------------------------------------- 1 | .flex-container a:active,.flex-container a:focus,.flexslider a:active,.flexslider a:focus{outline:0}.flex-control-nav,.flex-direction-nav,.slides{margin:0;padding:0;list-style:none}.flexslider{padding:0}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;display:block}.flex-pauseplay span{text-transform:capitalize}.slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .slides{display:block}* html .slides{height:1%}.no-js .slides>li:first-child{display:block}.flexslider{margin:0 0 60px;background:#fff;border:4px solid #fff;position:relative;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.2);-moz-box-shadow:0 1px 4px rgba(0,0,0,.2);-o-box-shadow:0 1px 4px rgba(0,0,0,.2);box-shadow:0 1px 4px rgba(0,0,0,.2);zoom:1}.flex-viewport{max-height:2000px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.flexslider .slides{zoom:1}.carousel li{margin-right:5px}.flex-direction-nav{*height:0}.flex-direction-nav a{display:block;width:60px;height:60px;background:0 0;border:2px solid #fff;border-radius:50%;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;opacity:1;color:rgba(0,0,0,.8);text-shadow:1px 1px 0 rgba(255,255,255,.3);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;cursor:pointer}.flex-direction-nav a:hover{background:rgba(255,255,255,.3)}.flex-direction-nav .flex-prev{left:17px}.flex-direction-nav .flex-next{right:17px;text-align:right}.flexslider:hover .flex-prev{opacity:.7;left:10px}.flexslider:hover .flex-next{opacity:.7;right:10px}.flexslider:hover .flex-next:hover,.flexslider:hover .flex-prev:hover{opacity:1}.flex-disabled{opacity:0!important}.flex-direction-nav a:before{font-family:ElegantIcons;font-size:38px;display:inline-block;content:'#';position:relative;top:-3px;color:#fff;left:7px;padding-bottom:22px}.flex-direction-nav a.flex-next:before{content:'$';right:8px;left:-9px}.flex-pauseplay a{display:block;width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a.flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:44px;text-align:center;z-index:10}.flex-control-nav li{margin:0 5px;display:inline-block;zoom:1;*display:inline}.flex-control-paging li a{width:8px;height:8px;display:block;background:#fff;background:rgba(255,255,255,.5);cursor:pointer;text-indent:-9999px;-webkit-border-radius:50%;-moz-border-radius:20px;-o-border-radius:50%;border-radius:50%;transition:all .5s ease;-webkit-transition:all .5s ease;-moz-transition:all .5s ease}.flex-control-paging li a:hover{background:#fff;background:rgba(255,255,255,.7)}.flex-control-paging li a.flex-active{background:#fff;background:rgba(255,255,255,.9);cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;display:block;opacity:.7;cursor:pointer}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}} -------------------------------------------------------------------------------- /assets/css/ie9.css: -------------------------------------------------------------------------------- 1 | .reveal-sidebar { 2 | transform: translateX(-300px); 3 | -webkit-transform: translateX(-300px); 4 | -moz-transform: translateX(-300px); 5 | } 6 | 7 | .sidebar-menu, .instagram-sidebar { 8 | transform: translateX(300px); 9 | -webkit-transform: translateX(300px); 10 | -moz-transform: translateX(300px); 11 | } 12 | 13 | .show-sidebar { 14 | transform: translateX(0px); 15 | -webkit-transform: translateX(0px); 16 | -moz-transform: translateX(0px); 17 | } -------------------------------------------------------------------------------- /assets/css/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 | -------------------------------------------------------------------------------- /assets/css/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 | .btn-xs & { 32 | top: 0; 33 | padding: 1px 5px; 34 | } 35 | } 36 | 37 | // Hover state, but only for links 38 | a.badge { 39 | &:hover, 40 | &:focus { 41 | color: @badge-link-hover-color; 42 | text-decoration: none; 43 | cursor: pointer; 44 | } 45 | } 46 | 47 | // Account for counters in navs 48 | a.list-group-item.active > .badge, 49 | .nav-pills > .active > a > .badge { 50 | color: @badge-active-color; 51 | background-color: @badge-active-bg; 52 | } 53 | .nav-pills > li > a > .badge { 54 | margin-left: 3px; 55 | } 56 | -------------------------------------------------------------------------------- /assets/css/less/bootstrap.less: -------------------------------------------------------------------------------- 1 | // Core variables and mixins 2 | @import "variables.less"; 3 | @import "mixins.less"; 4 | 5 | // Reset 6 | @import "normalize.less"; 7 | @import "print.less"; 8 | 9 | // Core CSS 10 | @import "scaffolding.less"; 11 | @import "type.less"; 12 | @import "code.less"; 13 | @import "grid.less"; 14 | @import "tables.less"; 15 | @import "forms.less"; 16 | @import "buttons.less"; 17 | 18 | // Components 19 | @import "component-animations.less"; 20 | @import "glyphicons.less"; 21 | @import "dropdowns.less"; 22 | @import "button-groups.less"; 23 | @import "input-groups.less"; 24 | @import "navs.less"; 25 | @import "navbar.less"; 26 | @import "breadcrumbs.less"; 27 | @import "pagination.less"; 28 | @import "pager.less"; 29 | @import "labels.less"; 30 | @import "badges.less"; 31 | @import "jumbotron.less"; 32 | @import "thumbnails.less"; 33 | @import "alerts.less"; 34 | @import "progress-bars.less"; 35 | @import "media.less"; 36 | @import "list-group.less"; 37 | @import "panels.less"; 38 | @import "wells.less"; 39 | @import "close.less"; 40 | 41 | // Components w/ JavaScript 42 | @import "modals.less"; 43 | @import "tooltip.less"; 44 | @import "popovers.less"; 45 | @import "carousel.less"; 46 | 47 | // Utility classes 48 | @import "utilities.less"; 49 | @import "responsive-utilities.less"; 50 | -------------------------------------------------------------------------------- /assets/css/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /assets/css/less/button-groups.less: -------------------------------------------------------------------------------- 1 | // 2 | // Button groups 3 | // -------------------------------------------------- 4 | 5 | // Make the div behave like a button 6 | .btn-group, 7 | .btn-group-vertical { 8 | position: relative; 9 | display: inline-block; 10 | vertical-align: middle; // match .btn alignment given font-size hack above 11 | > .btn { 12 | position: relative; 13 | float: left; 14 | // Bring the "active" button to the front 15 | &:hover, 16 | &:focus, 17 | &:active, 18 | &.active { 19 | z-index: 2; 20 | } 21 | &:focus { 22 | // Remove focus outline when dropdown JS adds it after closing the menu 23 | outline: none; 24 | } 25 | } 26 | } 27 | 28 | // Prevent double borders when buttons are next to each other 29 | .btn-group { 30 | .btn + .btn, 31 | .btn + .btn-group, 32 | .btn-group + .btn, 33 | .btn-group + .btn-group { 34 | margin-left: -1px; 35 | } 36 | } 37 | 38 | // Optional: Group multiple button groups together for a toolbar 39 | .btn-toolbar { 40 | margin-left: -5px; // Offset the first child's margin 41 | &:extend(.clearfix all); 42 | 43 | .btn-group, 44 | .input-group { 45 | float: left; 46 | } 47 | > .btn, 48 | > .btn-group, 49 | > .input-group { 50 | margin-left: 5px; 51 | } 52 | } 53 | 54 | .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { 55 | border-radius: 0; 56 | } 57 | 58 | // 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 59 | .btn-group > .btn:first-child { 60 | margin-left: 0; 61 | &:not(:last-child):not(.dropdown-toggle) { 62 | .border-right-radius(0); 63 | } 64 | } 65 | // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it 66 | .btn-group > .btn:last-child:not(:first-child), 67 | .btn-group > .dropdown-toggle:not(:first-child) { 68 | .border-left-radius(0); 69 | } 70 | 71 | // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) 72 | .btn-group > .btn-group { 73 | float: left; 74 | } 75 | .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { 76 | border-radius: 0; 77 | } 78 | .btn-group > .btn-group:first-child { 79 | > .btn:last-child, 80 | > .dropdown-toggle { 81 | .border-right-radius(0); 82 | } 83 | } 84 | .btn-group > .btn-group:last-child > .btn:first-child { 85 | .border-left-radius(0); 86 | } 87 | 88 | // On active and open, don't show outline 89 | .btn-group .dropdown-toggle:active, 90 | .btn-group.open .dropdown-toggle { 91 | outline: 0; 92 | } 93 | 94 | 95 | // Sizing 96 | // 97 | // Remix the default button sizing classes into new ones for easier manipulation. 98 | 99 | .btn-group-xs > .btn { &:extend(.btn-xs); } 100 | .btn-group-sm > .btn { &:extend(.btn-sm); } 101 | .btn-group-lg > .btn { &:extend(.btn-lg); } 102 | 103 | 104 | // Split button dropdowns 105 | // ---------------------- 106 | 107 | // Give the line between buttons some depth 108 | .btn-group > .btn + .dropdown-toggle { 109 | padding-left: 8px; 110 | padding-right: 8px; 111 | } 112 | .btn-group > .btn-lg + .dropdown-toggle { 113 | padding-left: 12px; 114 | padding-right: 12px; 115 | } 116 | 117 | // The clickable button for toggling the menu 118 | // Remove the gradient and set the same inset shadow as the :active state 119 | .btn-group.open .dropdown-toggle { 120 | .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); 121 | 122 | // Show no shadow for `.btn-link` since it has no other button styles. 123 | &.btn-link { 124 | .box-shadow(none); 125 | } 126 | } 127 | 128 | 129 | // Reposition the caret 130 | .btn .caret { 131 | margin-left: 0; 132 | } 133 | // Carets in other button sizes 134 | .btn-lg .caret { 135 | border-width: @caret-width-large @caret-width-large 0; 136 | border-bottom-width: 0; 137 | } 138 | // Upside down carets for .dropup 139 | .dropup .btn-lg .caret { 140 | border-width: 0 @caret-width-large @caret-width-large; 141 | } 142 | 143 | 144 | // Vertical button groups 145 | // ---------------------- 146 | 147 | .btn-group-vertical { 148 | > .btn, 149 | > .btn-group, 150 | > .btn-group > .btn { 151 | display: block; 152 | float: none; 153 | width: 100%; 154 | max-width: 100%; 155 | } 156 | 157 | // Clear floats so dropdown menus can be properly placed 158 | > .btn-group { 159 | &:extend(.clearfix all); 160 | > .btn { 161 | float: none; 162 | } 163 | } 164 | 165 | > .btn + .btn, 166 | > .btn + .btn-group, 167 | > .btn-group + .btn, 168 | > .btn-group + .btn-group { 169 | margin-top: -1px; 170 | margin-left: 0; 171 | } 172 | } 173 | 174 | .btn-group-vertical > .btn { 175 | &:not(:first-child):not(:last-child) { 176 | border-radius: 0; 177 | } 178 | &:first-child:not(:last-child) { 179 | border-top-right-radius: @border-radius-base; 180 | .border-bottom-radius(0); 181 | } 182 | &:last-child:not(:first-child) { 183 | border-bottom-left-radius: @border-radius-base; 184 | .border-top-radius(0); 185 | } 186 | } 187 | .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { 188 | border-radius: 0; 189 | } 190 | .btn-group-vertical > .btn-group:first-child:not(:last-child) { 191 | > .btn:last-child, 192 | > .dropdown-toggle { 193 | .border-bottom-radius(0); 194 | } 195 | } 196 | .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { 197 | .border-top-radius(0); 198 | } 199 | 200 | 201 | 202 | // Justified button groups 203 | // ---------------------- 204 | 205 | .btn-group-justified { 206 | display: table; 207 | width: 100%; 208 | table-layout: fixed; 209 | border-collapse: separate; 210 | > .btn, 211 | > .btn-group { 212 | float: none; 213 | display: table-cell; 214 | width: 1%; 215 | } 216 | > .btn-group .btn { 217 | width: 100%; 218 | } 219 | } 220 | 221 | 222 | // Checkbox and radio options 223 | [data-toggle="buttons"] > .btn > input[type="radio"], 224 | [data-toggle="buttons"] > .btn > input[type="checkbox"] { 225 | display: none; 226 | } 227 | -------------------------------------------------------------------------------- /assets/css/less/buttons.less: -------------------------------------------------------------------------------- 1 | // 2 | // Buttons 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // -------------------------------------------------- 8 | 9 | .btn { 10 | display: inline-block; 11 | margin-bottom: 0; // For input.btn 12 | font-weight: @btn-font-weight; 13 | text-align: center; 14 | vertical-align: middle; 15 | cursor: pointer; 16 | background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 17 | border: 1px solid transparent; 18 | white-space: nowrap; 19 | .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); 20 | .user-select(none); 21 | 22 | &, 23 | &:active, 24 | &.active { 25 | &:focus { 26 | .tab-focus(); 27 | } 28 | } 29 | 30 | &:hover, 31 | &:focus { 32 | color: @btn-default-color; 33 | text-decoration: none; 34 | } 35 | 36 | &:active, 37 | &.active { 38 | outline: 0; 39 | background-image: none; 40 | .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); 41 | } 42 | 43 | &.disabled, 44 | &[disabled], 45 | fieldset[disabled] & { 46 | cursor: not-allowed; 47 | pointer-events: none; // Future-proof disabling of clicks 48 | .opacity(.65); 49 | .box-shadow(none); 50 | } 51 | } 52 | 53 | 54 | // Alternate buttons 55 | // -------------------------------------------------- 56 | 57 | .btn-default { 58 | .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); 59 | } 60 | .btn-primary { 61 | .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); 62 | } 63 | // Success appears as green 64 | .btn-success { 65 | .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); 66 | } 67 | // Info appears as blue-green 68 | .btn-info { 69 | .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); 70 | } 71 | // Warning appears as orange 72 | .btn-warning { 73 | .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); 74 | } 75 | // Danger and error appear as red 76 | .btn-danger { 77 | .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); 78 | } 79 | 80 | 81 | // Link buttons 82 | // ------------------------- 83 | 84 | // Make a button look and behave like a link 85 | .btn-link { 86 | color: @link-color; 87 | font-weight: normal; 88 | cursor: pointer; 89 | border-radius: 0; 90 | 91 | &, 92 | &:active, 93 | &[disabled], 94 | fieldset[disabled] & { 95 | background-color: transparent; 96 | .box-shadow(none); 97 | } 98 | &, 99 | &:hover, 100 | &:focus, 101 | &:active { 102 | border-color: transparent; 103 | } 104 | &:hover, 105 | &:focus { 106 | color: @link-hover-color; 107 | text-decoration: underline; 108 | background-color: transparent; 109 | } 110 | &[disabled], 111 | fieldset[disabled] & { 112 | &:hover, 113 | &:focus { 114 | color: @btn-link-disabled-color; 115 | text-decoration: none; 116 | } 117 | } 118 | } 119 | 120 | 121 | // Button Sizes 122 | // -------------------------------------------------- 123 | 124 | .btn-lg { 125 | // line-height: ensure even-numbered height of button next to large input 126 | .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); 127 | } 128 | .btn-sm { 129 | // line-height: ensure proper height of button next to small input 130 | .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); 131 | } 132 | .btn-xs { 133 | .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); 134 | } 135 | 136 | 137 | // Block button 138 | // -------------------------------------------------- 139 | 140 | .btn-block { 141 | display: block; 142 | width: 100%; 143 | padding-left: 0; 144 | padding-right: 0; 145 | } 146 | 147 | // Vertically space out multiple block buttons 148 | .btn-block + .btn-block { 149 | margin-top: 5px; 150 | } 151 | 152 | // Specificity overrides 153 | input[type="submit"], 154 | input[type="reset"], 155 | input[type="button"] { 156 | &.btn-block { 157 | width: 100%; 158 | } 159 | } 160 | -------------------------------------------------------------------------------- /assets/css/less/carousel.less: -------------------------------------------------------------------------------- 1 | // 2 | // Carousel 3 | // -------------------------------------------------- 4 | 5 | 6 | // Wrapper for the slide container and indicators 7 | .carousel { 8 | position: relative; 9 | } 10 | 11 | .carousel-inner { 12 | position: relative; 13 | overflow: hidden; 14 | width: 100%; 15 | 16 | > .item { 17 | display: none; 18 | position: relative; 19 | .transition(.6s ease-in-out left); 20 | 21 | // Account for jankitude on images 22 | > img, 23 | > a > img { 24 | &:extend(.img-responsive); 25 | line-height: 1; 26 | } 27 | } 28 | 29 | > .active, 30 | > .next, 31 | > .prev { display: block; } 32 | 33 | > .active { 34 | left: 0; 35 | } 36 | 37 | > .next, 38 | > .prev { 39 | position: absolute; 40 | top: 0; 41 | width: 100%; 42 | } 43 | 44 | > .next { 45 | left: 100%; 46 | } 47 | > .prev { 48 | left: -100%; 49 | } 50 | > .next.left, 51 | > .prev.right { 52 | left: 0; 53 | } 54 | 55 | > .active.left { 56 | left: -100%; 57 | } 58 | > .active.right { 59 | left: 100%; 60 | } 61 | 62 | } 63 | 64 | // Left/right controls for nav 65 | // --------------------------- 66 | 67 | .carousel-control { 68 | position: absolute; 69 | top: 0; 70 | left: 0; 71 | bottom: 0; 72 | width: @carousel-control-width; 73 | .opacity(@carousel-control-opacity); 74 | font-size: @carousel-control-font-size; 75 | color: @carousel-control-color; 76 | text-align: center; 77 | text-shadow: @carousel-text-shadow; 78 | // We can't have this transition here because WebKit cancels the carousel 79 | // animation if you trip this while in the middle of another animation. 80 | 81 | // Set gradients for backgrounds 82 | &.left { 83 | #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); 84 | } 85 | &.right { 86 | left: auto; 87 | right: 0; 88 | #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); 89 | } 90 | 91 | // Hover/focus state 92 | &:hover, 93 | &:focus { 94 | outline: none; 95 | color: @carousel-control-color; 96 | text-decoration: none; 97 | .opacity(.9); 98 | } 99 | 100 | // Toggles 101 | .icon-prev, 102 | .icon-next, 103 | .glyphicon-chevron-left, 104 | .glyphicon-chevron-right { 105 | position: absolute; 106 | top: 50%; 107 | z-index: 5; 108 | display: inline-block; 109 | } 110 | .icon-prev, 111 | .glyphicon-chevron-left { 112 | left: 50%; 113 | } 114 | .icon-next, 115 | .glyphicon-chevron-right { 116 | right: 50%; 117 | } 118 | .icon-prev, 119 | .icon-next { 120 | width: 20px; 121 | height: 20px; 122 | margin-top: -10px; 123 | margin-left: -10px; 124 | font-family: serif; 125 | } 126 | 127 | .icon-prev { 128 | &:before { 129 | content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) 130 | } 131 | } 132 | .icon-next { 133 | &:before { 134 | content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) 135 | } 136 | } 137 | } 138 | 139 | // Optional indicator pips 140 | // 141 | // Add an unordered list with the following class and add a list item for each 142 | // slide your carousel holds. 143 | 144 | .carousel-indicators { 145 | position: absolute; 146 | bottom: 10px; 147 | left: 50%; 148 | z-index: 15; 149 | width: 60%; 150 | margin-left: -30%; 151 | padding-left: 0; 152 | list-style: none; 153 | text-align: center; 154 | 155 | li { 156 | display: inline-block; 157 | width: 10px; 158 | height: 10px; 159 | margin: 1px; 160 | text-indent: -999px; 161 | border: 1px solid @carousel-indicator-border-color; 162 | border-radius: 10px; 163 | cursor: pointer; 164 | 165 | // IE8-9 hack for event handling 166 | // 167 | // Internet Explorer 8-9 does not support clicks on elements without a set 168 | // `background-color`. We cannot use `filter` since that's not viewed as a 169 | // background color by the browser. Thus, a hack is needed. 170 | // 171 | // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we 172 | // set alpha transparency for the best results possible. 173 | background-color: #000 \9; // IE8 174 | background-color: rgba(0,0,0,0); // IE9 175 | } 176 | .active { 177 | margin: 0; 178 | width: 12px; 179 | height: 12px; 180 | background-color: @carousel-indicator-active-bg; 181 | } 182 | } 183 | 184 | // Optional captions 185 | // ----------------------------- 186 | // Hidden by default for smaller viewports 187 | .carousel-caption { 188 | position: absolute; 189 | left: 15%; 190 | right: 15%; 191 | bottom: 20px; 192 | z-index: 10; 193 | padding-top: 20px; 194 | padding-bottom: 20px; 195 | color: @carousel-caption-color; 196 | text-align: center; 197 | text-shadow: @carousel-text-shadow; 198 | & .btn { 199 | text-shadow: none; // No shadow for button elements in carousel-caption 200 | } 201 | } 202 | 203 | 204 | // Scale up controls for tablets and up 205 | @media screen and (min-width: @screen-sm-min) { 206 | 207 | // Scale up the controls a smidge 208 | .carousel-control { 209 | .glyphicon-chevron-left, 210 | .glyphicon-chevron-right, 211 | .icon-prev, 212 | .icon-next { 213 | width: 30px; 214 | height: 30px; 215 | margin-top: -15px; 216 | margin-left: -15px; 217 | font-size: 30px; 218 | } 219 | } 220 | 221 | // Show and left align the captions 222 | .carousel-caption { 223 | left: 20%; 224 | right: 20%; 225 | padding-bottom: 30px; 226 | } 227 | 228 | // Move up the indicators 229 | .carousel-indicators { 230 | bottom: 20px; 231 | } 232 | } 233 | -------------------------------------------------------------------------------- /assets/css/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 | -------------------------------------------------------------------------------- /assets/css/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 | // User input typically entered via keyboard 25 | kbd { 26 | padding: 2px 4px; 27 | font-size: 90%; 28 | color: @kbd-color; 29 | background-color: @kbd-bg; 30 | border-radius: @border-radius-small; 31 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); 32 | } 33 | 34 | // Blocks of code 35 | pre { 36 | display: block; 37 | padding: ((@line-height-computed - 1) / 2); 38 | margin: 0 0 (@line-height-computed / 2); 39 | font-size: (@font-size-base - 1); // 14px to 13px 40 | line-height: @line-height-base; 41 | word-break: break-all; 42 | word-wrap: break-word; 43 | color: @pre-color; 44 | background-color: @pre-bg; 45 | border: 1px solid @pre-border-color; 46 | border-radius: @border-radius-base; 47 | 48 | // Account for some code outputs that place code tags in pre tags 49 | code { 50 | padding: 0; 51 | font-size: inherit; 52 | color: inherit; 53 | white-space: pre-wrap; 54 | background-color: transparent; 55 | border-radius: 0; 56 | } 57 | } 58 | 59 | // Enable scrollable blocks of code 60 | .pre-scrollable { 61 | max-height: @pre-scrollable-max-height; 62 | overflow-y: scroll; 63 | } 64 | -------------------------------------------------------------------------------- /assets/css/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 | -------------------------------------------------------------------------------- /assets/css/less/dropdowns.less: -------------------------------------------------------------------------------- 1 | // 2 | // Dropdown menus 3 | // -------------------------------------------------- 4 | 5 | 6 | // Dropdown arrow/caret 7 | .caret { 8 | display: inline-block; 9 | width: 0; 10 | height: 0; 11 | margin-left: 2px; 12 | vertical-align: middle; 13 | border-top: @caret-width-base solid; 14 | border-right: @caret-width-base solid transparent; 15 | border-left: @caret-width-base solid transparent; 16 | } 17 | 18 | // The dropdown wrapper (div) 19 | .dropdown { 20 | position: relative; 21 | } 22 | 23 | // Prevent the focus on the dropdown toggle when closing dropdowns 24 | .dropdown-toggle:focus { 25 | outline: 0; 26 | } 27 | 28 | // The dropdown menu (ul) 29 | .dropdown-menu { 30 | position: absolute; 31 | top: 100%; 32 | left: 0; 33 | z-index: @zindex-dropdown; 34 | display: none; // none by default, but block on "open" of the menu 35 | float: left; 36 | min-width: 160px; 37 | padding: 5px 0; 38 | margin: 2px 0 0; // override default ul 39 | list-style: none; 40 | font-size: @font-size-base; 41 | background-color: @dropdown-bg; 42 | border: 1px solid @dropdown-fallback-border; // IE8 fallback 43 | border: 1px solid @dropdown-border; 44 | border-radius: @border-radius-base; 45 | .box-shadow(0 6px 12px rgba(0,0,0,.175)); 46 | background-clip: padding-box; 47 | 48 | // Aligns the dropdown menu to right 49 | // 50 | // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` 51 | &.pull-right { 52 | right: 0; 53 | left: auto; 54 | } 55 | 56 | // Dividers (basically an hr) within the dropdown 57 | .divider { 58 | .nav-divider(@dropdown-divider-bg); 59 | } 60 | 61 | // Links within the dropdown menu 62 | > li > a { 63 | display: block; 64 | padding: 3px 20px; 65 | clear: both; 66 | font-weight: normal; 67 | line-height: @line-height-base; 68 | color: @dropdown-link-color; 69 | white-space: nowrap; // prevent links from randomly breaking onto new lines 70 | } 71 | } 72 | 73 | // Hover/Focus state 74 | .dropdown-menu > li > a { 75 | &:hover, 76 | &:focus { 77 | text-decoration: none; 78 | color: @dropdown-link-hover-color; 79 | background-color: @dropdown-link-hover-bg; 80 | } 81 | } 82 | 83 | // Active state 84 | .dropdown-menu > .active > a { 85 | &, 86 | &:hover, 87 | &:focus { 88 | color: @dropdown-link-active-color; 89 | text-decoration: none; 90 | outline: 0; 91 | background-color: @dropdown-link-active-bg; 92 | } 93 | } 94 | 95 | // Disabled state 96 | // 97 | // Gray out text and ensure the hover/focus state remains gray 98 | 99 | .dropdown-menu > .disabled > a { 100 | &, 101 | &:hover, 102 | &:focus { 103 | color: @dropdown-link-disabled-color; 104 | } 105 | } 106 | // Nuke hover/focus effects 107 | .dropdown-menu > .disabled > a { 108 | &:hover, 109 | &:focus { 110 | text-decoration: none; 111 | background-color: transparent; 112 | background-image: none; // Remove CSS gradient 113 | .reset-filter(); 114 | cursor: not-allowed; 115 | } 116 | } 117 | 118 | // Open state for the dropdown 119 | .open { 120 | // Show the menu 121 | > .dropdown-menu { 122 | display: block; 123 | } 124 | 125 | // Remove the outline when :focus is triggered 126 | > a { 127 | outline: 0; 128 | } 129 | } 130 | 131 | // Menu positioning 132 | // 133 | // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown 134 | // menu with the parent. 135 | .dropdown-menu-right { 136 | left: auto; // Reset the default from `.dropdown-menu` 137 | right: 0; 138 | } 139 | // With v3, we enabled auto-flipping if you have a dropdown within a right 140 | // aligned nav component. To enable the undoing of that, we provide an override 141 | // to restore the default dropdown menu alignment. 142 | // 143 | // This is only for left-aligning a dropdown menu within a `.navbar-right` or 144 | // `.pull-right` nav component. 145 | .dropdown-menu-left { 146 | left: 0; 147 | right: auto; 148 | } 149 | 150 | // Dropdown section headers 151 | .dropdown-header { 152 | display: block; 153 | padding: 3px 20px; 154 | font-size: @font-size-small; 155 | line-height: @line-height-base; 156 | color: @dropdown-header-color; 157 | } 158 | 159 | // Backdrop to catch body clicks on mobile, etc. 160 | .dropdown-backdrop { 161 | position: fixed; 162 | left: 0; 163 | right: 0; 164 | bottom: 0; 165 | top: 0; 166 | z-index: (@zindex-dropdown - 10); 167 | } 168 | 169 | // Right aligned dropdowns 170 | .pull-right > .dropdown-menu { 171 | right: 0; 172 | left: auto; 173 | } 174 | 175 | // Allow for dropdowns to go bottom up (aka, dropup-menu) 176 | // 177 | // Just add .dropup after the standard .dropdown class and you're set, bro. 178 | // TODO: abstract this so that the navbar fixed styles are not placed here? 179 | 180 | .dropup, 181 | .navbar-fixed-bottom .dropdown { 182 | // Reverse the caret 183 | .caret { 184 | border-top: 0; 185 | border-bottom: @caret-width-base solid; 186 | content: ""; 187 | } 188 | // Different positioning for bottom up menu 189 | .dropdown-menu { 190 | top: auto; 191 | bottom: 100%; 192 | margin-bottom: 1px; 193 | } 194 | } 195 | 196 | 197 | // Component alignment 198 | // 199 | // Reiterate per navbar.less and the modified component alignment there. 200 | 201 | @media (min-width: @grid-float-breakpoint) { 202 | .navbar-right { 203 | .dropdown-menu { 204 | .dropdown-menu-right(); 205 | } 206 | // Necessary for overrides of the default right aligned menu. 207 | // Will remove come v4 in all likelihood. 208 | .dropdown-menu-left { 209 | .dropdown-menu-left(); 210 | } 211 | } 212 | } 213 | 214 | -------------------------------------------------------------------------------- /assets/css/less/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container widths 7 | // 8 | // Set the container width, and override it for fixed navbars in media queries. 9 | 10 | .container { 11 | .container-fixed(); 12 | 13 | @media (min-width: @screen-sm-min) { 14 | width: @container-sm; 15 | } 16 | @media (min-width: @screen-md-min) { 17 | width: @container-md; 18 | } 19 | @media (min-width: @screen-lg-min) { 20 | width: @container-lg; 21 | } 22 | } 23 | 24 | 25 | // Fluid container 26 | // 27 | // Utilizes the mixin meant for fixed width containers, but without any defined 28 | // width for fluid, full width layouts. 29 | 30 | .container-fluid { 31 | .container-fixed(); 32 | } 33 | 34 | 35 | // Row 36 | // 37 | // Rows contain and clear the floats of your columns. 38 | 39 | .row { 40 | .make-row(); 41 | } 42 | 43 | 44 | // Columns 45 | // 46 | // Common styles for small and large grid columns 47 | 48 | .make-grid-columns(); 49 | 50 | 51 | // Extra small grid 52 | // 53 | // Columns, offsets, pushes, and pulls for extra small devices like 54 | // smartphones. 55 | 56 | .make-grid(xs); 57 | 58 | 59 | // Small grid 60 | // 61 | // Columns, offsets, pushes, and pulls for the small device range, from phones 62 | // to tablets. 63 | 64 | @media (min-width: @screen-sm-min) { 65 | .make-grid(sm); 66 | } 67 | 68 | 69 | // Medium grid 70 | // 71 | // Columns, offsets, pushes, and pulls for the desktop device range. 72 | 73 | @media (min-width: @screen-md-min) { 74 | .make-grid(md); 75 | } 76 | 77 | 78 | // Large grid 79 | // 80 | // Columns, offsets, pushes, and pulls for the large desktop device range. 81 | 82 | @media (min-width: @screen-lg-min) { 83 | .make-grid(lg); 84 | } 85 | -------------------------------------------------------------------------------- /assets/css/less/input-groups.less: -------------------------------------------------------------------------------- 1 | // 2 | // Input groups 3 | // -------------------------------------------------- 4 | 5 | // Base styles 6 | // ------------------------- 7 | .input-group { 8 | position: relative; // For dropdowns 9 | display: table; 10 | border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table 11 | 12 | // Undo padding and float of grid classes 13 | &[class*="col-"] { 14 | float: none; 15 | padding-left: 0; 16 | padding-right: 0; 17 | } 18 | 19 | .form-control { 20 | // Ensure that the input is always above the *appended* addon button for 21 | // proper border colors. 22 | position: relative; 23 | z-index: 2; 24 | 25 | // IE9 fubars the placeholder attribute in text inputs and the arrows on 26 | // select elements in input groups. To fix it, we float the input. Details: 27 | // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 28 | float: left; 29 | 30 | width: 100%; 31 | margin-bottom: 0; 32 | } 33 | } 34 | 35 | // Sizing options 36 | // 37 | // Remix the default form control sizing classes into new ones for easier 38 | // manipulation. 39 | 40 | .input-group-lg > .form-control, 41 | .input-group-lg > .input-group-addon, 42 | .input-group-lg > .input-group-btn > .btn { .input-lg(); } 43 | .input-group-sm > .form-control, 44 | .input-group-sm > .input-group-addon, 45 | .input-group-sm > .input-group-btn > .btn { .input-sm(); } 46 | 47 | 48 | // Display as table-cell 49 | // ------------------------- 50 | .input-group-addon, 51 | .input-group-btn, 52 | .input-group .form-control { 53 | display: table-cell; 54 | 55 | &:not(:first-child):not(:last-child) { 56 | border-radius: 0; 57 | } 58 | } 59 | // Addon and addon wrapper for buttons 60 | .input-group-addon, 61 | .input-group-btn { 62 | width: 1%; 63 | white-space: nowrap; 64 | vertical-align: middle; // Match the inputs 65 | } 66 | 67 | // Text input groups 68 | // ------------------------- 69 | .input-group-addon { 70 | padding: @padding-base-vertical @padding-base-horizontal; 71 | font-size: @font-size-base; 72 | font-weight: normal; 73 | line-height: 1; 74 | color: @input-color; 75 | text-align: center; 76 | background-color: @input-group-addon-bg; 77 | border: 1px solid @input-group-addon-border-color; 78 | border-radius: @border-radius-base; 79 | 80 | // Sizing 81 | &.input-sm { 82 | padding: @padding-small-vertical @padding-small-horizontal; 83 | font-size: @font-size-small; 84 | border-radius: @border-radius-small; 85 | } 86 | &.input-lg { 87 | padding: @padding-large-vertical @padding-large-horizontal; 88 | font-size: @font-size-large; 89 | border-radius: @border-radius-large; 90 | } 91 | 92 | // Nuke default margins from checkboxes and radios to vertically center within. 93 | input[type="radio"], 94 | input[type="checkbox"] { 95 | margin-top: 0; 96 | } 97 | } 98 | 99 | // Reset rounded corners 100 | .input-group .form-control:first-child, 101 | .input-group-addon:first-child, 102 | .input-group-btn:first-child > .btn, 103 | .input-group-btn:first-child > .btn-group > .btn, 104 | .input-group-btn:first-child > .dropdown-toggle, 105 | .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), 106 | .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { 107 | .border-right-radius(0); 108 | } 109 | .input-group-addon:first-child { 110 | border-right: 0; 111 | } 112 | .input-group .form-control:last-child, 113 | .input-group-addon:last-child, 114 | .input-group-btn:last-child > .btn, 115 | .input-group-btn:last-child > .btn-group > .btn, 116 | .input-group-btn:last-child > .dropdown-toggle, 117 | .input-group-btn:first-child > .btn:not(:first-child), 118 | .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { 119 | .border-left-radius(0); 120 | } 121 | .input-group-addon:last-child { 122 | border-left: 0; 123 | } 124 | 125 | // Button input groups 126 | // ------------------------- 127 | .input-group-btn { 128 | position: relative; 129 | // Jankily prevent input button groups from wrapping with `white-space` and 130 | // `font-size` in combination with `inline-block` on buttons. 131 | font-size: 0; 132 | white-space: nowrap; 133 | 134 | // Negative margin for spacing, position for bringing hovered/focused/actived 135 | // element above the siblings. 136 | > .btn { 137 | position: relative; 138 | + .btn { 139 | margin-left: -1px; 140 | } 141 | // Bring the "active" button to the front 142 | &:hover, 143 | &:focus, 144 | &:active { 145 | z-index: 2; 146 | } 147 | } 148 | 149 | // Negative margin to only have a 1px border between the two 150 | &:first-child { 151 | > .btn, 152 | > .btn-group { 153 | margin-right: -1px; 154 | } 155 | } 156 | &:last-child { 157 | > .btn, 158 | > .btn-group { 159 | margin-left: -1px; 160 | } 161 | } 162 | } 163 | -------------------------------------------------------------------------------- /assets/css/less/jumbotron.less: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: @jumbotron-padding; 8 | margin-bottom: @jumbotron-padding; 9 | color: @jumbotron-color; 10 | background-color: @jumbotron-bg; 11 | 12 | h1, 13 | .h1 { 14 | color: @jumbotron-heading-color; 15 | } 16 | p { 17 | margin-bottom: (@jumbotron-padding / 2); 18 | font-size: @jumbotron-font-size; 19 | font-weight: 200; 20 | } 21 | 22 | .container & { 23 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container 24 | } 25 | 26 | .container { 27 | max-width: 100%; 28 | } 29 | 30 | @media screen and (min-width: @screen-sm-min) { 31 | padding-top: (@jumbotron-padding * 1.6); 32 | padding-bottom: (@jumbotron-padding * 1.6); 33 | 34 | .container & { 35 | padding-left: (@jumbotron-padding * 2); 36 | padding-right: (@jumbotron-padding * 2); 37 | } 38 | 39 | h1, 40 | .h1 { 41 | font-size: (@font-size-base * 4.5); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /assets/css/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 | -------------------------------------------------------------------------------- /assets/css/less/list-group.less: -------------------------------------------------------------------------------- 1 | // 2 | // List groups 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | // 8 | // Easily usable on