Added: incubator/ignite/site/trunk/js/jquery.main.js
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/js/jquery.main.js?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/js/jquery.main.js (added)
+++ incubator/ignite/site/trunk/js/jquery.main.js Thu Dec 11 06:20:14 2014
@@ -0,0 +1,268 @@
+// page init
+jQuery(function(){
+       initAnchors();
+});
+
+// initialize fixed blocks on scroll
+function initAnchors() {
+       new SmoothScroll({
+               anchorLinks: 'a[href^="#"]',
+               activeClasses: 'parent',
+               anchorActiveClass: 'active',
+               sectionActiveClass: 'active'
+       });
+}
+
+/*!
+ * SmoothScroll module
+ */
+;(function($, exports) {
+
+       // private variables
+       var page,
+               win = $(window),
+               activeBlock, activeWheelHandler,
+               wheelEvents = ('onwheel' in document || document.documentMode 
>= 9 ? 'wheel' : 'mousewheel DOMMouseScroll');
+
+       // animation handlers
+       function scrollTo(offset, options, callback) {
+               // initialize variables
+               var scrollBlock;
+               if(document.body) {
+                       if(typeof options === 'number') {
+                               options = { duration: options };
+                       } else {
+                               options = options || {};
+                       }
+                       page = page || $('html, body');
+                       scrollBlock = options.container || page;
+               } else {
+                       return;
+               }
+
+               // treat single number as scrollTop
+               if(typeof offset === 'number') {
+                       offset = { top: offset };
+               }
+
+               // handle mousewheel/trackpad while animation is active
+               if(activeBlock && activeWheelHandler) {
+                       activeBlock.off('mousewheel', activeWheelHandler);
+               }
+               if(options.wheelBehavior && options.wheelBehavior !== 'none') {
+                       activeWheelHandler = function(e) {
+                               if(options.wheelBehavior === 'stop') {
+                                       scrollBlock.off('mousewheel', 
activeWheelHandler);
+                                       scrollBlock.stop();
+                               } else if(options.wheelBehavior === 'ignore') {
+                                       e.preventDefault();
+                               }
+                       };
+                       activeBlock = scrollBlock.on('mousewheel', 
activeWheelHandler);
+               }
+
+               // start scrolling animation
+               scrollBlock.stop().animate({
+                       scrollLeft: offset.left,
+                       scrollTop: offset.top
+               }, options.duration, function(){
+                       if(activeWheelHandler) {
+                               scrollBlock.off('mousewheel', 
activeWheelHandler);
+                       }
+                       if($.isFunction(callback)) {
+                               callback();
+                       }
+               });
+       }
+
+       // smooth scroll contstructor
+       function SmoothScroll(options) {
+               this.options = $.extend({
+                       anchorLinks: 'a[href^="#"]',    // selector or jQuery 
object
+                       container: null,                // specify container 
for scrolling (default - whole page)
+                       extraOffset: null,              // function or fixed 
number
+                       activeClasses: null,    // null, "link", "parent"
+                       easing: 'swing',                // easing of scrolling
+                       animMode: 'duration',   // or "speed" mode
+                       animDuration: 800,              // total duration for 
scroll (any distance)
+                       animSpeed: 1500,                // pixels per second
+                       anchorActiveClass: 'anchor-active',
+                       sectionActiveClass: 'section-active',
+                       wheelBehavior: 'stop', // "stop", "ignore" or "none"
+                       useNativeAnchorScrolling: false // do not handle click 
in devices with native smooth scrolling
+               }, options);
+               this.init();
+       }
+       SmoothScroll.prototype = {
+               init: function() {
+                       this.initStructure();
+                       this.attachEvents();
+               },
+               initStructure: function(options) {
+                       this.container = this.options.container ? 
$(this.options.container) : $('html,body');
+                       this.scrollContainer = this.options.container ? 
this.container : win;
+                       this.anchorLinks = $(this.options.anchorLinks);
+               },
+               getAnchorTarget: function(link) {
+                       // get target block from link href
+                       var targetId = $(link).attr('href');
+                       return $(targetId.length > 1 ? targetId : 'html');
+               },
+               getTargetOffset: function(block) {
+                       // get target offset
+                       var blockOffset = block.offset().top;
+                       if(this.options.container) {
+                               blockOffset -= this.container.offset().top - 
this.container.prop('scrollTop');
+                       }
+
+                       // handle extra offset
+                       if(typeof this.options.extraOffset === 'number') {
+                               blockOffset -= this.options.extraOffset;
+                       } else if(typeof this.options.extraOffset === 
'function') {
+                               blockOffset -= this.options.extraOffset(block);
+                       }
+                       return {top: blockOffset};
+               },
+               attachEvents: function() {
+                       var self = this;
+
+                       // handle active classes
+                       if(this.options.activeClasses) {
+                               // cache structure
+                               this.anchorData = [];
+                               this.anchorLinks.each(function() {
+                                       var link = jQuery(this),
+                                               targetBlock = 
self.getAnchorTarget(link),
+                                               anchorDataItem;
+
+                                       $.each(self.anchorData, function(index, 
item) {
+                                               if(item.block[0] === 
targetBlock[0]) {
+                                                       anchorDataItem = item;
+                                               }
+                                       });
+
+                                       if(anchorDataItem) {
+                                               anchorDataItem.link = 
anchorDataItem.link.add(link);
+                                       } else {
+                                               self.anchorData.push({
+                                                       link: link,
+                                                       block: targetBlock
+                                               });
+                                       }
+                               });
+
+                               // add additional event handlers
+                               this.resizeHandler = function() {
+                                       self.recalculateOffsets();
+                               };
+                               this.scrollHandler = function() {
+                                       self.refreshActiveClass();
+                               };
+
+                               this.recalculateOffsets();
+                               this.scrollContainer.on('scroll', 
this.scrollHandler);
+                               win.on('resize', this.resizeHandler);
+                       }
+
+                       // handle click event
+                       this.clickHandler = function(e) {
+                               self.onClick(e);
+                       };
+                       if(!this.options.useNativeAnchorScrolling) {
+                               this.anchorLinks.on('click', this.clickHandler);
+                       }
+               },
+               recalculateOffsets: function() {
+                       var self = this;
+                       $.each(this.anchorData, function(index, data) {
+                               data.offset = self.getTargetOffset(data.block);
+                               data.height = data.block.outerHeight();
+                       });
+                       this.refreshActiveClass();
+               },
+               refreshActiveClass: function() {
+                       var self = this,
+                               foundFlag = false,
+                               winHeight = win.height(),
+                               containerHeight = 
this.container.prop('scrollHeight'),
+                               viewPortHeight = this.scrollContainer.height(),
+                               scrollTop = this.options.container ? 
this.container.prop('scrollTop') : win.scrollTop();
+
+                       // user function instead of default handler
+                       if(this.options.customScrollHandler) {
+                               this.options.customScrollHandler.call(this, 
scrollTop, this.anchorData);
+                               return;
+                       }
+
+                       // sort anchor data by offsets
+                       this.anchorData.sort(function(a, b) {
+                               return a.offset.top - b.offset.top;
+                       });
+                       function toggleActiveClass(anchor, block, state) {
+                               
anchor.toggleClass(self.options.anchorActiveClass, state);
+                               
block.toggleClass(self.options.sectionActiveClass, state);
+                       }
+
+                       // default active class handler
+                       $.each(this.anchorData, function(index) {
+                               var reverseIndex = self.anchorData.length - 
index - 1,
+                                       data = self.anchorData[reverseIndex],
+                                       anchorElement = 
(self.options.activeClasses === 'parent' ? data.link.parent() : data.link);
+
+                               if(scrollTop >= containerHeight - 
viewPortHeight) {
+                                       // handle last section
+                                       if(reverseIndex === 
self.anchorData.length - 1) {
+                                               
toggleActiveClass(anchorElement, data.block, true);
+                                       } else {
+                                               
toggleActiveClass(anchorElement, data.block, false);
+                                       }
+                               } else {
+                                       // handle other sections
+                                       if(!foundFlag && (scrollTop >= 
data.offset.top - 1 || reverseIndex === 0) ) {
+                                               foundFlag = true;
+                                               
toggleActiveClass(anchorElement, data.block, true);
+                                       } else {
+                                               
toggleActiveClass(anchorElement, data.block, false);
+                                       }
+                               }
+                       });
+               },
+               calculateScrollDuration: function(offset) {
+                       var distance;
+                       if(this.options.animMode === 'speed') {
+                               distance = 
Math.abs(this.scrollContainer.scrollTop() - offset.top);
+                               return (distance / this.options.animSpeed) * 
1000;
+                       } else {
+                               return this.options.animDuration;
+                       }
+               },
+               onClick: function(e) {
+                       var targetBlock = this.getAnchorTarget(e.currentTarget),
+                               targetOffset = 
this.getTargetOffset(targetBlock);
+
+                       e.preventDefault();
+                       scrollTo(targetOffset, {
+                               container: this.container,
+                               wheelBehavior: this.options.wheelBehavior,
+                               duration: 
this.calculateScrollDuration(targetOffset),
+                       });
+               },
+               destroy: function() {
+                       if(this.options.activeClasses) {
+                               win.off('resize', this.resizeHandler);
+                               this.scrollContainer.off('scroll', 
this.scrollHandler);
+                       }
+                       this.anchorLinks.off('click', this.clickHandler);
+               }
+       };
+
+       // public API
+       $.extend(SmoothScroll, {
+               scrollTo: function(blockOrOffset, durationOrOptions, callback) {
+                       scrollTo(blockOrOffset, durationOrOptions, callback);
+               }
+       });
+
+       // export module
+       exports.SmoothScroll = SmoothScroll;
+}(jQuery, this));
\ No newline at end of file

Propchange: incubator/ignite/site/trunk/js/jquery.main.js
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/_bootstrap-custom.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/_bootstrap-custom.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/_bootstrap-custom.scss (added)
+++ incubator/ignite/site/trunk/scss/_bootstrap-custom.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,70 @@
+// custom variables
+
+$base-min-width: 320px;
+
+/* colors */
+$white: #fff;
+$black:#000;
+$gray-dark: #373435;
+$grey: #808080;
+$gray-light: #ebebeb;
+$red-dark: #ed1f24;
+$red: #f00;
+$blue: #3789c5;
+
+/* Scaffolding */
+$text-color: $black;
+$link-color: $red;
+$link-hover-color: $text-color;
+$body-bg: $white;
+
+/* Typography */
+$font-size-base: 14px;
+$base-line-height: 17px;
+$font-family-base: 'atillanormal', Arial, sans-serif;
+$alt-font-harabara: 'harabara', Arial, sans-serif;
+$font-size-h1:26px;
+$font-size-h2:20px;
+$font-size-h3:18px;
+$font-size-h4:16px;
+$font-size-h5:14px;
+$font-size-h6:14px;
+$headings-font-weight: 700;
+
+/* Iconography */
+$icon-font-path: "../fonts/";
+
+/* Buttons */
+$btn-default-color: $white;
+$btn-default-bg: transparent;
+$btn-default-border: $white;
+$btn-danger-color: $white;
+$btn-danger-bg: $red-dark;
+
+/* Grid system */
+$grid-gutter-width: 20px;
+
+/* Container sizes */
+$container-lg: 960px;
+$container-md: 960px;
+
+/* Navbar */
+$navbar-height: 20px;
+$navbar-margin-bottom: 0;
+$navbar-border-radius: 0;
+$navbar-padding-horizontal: 0;
+$navbar-padding-vertical: 0;
+$navbar-default-color: $white;
+$navbar-default-bg: transparent;
+$navbar-default-border: 0;
+$navbar-default-link-color: $white;
+$navbar-default-link-hover-color: $red-dark;
+$navbar-default-link-active-color: $red-dark;
+$navbar-default-link-active-bg: transparent;
+$navbar-default-toggle-hover-bg: transparent;
+$navbar-default-toggle-icon-bar-bg: $white;
+
+/* Media queries breakpoints */
+$tablet: 992px;
+$mobile: 767px;
+$min-mobile: 768px;
\ No newline at end of file

Propchange: incubator/ignite/site/trunk/scss/_bootstrap-custom.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/_markup-mixins.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/_markup-mixins.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/_markup-mixins.scss (added)
+++ incubator/ignite/site/trunk/scss/_markup-mixins.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,129 @@
+// reset for list
+%listreset {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+// img full width
+%img-full-width {
+       width:100%;
+       height:auto;
+       display: block;
+}
+
+// arrow align-top
+%align-top{
+       display: inline-block;
+       vertical-align: top;
+}
+
+// arrow align-middle
+%align-middle{
+       display: inline-block;
+       vertical-align: middle;
+}
+
+// arrow align-bottom
+%align-bottom{
+       display: inline-block;
+       vertical-align: bottom;
+}
+
+@mixin hide-text() {
+       font: #{0/0} a;
+       color: transparent;
+       border: 0;
+}
+
+// reset for before
+@mixin before($before-top, $before-right, $before-bottom, $before-left){
+       position:absolute;
+       content:"";
+       top:$before-top;
+       right:$before-right;
+       bottom:$before-bottom;
+       left:$before-left;
+}
+
+// reset for after
+@mixin after($after-top, $after-right, $after-bottom, $after-left){
+       position:absolute;
+       content:"";
+       top:$after-top;
+       right:$after-right;
+       bottom:$after-bottom;
+       left:$after-left;
+}
+
+// link color
+@mixin link-color($color) {
+       color: $color;
+       &:hover, &:active, &:focus {
+               color: lighten($color, 25%);
+               text-decoration: none;
+       }
+}
+
+// custom font mixin
+@mixin fontface ($fontfamily, $filename, $fontweight: normal, $fontstyle: 
normal) {
+       font-family: $fontfamily;
+       src:url('../fonts/#{$filename}.eot');
+       src:url('../fonts/#{$filename}.eot?#iefix') format('embedded-opentype'),
+               url('../fonts/#{$filename}.woff') format('woff'),
+               url('../fonts/#{$filename}.ttf') format('truetype'),
+               url('../fonts/#{$filename}.svg#{$filename}') format('svg');
+       font-weight: $fontweight;
+       font-style: $fontstyle;
+}
+
+@mixin arrow-lazy($direction: top, $size: 10px, $color: #ccc, $center: 50%, 
$margin: -1px, $pseudo: before){
+       position: relative;
+       border-color: $color;
+       
+       &:#{$pseudo} {
+               position: absolute;
+               content: "";
+               width: 0;
+               height: 0;
+               border-color: $color;
+
+               @if $direction == "right" {
+                       top: $center;
+                       left: 100%;
+                       margin-left: $margin;
+                       margin-top: $size * -1;
+                       border-top: $size solid transparent;
+                       border-bottom: $size solid transparent;
+                       border-left: $size solid $color;
+                       border-left-color: inherit;
+               } @else if $direction == "down" {
+                       top: 100%;
+                       left: $center;
+                       margin-top: $margin;
+                       margin-left: $size * -1;
+                       border-left: $size solid transparent;
+                       border-right: $size solid transparent;
+                       border-top: $size solid $color;
+                       border-top-color: inherit;
+               } @else if $direction == "left" {
+                       top: $center;
+                       right: 100%;
+                       margin-right: $margin;
+                       margin-top: $size * -1;
+                       border-top: $size solid transparent;
+                       border-bottom: $size solid transparent; 
+                       border-right:$size solid $color;
+                       border-right-color: inherit;
+               } @else {
+                       bottom: 100%;
+                       left: $center;
+                       margin-bottom: $margin;
+                       margin-left: $size * -1;
+                       border-left: $size solid transparent;
+                       border-right: $size solid transparent;
+                       border-bottom: $size solid $color;
+                       border-bottom-color: inherit;
+               }
+       }
+}
\ No newline at end of file

Propchange: incubator/ignite/site/trunk/scss/_markup-mixins.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/all.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/all.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/all.scss (added)
+++ incubator/ignite/site/trunk/scss/all.scss Thu Dec 11 06:20:14 2014
@@ -0,0 +1,775 @@
+@import "compass";
+@import "bootstrap";
+@import "markup-mixins";
+@font-face { @include fontface(atillanormal, atilla_normal-webfont) }
+@font-face { @include fontface(harabara, harabara-webfont) }
+@font-face { @include fontface(icomoon, icomoon) }
+html{
+       background: $gray-light;
+}
+body {
+       margin: 0;
+       min-width: $base-min-width;
+       line-height: $base-line-height;
+}
+a:hover, a:focus {
+       text-decoration: none;
+       outline: none;
+}
+@viewport { width: device-width;}
+@-o-viewport { width: device-width;}
+@-ms-viewport { width: device-width;}
+@-moz-viewport { width: device-width;}
+@-webkit-viewport { width: device-width;}
+[class^="icon-"],
+[class*=" icon-"] {
+       font-family: 'icomoon';
+       speak: none;
+       font-style: normal;
+       font-weight: normal;
+       font-variant: normal;
+       text-transform: none;
+       line-height: 1;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+.icon-rss:before { content: "\e600"; }
+.icon-linkedin:before { content: "\e601"; }
+.icon-twitter:before { content: "\e602"; }
+.icon-facebook:before { content: "\e603"; }
+.icon-google-plus:before { content: "\e604"; }
+.icon-youtube:before { content: "\e605"; }
+h1, .h1{
+       line-height: 30px;
+       margin: 0;
+}
+h2, .h2{
+       line-height: 25px;
+       margin: 0;
+}
+h3, .h3{
+       line-height: 22px;
+       margin: 0;
+}
+h4, .h4 {
+       line-height: 20px;
+       margin: 0;
+}
+h5, .h5,
+h6, .h6 {
+       line-height: 17px;
+       margin: 0;
+}
+p {
+       margin: 0 0 $base-line-height;
+}
+.btn{
+       min-width: 160px;
+       height: 40px;
+       border-radius: 4px;
+       text-align: center;
+       text-transform: capitalize;
+       font-size: 20px;
+       line-height: 28px;
+       padding: 5px;
+       
+       @media (max-width: $mobile) {
+               min-width: 130px;
+               height: 36px;
+               font-size: 17px;
+               line-height: 24px;
+       }
+}
+.btn-default:hover {
+       background: $white;
+       color: $gray;
+}
+.btn-danger {
+       border: none;
+       line-height: 30px;
+       @include background-image(linear-gradient(top, #ff0000 0%,#eb0101 
21%,#940206 77%,#7a0308 100%));
+       $experimental-support-for-svg: true;
+       
+       @media (max-width: $mobile) {
+               line-height: 26px;
+       }
+       &:hover {
+               @include background-image(linear-gradient(top, #7b0308 
0%,#840308 10%,#9b0206 28%,#eb0101 79%,#ff0000 100%));
+       }
+}
+#wrapper{
+       overflow: hidden;
+}
+#header {
+       left: 0;
+       right: 0;
+       top: 37px;
+       z-index: 9999;
+       padding: 5px 0;
+       
+       &.affix-top {
+               position: absolute;
+               
+               @media (max-width: $tablet) {
+                       top: 0;
+               }
+       }
+       &.affix {
+               top: 0;
+               background: rgba(54,54,54,0.95);
+               
+               @media (max-width: $tablet) {
+                       position: absolute;
+                       background: none;
+               }
+       }
+       .container {
+               position: relative;
+       }
+       .logo {
+               width: 140px;
+               margin: 0 0 0 1px;
+               
+               img{
+                       @extend %img-full-width;
+               }
+       }
+       div[class*="col-"] {
+               position: static;
+       }
+}
+#nav {
+       text-align: right;
+       text-transform: capitalize;
+       font-size: 16px;
+       line-height: 20px;
+       padding: 21px 0 0;
+       letter-spacing: 0.1px;
+       position: static;
+       
+       @media (max-width: $mobile) {
+               padding: 10px 10px 0;
+               text-align: center;
+               
+               .navbar-collapse {
+                       overflow: hidden;
+                       position: absolute;
+                       top: 100%;
+                       left: 0;
+                       right: 0;
+                       z-index: 99;
+                       margin: 10px 0 0;
+                       background: rgba(54,54,54,0.95);
+               }
+       }
+       .container-fluid {
+               padding: 0;
+       }
+       .navbar-toggle {
+               margin: 0;
+       }
+       .navbar-nav {
+               float: none;
+               letter-spacing: -4px;
+               
+               @media (max-width: $mobile) {
+                       padding: 10px 0;
+               }
+               > li {
+                       @extend %align-top;
+                       letter-spacing: normal;
+                       float: none;
+                       margin: 0 0 0 32px;
+                       
+                       @media (max-width: $mobile) {
+                               display: block;
+                               margin: 0;
+                               padding: 5px 10px;
+                       }
+                       >a {
+                               padding: 0;
+                               @extend %align-top;
+                       }
+               }
+       }
+}
+.carousel {
+       min-height: 597px;
+       padding: 114px 0 50px;
+       font-size: 18px;
+       line-height: 24px;
+       color: $white;
+       text-align: center;
+       position: relative;
+       z-index: 9;
+       background: url(../images/bg-carousel.jpg) no-repeat center/cover;
+       @include transition(all, 0.2s, linear);
+       
+       @media (max-width: $tablet) {
+               min-height: 470px;
+               padding: 100px 0 50px;
+       }
+       @media (max-width: $mobile) {
+               min-height: 300px;
+               font-size: 14px;
+               line-height: 17px;
+               padding: 100px 0 20px;
+       }
+       &:after {
+               height: 106px;
+               @include after(auto,0,0,0);
+               @include background-image(linear-gradient(top, rgba(47,47,47,0) 
0%,rgba(47,47,47,0.05) 8%,rgba(47,47,47,0.18) 23%,rgba(47,47,47,0.82) 
77%,rgba(47,47,47,0.95) 92%,rgba(47,47,47,1) 100%));
+               $experimental-support-for-svg: true;
+               pointer-events: none;
+               
+               @media (max-width: $tablet) {
+                       height: 60px;
+               }
+               @media (max-width: $mobile) {
+                       height: 30px;
+               }
+       }
+       .item {
+               padding: 82px 0 0;
+               
+               @media (max-width: $tablet) {
+                       padding: 20px 0 0;
+               }
+       }
+       header {
+               font-size: 28px;
+               line-height: 36px;
+               text-transform: capitalize;
+               letter-spacing: 0.8px;
+               
+               @media (max-width: $tablet) {
+                       font-size: 25px;
+                       line-height: 30px;
+               }
+               @media (max-width: $mobile) {
+                       font-size: 20px;
+               }
+               p{
+                       margin: 0 0 18px;
+                       
+                       @media (max-width: $mobile) {
+                               margin: 0 0 10px;
+                       }
+               }
+       }
+       h1 {
+               font: 100px/100px $alt-font-harabara;
+               letter-spacing: 2.3px;
+               margin: 0 0 15px;
+               
+               @media (max-width: $tablet) {
+                       font-size: 70px;
+                       line-height: 70px;
+               }
+               @media (max-width: $mobile) {
+                       font-size: 42px;
+                       line-height: 42px;
+                       margin: 0 0 5px;
+               }
+       }
+       .buttons {
+               margin: 0 0 12px;
+               letter-spacing: -4px;
+               
+               @media (max-width: $mobile) {
+                       margin: 0;
+               }
+               li{
+                       @extend %align-top;
+                       letter-spacing: normal;
+                       margin: 0 10px 10px;
+               }
+       }
+       .text {
+               max-width: 820px;
+               margin: 0 auto;
+       }
+       p{
+               margin: 0;
+       }
+       .item.cloud{
+               padding: 0;
+               text-align: right;
+               
+               @media (max-width: $mobile) {
+                       text-align: center;
+               }
+               h1 {
+                       font-size: 53px;
+                       line-height: 53px;
+                       letter-spacing: 1.3px;
+                       margin: 0 0 6px;
+                       
+                       @media (max-width: $tablet) {
+                               font-size: 42px;
+                               line-height: 45px;
+                       }
+               }
+               header {
+                       font-size: 15px;
+                       line-height: 20px;
+                       letter-spacing: 0.4px;
+                       margin: 104px -2px 0 0;
+                       
+                       @media (max-width: $tablet) {
+                               font-size: 15px;
+                               line-height: 18px;
+                               margin: 50px 0 0;
+                       }
+                       @media (max-width: $mobile) {
+                               margin: 0;
+                       }
+                       p{
+                               margin: 0 0 7px;
+                       }
+               }
+               .buttons li {
+                       margin: 0 0 10px 13px;
+               }
+               .btn{
+                       height: 26px;
+                       min-width: 104px;
+                       font-size: 13px;
+                       line-height: 18px;
+                       padding: 4px;
+               }
+       }
+       .img-holder {
+               overflow: hidden;
+               margin: 0 0 0 -9px;
+               
+               @media (max-width: $mobile) {
+                       margin: 0;
+               }
+               img{
+                       @extend %img-full-width;
+               }
+       }
+}
+#main {
+       margin-bottom: 50px;
+       
+       @media (max-width: $mobile) {
+               margin-bottom: 0;
+       }
+       table{
+               width: 100%;
+               border: 2px solid  $gray-light;
+               
+               th,
+               td {
+                       height: 40px;
+                       border-width: 0 0 2px 2px;
+                       border-color: $gray-light;
+                       border-style: solid;
+                       padding: 5px 20px;
+                       position: relative;
+                       
+                       &:first-child {
+                               border-left-width: 0;
+                       }
+               }
+               th{
+                       font-size: 18px;
+                       line-height: 20px;
+                       
+                       @media (max-width: $tablet) {
+                               font-size: 15px;
+                       }
+                       &:first-child{
+                               padding: 5px 38px;
+                       }
+               }
+               td:first-child{
+                       padding-left: 58px;
+               }
+               .btn-video {
+                       color: $black;
+                       
+                       &:hover {
+                               color: $red;
+                       }
+               }
+               @media (max-width: $mobile) {
+                       border: none;
+                       display: block;
+                       overflow:hidden;
+                       border-top:1px solid $black;
+                       
+                       tbody {
+                               border-left:120px solid $gray;
+                               float:left;
+                               width:100%;
+                               padding:0 1px 0 1px;
+                       }
+                       tr {
+                               float:left;
+                               width:100%;
+                               clear:both;
+                               
+                               &:nth-child(odd) td {
+                                       background-color: rgba(0,0,0,0.1);
+                               }
+                       }
+                       td {
+                               width: 100% !important;
+                               height: auto;
+                               padding:0 0 0 120px !important;
+                               margin:0 -1px 0 -121px;
+                               display: block;
+                               float:left;
+                               clear:both;
+                               width:100%;
+                               white-space:nowrap;
+                               border-width: 0 1px 1px 1px !important;
+                               border-color: $black;
+                               @include box-sizing(content-box);
+                               
+                               &:before {
+                                       content:attr(title);
+                                       padding: 10px;
+                                       display:inline-block;
+                                       color:$white !important;
+                                       font-weight:bold;
+                                       width:120px;
+                                       vertical-align:middle;
+                                       margin:0 0 0 -120px;
+                                       position:relative;
+                                       white-space:normal;
+                               }
+                               ul,
+                               span {
+                                       white-space:normal;
+                                       display:inline-block;
+                                       vertical-align:middle;
+                                       padding:5px;
+                               }
+                       }
+                       thead,
+                       th {display:none;}
+               }
+       }
+}
+.overview {
+       margin: -8px 0 0;
+       padding: 80px 0 0;
+       position: relative;
+       z-index: 4;
+       
+       @media (max-width: $tablet) {
+               margin: 0;
+               padding: 30px 0 0;
+       }
+       h2{
+               position: relative;
+               padding: 3px 0 12px 40px;
+               
+               &:after {
+                       @include size(21px,25px);
+                       @include after(0,auto,auto,0);
+                       background: url(../images/sprite.png) no-repeat;
+               }
+       }
+}
+.documentation {
+       margin: -52px 0 0;
+       padding: 80px 0 0;
+       position: relative;
+       z-index: 3;
+       
+       @media (max-width: $tablet) {
+               margin: 0;
+               padding: 30px 0 0;
+       }
+       table {
+               @media (min-width: $min-mobile) {
+                       td,
+                       th {
+                               padding: 5px 20px !important;
+                               
+                               &:first-child{
+                                       width: 476px;
+                                       padding-left: 78px !important;
+                               }
+                       }
+                       .java td {
+                               height: 78px !important;
+                       }
+               }
+               @media (max-width: $mobile) {
+                       tr.even td {
+                               background-color: rgba(0,0,0,0.1);
+                       }
+               }
+               .icon {
+                       width: 58px;
+                       position: absolute;
+                       left: 0;
+                       top: 0;
+                       bottom: 0;
+                       text-align: center;
+                       border-right: 2px solid $gray-light;
+                       
+                       @media (max-width: $mobile) {
+                               display: none;
+                       }
+                       &:after {
+                               content:'';
+                               @extend %align-middle;
+                               height:100%;
+                               width:1px;
+                               overflow:hidden;
+                               margin:0 0 0 -5px;
+                       }
+                       img{
+                               @extend %align-middle;
+                       }
+               }
+               .data {
+                       width: 240px;
+               }
+               .tutorial {
+                       width: 218px;
+               }
+               ul{
+                       margin: 0;
+                       @extend %align-middle;
+               }
+       }
+       h2{
+               position: relative;
+               padding: 3px 0 20px 40px;
+               
+               &:after {
+                       @include size(21px,25px);
+                       @include after(0,auto,auto,1px);
+                       background: url(../images/sprite.png) no-repeat -26px 0;
+               }
+       }
+}
+.community {
+       margin: -18px 0 0;
+       padding: 80px 0 0;
+       position: relative;
+       z-index: 2;
+       
+       @media (max-width: $tablet) {
+               margin: 0;
+               padding: 30px 0 0;
+       }
+       table {
+               @media (min-width: $min-mobile) {
+                       
+                       th,
+                       td {
+                               width: 60%;
+                               padding: 5px 20px !important;
+                               
+                               &:first-child,
+                               &:nth-child(2) {
+                                       width: 20%;
+                               }
+                       }
+               }
+       }
+       h2{
+               position: relative;
+               padding: 4px 0 13px 40px;
+               
+               &:after {
+                       @include size(21px,25px);
+                       @include after(0,auto,auto,3px);
+                       background: url(../images/sprite.png) no-repeat -52px 0;
+               }
+       }
+}
+.download {
+       margin: -54px 0 0;
+       padding: 80px 0 94px;
+       
+       @media (max-width: $tablet) {
+               padding: 30px 0;
+               margin: 0;
+       }
+       h2{
+               position: relative;
+               padding: 3px 0 8px 40px;
+               
+               &:after {
+                       @include size(21px,25px);
+                       @include after(0,auto,auto,3px);
+                       background: url(../images/sprite.png) no-repeat -78px 0;
+               }
+       }
+       th{
+               &:first-chhild {
+                       width: 476px;
+               }
+               &.version {
+                       width: 240px;
+               }
+               &.release {
+                       width: 220px;
+               }
+       }
+}
+.info-blocks {
+       padding: 101px 0 24px;
+       border-top: 2px solid $gray-light;
+       
+       @media (max-width: $tablet) {
+               padding: 30px 0 20px;
+       }
+       h3{
+               margin: 0 0 10px;
+               
+               @media (max-width: $mobile) {
+                       margin: 0;
+               }
+       }
+       p{
+               margin: 0 0 7px;
+       }
+       .list {
+               line-height: 18px;
+       }
+       li {
+               padding: 0 0 0 20px;
+               position: relative;
+               @include arrow-lazy(right, 5px, $gray-dark, 4px);
+               
+               &:before{
+                       left: 0;
+                       margin: 0;
+               }
+       }
+       a {
+               color: $black;
+               
+               &:hover {
+                       color: $red;
+               }
+       }
+}
+#footer {
+       padding: 71px 0 30px;
+       background: $gray-light;
+       
+       @media (max-width: $mobile) {
+               text-align: center;
+               padding: 30px 0 10px;
+       }
+       a {
+               color: $black;
+               
+               &:hover {
+                       color: $red;
+               }
+       }
+       .logo {
+               width: 230px;
+               @extend %align-top;
+               margin: 0 0 20px;
+               
+               @media (max-width: $mobile) {
+                       width: 150px;
+                       margin: 0 0 10px;
+               }
+               img{
+                       @extend %img-full-width;
+               }
+       }
+       p{
+               margin: 0 0 22px;
+               
+               @media (max-width: $mobile) {
+                       margin: 0 0 10px;
+               }
+       }
+       .security {
+               letter-spacing: -4px;
+               margin: 0 -69px 0 0;
+               
+               @media (max-width: $mobile){
+                       margin: 0;
+               }
+               li{
+                       @extend %align-top;
+                       letter-spacing: normal;
+                       margin: 0 69px 20px 0;
+                       
+                       @media (max-width: $mobile) {
+                               margin: 0 20px 10px;
+                       }
+               }
+               a:hover {
+                       @include opacity(0.8);
+               }
+               img {
+                       display: block;
+               }
+       }
+}
+.footer-nav {
+       line-height: 18px;
+       
+       ul {
+               margin: 0;
+       }
+       li{
+               margin: 0 0 18px;
+               
+               @media (max-width: $mobile) {
+                       margin: 0 0 5px;
+               }
+       }
+}
+.social-networks{
+       font-size: 30px;
+       letter-spacing: -4px;
+       margin: 0 0 16px;
+       
+       li{
+               @extend %align-top;
+               letter-spacing: normal;
+               margin: 0 3px 10px 0;
+               
+               @media (max-width: $mobile) {
+                       margin: 0 3px 10px;
+               }
+       }
+       a{
+               color: $gray !important;
+               
+               &:hover {
+                       color: $red !important;
+               }
+       }
+}
+.subnav {
+       padding: 55px 0 10px;
+       text-align: center;
+       
+       @media (max-width: $mobile) {
+               padding: 0 0 10px;
+       }
+       ul{
+               margin: 0;
+               letter-spacing: -4px;
+       }
+       li{
+               @extend %align-top;
+               letter-spacing: normal;
+               margin: 0 34px;
+               
+               @media (max-width: $mobile) {
+                       display: block;
+                       margin: 0 0 5px;
+               }
+       }
+}
\ No newline at end of file

Propchange: incubator/ignite/site/trunk/scss/all.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap.scss Thu Dec 11 06:20:14 2014
@@ -0,0 +1,55 @@
+// Core variables
+@import "bootstrap/variables";
+
+// Override Bootstrap Defaults
+@import "bootstrap-custom";
+
+//core mixins
+@import "bootstrap/mixins";
+
+// Reset and dependencies
+@import "bootstrap/normalize";
+@import "bootstrap/print";
+@import "bootstrap/glyphicons";
+
+// Core CSS
+@import "bootstrap/scaffolding";
+@import "bootstrap/type";
+@import "bootstrap/code";
+@import "bootstrap/grid";
+@import "bootstrap/tables";
+@import "bootstrap/forms";
+@import "bootstrap/buttons";
+
+// Components
+@import "bootstrap/component-animations";
+@import "bootstrap/dropdowns";
+@import "bootstrap/button-groups";
+@import "bootstrap/input-groups";
+@import "bootstrap/navs";
+@import "bootstrap/navbar";
+@import "bootstrap/breadcrumbs";
+@import "bootstrap/pagination";
+@import "bootstrap/pager";
+@import "bootstrap/labels";
+@import "bootstrap/badges";
+@import "bootstrap/jumbotron";
+@import "bootstrap/thumbnails";
+@import "bootstrap/alerts";
+@import "bootstrap/progress-bars";
+@import "bootstrap/media";
+@import "bootstrap/list-group";
+@import "bootstrap/panels";
+@import "bootstrap/responsive-embed";
+@import "bootstrap/wells";
+@import "bootstrap/close";
+
+// Components w/ JavaScript
+@import "bootstrap/modals";
+@import "bootstrap/tooltip";
+@import "bootstrap/popovers";
+@import "bootstrap/carousel";
+
+// Utility classes
+@import "bootstrap/utilities";
+@import "bootstrap/responsive-utilities";

Propchange: incubator/ignite/site/trunk/scss/bootstrap.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_alerts.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_alerts.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_alerts.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_alerts.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,68 @@
+//
+// Alerts
+// --------------------------------------------------
+
+
+// Base styles
+// -------------------------
+
+.alert {
+  padding: $alert-padding;
+  margin-bottom: $line-height-computed;
+  border: 1px solid transparent;
+  border-radius: $alert-border-radius;
+
+  // Headings for larger alerts
+  h4 {
+    margin-top: 0;
+    // Specified for the h4 to prevent conflicts of changing $headings-color
+    color: inherit;
+  }
+  // Provide class for links that match alerts
+  .alert-link {
+    font-weight: $alert-link-font-weight;
+  }
+
+  // Improve alignment and spacing of inner content
+  > p,
+  > ul {
+    margin-bottom: 0;
+  }
+  > p + p {
+    margin-top: 5px;
+  }
+}
+
+// Dismissible alerts
+//
+// Expand the right padding and account for the close button's positioning.
+
+.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 
3.2.0.
+.alert-dismissible {
+  padding-right: ($alert-padding + 20);
+
+  // Adjust close link position
+  .close {
+    position: relative;
+    top: -2px;
+    right: -21px;
+    color: inherit;
+  }
+}
+
+// Alternate styles
+//
+// Generate contextual modifier classes for colorizing the alert.
+
+.alert-success {
+  @include alert-variant($alert-success-bg, $alert-success-border, 
$alert-success-text);
+}
+.alert-info {
+  @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
+}
+.alert-warning {
+  @include alert-variant($alert-warning-bg, $alert-warning-border, 
$alert-warning-text);
+}
+.alert-danger {
+  @include alert-variant($alert-danger-bg, $alert-danger-border, 
$alert-danger-text);
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_alerts.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_badges.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_badges.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_badges.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_badges.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,57 @@
+//
+// Badges
+// --------------------------------------------------
+
+
+// Base class
+.badge {
+  display: inline-block;
+  min-width: 10px;
+  padding: 3px 7px;
+  font-size: $font-size-small;
+  font-weight: $badge-font-weight;
+  color: $badge-color;
+  line-height: $badge-line-height;
+  vertical-align: baseline;
+  white-space: nowrap;
+  text-align: center;
+  background-color: $badge-bg;
+  border-radius: $badge-border-radius;
+
+  // Empty badges collapse automatically (not available in IE8)
+  &:empty {
+    display: none;
+  }
+
+  // Quick fix for badges in buttons
+  .btn & {
+    position: relative;
+    top: -1px;
+  }
+  .btn-xs & {
+    top: 0;
+    padding: 1px 5px;
+  }
+
+  // [converter] extracted a& to a.badge
+
+  // Account for badges in navs
+  a.list-group-item.active > &,
+  .nav-pills > .active > a > & {
+    color: $badge-active-color;
+    background-color: $badge-active-bg;
+  }
+  .nav-pills > li > a > & {
+    margin-left: 3px;
+  }
+}
+
+// Hover state, but only for links
+a.badge {
+  &:hover,
+  &:focus {
+    color: $badge-link-hover-color;
+    text-decoration: none;
+    cursor: pointer;
+  }
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_badges.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_breadcrumbs.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_breadcrumbs.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_breadcrumbs.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_breadcrumbs.scss Thu Dec 11 
06:20:14 2014
@@ -0,0 +1,26 @@
+//
+// Breadcrumbs
+// --------------------------------------------------
+
+
+.breadcrumb {
+  padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;
+  margin-bottom: $line-height-computed;
+  list-style: none;
+  background-color: $breadcrumb-bg;
+  border-radius: $border-radius-base;
+
+  > li {
+    display: inline-block;
+
+    + li:before {
+      content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since 
inline-block means non-collapsing white-space
+      padding: 0 5px;
+      color: $breadcrumb-color;
+    }
+  }
+
+  > .active {
+    color: $breadcrumb-active-color;
+  }
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_breadcrumbs.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_button-groups.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_button-groups.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_button-groups.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_button-groups.scss Thu Dec 11 
06:20:14 2014
@@ -0,0 +1,240 @@
+//
+// Button groups
+// --------------------------------------------------
+
+// Make the div behave like a button
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle; // match .btn alignment given font-size hack above
+  > .btn {
+    position: relative;
+    float: left;
+    // Bring the "active" button to the front
+    &:hover,
+    &:focus,
+    &:active,
+    &.active {
+      z-index: 2;
+    }
+    &:focus {
+      // Remove focus outline when dropdown JS adds it after closing the menu
+      outline: 0;
+    }
+  }
+}
+
+// Prevent double borders when buttons are next to each other
+.btn-group {
+  .btn + .btn,
+  .btn + .btn-group,
+  .btn-group + .btn,
+  .btn-group + .btn-group {
+    margin-left: -1px;
+  }
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+  margin-left: -5px; // Offset the first child's margin
+  @include clearfix();
+
+  .btn-group,
+  .input-group {
+    float: left;
+  }
+  > .btn,
+  > .btn-group,
+  > .input-group {
+    margin-left: 5px;
+  }
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+  border-radius: 0;
+}
+
+// Set corners individual because sometimes a single button can be in a 
.btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+  margin-left: 0;
+  &:not(:last-child):not(.dropdown-toggle) {
+    @include border-right-radius(0);
+  }
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a 
.dropdown-menu immediately after it
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+  @include border-left-radius(0);
+}
+
+// Custom edits for including btn-groups within btn-groups (useful for 
including dropdown buttons within a btn-group)
+.btn-group > .btn-group {
+  float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group > .btn-group:first-child {
+  > .btn:last-child,
+  > .dropdown-toggle {
+    @include border-right-radius(0);
+  }
+}
+.btn-group > .btn-group:last-child > .btn:first-child {
+  @include border-left-radius(0);
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+
+
+// Sizing
+//
+// Remix the default button sizing classes into new ones for easier 
manipulation.
+
+.btn-group-xs > .btn { @extend .btn-xs; }
+.btn-group-sm > .btn { @extend .btn-sm; }
+.btn-group-lg > .btn { @extend .btn-lg; }
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group > .btn + .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+  padding-left: 12px;
+  padding-right: 12px;
+}
+
+// The clickable button for toggling the menu
+// Remove the gradient and set the same inset shadow as the :active state
+.btn-group.open .dropdown-toggle {
+  @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+
+  // Show no shadow for `.btn-link` since it has no other button styles.
+  &.btn-link {
+    @include box-shadow(none);
+  }
+}
+
+
+// Reposition the caret
+.btn .caret {
+  margin-left: 0;
+}
+// Carets in other button sizes
+.btn-lg .caret {
+  border-width: $caret-width-large $caret-width-large 0;
+  border-bottom-width: 0;
+}
+// Upside down carets for .dropup
+.dropup .btn-lg .caret {
+  border-width: 0 $caret-width-large $caret-width-large;
+}
+
+
+// Vertical button groups
+// ----------------------
+
+.btn-group-vertical {
+  > .btn,
+  > .btn-group,
+  > .btn-group > .btn {
+    display: block;
+    float: none;
+    width: 100%;
+    max-width: 100%;
+  }
+
+  // Clear floats so dropdown menus can be properly placed
+  > .btn-group {
+    @include clearfix();
+    > .btn {
+      float: none;
+    }
+  }
+
+  > .btn + .btn,
+  > .btn + .btn-group,
+  > .btn-group + .btn,
+  > .btn-group + .btn-group {
+    margin-top: -1px;
+    margin-left: 0;
+  }
+}
+
+.btn-group-vertical > .btn {
+  &:not(:first-child):not(:last-child) {
+    border-radius: 0;
+  }
+  &:first-child:not(:last-child) {
+    border-top-right-radius: $border-radius-base;
+    @include border-bottom-radius(0);
+  }
+  &:last-child:not(:first-child) {
+    border-bottom-left-radius: $border-radius-base;
+    @include border-top-radius(0);
+  }
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+  border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) {
+  > .btn:last-child,
+  > .dropdown-toggle {
+    @include border-bottom-radius(0);
+  }
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > 
.btn:first-child {
+  @include border-top-radius(0);
+}
+
+
+
+// Justified button groups
+// ----------------------
+
+.btn-group-justified {
+  display: table;
+  width: 100%;
+  table-layout: fixed;
+  border-collapse: separate;
+  > .btn,
+  > .btn-group {
+    float: none;
+    display: table-cell;
+    width: 1%;
+  }
+  > .btn-group .btn {
+    width: 100%;
+  }
+
+  > .btn-group .dropdown-menu {
+    left: auto;
+  }
+}
+
+
+// Checkbox and radio options
+//
+// In order to support the browser's form validation feedback, powered by the
+// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
+// use `display: none;` or `visibility: hidden;` as that also hides the 
popover.
+// This way, we ensure a DOM element is visible to position the popover from.
+//
+// See https://github.com/twbs/bootstrap/pull/12794 for more.
+
+[data-toggle="buttons"] > .btn > input[type="radio"],
+[data-toggle="buttons"] > .btn > input[type="checkbox"] {
+  position: absolute;
+  z-index: -1;
+  @include opacity(0);
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_button-groups.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_buttons.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_buttons.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_buttons.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_buttons.scss Thu Dec 11 
06:20:14 2014
@@ -0,0 +1,157 @@
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+.btn {
+  display: inline-block;
+  margin-bottom: 0; // For input.btn
+  font-weight: $btn-font-weight;
+  text-align: center;
+  vertical-align: middle;
+  cursor: pointer;
+  background-image: none; // Reset unusual Firefox-on-Android default style; 
see https://github.com/necolas/normalize.css/issues/214
+  border: 1px solid transparent;
+  white-space: nowrap;
+  @include button-size($padding-base-vertical, $padding-base-horizontal, 
$font-size-base, $line-height-base, $border-radius-base);
+  @include user-select(none);
+
+  &,
+  &:active,
+  &.active {
+    &:focus {
+      @include tab-focus();
+    }
+  }
+
+  &:hover,
+  &:focus {
+    color: $btn-default-color;
+    text-decoration: none;
+  }
+
+  &:active,
+  &.active {
+    outline: 0;
+    background-image: none;
+    @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+  }
+
+  &.disabled,
+  &[disabled],
+  fieldset[disabled] & {
+    cursor: not-allowed;
+    pointer-events: none; // Future-proof disabling of clicks
+    @include opacity(.65);
+    @include box-shadow(none);
+  }
+}
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+.btn-default {
+  @include button-variant($btn-default-color, $btn-default-bg, 
$btn-default-border);
+}
+.btn-primary {
+  @include button-variant($btn-primary-color, $btn-primary-bg, 
$btn-primary-border);
+}
+// Success appears as green
+.btn-success {
+  @include button-variant($btn-success-color, $btn-success-bg, 
$btn-success-border);
+}
+// Info appears as blue-green
+.btn-info {
+  @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);
+}
+// Warning appears as orange
+.btn-warning {
+  @include button-variant($btn-warning-color, $btn-warning-bg, 
$btn-warning-border);
+}
+// Danger and error appear as red
+.btn-danger {
+  @include button-variant($btn-danger-color, $btn-danger-bg, 
$btn-danger-border);
+}
+
+
+// Link buttons
+// -------------------------
+
+// Make a button look and behave like a link
+.btn-link {
+  color: $link-color;
+  font-weight: normal;
+  cursor: pointer;
+  border-radius: 0;
+
+  &,
+  &:active,
+  &[disabled],
+  fieldset[disabled] & {
+    background-color: transparent;
+    @include box-shadow(none);
+  }
+  &,
+  &:hover,
+  &:focus,
+  &:active {
+    border-color: transparent;
+  }
+  &:hover,
+  &:focus {
+    color: $link-hover-color;
+    text-decoration: underline;
+    background-color: transparent;
+  }
+  &[disabled],
+  fieldset[disabled] & {
+    &:hover,
+    &:focus {
+      color: $btn-link-disabled-color;
+      text-decoration: none;
+    }
+  }
+}
+
+
+// Button Sizes
+// --------------------------------------------------
+
+.btn-lg {
+  // line-height: ensure even-numbered height of button next to large input
+  @include button-size($padding-large-vertical, $padding-large-horizontal, 
$font-size-large, $line-height-large, $border-radius-large);
+}
+.btn-sm {
+  // line-height: ensure proper height of button next to small input
+  @include button-size($padding-small-vertical, $padding-small-horizontal, 
$font-size-small, $line-height-small, $border-radius-small);
+}
+.btn-xs {
+  @include button-size($padding-xs-vertical, $padding-xs-horizontal, 
$font-size-small, $line-height-small, $border-radius-small);
+}
+
+
+// Block button
+// --------------------------------------------------
+
+.btn-block {
+  display: block;
+  width: 100%;
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+  margin-top: 5px;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+  &.btn-block {
+    width: 100%;
+  }
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_buttons.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_carousel.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_carousel.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_carousel.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_carousel.scss Thu Dec 11 
06:20:14 2014
@@ -0,0 +1,243 @@
+//
+// Carousel
+// --------------------------------------------------
+
+
+// Wrapper for the slide container and indicators
+.carousel {
+  position: relative;
+}
+
+.carousel-inner {
+  position: relative;
+  overflow: hidden;
+  width: 100%;
+
+  > .item {
+    display: none;
+    position: relative;
+    @include transition(.6s ease-in-out left);
+
+    // Account for jankitude on images
+    > img,
+    > a > img {
+      @include img-responsive();
+      line-height: 1;
+    }
+  }
+
+  > .active,
+  > .next,
+  > .prev {
+    display: block;
+  }
+
+  > .active {
+    left: 0;
+  }
+
+  > .next,
+  > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+
+  > .next {
+    left: 100%;
+  }
+  > .prev {
+    left: -100%;
+  }
+  > .next.left,
+  > .prev.right {
+    left: 0;
+  }
+
+  > .active.left {
+    left: -100%;
+  }
+  > .active.right {
+    left: 100%;
+  }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  width: $carousel-control-width;
+  @include opacity($carousel-control-opacity);
+  font-size: $carousel-control-font-size;
+  color: $carousel-control-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+  // We can't have this transition here because WebKit cancels the carousel
+  // animation if you trip this while in the middle of another animation.
+
+  // Set gradients for backgrounds
+  &.left {
+    @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: 
rgba(0,0,0,.0001));
+  }
+  &.right {
+    left: auto;
+    right: 0;
+    @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: 
rgba(0,0,0,.5));
+  }
+
+  // Hover/focus state
+  &:hover,
+  &:focus {
+    outline: 0;
+    color: $carousel-control-color;
+    text-decoration: none;
+    @include opacity(.9);
+  }
+
+  // Toggles
+  .icon-prev,
+  .icon-next,
+  .glyphicon-chevron-left,
+  .glyphicon-chevron-right {
+    position: absolute;
+    top: 50%;
+    z-index: 5;
+    display: inline-block;
+  }
+  .icon-prev,
+  .glyphicon-chevron-left {
+    left: 50%;
+    margin-left: -10px;
+  }
+  .icon-next,
+  .glyphicon-chevron-right {
+    right: 50%;
+    margin-right: -10px;
+  }
+  .icon-prev,
+  .icon-next {
+    width:  20px;
+    height: 20px;
+    margin-top: -10px;
+    font-family: serif;
+  }
+
+
+  .icon-prev {
+    &:before {
+      content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
+    }
+  }
+  .icon-next {
+    &:before {
+      content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
+    }
+  }
+}
+
+// Optional indicator pips
+//
+// Add an unordered list with the following class and add a list item for each
+// slide your carousel holds.
+
+.carousel-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  margin-left: -30%;
+  padding-left: 0;
+  list-style: none;
+  text-align: center;
+
+  li {
+    display: inline-block;
+    width:  10px;
+    height: 10px;
+    margin: 1px;
+    text-indent: -999px;
+    border: 1px solid $carousel-indicator-border-color;
+    border-radius: 10px;
+    cursor: pointer;
+
+    // IE8-9 hack for event handling
+    //
+    // Internet Explorer 8-9 does not support clicks on elements without a set
+    // `background-color`. We cannot use `filter` since that's not viewed as a
+    // background color by the browser. Thus, a hack is needed.
+    //
+    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
+    // set alpha transparency for the best results possible.
+    background-color: #000 \9; // IE8
+    background-color: rgba(0,0,0,0); // IE9
+  }
+  .active {
+    margin: 0;
+    width:  12px;
+    height: 12px;
+    background-color: $carousel-indicator-active-bg;
+  }
+}
+
+// Optional captions
+// -----------------------------
+// Hidden by default for smaller viewports
+.carousel-caption {
+  position: absolute;
+  left: 15%;
+  right: 15%;
+  bottom: 20px;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: $carousel-caption-color;
+  text-align: center;
+  text-shadow: $carousel-text-shadow;
+  & .btn {
+    text-shadow: none; // No shadow for button elements in carousel-caption
+  }
+}
+
+
+// Scale up controls for tablets and up
+@media screen and (min-width: $screen-sm-min) {
+
+  // Scale up the controls a smidge
+  .carousel-control {
+    .glyphicon-chevron-left,
+    .glyphicon-chevron-right,
+    .icon-prev,
+    .icon-next {
+      width: 30px;
+      height: 30px;
+      margin-top: -15px;
+      font-size: 30px;
+    }
+    .glyphicon-chevron-left,
+    .icon-prev {
+      margin-left: -15px;
+    }
+    .glyphicon-chevron-right,
+    .icon-next {
+      margin-right: -15px;
+    }
+  }
+
+  // Show and left align the captions
+  .carousel-caption {
+    left: 20%;
+    right: 20%;
+    padding-bottom: 30px;
+  }
+
+  // Move up the indicators
+  .carousel-indicators {
+    bottom: 20px;
+  }
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_carousel.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_close.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_close.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_close.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_close.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,35 @@
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+  float: right;
+  font-size: ($font-size-base * 1.5);
+  font-weight: $close-font-weight;
+  line-height: 1;
+  color: $close-color;
+  text-shadow: $close-text-shadow;
+  @include opacity(.2);
+
+  &:hover,
+  &:focus {
+    color: $close-color;
+    text-decoration: none;
+    cursor: pointer;
+    @include opacity(.5);
+  }
+
+  // [converter] extracted button& to button.close
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_close.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_code.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_code.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_code.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_code.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,68 @@
+//
+// Code (inline and block)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+kbd,
+pre,
+samp {
+  font-family: $font-family-monospace;
+}
+
+// Inline code
+code {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: $code-color;
+  background-color: $code-bg;
+  border-radius: $border-radius-base;
+}
+
+// User input typically entered via keyboard
+kbd {
+  padding: 2px 4px;
+  font-size: 90%;
+  color: $kbd-color;
+  background-color: $kbd-bg;
+  border-radius: $border-radius-small;
+  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
+
+  kbd {
+    padding: 0;
+    font-size: 100%;
+    box-shadow: none;
+  }
+}
+
+// Blocks of code
+pre {
+  display: block;
+  padding: (($line-height-computed - 1) / 2);
+  margin: 0 0 ($line-height-computed / 2);
+  font-size: ($font-size-base - 1); // 14px to 13px
+  line-height: $line-height-base;
+  word-break: break-all;
+  word-wrap: break-word;
+  color: $pre-color;
+  background-color: $pre-bg;
+  border: 1px solid $pre-border-color;
+  border-radius: $border-radius-base;
+
+  // Account for some code outputs that place code tags in pre tags
+  code {
+    padding: 0;
+    font-size: inherit;
+    color: inherit;
+    white-space: pre-wrap;
+    background-color: transparent;
+    border-radius: 0;
+  }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+  max-height: $pre-scrollable-max-height;
+  overflow-y: scroll;
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_code.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_component-animations.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_component-animations.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_component-animations.scss 
(added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_component-animations.scss Thu 
Dec 11 06:20:14 2014
@@ -0,0 +1,35 @@
+//
+// Component animations
+// --------------------------------------------------
+
+// Heads up!
+//
+// We don't use the `.opacity()` mixin here since it causes a bug with text
+// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
+
+.fade {
+  opacity: 0;
+  @include transition(opacity .15s linear);
+  &.in {
+    opacity: 1;
+  }
+}
+
+.collapse {
+  display: none;
+
+  &.in      { display: block; }
+  // [converter] extracted tr&.in to tr.collapse.in
+  // [converter] extracted tbody&.in to tbody.collapse.in
+}
+
+tr.collapse.in    { display: table-row; }
+
+tbody.collapse.in { display: table-row-group; }
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  @include transition(height .35s ease);
+}

Propchange: 
incubator/ignite/site/trunk/scss/bootstrap/_component-animations.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_dropdowns.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_dropdowns.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_dropdowns.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_dropdowns.scss Thu Dec 11 
06:20:14 2014
@@ -0,0 +1,215 @@
+//
+// Dropdown menus
+// --------------------------------------------------
+
+
+// Dropdown arrow/caret
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 2px;
+  vertical-align: middle;
+  border-top:   $caret-width-base solid;
+  border-right: $caret-width-base solid transparent;
+  border-left:  $caret-width-base solid transparent;
+}
+
+// The dropdown wrapper (div)
+.dropdown {
+  position: relative;
+}
+
+// Prevent the focus on the dropdown toggle when closing dropdowns
+.dropdown-toggle:focus {
+  outline: 0;
+}
+
+// The dropdown menu (ul)
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: $zindex-dropdown;
+  display: none; // none by default, but block on "open" of the menu
+  float: left;
+  min-width: 160px;
+  padding: 5px 0;
+  margin: 2px 0 0; // override default ul
+  list-style: none;
+  font-size: $font-size-base;
+  text-align: left; // Ensures proper alignment if parent has it changed 
(e.g., modal footer)
+  background-color: $dropdown-bg;
+  border: 1px solid $dropdown-fallback-border; // IE8 fallback
+  border: 1px solid $dropdown-border;
+  border-radius: $border-radius-base;
+  @include box-shadow(0 6px 12px rgba(0,0,0,.175));
+  background-clip: padding-box;
+
+  // Aligns the dropdown menu to right
+  //
+  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
+  &.pull-right {
+    right: 0;
+    left: auto;
+  }
+
+  // Dividers (basically an hr) within the dropdown
+  .divider {
+    @include nav-divider($dropdown-divider-bg);
+  }
+
+  // Links within the dropdown menu
+  > li > a {
+    display: block;
+    padding: 3px 20px;
+    clear: both;
+    font-weight: normal;
+    line-height: $line-height-base;
+    color: $dropdown-link-color;
+    white-space: nowrap; // prevent links from randomly breaking onto new lines
+  }
+}
+
+// Hover/Focus state
+.dropdown-menu > li > a {
+  &:hover,
+  &:focus {
+    text-decoration: none;
+    color: $dropdown-link-hover-color;
+    background-color: $dropdown-link-hover-bg;
+  }
+}
+
+// Active state
+.dropdown-menu > .active > a {
+  &,
+  &:hover,
+  &:focus {
+    color: $dropdown-link-active-color;
+    text-decoration: none;
+    outline: 0;
+    background-color: $dropdown-link-active-bg;
+  }
+}
+
+// Disabled state
+//
+// Gray out text and ensure the hover/focus state remains gray
+
+.dropdown-menu > .disabled > a {
+  &,
+  &:hover,
+  &:focus {
+    color: $dropdown-link-disabled-color;
+  }
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a {
+  &:hover,
+  &:focus {
+    text-decoration: none;
+    background-color: transparent;
+    background-image: none; // Remove CSS gradient
+    @include reset-filter();
+    cursor: not-allowed;
+  }
+}
+
+// Open state for the dropdown
+.open {
+  // Show the menu
+  > .dropdown-menu {
+    display: block;
+  }
+
+  // Remove the outline when :focus is triggered
+  > a {
+    outline: 0;
+  }
+}
+
+// Menu positioning
+//
+// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
+// menu with the parent.
+.dropdown-menu-right {
+  left: auto; // Reset the default from `.dropdown-menu`
+  right: 0;
+}
+// With v3, we enabled auto-flipping if you have a dropdown within a right
+// aligned nav component. To enable the undoing of that, we provide an override
+// to restore the default dropdown menu alignment.
+//
+// This is only for left-aligning a dropdown menu within a `.navbar-right` or
+// `.pull-right` nav component.
+.dropdown-menu-left {
+  left: 0;
+  right: auto;
+}
+
+// Dropdown section headers
+.dropdown-header {
+  display: block;
+  padding: 3px 20px;
+  font-size: $font-size-small;
+  line-height: $line-height-base;
+  color: $dropdown-header-color;
+  white-space: nowrap; // as with > li > a
+}
+
+// Backdrop to catch body clicks on mobile, etc.
+.dropdown-backdrop {
+  position: fixed;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+  z-index: ($zindex-dropdown - 10);
+}
+
+// Right aligned dropdowns
+.pull-right > .dropdown-menu {
+  right: 0;
+  left: auto;
+}
+
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+//
+// Just add .dropup after the standard .dropdown class and you're set, bro.
+// TODO: abstract this so that the navbar fixed styles are not placed here?
+
+.dropup,
+.navbar-fixed-bottom .dropdown {
+  // Reverse the caret
+  .caret {
+    border-top: 0;
+    border-bottom: $caret-width-base solid;
+    content: "";
+  }
+  // Different positioning for bottom up menu
+  .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 1px;
+  }
+}
+
+
+// Component alignment
+//
+// Reiterate per navbar.less and the modified component alignment there.
+
+@media (min-width: $grid-float-breakpoint) {
+  .navbar-right {
+    .dropdown-menu {
+      right: 0; left: auto;
+    }
+    // Necessary for overrides of the default right aligned menu.
+    // Will remove come v4 in all likelihood.
+    .dropdown-menu-left {
+      left: 0; right: auto;
+    }
+  }
+}
+

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_dropdowns.scss
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/ignite/site/trunk/scss/bootstrap/_forms.scss
URL: 
http://svn.apache.org/viewvc/incubator/ignite/site/trunk/scss/bootstrap/_forms.scss?rev=1644562&view=auto
==============================================================================
--- incubator/ignite/site/trunk/scss/bootstrap/_forms.scss (added)
+++ incubator/ignite/site/trunk/scss/bootstrap/_forms.scss Thu Dec 11 06:20:14 
2014
@@ -0,0 +1,538 @@
+//
+// Forms
+// --------------------------------------------------
+
+
+// Normalize non-controls
+//
+// Restyle and baseline non-control form elements.
+
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
+  // so we reset that to ensure it behaves more like a standard block element.
+  // See https://github.com/twbs/bootstrap/issues/12359.
+  min-width: 0;
+}
+
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: $line-height-computed;
+  font-size: ($font-size-base * 1.5);
+  line-height: inherit;
+  color: $legend-color;
+  border: 0;
+  border-bottom: 1px solid $legend-border-color;
+}
+
+label {
+  display: inline-block;
+  max-width: 100%; // Force IE8 to wrap long content (see 
https://github.com/twbs/bootstrap/issues/13141)
+  margin-bottom: 5px;
+  font-weight: bold;
+}
+
+
+// Normalize form controls
+//
+// While most of our form styles require extra classes, some basic 
normalization
+// is required to ensure optimum display with or without those classes to 
better
+// address browser inconsistencies.
+
+// Override content-box in Normalize (* isn't specific enough)
+input[type="search"] {
+  @include box-sizing(border-box);
+}
+
+// Position radios and checkboxes better
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9; // IE8-9
+  line-height: normal;
+}
+
+// Set the height of file controls to match text inputs
+input[type="file"] {
+  display: block;
+}
+
+// Make range inputs behave like textual form controls
+input[type="range"] {
+  display: block;
+  width: 100%;
+}
+
+// Make multiple select elements height not fixed
+select[multiple],
+select[size] {
+  height: auto;
+}
+
+// Focus for file, radio, and checkbox
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  @include tab-focus();
+}
+
+// Adjust output element
+output {
+  display: block;
+  padding-top: ($padding-base-vertical + 1);
+  font-size: $font-size-base;
+  line-height: $line-height-base;
+  color: $input-color;
+}
+
+
+// Common form controls
+//
+// Shared size and type resets for form controls. Apply `.form-control` to any
+// of the following form controls:
+//
+// select
+// textarea
+// input[type="text"]
+// input[type="password"]
+// input[type="datetime"]
+// input[type="datetime-local"]
+// input[type="date"]
+// input[type="month"]
+// input[type="time"]
+// input[type="week"]
+// input[type="number"]
+// input[type="email"]
+// input[type="url"]
+// input[type="search"]
+// input[type="tel"]
+// input[type="color"]
+
+.form-control {
+  display: block;
+  width: 100%;
+  height: $input-height-base; // Make inputs at least the height of their 
button counterpart (base line-height + padding + border)
+  padding: $padding-base-vertical $padding-base-horizontal;
+  font-size: $font-size-base;
+  line-height: $line-height-base;
+  color: $input-color;
+  background-color: $input-bg;
+  background-image: none; // Reset unusual Firefox-on-Android default style; 
see https://github.com/necolas/normalize.css/issues/214
+  border: 1px solid $input-border;
+  border-radius: $input-border-radius;
+  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out 
.15s);
+
+  // Customize the `:focus` state to imitate native WebKit styles.
+  @include form-control-focus();
+
+  // Placeholder
+  @include placeholder();
+
+  // Disabled and read-only inputs
+  //
+  // HTML5 says that controls under a fieldset > legend:first-child won't be
+  // disabled if the fieldset is disabled. Due to implementation difficulty, we
+  // don't honor that edge case; we style them as disabled anyway.
+  &[disabled],
+  &[readonly],
+  fieldset[disabled] & {
+    cursor: not-allowed;
+    background-color: $input-bg-disabled;
+    opacity: 1; // iOS fix for unreadable disabled content
+  }
+
+  // [converter] extracted textarea& to textarea.form-control
+}
+
+// Reset height for `textarea`s
+textarea.form-control {
+  height: auto;
+}
+
+
+// Search inputs in iOS
+//
+// This overrides the extra rounded corners on search inputs in iOS so that our
+// `.form-control` class can properly style them. Note that this cannot simply
+// be added to `.form-control` as it's not specific enough. For details, see
+// https://github.com/twbs/bootstrap/issues/11586.
+
+input[type="search"] {
+  -webkit-appearance: none;
+}
+
+
+// Special styles for iOS temporal inputs
+//
+// In Mobile Safari, setting `display: block` on temporal inputs causes the
+// text within the input to become vertically misaligned.
+// As a workaround, we set a pixel line-height that matches the
+// given height of the input. Since this fucks up everything else, we have to
+// appropriately reset it for Internet Explorer and the size variations.
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  line-height: $input-height-base;
+  // IE8+ misaligns the text within date inputs, so we reset
+  line-height: $line-height-base #{\0};
+
+  &.input-sm {
+    line-height: $input-height-small;
+  }
+  &.input-lg {
+    line-height: $input-height-large;
+  }
+}
+
+
+// Form groups
+//
+// Designed to help with the organization and spacing of vertical forms. For
+// horizontal forms, use the predefined grid classes.
+
+.form-group {
+  margin-bottom: 15px;
+}
+
+
+// Checkboxes and radios
+//
+// Indent the labels to position radios/checkboxes as hanging controls.
+
+.radio,
+.checkbox {
+  position: relative;
+  display: block;
+  min-height: $line-height-computed; // clear the floating input if there is 
no label text
+  margin-top: 10px;
+  margin-bottom: 10px;
+
+  label {
+    padding-left: 20px;
+    margin-bottom: 0;
+    font-weight: normal;
+    cursor: pointer;
+  }
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  position: absolute;
+  margin-left: -20px;
+  margin-top: 4px \9;
+}
+
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
+}
+
+// Radios and checkboxes on same line
+.radio-inline,
+.checkbox-inline {
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  vertical-align: middle;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px; // space out consecutive inline controls
+}
+
+// Apply same disabled cursor tweak as for inputs
+// Some special care is needed because <label>s don't inherit their parent's 
`cursor`.
+//
+// Note: Neither radios nor checkboxes can be readonly.
+input[type="radio"],
+input[type="checkbox"] {
+  &[disabled],
+  &.disabled,
+  fieldset[disabled] & {
+    cursor: not-allowed;
+  }
+}
+// These classes are used directly on <label>s
+.radio-inline,
+.checkbox-inline {
+  &.disabled,
+  fieldset[disabled] & {
+    cursor: not-allowed;
+  }
+}
+// These classes are used on elements with <label> descendants
+.radio,
+.checkbox {
+  &.disabled,
+  fieldset[disabled] & {
+    label {
+      cursor: not-allowed;
+    }
+  }
+}
+
+
+// Static form control text
+//
+// Apply class to a `p` element to make any string of text align with labels in
+// a horizontal form layout.
+
+.form-control-static {
+  // Size it appropriately next to real form controls
+  padding-top: ($padding-base-vertical + 1);
+  padding-bottom: ($padding-base-vertical + 1);
+  // Remove default margin from `p`
+  margin-bottom: 0;
+
+  &.input-lg,
+  &.input-sm {
+    padding-left: 0;
+    padding-right: 0;
+  }
+}
+
+
+// Form control sizing
+//
+// Build on `.form-control` with modifier classes to decrease or increase the
+// height and font-size of form controls.
+
+@include input-size('.input-sm', $input-height-small, $padding-small-vertical, 
$padding-small-horizontal, $font-size-small, $line-height-small, 
$border-radius-small);
+
+@include input-size('.input-lg', $input-height-large, $padding-large-vertical, 
$padding-large-horizontal, $font-size-large, $line-height-large, 
$border-radius-large);
+
+
+// Form control feedback states
+//
+// Apply contextual and semantic states to individual form controls.
+
+.has-feedback {
+  // Enable absolute positioning
+  position: relative;
+
+  // Ensure icons don't overlap text
+  .form-control {
+    padding-right: ($input-height-base * 1.25);
+  }
+}
+// Feedback icon (requires .glyphicon classes)
+.form-control-feedback {
+  position: absolute;
+  top: ($line-height-computed + 5); // Height of the `label` and its margin
+  right: 0;
+  z-index: 2; // Ensure icon is above input groups
+  display: block;
+  width: $input-height-base;
+  height: $input-height-base;
+  line-height: $input-height-base;
+  text-align: center;
+}
+.input-lg + .form-control-feedback {
+  width: $input-height-large;
+  height: $input-height-large;
+  line-height: $input-height-large;
+}
+.input-sm + .form-control-feedback {
+  width: $input-height-small;
+  height: $input-height-small;
+  line-height: $input-height-small;
+}
+
+// Feedback states
+.has-success {
+  @include form-control-validation($state-success-text, $state-success-text, 
$state-success-bg);
+}
+.has-warning {
+  @include form-control-validation($state-warning-text, $state-warning-text, 
$state-warning-bg);
+}
+.has-error {
+  @include form-control-validation($state-danger-text, $state-danger-text, 
$state-danger-bg);
+}
+
+
+// Reposition feedback icon if label is hidden with "screenreader only" state
+.has-feedback label.sr-only ~ .form-control-feedback {
+  top: 0;
+}
+
+
+// Help text
+//
+// Apply to any element you wish to create light text for placement immediately
+// below a form control. Use for general help, formatting, or instructional 
text.
+
+.help-block {
+  display: block; // account for any element using help-block
+  margin-top: 5px;
+  margin-bottom: 10px;
+  color: lighten($text-color, 25%); // lighten the text some for contrast
+}
+
+
+
+// Inline forms
+//
+// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
+// forms begin stacked on extra small (mobile) devices and then go inline when
+// viewports reach <768px.
+//
+// Requires wrapping inputs and labels with `.form-group` for proper display of
+// default HTML form controls and our custom form controls (e.g., input 
groups).
+//
+// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
+
+.form-inline {
+
+  // Kick in the inline
+  @media (min-width: $screen-sm-min) {
+    // Inline-block all the things for "inline"
+    .form-group {
+      display: inline-block;
+      margin-bottom: 0;
+      vertical-align: middle;
+    }
+
+    // In navbar-form, allow folks to *not* use `.form-group`
+    .form-control {
+      display: inline-block;
+      width: auto; // Prevent labels from stacking above inputs in 
`.form-group`
+      vertical-align: middle;
+    }
+
+    .input-group {
+      display: inline-table;
+      vertical-align: middle;
+
+      .input-group-addon,
+      .input-group-btn,
+      .form-control {
+        width: auto;
+      }
+    }
+
+    // Input groups need that 100% width though
+    .input-group > .form-control {
+      width: 100%;
+    }
+
+    .control-label {
+      margin-bottom: 0;
+      vertical-align: middle;
+    }
+
+    // Remove default margin on radios/checkboxes that were used for stacking, 
and
+    // then undo the floating of radios and checkboxes to match (which also 
avoids
+    // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
+    .radio,
+    .checkbox {
+      display: inline-block;
+      margin-top: 0;
+      margin-bottom: 0;
+      vertical-align: middle;
+
+      label {
+        padding-left: 0;
+      }
+    }
+    .radio input[type="radio"],
+    .checkbox input[type="checkbox"] {
+      position: relative;
+      margin-left: 0;
+    }
+
+    // Validation states
+    //
+    // Reposition the icon because it's now within a grid column and columns 
have
+    // `position: relative;` on them. Also accounts for the grid gutter 
padding.
+    .has-feedback .form-control-feedback {
+      top: 0;
+    }
+  }
+}
+
+
+// Horizontal forms
+//
+// Horizontal forms are built on grid classes and allow you to create forms 
with
+// labels on the left and inputs on the right.
+
+.form-horizontal {
+
+  // Consistent vertical alignment of radios and checkboxes
+  //
+  // Labels also get some reset styles, but that is scoped to a media query 
below.
+  .radio,
+  .checkbox,
+  .radio-inline,
+  .checkbox-inline {
+    margin-top: 0;
+    margin-bottom: 0;
+    padding-top: ($padding-base-vertical + 1); // Default padding plus a border
+  }
+  // Account for padding we're adding to ensure the alignment and of help text
+  // and other content below items
+  .radio,
+  .checkbox {
+    min-height: ($line-height-computed + ($padding-base-vertical + 1));
+  }
+
+  // Make form groups behave like rows
+  .form-group {
+    @include make-row();
+  }
+
+  // Reset spacing and right align labels, but scope to media queries so that
+  // labels on narrow viewports stack the same as a default form example.
+  @media (min-width: $screen-sm-min) {
+    .control-label {
+      text-align: right;
+      margin-bottom: 0;
+      padding-top: ($padding-base-vertical + 1); // Default padding plus a 
border
+    }
+  }
+
+  // Validation states
+  //
+  // Reposition the icon because it's now within a grid column and columns have
+  // `position: relative;` on them. Also accounts for the grid gutter padding.
+  .has-feedback .form-control-feedback {
+    top: 0;
+    right: ($grid-gutter-width / 2);
+  }
+
+  // Form group sizes
+  //
+  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
+  // inputs and labels within a `.form-group`.
+  .form-group-lg {
+    @media (min-width: $screen-sm-min) {
+      .control-label {
+        padding-top: (($padding-large-vertical * $line-height-large) + 1);
+      }
+    }
+    .form-control {
+      @extend .input-lg;
+    }
+  }
+  .form-group-sm {
+    @media (min-width: $screen-sm-min) {
+      .control-label {
+        padding-top: ($padding-small-vertical + 1);
+      }
+    }
+    .form-control {
+      @extend .input-sm;
+    }
+  }
+}

Propchange: incubator/ignite/site/trunk/scss/bootstrap/_forms.scss
------------------------------------------------------------------------------
    svn:executable = *


Reply via email to