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 = *