From 6fc2f688f8a9c679381d5e8cd003e35317cf144f Mon Sep 17 00:00:00 2001 From: Thomas Park Date: Wed, 5 Feb 2014 21:05:48 -0500 Subject: tabs to spaces --- Gruntfile.js | 160 ++++++------- amelia/bootswatch.less | 108 ++++----- cerulean/bootswatch.less | 72 +++--- cosmo/bootswatch.less | 112 ++++----- cyborg/bootswatch.less | 108 ++++----- flatly/bootswatch.less | 122 +++++----- journal/bootswatch.less | 94 ++++---- slate/bootswatch.less | 340 +++++++++++++-------------- spacelab/bootswatch.less | 86 +++---- yeti/bootswatch.less | 598 +++++++++++++++++++++++------------------------ 10 files changed, 900 insertions(+), 900 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 40061810..25b08375 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,91 +1,91 @@ module.exports = function (grunt) { - grunt.loadNpmTasks('grunt-contrib-less'); - grunt.loadNpmTasks('grunt-contrib-concat'); - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-watch'); - // Project configuration. - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - builddir: '.', - banner: '/*!\n' + - ' * <%= pkg.name %> v<%= pkg.version %>\n' + - ' * Homepage: <%= pkg.homepage %>\n' + - ' * Copyright 2012-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + - ' * Licensed under <%= pkg.license %>\n' + - ' * Based on Bootstrap\n' + - '*/\n', - swatch: { - amelia:{}, cerulean:{}, cosmo:{}, cyborg:{}, flatly:{}, journal:{}, - readable:{}, simplex:{}, slate:{}, spacelab:{}, united:{}, yeti:{}, - custom:{} - }, - clean: { - build: { - src: ['*/build.less', '!global/build.less'] - } - }, - concat: { - options: { - banner: '<%= banner %>', - stripBanners: false - }, - dist: { - src: [], - dest: '' - } - }, - less: { - dist: { - options: { - compress: false - }, - files: {} - } - } - }); + // Project configuration. + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + builddir: '.', + banner: '/*!\n' + + ' * <%= pkg.name %> v<%= pkg.version %>\n' + + ' * Homepage: <%= pkg.homepage %>\n' + + ' * Copyright 2012-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + + ' * Licensed under <%= pkg.license %>\n' + + ' * Based on Bootstrap\n' + + '*/\n', + swatch: { + amelia:{}, cerulean:{}, cosmo:{}, cupid:{}, cyborg:{}, flatly:{}, + journal:{}, lumen:{}, readable:{}, simplex:{}, slate:{}, spacelab:{}, + superhero:{}, united:{}, yeti:{}, custom:{} + }, + clean: { + build: { + src: ['*/build.less', '!global/build.less'] + } + }, + concat: { + options: { + banner: '<%= banner %>', + stripBanners: false + }, + dist: { + src: [], + dest: '' + } + }, + less: { + dist: { + options: { + compress: false + }, + files: {} + } + } + }); - grunt.registerTask('none', function() {}); + grunt.registerTask('none', function() {}); - grunt.registerTask('build', 'build a regular theme', function(theme, compress) { - var compress = compress == undefined ? true : compress; + grunt.registerTask('build', 'build a regular theme', function(theme, compress) { + var compress = compress == undefined ? true : compress; - var concatSrc; - var concatDest; - var lessDest; - var lessSrc; - var files = {}; - var dist = {}; - concatSrc = 'global/build.less'; - concatDest = theme + '/build.less'; - lessDest = '<%=builddir%>/' + theme + '/bootstrap.css'; - lessSrc = [ theme + '/' + 'build.less' ]; + var concatSrc; + var concatDest; + var lessDest; + var lessSrc; + var files = {}; + var dist = {}; + concatSrc = 'global/build.less'; + concatDest = theme + '/build.less'; + lessDest = '<%=builddir%>/' + theme + '/bootstrap.css'; + lessSrc = [ theme + '/' + 'build.less' ]; - dist = {src: concatSrc, dest: concatDest}; - grunt.config('concat.dist', dist); - files = {}; files[lessDest] = lessSrc; - grunt.config('less.dist.files', files); - grunt.config('less.dist.options.compress', false); + dist = {src: concatSrc, dest: concatDest}; + grunt.config('concat.dist', dist); + files = {}; files[lessDest] = lessSrc; + grunt.config('less.dist.files', files); + grunt.config('less.dist.options.compress', false); - grunt.task.run(['concat', 'less:dist', 'clean:build', - compress ? 'compress:'+lessDest+':'+'<%=builddir%>/' + theme + '/bootstrap.min.css':'none']); - }); + grunt.task.run(['concat', 'less:dist', 'clean:build', + compress ? 'compress:'+lessDest+':'+'<%=builddir%>/' + theme + '/bootstrap.min.css':'none']); + }); - grunt.registerTask('compress', 'compress a generic css', function(fileSrc, fileDst) { - var files = {}; files[fileDst] = fileSrc; - grunt.log.writeln('compressing file ' + fileSrc); + grunt.registerTask('compress', 'compress a generic css', function(fileSrc, fileDst) { + var files = {}; files[fileDst] = fileSrc; + grunt.log.writeln('compressing file ' + fileSrc); - grunt.config('less.dist.files', files); - grunt.config('less.dist.options.compress', true); - grunt.task.run(['less:dist']); - }); + grunt.config('less.dist.files', files); + grunt.config('less.dist.options.compress', true); + grunt.task.run(['less:dist']); + }); - grunt.registerMultiTask('swatch', 'build a theme', function() { - var t = this.target; - grunt.task.run('build:'+t); - }); - - grunt.registerTask('default', 'build a theme', function() { - grunt.task.run('swatch'); - }); + grunt.registerMultiTask('swatch', 'build a theme', function() { + var t = this.target; + grunt.task.run('build:'+t); + }); + + grunt.registerTask('default', 'build a theme', function() { + grunt.task.run('swatch'); + }); }; diff --git a/amelia/bootswatch.less b/amelia/bootswatch.less index b4cde803..57f3166a 100644 --- a/amelia/bootswatch.less +++ b/amelia/bootswatch.less @@ -8,125 +8,125 @@ .navbar { - &-brand { - font-family: 'Lobster', cursive; - } + &-brand { + font-family: 'Lobster', cursive; + } } // Buttons ==================================================================== .btn { - - .caret { - border-top-color: #fff; - } + + .caret { + border-top-color: #fff; + } } .btn-default { - &:hover { - color: @btn-default-color; - } + &:hover { + color: @btn-default-color; + } - .caret { - border-top-color: @btn-default-color; - } + .caret { + border-top-color: @btn-default-color; + } } // Typography ================================================================= .text-primary, .text-primary:hover { - color: lighten(@brand-primary, 40%); + color: lighten(@brand-primary, 40%); } .text-success, .text-success:hover { - color: lighten(@brand-success, 20%); + color: lighten(@brand-success, 20%); } .text-danger, .text-danger:hover { - color: lighten(@brand-danger, 20%); + color: lighten(@brand-danger, 20%); } .text-warning, .text-warning:hover { - color: lighten(@brand-warning, 20%); + color: lighten(@brand-warning, 20%); } .text-info, .text-info:hover { - color: lighten(@brand-info, 40%); + color: lighten(@brand-info, 40%); } // Tables ===================================================================== .table-responsive > .table { - background-color: @table-bg; + background-color: @table-bg; } // Forms ====================================================================== .has-warning { - .help-block, - .control-label { - color: lighten(@brand-warning, 20%); - } + .help-block, + .control-label { + color: lighten(@brand-warning, 20%); + } - .form-control, - .form-control:focus { - border-color: lighten(@brand-warning, 20%); - } + .form-control, + .form-control:focus { + border-color: lighten(@brand-warning, 20%); + } } .has-error { - .help-block, - .control-label { - color: lighten(@brand-primary, 40%); - } + .help-block, + .control-label { + color: lighten(@brand-primary, 40%); + } - .form-control, - .form-control:focus { - border-color: lighten(@brand-primary, 40%); - } + .form-control, + .form-control:focus { + border-color: lighten(@brand-primary, 40%); + } } .has-success { - .help-block, - .control-label { - color: lighten(@brand-success, 20%); - } + .help-block, + .control-label { + color: lighten(@brand-success, 20%); + } - .form-control, - .form-control:focus { - border-color: lighten(@brand-success, 20%); - } + .form-control, + .form-control:focus { + border-color: lighten(@brand-success, 20%); + } } legend { - font-family: 'Lobster', cursive; - color: #fff; + font-family: 'Lobster', cursive; + color: #fff; } .input-group-addon { - color: @btn-default-color; + color: @btn-default-color; } // Navs ======================================================================= .pagination { - a:hover { - color: #fff; - } + a:hover { + color: #fff; + } } .pager { - a:hover { - color: #fff; - } + a:hover { + color: #fff; + } } // Indicators ================================================================= @@ -136,9 +136,9 @@ legend { // Containers ================================================================= .list-group-item { - background-color: lighten(@body-bg, 5%); + background-color: lighten(@body-bg, 5%); } .popover { - color: @gray-dark; + color: @gray-dark; } diff --git a/cerulean/bootswatch.less b/cerulean/bootswatch.less index c2521efb..75dafc8e 100644 --- a/cerulean/bootswatch.less +++ b/cerulean/bootswatch.less @@ -3,76 +3,76 @@ // ----------------------------------------------------- .btn-shadow(@color) { - #gradient > .vertical-three-colors(lighten(@color, 8%), @color, 60%, darken(@color, 4%)); - filter: none; - border-bottom: 1px solid darken(@color, 10%); + #gradient > .vertical-three-colors(lighten(@color, 8%), @color, 60%, darken(@color, 4%)); + filter: none; + border-bottom: 1px solid darken(@color, 10%); } // Navbar ===================================================================== .navbar { - .btn-shadow(@navbar-default-bg); - filter: none; - .box-shadow(0 1px 10px rgba(0, 0, 0, 0.1)); - - .navbar-nav > li > a, - &-brand { - text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); - } + .btn-shadow(@navbar-default-bg); + filter: none; + .box-shadow(0 1px 10px rgba(0, 0, 0, 0.1)); + + .navbar-nav > li > a, + &-brand { + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); + } } .navbar-inverse { - #gradient > .vertical-three-colors(lighten(@navbar-inverse-bg, 8%), lighten(@navbar-inverse-bg, 4%), 60%, darken(@navbar-inverse-bg, 2%)); - filter: none; - border-bottom: 1px solid darken(@navbar-inverse-bg, 10%); + #gradient > .vertical-three-colors(lighten(@navbar-inverse-bg, 8%), lighten(@navbar-inverse-bg, 4%), 60%, darken(@navbar-inverse-bg, 2%)); + filter: none; + border-bottom: 1px solid darken(@navbar-inverse-bg, 10%); } // Buttons ==================================================================== .btn { - text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); - .caret { - border-top-color: #fff; - } + .caret { + border-top-color: #fff; + } } .btn-default { - - .btn-shadow(@btn-default-bg); + + .btn-shadow(@btn-default-bg); - &:hover { - color: @btn-default-color; - } + &:hover { + color: @btn-default-color; + } - .caret { - border-top-color: @text-color; - } + .caret { + border-top-color: @text-color; + } } .btn-default { - .btn-shadow(@btn-default-bg); + .btn-shadow(@btn-default-bg); } .btn-primary { - .btn-shadow(@btn-primary-bg); + .btn-shadow(@btn-primary-bg); } .btn-success { - .btn-shadow(@btn-success-bg); + .btn-shadow(@btn-success-bg); } .btn-info { - .btn-shadow(@btn-info-bg); + .btn-shadow(@btn-info-bg); } .btn-warning { - .btn-shadow(@btn-warning-bg); + .btn-shadow(@btn-warning-bg); } .btn-danger { - .btn-shadow(@btn-danger-bg); + .btn-shadow(@btn-danger-bg); } // Typography ================================================================= @@ -95,8 +95,8 @@ .panel-danger, .panel-info { - .panel-heading, - .panel-title { - color: #fff; - } + .panel-heading, + .panel-title { + color: #fff; + } } diff --git a/cosmo/bootswatch.less b/cosmo/bootswatch.less index f4e221da..130124d6 100644 --- a/cosmo/bootswatch.less +++ b/cosmo/bootswatch.less @@ -9,135 +9,135 @@ // Buttons ==================================================================== .btn { - border: none; + border: none; } // Typography ================================================================= .text-primary, .text-primary:hover { - color: @brand-primary; + color: @brand-primary; } .text-success, .text-success:hover { - color: @brand-success; + color: @brand-success; } .text-danger, .text-danger:hover { - color: @brand-danger; + color: @brand-danger; } .text-warning, .text-warning:hover { - color: @brand-warning; + color: @brand-warning; } .text-info, .text-info:hover { - color: @brand-info; + color: @brand-info; } // Tables ===================================================================== .table { - tr.success, - tr.warning, - tr.danger { - color: #fff; - } + tr.success, + tr.warning, + tr.danger { + color: #fff; + } } // Forms ====================================================================== .has-warning { - .help-block, - .control-label { - color: @brand-warning; - } + .help-block, + .control-label { + color: @brand-warning; + } - .form-control, - .form-control:focus { - border: 1px solid @brand-warning; - } + .form-control, + .form-control:focus { + border: 1px solid @brand-warning; + } } .has-error { - .help-block, - .control-label { - color: @brand-danger; - } + .help-block, + .control-label { + color: @brand-danger; + } - .form-control, - .form-control:focus { - border: 1px solid @brand-danger; - } + .form-control, + .form-control:focus { + border: 1px solid @brand-danger; + } } .has-success { - .help-block, - .control-label { - color: @brand-success; - } + .help-block, + .control-label { + color: @brand-success; + } - .form-control, - .form-control:focus { - border: 1px solid @brand-success; - } + .form-control, + .form-control:focus { + border: 1px solid @brand-success; + } } // Navs ======================================================================= .nav-pills { - & > li > a { - border-radius: 0; - } + & > li > a { + border-radius: 0; + } } .dropdown-menu { - & > li > a:hover, - & > li > a:focus { - background-image: none; - } + & > li > a:hover, + & > li > a:focus { + background-image: none; + } } // Indicators ================================================================= .alert { - border: none; + border: none; - .alert-link { - text-decoration: underline; - color: #fff; - } + .alert-link { + text-decoration: underline; + color: #fff; + } } .label { - border-radius: 0; + border-radius: 0; } .close { - opacity: 1; + opacity: 1; } // Progress bars ============================================================== .progress { - height: 8px; - .box-shadow(none); + height: 8px; + .box-shadow(none); } // Containers ================================================================= .panel { - &-heading, - &-footer { - border-top-right-radius: 0; - border-top-left-radius: 0; - } + &-heading, + &-footer { + border-top-right-radius: 0; + border-top-left-radius: 0; + } } diff --git a/cyborg/bootswatch.less b/cyborg/bootswatch.less index c530daaa..2230caa0 100644 --- a/cyborg/bootswatch.less +++ b/cyborg/bootswatch.less @@ -8,7 +8,7 @@ .navbar { - border-bottom: 1px solid @gray-dark; + border-bottom: 1px solid @gray-dark; } // Buttons ==================================================================== @@ -17,99 +17,99 @@ .text-primary, .text-primary:hover { - color: @brand-primary; + color: @brand-primary; } .text-success, .text-success:hover { - color: @brand-success; + color: @brand-success; } .text-danger, .text-danger:hover { - color: @brand-danger; + color: @brand-danger; } .text-warning, .text-warning:hover { - color: @brand-warning; + color: @brand-warning; } .text-info, .text-info:hover { - color: @brand-info; + color: @brand-info; } // Tables ===================================================================== .table { - tr.success, - tr.warning, - tr.danger { - color: #fff; - } + tr.success, + tr.warning, + tr.danger { + color: #fff; + } } .table-responsive > .table { - background-color: @table-bg; + background-color: @table-bg; } // Forms ====================================================================== .has-warning { - .help-block, - .control-label { - color: @brand-warning; - } + .help-block, + .control-label { + color: @brand-warning; + } - .form-control, - .form-control:focus { - border-color: @brand-warning; - } + .form-control, + .form-control:focus { + border-color: @brand-warning; + } } .has-error { - .help-block, - .control-label { - color: @brand-danger; - } + .help-block, + .control-label { + color: @brand-danger; + } - .form-control, - .form-control:focus { - border-color: @brand-danger; - } + .form-control, + .form-control:focus { + border-color: @brand-danger; + } } .has-success { - .help-block, - .control-label { - color: @brand-success; - } + .help-block, + .control-label { + color: @brand-success; + } - .form-control, - .form-control:focus { - border-color: @brand-success; - } + .form-control, + .form-control:focus { + border-color: @brand-success; + } } legend { - color: #fff; + color: #fff; } .input-group-addon { - background-color: @btn-default-bg; + background-color: @btn-default-bg; } // Navs ======================================================================= .nav { - .caret, - a:hover .caret { - border-top-color: #fff; - border-bottom-color: #fff; - } + .caret, + a:hover .caret { + border-top-color: #fff; + border-bottom-color: #fff; + } } .nav-tabs, @@ -117,20 +117,20 @@ legend { .breadcrumb, .pager { - a { - color: #fff; - } + a { + color: #fff; + } } // Indicators ================================================================= .alert { - .alert-link, - a { - color: @alert-warning-text; - text-decoration: underline; - } + .alert-link, + a { + color: @alert-warning-text; + text-decoration: underline; + } } // Progress bars ============================================================== @@ -139,7 +139,7 @@ legend { .jumbotron { - h1, h2, h3, h4, h5, h6 { - color: #fff; - } + h1, h2, h3, h4, h5, h6 { + color: #fff; + } } \ No newline at end of file diff --git a/flatly/bootswatch.less b/flatly/bootswatch.less index b752c708..e5dd1c16 100644 --- a/flatly/bootswatch.less +++ b/flatly/bootswatch.less @@ -9,38 +9,38 @@ // Buttons ==================================================================== .btn:active { - .box-shadow(none); + .box-shadow(none); } .btn-group.open .dropdown-toggle { - .box-shadow(none); + .box-shadow(none); } // Typography ================================================================= .text-primary, .text-primary:hover { - color: @brand-primary; + color: @brand-primary; } .text-success, .text-success:hover { - color: @brand-success; + color: @brand-success; } .text-danger, .text-danger:hover { - color: @brand-danger; + color: @brand-danger; } .text-warning, .text-warning:hover { - color: @brand-warning; + color: @brand-warning; } .text-info, .text-info:hover { - color: @brand-info; + color: @brand-info; } // Tables ===================================================================== @@ -90,96 +90,96 @@ input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { - border-width: 2px; - .box-shadow(none); + border-width: 2px; + .box-shadow(none); - &:focus { - .box-shadow(none); - } + &:focus { + .box-shadow(none); + } } .has-warning { - .help-block, - .control-label { - color: @brand-warning; - } + .help-block, + .control-label { + color: @brand-warning; + } - .form-control, - .form-control:focus { - border: 2px solid @brand-warning; - } + .form-control, + .form-control:focus { + border: 2px solid @brand-warning; + } } .has-error { - .help-block, - .control-label { - color: @brand-danger; - } + .help-block, + .control-label { + color: @brand-danger; + } - .form-control, - .form-control:focus { - border: 2px solid @brand-danger; - } + .form-control, + .form-control:focus { + border: 2px solid @brand-danger; + } } .has-success { - .help-block, - .control-label { - color: @brand-success; - } + .help-block, + .control-label { + color: @brand-success; + } - .form-control, - .form-control:focus { - border: 2px solid @brand-success; - } + .form-control, + .form-control:focus { + border: 2px solid @brand-success; + } } // Navs ======================================================================= .nav { - .open > a, - .open > a:hover, - .open > a:focus { - border-color: transparent; - } + .open > a, + .open > a:hover, + .open > a:focus { + border-color: transparent; + } } .pager { - a, - a:hover { - color: #fff; - } + a, + a:hover { + color: #fff; + } - .disabled { - &>a, - &>a:hover, - &>a:focus, - &>span { - background-color: @pagination-disabled-bg; - } - } + .disabled { + &>a, + &>a:hover, + &>a:focus, + &>span { + background-color: @pagination-disabled-bg; + } + } } // Indicators ================================================================= .alert { - a, - .alert-link { - color: #fff; - text-decoration: underline; - } + a, + .alert-link { + color: #fff; + text-decoration: underline; + } } // Progress bars ============================================================== .progress { - height: 10px; - .box-shadow(none); + height: 10px; + .box-shadow(none); } // Containers ================================================================= .well { - .box-shadow(none); + .box-shadow(none); } diff --git a/journal/bootswatch.less b/journal/bootswatch.less index c23a51db..963d5396 100644 --- a/journal/bootswatch.less +++ b/journal/bootswatch.less @@ -7,15 +7,15 @@ // Navbar ===================================================================== .navbar { - font-size: 18px; - font-family: @font-family-sans-serif; - font-weight: @headings-font-weight; + font-size: 18px; + font-family: @font-family-sans-serif; + font-weight: @headings-font-weight; } .navbar-brand { - font-size: 18px; - font-weight: @headings-font-weight; - text-transform: uppercase; + font-size: 18px; + font-weight: @headings-font-weight; + text-transform: uppercase; } // Buttons ==================================================================== @@ -27,39 +27,39 @@ // Forms ====================================================================== .has-warning { - .help-block, - .control-label { - color: @brand-danger; - } - - .form-control, - .form-control:focus { - border-color: @brand-danger; - } + .help-block, + .control-label { + color: @brand-danger; + } + + .form-control, + .form-control:focus { + border-color: @brand-danger; + } } .has-error { - .help-block, - .control-label { - color: @brand-primary; - } - - .form-control, - .form-control:focus { - border-color: @brand-primary; - } + .help-block, + .control-label { + color: @brand-primary; + } + + .form-control, + .form-control:focus { + border-color: @brand-primary; + } } .has-success { - .help-block, - .control-label { - color: @brand-success; - } - - .form-control, - .form-control:focus { - border-color: @brand-success; - } + .help-block, + .control-label { + color: @brand-success; + } + + .form-control, + .form-control:focus { + border-color: @brand-success; + } } // Navs ======================================================================= @@ -72,24 +72,24 @@ .jumbotron { - h1, h2, h3, h4, h5, h6 { - font-family: @font-family-sans-serif; - font-weight: @headings-font-weight; - color: #000; - } + h1, h2, h3, h4, h5, h6 { + font-family: @font-family-sans-serif; + font-weight: @headings-font-weight; + color: #000; + } } .panel { - &-primary, - &-success, - &-warning, - &-danger, - &-info { - .panel-title { - color: #fff; - } - } + &-primary, + &-success, + &-warning, + &-danger, + &-info { + .panel-title { + color: #fff; + } + } } diff --git a/slate/bootswatch.less b/slate/bootswatch.less index d02cc947..bc6f3482 100644 --- a/slate/bootswatch.less +++ b/slate/bootswatch.less @@ -3,313 +3,313 @@ // ----------------------------------------------------- .btn-shadow(@color) { - #gradient > .vertical-three-colors(lighten(@color, 6%), @color, 60%, darken(@color, 4%)); - filter: none; + #gradient > .vertical-three-colors(lighten(@color, 6%), @color, 60%, darken(@color, 4%)); + filter: none; } .btn-shadow-inverse(@color) { - #gradient > .vertical-three-colors(darken(@color, 24%), darken(@color, 18%), 40%, darken(@color, 14%)); - filter: none; + #gradient > .vertical-three-colors(darken(@color, 24%), darken(@color, 18%), 40%, darken(@color, 14%)); + filter: none; } // Navbar ===================================================================== .navbar { - .btn-shadow(@navbar-default-bg); - border: 1px solid rgba(0, 0, 0, 0.6); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + .btn-shadow(@navbar-default-bg); + border: 1px solid rgba(0, 0, 0, 0.6); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - &-inverse { - .btn-shadow(@navbar-inverse-bg); - } + &-inverse { + .btn-shadow(@navbar-inverse-bg); + } - &-nav > li > a { - border-right: 1px solid rgba(0, 0, 0, 0.2); - border-left: 1px solid rgba(255, 255, 255, 0.1); + &-nav > li > a { + border-right: 1px solid rgba(0, 0, 0, 0.2); + border-left: 1px solid rgba(255, 255, 255, 0.1); - &:hover { - .btn-shadow-inverse(@navbar-default-bg); - border-left-color: transparent; - } - } + &:hover { + .btn-shadow-inverse(@navbar-default-bg); + border-left-color: transparent; + } + } - .nav .open > a { - border-color: transparent; - } + .nav .open > a { + border-color: transparent; + } - &-nav > li.active > a { - border-left-color: transparent; - } + &-nav > li.active > a { + border-left-color: transparent; + } - &-form { - margin-left: 5px; - margin-right: 5px; - } + &-form { + margin-left: 5px; + margin-right: 5px; + } } // Buttons ==================================================================== .btn, .btn:hover { - border-color: rgba(0, 0, 0, 0.6); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + border-color: rgba(0, 0, 0, 0.6); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); } .btn-default { - .btn-shadow(@btn-default-bg); + .btn-shadow(@btn-default-bg); - &:hover { - .btn-shadow-inverse(@btn-default-bg); - } + &:hover { + .btn-shadow-inverse(@btn-default-bg); + } } .btn-primary { - .btn-shadow(@btn-primary-bg); + .btn-shadow(@btn-primary-bg); - &:hover { - .btn-shadow-inverse(@btn-primary-bg); - } + &:hover { + .btn-shadow-inverse(@btn-primary-bg); + } } .btn-success { - .btn-shadow(@btn-success-bg); + .btn-shadow(@btn-success-bg); - &:hover { - .btn-shadow-inverse(@btn-success-bg); - } + &:hover { + .btn-shadow-inverse(@btn-success-bg); + } } .btn-info { - .btn-shadow(@btn-info-bg); + .btn-shadow(@btn-info-bg); - &:hover { - .btn-shadow-inverse(@btn-info-bg); - } + &:hover { + .btn-shadow-inverse(@btn-info-bg); + } } .btn-warning { - .btn-shadow(@btn-warning-bg); + .btn-shadow(@btn-warning-bg); - &:hover { - .btn-shadow-inverse(@btn-warning-bg); - } + &:hover { + .btn-shadow-inverse(@btn-warning-bg); + } } .btn-danger { - .btn-shadow(@btn-danger-bg); + .btn-shadow(@btn-danger-bg); - &:hover { - .btn-shadow-inverse(@btn-danger-bg); - } + &:hover { + .btn-shadow-inverse(@btn-danger-bg); + } } .btn-link, .btn-link:hover { - border-color: transparent; + border-color: transparent; } // Typography ================================================================= h1, h2, h3, h4, h5, h6 { - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); } .text-primary, .text-primary:hover { - color: @brand-primary; + color: @brand-primary; } .text-success, .text-success:hover { - color: @brand-success; + color: @brand-success; } .text-danger, .text-danger:hover { - color: @brand-danger; + color: @brand-danger; } .text-warning, .text-warning:hover { - color: @brand-warning; + color: @brand-warning; } .text-info, .text-info:hover { - color: @brand-info; + color: @brand-info; } // Tables ===================================================================== .table { - tr.success, - tr.warning, - tr.danger { - color: #fff; - } + tr.success, + tr.warning, + tr.danger { + color: #fff; + } - &-bordered tbody { + &-bordered tbody { - tr.success, - tr.warning, - tr.danger { + tr.success, + tr.warning, + tr.danger { - td, - &:hover td { - border-color: @table-border-color; - } - } - } + td, + &:hover td { + border-color: @table-border-color; + } + } + } } .table-responsive > .table { - background-color: @table-bg; + background-color: @table-bg; } // Forms ====================================================================== .has-warning { - .help-block, - .control-label { - color: @brand-warning; - } + .help-block, + .control-label { + color: @brand-warning; + } - .form-control, - .form-control:focus { - border-color: @brand-warning; - } + .form-control, + .form-control:focus { + border-color: @brand-warning; + } } .has-error { - .help-block, - .control-label { - color: @brand-danger; - } + .help-block, + .control-label { + color: @brand-danger; + } - .form-control, - .form-control:focus { - border-color: @brand-danger; - } + .form-control, + .form-control:focus { + border-color: @brand-danger; + } } .has-success { - .help-block, - .control-label { - color: @brand-success; - } + .help-block, + .control-label { + color: @brand-success; + } - .form-control, - .form-control:focus { - border-color: @brand-success; - } + .form-control, + .form-control:focus { + border-color: @brand-success; + } } legend { - color: #fff; + color: #fff; } .input-group-addon { - border-color: rgba(0, 0, 0, 0.6); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - .btn-shadow(@btn-default-bg); - color: @btn-default-color; + border-color: rgba(0, 0, 0, 0.6); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + .btn-shadow(@btn-default-bg); + color: @btn-default-color; } // Navs ======================================================================= .nav { - .open > a, - .open > a:hover, - .open > a:focus { - border-color: rgba(0, 0, 0, 0.6); - } + .open > a, + .open > a:hover, + .open > a:focus { + border-color: rgba(0, 0, 0, 0.6); + } } .nav-pills { - & > li > a { - .btn-shadow(@btn-default-bg); - border: 1px solid rgba(0, 0, 0, 0.6); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + & > li > a { + .btn-shadow(@btn-default-bg); + border: 1px solid rgba(0, 0, 0, 0.6); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - &:hover { - .btn-shadow-inverse(@btn-default-bg); - border: 1px solid rgba(0, 0, 0, 0.6); - } - } + &:hover { + .btn-shadow-inverse(@btn-default-bg); + border: 1px solid rgba(0, 0, 0, 0.6); + } + } - & > li.active > a, - & > li.active > a:hover { - background-color: none; - .btn-shadow-inverse(@btn-default-bg); - border: 1px solid rgba(0, 0, 0, 0.6); - } + & > li.active > a, + & > li.active > a:hover { + background-color: none; + .btn-shadow-inverse(@btn-default-bg); + border: 1px solid rgba(0, 0, 0, 0.6); + } - & > li.disabled > a, - & > li.disabled > a:hover { - .btn-shadow(@btn-default-bg); - } + & > li.disabled > a, + & > li.disabled > a:hover { + .btn-shadow(@btn-default-bg); + } } .pagination { - & > li > a { - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - .btn-shadow(@btn-default-bg); + & > li > a { + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + .btn-shadow(@btn-default-bg); - &:hover { - .btn-shadow-inverse(@btn-default-bg); - } - } + &:hover { + .btn-shadow-inverse(@btn-default-bg); + } + } - & > li.active > a { - .btn-shadow-inverse(@btn-default-bg); - } + & > li.active > a { + .btn-shadow-inverse(@btn-default-bg); + } - & > li.disabled > a, - & > li.disabled > a:hover { - background-color: transparent; - .btn-shadow(@btn-default-bg); - } + & > li.disabled > a, + & > li.disabled > a:hover { + background-color: transparent; + .btn-shadow(@btn-default-bg); + } } .pager { - & > li > a { - .btn-shadow(@btn-default-bg); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + & > li > a { + .btn-shadow(@btn-default-bg); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - &:hover { - .btn-shadow-inverse(@btn-default-bg); - } - } + &:hover { + .btn-shadow-inverse(@btn-default-bg); + } + } - & > li.disabled > a, - & > li.disabled > a:hover { - background-color: transparent; - .btn-shadow(@btn-default-bg); - } + & > li.disabled > a, + & > li.disabled > a:hover { + background-color: transparent; + .btn-shadow(@btn-default-bg); + } } .breadcrumb { - border: 1px solid rgba(0, 0, 0, 0.6); - text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); - .btn-shadow(@btn-default-bg); + border: 1px solid rgba(0, 0, 0, 0.6); + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); + .btn-shadow(@btn-default-bg); } // Indicators ================================================================= .alert { - .alert-link, - a { - color: #fff; - text-decoration: underline; - } + .alert-link, + a { + color: #fff; + text-decoration: underline; + } } // Progress bars ============================================================== @@ -317,11 +317,11 @@ legend { // Containers ================================================================= .jumbotron { - border: 1px solid rgba(0, 0, 0, 0.6); + border: 1px solid rgba(0, 0, 0, 0.6); } .list-group-item { - background-color: lighten(@body-bg, 5%); + background-color: lighten(@body-bg, 5%); } .panel-primary, @@ -330,7 +330,7 @@ legend { .panel-warning, .panel-info { - .panel-heading { - border-color: #000; - } + .panel-heading { + border-color: #000; + } } \ No newline at end of file diff --git a/spacelab/bootswatch.less b/spacelab/bootswatch.less index 921d2285..d500c211 100644 --- a/spacelab/bootswatch.less +++ b/spacelab/bootswatch.less @@ -5,79 +5,79 @@ @import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"); .btn-shadow(@color) { - #gradient > .vertical-three-colors(lighten(@color, 15%), @color, 50%, darken(@color, 4%)); - filter: none; - border: 1px solid darken(@color, 10%); + #gradient > .vertical-three-colors(lighten(@color, 15%), @color, 50%, darken(@color, 4%)); + filter: none; + border: 1px solid darken(@color, 10%); } // Navbar ===================================================================== .navbar { - .btn-shadow(@navbar-default-bg); - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); - - &-inverse { - .btn-shadow(@navbar-inverse-bg); - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - } - - &-nav > li > a, - &-nav > li > a:hover { - padding-top: @navbar-padding-vertical + 2px; - padding-bottom: @navbar-padding-vertical - 2px; - .transition(color ease-in-out .2s); - } - - &-brand, - &-brand:hover { - .transition(color ease-in-out .2s); - } - - .caret, - .caret:hover { - .transition(border-color ease-in-out .2s); - } - - .dropdown-menu { - text-shadow: none; - } + .btn-shadow(@navbar-default-bg); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); + + &-inverse { + .btn-shadow(@navbar-inverse-bg); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); + } + + &-nav > li > a, + &-nav > li > a:hover { + padding-top: @navbar-padding-vertical + 2px; + padding-bottom: @navbar-padding-vertical - 2px; + .transition(color ease-in-out .2s); + } + + &-brand, + &-brand:hover { + .transition(color ease-in-out .2s); + } + + .caret, + .caret:hover { + .transition(border-color ease-in-out .2s); + } + + .dropdown-menu { + text-shadow: none; + } } // Buttons ==================================================================== .btn { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); } .btn-default, .btn-default:hover { - .btn-shadow(@btn-default-bg); + .btn-shadow(@btn-default-bg); } .btn-primary, .btn-primary:hover { - .btn-shadow(@btn-primary-bg); + .btn-shadow(@btn-primary-bg); } .btn-success, .btn-success:hover { - .btn-shadow(@btn-success-bg); + .btn-shadow(@btn-success-bg); } .btn-info, .btn-info:hover { - .btn-shadow(@btn-info-bg); + .btn-shadow(@btn-info-bg); } .btn-warning, .btn-warning:hover { - .btn-shadow(@btn-warning-bg); + .btn-shadow(@btn-warning-bg); } .btn-danger, .btn-danger:hover { - .btn-shadow(@btn-danger-bg); + .btn-shadow(@btn-danger-bg); } // Typography ================================================================= @@ -96,9 +96,9 @@ .panel { - &-primary { - .panel-title { - color: #fff; - } - } + &-primary { + .panel-title { + color: #fff; + } + } } \ No newline at end of file diff --git a/yeti/bootswatch.less b/yeti/bootswatch.less index ed75d65e..b775a3dc 100644 --- a/yeti/bootswatch.less +++ b/yeti/bootswatch.less @@ -7,228 +7,228 @@ // Navbar ===================================================================== .navbar { - border: none; - font-size: 13px; - font-weight: 300; - - .navbar-toggle:hover .icon-bar { - background-color: #b3b3b3; - } - - &-collapse { - border-top-color: @dropdown-divider-bg; - .box-shadow(none); - } - - .dropdown { - - &-menu { - border: none; - - > li > a, - > li > a:focus { - background-color: transparent; - font-size: 13px; - font-weight: 300; - } - } - - &-header { - color: rgba(255, 255, 255, 0.5); - } - - } - - &-default { - - .dropdown-menu { - background-color: @navbar-default-bg; - - > li > a, - > li > a:focus { - color: @navbar-default-color; - } - - > li > a:hover, - > .active > a, - > .active > a:hover { - background-color: @navbar-default-link-hover-bg; - } - } - } - - &-inverse { - - .dropdown-menu { - background-color: @navbar-inverse-bg; - - > li > a, - > li > a:focus { - color: @navbar-inverse-color; - } - - > li > a:hover, - > .active > a, - > .active > a:hover { - background-color: @navbar-inverse-link-hover-bg; - } - } - } + border: none; + font-size: 13px; + font-weight: 300; + + .navbar-toggle:hover .icon-bar { + background-color: #b3b3b3; + } + + &-collapse { + border-top-color: @dropdown-divider-bg; + .box-shadow(none); + } + + .dropdown { + + &-menu { + border: none; + + > li > a, + > li > a:focus { + background-color: transparent; + font-size: 13px; + font-weight: 300; + } + } + + &-header { + color: rgba(255, 255, 255, 0.5); + } + + } + + &-default { + + .dropdown-menu { + background-color: @navbar-default-bg; + + > li > a, + > li > a:focus { + color: @navbar-default-color; + } + + > li > a:hover, + > .active > a, + > .active > a:hover { + background-color: @navbar-default-link-hover-bg; + } + } + } + + &-inverse { + + .dropdown-menu { + background-color: @navbar-inverse-bg; + + > li > a, + > li > a:focus { + color: @navbar-inverse-color; + } + + > li > a:hover, + > .active > a, + > .active > a:hover { + background-color: @navbar-inverse-link-hover-bg; + } + } + } } // Buttons ==================================================================== .btn { - padding: 14px 28px; + padding: 14px 28px; - &-lg { - padding: 16px 32px; - } + &-lg { + padding: 16px 32px; + } - &-sm { - padding: 8px 16px; - } + &-sm { + padding: 8px 16px; + } - &-xs { - padding: 4px 8px; - } + &-xs { + padding: 4px 8px; + } } .btn-group { - .btn ~ .dropdown-toggle { - padding-left: 16px; - padding-right: 16px; - } - - .dropdown-menu { - border-top-width: 0; - } - - &.dropup .dropdown-menu { - border-top-width: 1px; - border-bottom-width: 0; - margin-bottom: 0; - } - - .dropdown-toggle { - - &.btn-default ~ .dropdown-menu { - background-color: @btn-default-bg; - border-color: @btn-default-border; - - > li > a { - color: @btn-default-color; - } - - > li > a:hover { - background-color: darken(@btn-default-bg, 8%); - } - } - - &.btn-primary ~ .dropdown-menu { - background-color: @btn-primary-bg; - border-color: @btn-primary-border; - - > li > a { - color: @btn-primary-color; - } - - > li > a:hover { - background-color: darken(@btn-primary-bg, 8%); - } - } - - &.btn-success ~ .dropdown-menu { - background-color: @btn-success-bg; - border-color: @btn-success-border; - - > li > a { - color: @btn-success-color; - } - - > li > a:hover { - background-color: darken(@btn-success-bg, 8%); - } - } - - &.btn-info ~ .dropdown-menu { - background-color: @btn-info-bg; - border-color: @btn-info-border; - - > li > a { - color: @btn-info-color; - } - - > li > a:hover { - background-color: darken(@btn-info-bg, 8%); - } - } - - &.btn-warning ~ .dropdown-menu { - background-color: @btn-warning-bg; - border-color: @btn-warning-border; - - > li > a { - color: @btn-warning-color; - } - - > li > a:hover { - background-color: darken(@btn-warning-bg, 8%); - } - } - - &.btn-danger ~ .dropdown-menu { - background-color: @btn-danger-bg; - border-color: @btn-danger-border; - - > li > a { - color: @btn-danger-color; - } - - > li > a:hover { - background-color: darken(@btn-danger-bg, 8%); - } - } - } + .btn ~ .dropdown-toggle { + padding-left: 16px; + padding-right: 16px; + } + + .dropdown-menu { + border-top-width: 0; + } + + &.dropup .dropdown-menu { + border-top-width: 1px; + border-bottom-width: 0; + margin-bottom: 0; + } + + .dropdown-toggle { + + &.btn-default ~ .dropdown-menu { + background-color: @btn-default-bg; + border-color: @btn-default-border; + + > li > a { + color: @btn-default-color; + } + + > li > a:hover { + background-color: darken(@btn-default-bg, 8%); + } + } + + &.btn-primary ~ .dropdown-menu { + background-color: @btn-primary-bg; + border-color: @btn-primary-border; + + > li > a { + color: @btn-primary-color; + } + + > li > a:hover { + background-color: darken(@btn-primary-bg, 8%); + } + } + + &.btn-success ~ .dropdown-menu { + background-color: @btn-success-bg; + border-color: @btn-success-border; + + > li > a { + color: @btn-success-color; + } + + > li > a:hover { + background-color: darken(@btn-success-bg, 8%); + } + } + + &.btn-info ~ .dropdown-menu { + background-color: @btn-info-bg; + border-color: @btn-info-border; + + > li > a { + color: @btn-info-color; + } + + > li > a:hover { + background-color: darken(@btn-info-bg, 8%); + } + } + + &.btn-warning ~ .dropdown-menu { + background-color: @btn-warning-bg; + border-color: @btn-warning-border; + + > li > a { + color: @btn-warning-color; + } + + > li > a:hover { + background-color: darken(@btn-warning-bg, 8%); + } + } + + &.btn-danger ~ .dropdown-menu { + background-color: @btn-danger-bg; + border-color: @btn-danger-border; + + > li > a { + color: @btn-danger-color; + } + + > li > a:hover { + background-color: darken(@btn-danger-bg, 8%); + } + } + } } // Typography ================================================================= .lead { - color: @gray; + color: @gray; } cite { - font-style: italic; + font-style: italic; } blockquote { - border-left-width: 1px; - color: @gray; + border-left-width: 1px; + color: @gray; - &.pull-right { - border-right-width: 1px; - } + &.pull-right { + border-right-width: 1px; + } - small { - font-size: @font-size-small; - font-weight: 300; - } + small { + font-size: @font-size-small; + font-weight: 300; + } } // Tables ===================================================================== table { - font-size: @font-size-small; + font-size: @font-size-small; } // Forms ====================================================================== input, .form-control { - padding: 7px; - font-size: @font-size-small; + padding: 7px; + font-size: @font-size-small; } label, @@ -236,173 +236,173 @@ label, .help-block, .checkbox, .radio { - font-size: @font-size-small; - font-weight: normal; + font-size: @font-size-small; + font-weight: normal; } .form-group .btn, .input-group-addon, .input-group-btn .btn { - padding: 8px 14px; - font-size: @font-size-small; + padding: 8px 14px; + font-size: @font-size-small; } // Navs ======================================================================= .nav { - .open > a, - .open > a:hover, - .open > a:focus { - border-color: transparent; - } + .open > a, + .open > a:hover, + .open > a:focus { + border-color: transparent; + } } .nav-tabs { - > li > a { - background-color: @btn-default-bg; - color: @text-color; - } - - .caret { - border-top-color: @text-color; - border-bottom-color: @text-color; - } + > li > a { + background-color: @btn-default-bg; + color: @text-color; + } + + .caret { + border-top-color: @text-color; + border-bottom-color: @text-color; + } } .nav-pills { - font-weight: 300; + font-weight: 300; } .breadcrumb { - border: 1px solid @table-border-color; - border-radius: 3px; - font-size: 10px; - font-weight: 300; - text-transform: uppercase; + border: 1px solid @table-border-color; + border-radius: 3px; + font-size: 10px; + font-weight: 300; + text-transform: uppercase; } .pagination { - font-size: @font-size-small; - font-weight: 300; - color: @gray-light; - - > li { - > a, - > span { - margin-left: 4px; - color: @gray-light; - } - } - - > .active { - > a, - > span { - color: #fff; - } - } - - > li, - > li:first-child, - > li:last-child { - > a, - > span { - border-radius: 3px; - } - } - - &-lg > li > a { - padding-left: 22px; - padding-right: 22px; - } - - &-sm > li > a { - padding: 0 5px; - } + font-size: @font-size-small; + font-weight: 300; + color: @gray-light; + + > li { + > a, + > span { + margin-left: 4px; + color: @gray-light; + } + } + + > .active { + > a, + > span { + color: #fff; + } + } + + > li, + > li:first-child, + > li:last-child { + > a, + > span { + border-radius: 3px; + } + } + + &-lg > li > a { + padding-left: 22px; + padding-right: 22px; + } + + &-sm > li > a { + padding: 0 5px; + } } .pager { - font-size: @font-size-small; - font-weight: 300; - color: @gray-light; + font-size: @font-size-small; + font-weight: 300; + color: @gray-light; } .list-group { - font-size: @font-size-small; - font-weight: 300; + font-size: @font-size-small; + font-weight: 300; } // Indicators ================================================================= .alert { - font-size: @font-size-small; - font-weight: 300; - - a, - .alert-link { - font-weight: normal; - color: #fff; - text-decoration: underline; - } + font-size: @font-size-small; + font-weight: 300; + + a, + .alert-link { + font-weight: normal; + color: #fff; + text-decoration: underline; + } } .label { - padding-left: 1em; - padding-right: 1em; - border-radius: 0; - font-weight: 300; - - &-default { - background-color: @btn-default-bg; - color: @btn-default-color; - } + padding-left: 1em; + padding-right: 1em; + border-radius: 0; + font-weight: 300; + + &-default { + background-color: @btn-default-bg; + color: @btn-default-color; + } } .badge { - font-weight: 300; + font-weight: 300; } // Progress bars ============================================================== .progress { - height: 22px; - padding: 2px; - background-color: #f6f6f6; - border: 1px solid #ccc; - .box-shadow(none); + height: 22px; + padding: 2px; + background-color: #f6f6f6; + border: 1px solid #ccc; + .box-shadow(none); } // Containers ================================================================= .dropdown { - &-menu { - padding: 0; - margin-top: 0; - font-size: @font-size-small; - - > li > a { - padding: 12px 15px; - } - } - - &-header { - padding-left: 15px; - padding-right: 15px; - font-size: 9px; - text-transform: uppercase; - } + &-menu { + padding: 0; + margin-top: 0; + font-size: @font-size-small; + + > li > a { + padding: 12px 15px; + } + } + + &-header { + padding-left: 15px; + padding-right: 15px; + font-size: 9px; + text-transform: uppercase; + } } .popover { - color: #fff; - font-size: 12px; - font-weight: 300; + color: #fff; + font-size: 12px; + font-weight: 300; } .panel { - &-heading, - &-footer { - border-top-right-radius: 0; - border-top-left-radius: 0; - } + &-heading, + &-footer { + border-top-right-radius: 0; + border-top-left-radius: 0; + } } -- cgit v1.2.3