Merge lp:~bac/charmworld/readme-mega into lp:~juju-jitsu/charmworld/trunk

Proposed by Brad Crittenden
Status: Needs review
Proposed branch: lp:~bac/charmworld/readme-mega
Merge into: lp:~juju-jitsu/charmworld/trunk
Diff against target: 11853 lines (+962/-9942)
92 files modified
.bzrignore (+0/-1)
Makefile (+1/-6)
charmworld/globals.py (+30/-4)
charmworld/jobs/tests/test_bzr.py (+1/-1)
charmworld/jobs/tests/test_scan.py (+2/-2)
charmworld/models.py (+9/-0)
charmworld/routes.py (+2/-1)
charmworld/static/bootstrap-dropdown.js (+0/-100)
charmworld/static/css/LICENSE (+0/-177)
charmworld/static/css/base.css (+29/-0)
charmworld/static/css/bootstrap/LICENSE (+0/-179)
charmworld/static/css/bootstrap/accordion.less (+0/-34)
charmworld/static/css/bootstrap/alerts.less (+0/-79)
charmworld/static/css/bootstrap/bootstrap.less (+0/-63)
charmworld/static/css/bootstrap/breadcrumbs.less (+0/-24)
charmworld/static/css/bootstrap/button-groups.less (+0/-227)
charmworld/static/css/bootstrap/buttons.less (+0/-230)
charmworld/static/css/bootstrap/carousel.less (+0/-131)
charmworld/static/css/bootstrap/close.less (+0/-31)
charmworld/static/css/bootstrap/code.less (+0/-61)
charmworld/static/css/bootstrap/component-animations.less (+0/-22)
charmworld/static/css/bootstrap/dropdowns.less (+0/-233)
charmworld/static/css/bootstrap/forms.less (+0/-687)
charmworld/static/css/bootstrap/grid.less (+0/-21)
charmworld/static/css/bootstrap/hero-unit.less (+0/-25)
charmworld/static/css/bootstrap/labels-badges.less (+0/-82)
charmworld/static/css/bootstrap/layouts.less (+0/-16)
charmworld/static/css/bootstrap/media.less (+0/-55)
charmworld/static/css/bootstrap/mixins.less (+0/-686)
charmworld/static/css/bootstrap/modals.less (+0/-95)
charmworld/static/css/bootstrap/navbar.less (+0/-490)
charmworld/static/css/bootstrap/navs.less (+0/-391)
charmworld/static/css/bootstrap/pager.less (+0/-41)
charmworld/static/css/bootstrap/pagination.less (+0/-121)
charmworld/static/css/bootstrap/popovers.less (+0/-129)
charmworld/static/css/bootstrap/progress-bars.less (+0/-122)
charmworld/static/css/bootstrap/reset.less (+0/-216)
charmworld/static/css/bootstrap/responsive-1200px-min.less (+0/-28)
charmworld/static/css/bootstrap/responsive-767px-max.less (+0/-193)
charmworld/static/css/bootstrap/responsive-768px-979px.less (+0/-19)
charmworld/static/css/bootstrap/responsive-navbar.less (+0/-185)
charmworld/static/css/bootstrap/responsive-utilities.less (+0/-43)
charmworld/static/css/bootstrap/responsive.less (+0/-57)
charmworld/static/css/bootstrap/scaffolding.less (+0/-52)
charmworld/static/css/bootstrap/sprites.less (+0/-193)
charmworld/static/css/bootstrap/tables.less (+0/-237)
charmworld/static/css/bootstrap/tests/buttons.html (+0/-139)
charmworld/static/css/bootstrap/tests/css-tests.css (+0/-139)
charmworld/static/css/bootstrap/tests/css-tests.html (+0/-1345)
charmworld/static/css/bootstrap/tests/forms-responsive.html (+0/-71)
charmworld/static/css/bootstrap/tests/forms.html (+0/-179)
charmworld/static/css/bootstrap/tests/navbar-fixed-top.html (+0/-104)
charmworld/static/css/bootstrap/tests/navbar-static-top.html (+0/-107)
charmworld/static/css/bootstrap/tests/navbar.html (+0/-107)
charmworld/static/css/bootstrap/thumbnails.less (+0/-52)
charmworld/static/css/bootstrap/tooltip.less (+0/-70)
charmworld/static/css/bootstrap/type.less (+0/-235)
charmworld/static/css/bootstrap/utilities.less (+0/-30)
charmworld/static/css/bootstrap/variables.less (+0/-301)
charmworld/static/css/bootstrap/wells.less (+0/-29)
charmworld/static/css/bootswatch.less (+0/-128)
charmworld/static/css/theme.less (+0/-76)
charmworld/static/css/variables.less (+0/-301)
charmworld/static/jquery-1.7.2.min.js (+0/-4)
charmworld/static/pylons.css (+0/-65)
charmworld/templates/bundle.pt (+75/-70)
charmworld/templates/charm-collection.pt (+27/-34)
charmworld/templates/charm-proof-errors.pt (+4/-5)
charmworld/templates/charm.pt (+219/-183)
charmworld/templates/config.pt (+9/-8)
charmworld/templates/hook.pt (+12/-9)
charmworld/templates/index.pt (+29/-24)
charmworld/templates/interface-collection-redux.pt (+30/-21)
charmworld/templates/interface-collection.pt (+16/-6)
charmworld/templates/interface.pt (+62/-57)
charmworld/templates/main.pt (+90/-61)
charmworld/templates/recent.pt (+22/-22)
charmworld/templates/review.pt (+21/-25)
charmworld/templates/search.pt (+31/-33)
charmworld/templates/store-missing.pt (+17/-20)
charmworld/templates/tools.pt (+14/-0)
charmworld/test_utils.py (+27/-18)
charmworld/testing/data/sample_bundle/README.md (+13/-0)
charmworld/testing/factory.py (+2/-2)
charmworld/tests/test_models.py (+35/-31)
charmworld/utils.py (+19/-9)
charmworld/views/bundles.py (+30/-15)
charmworld/views/tests/test_bundles.py (+58/-6)
charmworld/views/tests/test_charms.py (+1/-1)
charmworld/views/tests/test_feeds.py (+1/-1)
charmworld/views/tests/test_tools.py (+16/-8)
charmworld/views/tools.py (+8/-1)
To merge this branch: bzr merge lp:~bac/charmworld/readme-mega
Reviewer Review Type Date Requested Status
Brad Crittenden (community) code Approve
Review via email: mp+184661@code.launchpad.net

Commit message

* Update design to use Ubuntu framework. (Huw)
* Support for display of README files for bundles. (bac)

Description of the change

Third time's the charm?

The MP at https://code.launchpad.net/~bac/charmworld/readme/+merge/184590 was a combined branch of my work and the pre-requisite branch done by Huw. Tarmac refused to merge it as shown at the bottom of the MP.

This branch has Huw's work originally reviewed at:
https://code.launchpad.net/~huwshimi/charmworld/charmworld-styling/+merge/184078

And my follow-on reviewed at:
https://code.launchpad.net/~bac/charmworld/readme/+merge/184387

To post a comment you must log in.
Revision history for this message
Brad Crittenden (bac) wrote :

Self-reviewing as the component branches have both been reviewed and approved.

review: Approve (code)
Revision history for this message
Charmworld Lander (charmworld-lander) wrote :

There was a problem validating some authors of the branch. Authors must be either one of the listed Launchpad users, or a member of one of the listed teams on Launchpad.

Persons or Teams:

    juju-jitsu

Unaccepted Authors:

    Huw Wilkins <email address hidden>

Unmerged revisions

390. By Brad Crittenden

Charmworld redesign. Support bundle README files.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.bzrignore'
--- .bzrignore 2013-02-20 17:20:22 +0000
+++ .bzrignore 2013-09-09 19:05:35 +0000
@@ -1,7 +1,6 @@
1.emacs.desktop1.emacs.desktop
2.emacs.desktop.lock2.emacs.desktop.lock
3./charmworld/static/extjs3./charmworld/static/extjs
4./charmworld/static/css/theme.css
5./charmworld/jobs/custom_config.py4./charmworld/jobs/custom_config.py
6./charmworld.ini5./charmworld.ini
7./bin/6./bin/
87
=== modified file 'Makefile'
--- Makefile 2013-09-06 18:52:22 +0000
+++ Makefile 2013-09-09 19:05:35 +0000
@@ -9,7 +9,6 @@
9WD := $(shell pwd)9WD := $(shell pwd)
10CACHE := download-cache/dist10CACHE := download-cache/dist
11CSS_PATH := charmworld/static/css11CSS_PATH := charmworld/static/css
12LESSC := node_modules/less/bin/lessc
13PSERVE := bin/pserve12PSERVE := bin/pserve
14SYSTEM_DEPS := \13SYSTEM_DEPS := \
15 build-essential bzr charm-tools libyaml-dev python-dev python-virtualenv\14 build-essential bzr charm-tools libyaml-dev python-dev python-virtualenv\
@@ -62,10 +61,6 @@
62clean_venv:61clean_venv:
63 rm -rf bin include lib local62 rm -rf bin include lib local
6463
65css: charmworld/static/css/theme.css
66charmworld/static/css/theme.css: $(LESSC) $(CSS_PATH)/theme.less $(CSS_PATH)/variables.less
67 ./$(LESSC) --compress $(CSS_PATH)/theme.less $(CSS_PATH)/theme.css
68
69sysdeps:64sysdeps:
70 sudo add-apt-repository -y ppa:juju/pkgs65 sudo add-apt-repository -y ppa:juju/pkgs
71 sudo add-apt-repository -y ppa:ce-orange-squad/experimental66 sudo add-apt-repository -y ppa:ce-orange-squad/experimental
@@ -148,7 +143,7 @@
148doc-upload: doc143doc-upload: doc
149 scp -r docs/_build/html/* people.canonical.com:/home/rharding/public_html/charmworld144 scp -r docs/_build/html/* people.canonical.com:/home/rharding/public_html/charmworld
150145
151run: $(INI) charmworld/static/css/theme.css bin/es-update146run: $(INI) bin/es-update
152 bin/es-update147 bin/es-update
153 $(PSERVE) --reload --monitor-restart $(INI)148 $(PSERVE) --reload --monitor-restart $(INI)
154149
155150
=== modified file 'charmworld/globals.py'
--- charmworld/globals.py 2013-02-11 17:04:31 +0000
+++ charmworld/globals.py 2013-09-09 19:05:35 +0000
@@ -25,10 +25,36 @@
2525
26def sections(request):26def sections(request):
27 sections = [27 sections = [
28 {"url": u"/", "name": u"Home", 'active': False},28 {
29 {"url": u"/charms", "name": u"Charms", 'active': False},29 "url": u"/",
30 {"url": u"/interfaces", "name": u"Interfaces", 'active': False},30 "name": u"Home",
31 {"url": u"/recently-changed", "name": u"Changes", 'active': False},31 'active': False,
32 'visible': False
33 },
34 {
35 "url": u"/charms",
36 "name": u"Charms",
37 'active': False,
38 'visible': True
39 },
40 {
41 "url": u"/interfaces",
42 "name": u"Interfaces",
43 'active': False,
44 'visible': True
45 },
46 {
47 "url": u"/recently-changed",
48 "name": u"Changes",
49 'active': False,
50 'visible': True
51 },
52 {
53 "url": u"/tools",
54 "name": u"Tools",
55 'active': False,
56 'visible': True
57 },
32 ]58 ]
33 section = "/%s" % request.path_info[1:].split("/", 1)[0]59 section = "/%s" % request.path_info[1:].split("/", 1)[0]
34 # fix up oddballs60 # fix up oddballs
3561
=== modified file 'charmworld/jobs/tests/test_bzr.py'
--- charmworld/jobs/tests/test_bzr.py 2013-07-25 16:00:09 +0000
+++ charmworld/jobs/tests/test_bzr.py 2013-09-09 19:05:35 +0000
@@ -100,7 +100,7 @@
100 self.assertFalse(mock.called)100 self.assertFalse(mock.called)
101101
102 def test_add_files(self):102 def test_add_files(self):
103 with factory.charm_branch() as (branch_dir, revision):103 with factory.charm_branch() as (branch_dir, revision, path):
104 charm_data = {104 charm_data = {
105 'branch_dir': branch_dir,105 'branch_dir': branch_dir,
106 'owner': 'charmers',106 'owner': 'charmers',
107107
=== modified file 'charmworld/jobs/tests/test_scan.py'
--- charmworld/jobs/tests/test_scan.py 2013-07-31 14:34:58 +0000
+++ charmworld/jobs/tests/test_scan.py 2013-09-09 19:05:35 +0000
@@ -26,7 +26,7 @@
26 self.fs = getfs(self.db)26 self.fs = getfs(self.db)
27 self.log = getLogger('charm.scan')27 self.log = getLogger('charm.scan')
28 ignore, self.charm = factory.makeCharm(self.db, with_real_files=True)28 ignore, self.charm = factory.makeCharm(self.db, with_real_files=True)
29 branch_dir, revision = self.use_context(factory.charm_branch())29 branch_dir, revision, path = self.use_context(factory.charm_branch())
30 self.charm['branch_dir'] = branch_dir30 self.charm['branch_dir'] = branch_dir
31 self.charm['store_data'] = {'digest': revision}31 self.charm['store_data'] = {'digest': revision}
32 self.charm['files'] = dict([32 self.charm['files'] = dict([
@@ -187,7 +187,7 @@
187 # As reported in bug 1202665, the LP source package name of a187 # As reported in bug 1202665, the LP source package name of a
188 # charm and the name specified in metadata,yaml may be different.188 # charm and the name specified in metadata,yaml may be different.
189 # This does no affect the retrieval of charm related files.189 # This does no affect the retrieval of charm related files.
190 with factory.charm_branch() as (branch_dir, revision):190 with factory.charm_branch() as (branch_dir, revision, path):
191 charm_data = {191 charm_data = {
192 'owner': 'charmers',192 'owner': 'charmers',
193 'series': 'precise',193 'series': 'precise',
194194
=== modified file 'charmworld/models.py'
--- charmworld/models.py 2013-09-05 20:17:16 +0000
+++ charmworld/models.py 2013-09-09 19:05:35 +0000
@@ -1426,6 +1426,15 @@
1426 return None1426 return None
1427 return fs.get(hashes[filename])1427 return fs.get(hashes[filename])
14281428
1429 def get_file_list(self, db, fs=None):
1430 if fs is None:
1431 fs = Bundle.getfs(db)
1432 basket = db.baskets.find_one(self.basket_id)
1433 if basket is None:
1434 return []
1435 hashes = unquote_yaml(basket.get('file_hashes', {}))
1436 return hashes.keys()
1437
14291438
1430def acquire_session_secret(database):1439def acquire_session_secret(database):
1431 """Return a secret to use for AuthTkt sessions.1440 """Return a secret to use for AuthTkt sessions.
14321441
=== modified file 'charmworld/routes.py'
--- charmworld/routes.py 2013-09-05 20:17:16 +0000
+++ charmworld/routes.py 2013-09-09 19:05:35 +0000
@@ -67,8 +67,9 @@
67 "/bundle/{basket}/{rev}/{bundle}")67 "/bundle/{basket}/{rev}/{bundle}")
6868
69 # Tools69 # Tools
70 config.add_route("tools", "/tools")
70 config.add_route("tools-core-review", "/tools/core-review-queue")71 config.add_route("tools-core-review", "/tools/core-review-queue")
71 config.add_route("tools-review", "/review-queue")72 config.add_route("tools-review", "/tools/review-queue")
72 config.add_route("tools-store-missing", "/tools/store-missing")73 config.add_route("tools-store-missing", "/tools/store-missing")
73 config.add_route("tools-proof-errors", "/tools/proof-errors")74 config.add_route("tools-proof-errors", "/tools/proof-errors")
7475
7576
=== removed file 'charmworld/static/bootstrap-dropdown.js'
--- charmworld/static/bootstrap-dropdown.js 2012-06-10 03:01:29 +0000
+++ charmworld/static/bootstrap-dropdown.js 1970-01-01 00:00:00 +0000
@@ -1,100 +0,0 @@
1/* ============================================================
2 * bootstrap-dropdown.js v2.0.4
3 * http://twitter.github.com/bootstrap/javascript.html#dropdowns
4 * ============================================================
5 * Copyright 2012 Twitter, Inc.
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============================================================ */
19
20
21!function ($) {
22
23 "use strict"; // jshint ;_;
24
25
26 /* DROPDOWN CLASS DEFINITION
27 * ========================= */
28
29 var toggle = '[data-toggle="dropdown"]'
30 , Dropdown = function (element) {
31 var $el = $(element).on('click.dropdown.data-api', this.toggle)
32 $('html').on('click.dropdown.data-api', function () {
33 $el.parent().removeClass('open')
34 })
35 }
36
37 Dropdown.prototype = {
38
39 constructor: Dropdown
40
41 , toggle: function (e) {
42 var $this = $(this)
43 , $parent
44 , selector
45 , isActive
46
47 if ($this.is('.disabled, :disabled')) return
48
49 selector = $this.attr('data-target')
50
51 if (!selector) {
52 selector = $this.attr('href')
53 selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
54 }
55
56 $parent = $(selector)
57 $parent.length || ($parent = $this.parent())
58
59 isActive = $parent.hasClass('open')
60
61 clearMenus()
62
63 if (!isActive) $parent.toggleClass('open')
64
65 return false
66 }
67
68 }
69
70 function clearMenus() {
71 $(toggle).parent().removeClass('open')
72 }
73
74
75 /* DROPDOWN PLUGIN DEFINITION
76 * ========================== */
77
78 $.fn.dropdown = function (option) {
79 return this.each(function () {
80 var $this = $(this)
81 , data = $this.data('dropdown')
82 if (!data) $this.data('dropdown', (data = new Dropdown(this)))
83 if (typeof option == 'string') data[option].call($this)
84 })
85 }
86
87 $.fn.dropdown.Constructor = Dropdown
88
89
90 /* APPLY TO STANDARD DROPDOWN ELEMENTS
91 * =================================== */
92
93 $(function () {
94 $('html').on('click.dropdown.data-api', clearMenus)
95 $('body')
96 .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
97 .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
98 })
99
100}(window.jQuery);
101\ No newline at end of file0\ No newline at end of file
1021
=== removed file 'charmworld/static/css/LICENSE'
--- charmworld/static/css/LICENSE 2013-02-12 16:12:10 +0000
+++ charmworld/static/css/LICENSE 1970-01-01 00:00:00 +0000
@@ -1,177 +0,0 @@
1Origin of files in this directory: https://github.com/thomaspark/bootswatch
2
3
4 Apache License
5 Version 2.0, January 2004
6 http://www.apache.org/licenses/
7
8 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
10 1. Definitions.
11
12 "License" shall mean the terms and conditions for use, reproduction,
13 and distribution as defined by Sections 1 through 9 of this document.
14
15 "Licensor" shall mean the copyright owner or entity authorized by
16 the copyright owner that is granting the License.
17
18 "Legal Entity" shall mean the union of the acting entity and all
19 other entities that control, are controlled by, or are under common
20 control with that entity. For the purposes of this definition,
21 "control" means (i) the power, direct or indirect, to cause the
22 direction or management of such entity, whether by contract or
23 otherwise, or (ii) ownership of fifty percent (50%) or more of the
24 outstanding shares, or (iii) beneficial ownership of such entity.
25
26 "You" (or "Your") shall mean an individual or Legal Entity
27 exercising permissions granted by this License.
28
29 "Source" form shall mean the preferred form for making modifications,
30 including but not limited to software source code, documentation
31 source, and configuration files.
32
33 "Object" form shall mean any form resulting from mechanical
34 transformation or translation of a Source form, including but
35 not limited to compiled object code, generated documentation,
36 and conversions to other media types.
37
38 "Work" shall mean the work of authorship, whether in Source or
39 Object form, made available under the License, as indicated by a
40 copyright notice that is included in or attached to the work
41 (an example is provided in the Appendix below).
42
43 "Derivative Works" shall mean any work, whether in Source or Object
44 form, that is based on (or derived from) the Work and for which the
45 editorial revisions, annotations, elaborations, or other modifications
46 represent, as a whole, an original work of authorship. For the purposes
47 of this License, Derivative Works shall not include works that remain
48 separable from, or merely link (or bind by name) to the interfaces of,
49 the Work and Derivative Works thereof.
50
51 "Contribution" shall mean any work of authorship, including
52 the original version of the Work and any modifications or additions
53 to that Work or Derivative Works thereof, that is intentionally
54 submitted to Licensor for inclusion in the Work by the copyright owner
55 or by an individual or Legal Entity authorized to submit on behalf of
56 the copyright owner. For the purposes of this definition, "submitted"
57 means any form of electronic, verbal, or written communication sent
58 to the Licensor or its representatives, including but not limited to
59 communication on electronic mailing lists, source code control systems,
60 and issue tracking systems that are managed by, or on behalf of, the
61 Licensor for the purpose of discussing and improving the Work, but
62 excluding communication that is conspicuously marked or otherwise
63 designated in writing by the copyright owner as "Not a Contribution."
64
65 "Contributor" shall mean Licensor and any individual or Legal Entity
66 on behalf of whom a Contribution has been received by Licensor and
67 subsequently incorporated within the Work.
68
69 2. Grant of Copyright License. Subject to the terms and conditions of
70 this License, each Contributor hereby grants to You a perpetual,
71 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72 copyright license to reproduce, prepare Derivative Works of,
73 publicly display, publicly perform, sublicense, and distribute the
74 Work and such Derivative Works in Source or Object form.
75
76 3. Grant of Patent License. Subject to the terms and conditions of
77 this License, each Contributor hereby grants to You a perpetual,
78 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79 (except as stated in this section) patent license to make, have made,
80 use, offer to sell, sell, import, and otherwise transfer the Work,
81 where such license applies only to those patent claims licensable
82 by such Contributor that are necessarily infringed by their
83 Contribution(s) alone or by combination of their Contribution(s)
84 with the Work to which such Contribution(s) was submitted. If You
85 institute patent litigation against any entity (including a
86 cross-claim or counterclaim in a lawsuit) alleging that the Work
87 or a Contribution incorporated within the Work constitutes direct
88 or contributory patent infringement, then any patent licenses
89 granted to You under this License for that Work shall terminate
90 as of the date such litigation is filed.
91
92 4. Redistribution. You may reproduce and distribute copies of the
93 Work or Derivative Works thereof in any medium, with or without
94 modifications, and in Source or Object form, provided that You
95 meet the following conditions:
96
97 (a) You must give any other recipients of the Work or
98 Derivative Works a copy of this License; and
99
100 (b) You must cause any modified files to carry prominent notices
101 stating that You changed the files; and
102
103 (c) You must retain, in the Source form of any Derivative Works
104 that You distribute, all copyright, patent, trademark, and
105 attribution notices from the Source form of the Work,
106 excluding those notices that do not pertain to any part of
107 the Derivative Works; and
108
109 (d) If the Work includes a "NOTICE" text file as part of its
110 distribution, then any Derivative Works that You distribute must
111 include a readable copy of the attribution notices contained
112 within such NOTICE file, excluding those notices that do not
113 pertain to any part of the Derivative Works, in at least one
114 of the following places: within a NOTICE text file distributed
115 as part of the Derivative Works; within the Source form or
116 documentation, if provided along with the Derivative Works; or,
117 within a display generated by the Derivative Works, if and
118 wherever such third-party notices normally appear. The contents
119 of the NOTICE file are for informational purposes only and
120 do not modify the License. You may add Your own attribution
121 notices within Derivative Works that You distribute, alongside
122 or as an addendum to the NOTICE text from the Work, provided
123 that such additional attribution notices cannot be construed
124 as modifying the License.
125
126 You may add Your own copyright statement to Your modifications and
127 may provide additional or different license terms and conditions
128 for use, reproduction, or distribution of Your modifications, or
129 for any such Derivative Works as a whole, provided Your use,
130 reproduction, and distribution of the Work otherwise complies with
131 the conditions stated in this License.
132
133 5. Submission of Contributions. Unless You explicitly state otherwise,
134 any Contribution intentionally submitted for inclusion in the Work
135 by You to the Licensor shall be under the terms and conditions of
136 this License, without any additional terms or conditions.
137 Notwithstanding the above, nothing herein shall supersede or modify
138 the terms of any separate license agreement you may have executed
139 with Licensor regarding such Contributions.
140
141 6. Trademarks. This License does not grant permission to use the trade
142 names, trademarks, service marks, or product names of the Licensor,
143 except as required for reasonable and customary use in describing the
144 origin of the Work and reproducing the content of the NOTICE file.
145
146 7. Disclaimer of Warranty. Unless required by applicable law or
147 agreed to in writing, Licensor provides the Work (and each
148 Contributor provides its Contributions) on an "AS IS" BASIS,
149 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150 implied, including, without limitation, any warranties or conditions
151 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152 PARTICULAR PURPOSE. You are solely responsible for determining the
153 appropriateness of using or redistributing the Work and assume any
154 risks associated with Your exercise of permissions under this License.
155
156 8. Limitation of Liability. In no event and under no legal theory,
157 whether in tort (including negligence), contract, or otherwise,
158 unless required by applicable law (such as deliberate and grossly
159 negligent acts) or agreed to in writing, shall any Contributor be
160 liable to You for damages, including any direct, indirect, special,
161 incidental, or consequential damages of any character arising as a
162 result of this License or out of the use or inability to use the
163 Work (including but not limited to damages for loss of goodwill,
164 work stoppage, computer failure or malfunction, or any and all
165 other commercial damages or losses), even if such Contributor
166 has been advised of the possibility of such damages.
167
168 9. Accepting Warranty or Additional Liability. While redistributing
169 the Work or Derivative Works thereof, You may choose to offer,
170 and charge a fee for, acceptance of support, warranty, indemnity,
171 or other liability obligations and/or rights consistent with this
172 License. However, in accepting such obligations, You may act only
173 on Your own behalf and on Your sole responsibility, not on behalf
174 of any other Contributor, and only if You agree to indemnify,
175 defend, and hold each Contributor harmless for any liability
176 incurred by, or claims asserted against, such Contributor by reason
177 of your accepting any such warranty or additional liability.
1780
=== added file 'charmworld/static/css/base.css'
--- charmworld/static/css/base.css 1970-01-01 00:00:00 +0000
+++ charmworld/static/css/base.css 2013-09-09 19:05:35 +0000
@@ -0,0 +1,29 @@
1table ul {
2 margin: 0;
3 list-style: none;
4}
5.box.space-bottom {
6 margin-bottom: 20px;
7}
8pre.prettyprint {
9 border: none !important;
10 padding: .6em 1em !important;
11}
12pre.prettyprint.linenums {
13 padding-left: 3em !important;
14}
15
16/* Overrides for framework */
17
18/* Fixes spacing and removes default logo */
19header.banner .nav-primary.nav-right .logo-ubuntu {
20 width: 150px;
21 padding-top: 11px;
22 background-image: none;
23 text-transform: capitalize;
24}
25/* Fixes display issue */
26.row.vertical-divider {
27 display: table;
28 width: 100%;
29}
030
=== removed directory 'charmworld/static/css/bootstrap'
=== removed file 'charmworld/static/css/bootstrap/LICENSE'
--- charmworld/static/css/bootstrap/LICENSE 2013-02-12 16:12:10 +0000
+++ charmworld/static/css/bootstrap/LICENSE 1970-01-01 00:00:00 +0000
@@ -1,179 +0,0 @@
1Origin of files in this directory: https://github.com/twitter/bootstrap
2
3
4 Apache License
5 Version 2.0, January 2004
6 http://www.apache.org/licenses/
7
8 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
10 1. Definitions.
11
12 "License" shall mean the terms and conditions for use, reproduction,
13 and distribution as defined by Sections 1 through 9 of this document.
14
15 "Licensor" shall mean the copyright owner or entity authorized by
16 the copyright owner that is granting the License.
17
18 "Legal Entity" shall mean the union of the acting entity and all
19 other entities that control, are controlled by, or are under common
20 control with that entity. For the purposes of this definition,
21 "control" means (i) the power, direct or indirect, to cause the
22 direction or management of such entity, whether by contract or
23 otherwise, or (ii) ownership of fifty percent (50%) or more of the
24 outstanding shares, or (iii) beneficial ownership of such entity.
25
26 "You" (or "Your") shall mean an individual or Legal Entity
27 exercising permissions granted by this License.
28
29 "Source" form shall mean the preferred form for making modifications,
30 including but not limited to software source code, documentation
31 source, and configuration files.
32
33 "Object" form shall mean any form resulting from mechanical
34 transformation or translation of a Source form, including but
35 not limited to compiled object code, generated documentation,
36 and conversions to other media types.
37
38 "Work" shall mean the work of authorship, whether in Source or
39 Object form, made available under the License, as indicated by a
40 copyright notice that is included in or attached to the work
41 (an example is provided in the Appendix below).
42
43 "Derivative Works" shall mean any work, whether in Source or Object
44 form, that is based on (or derived from) the Work and for which the
45 editorial revisions, annotations, elaborations, or other modifications
46 represent, as a whole, an original work of authorship. For the purposes
47 of this License, Derivative Works shall not include works that remain
48 separable from, or merely link (or bind by name) to the interfaces of,
49 the Work and Derivative Works thereof.
50
51 "Contribution" shall mean any work of authorship, including
52 the original version of the Work and any modifications or additions
53 to that Work or Derivative Works thereof, that is intentionally
54 submitted to Licensor for inclusion in the Work by the copyright owner
55 or by an individual or Legal Entity authorized to submit on behalf of
56 the copyright owner. For the purposes of this definition, "submitted"
57 means any form of electronic, verbal, or written communication sent
58 to the Licensor or its representatives, including but not limited to
59 communication on electronic mailing lists, source code control systems,
60 and issue tracking systems that are managed by, or on behalf of, the
61 Licensor for the purpose of discussing and improving the Work, but
62 excluding communication that is conspicuously marked or otherwise
63 designated in writing by the copyright owner as "Not a Contribution."
64
65 "Contributor" shall mean Licensor and any individual or Legal Entity
66 on behalf of whom a Contribution has been received by Licensor and
67 subsequently incorporated within the Work.
68
69 2. Grant of Copyright License. Subject to the terms and conditions of
70 this License, each Contributor hereby grants to You a perpetual,
71 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72 copyright license to reproduce, prepare Derivative Works of,
73 publicly display, publicly perform, sublicense, and distribute the
74 Work and such Derivative Works in Source or Object form.
75
76 3. Grant of Patent License. Subject to the terms and conditions of
77 this License, each Contributor hereby grants to You a perpetual,
78 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79 (except as stated in this section) patent license to make, have made,
80 use, offer to sell, sell, import, and otherwise transfer the Work,
81 where such license applies only to those patent claims licensable
82 by such Contributor that are necessarily infringed by their
83 Contribution(s) alone or by combination of their Contribution(s)
84 with the Work to which such Contribution(s) was submitted. If You
85 institute patent litigation against any entity (including a
86 cross-claim or counterclaim in a lawsuit) alleging that the Work
87 or a Contribution incorporated within the Work constitutes direct
88 or contributory patent infringement, then any patent licenses
89 granted to You under this License for that Work shall terminate
90 as of the date such litigation is filed.
91
92 4. Redistribution. You may reproduce and distribute copies of the
93 Work or Derivative Works thereof in any medium, with or without
94 modifications, and in Source or Object form, provided that You
95 meet the following conditions:
96
97 (a) You must give any other recipients of the Work or
98 Derivative Works a copy of this License; and
99
100 (b) You must cause any modified files to carry prominent notices
101 stating that You changed the files; and
102
103 (c) You must retain, in the Source form of any Derivative Works
104 that You distribute, all copyright, patent, trademark, and
105 attribution notices from the Source form of the Work,
106 excluding those notices that do not pertain to any part of
107 the Derivative Works; and
108
109 (d) If the Work includes a "NOTICE" text file as part of its
110 distribution, then any Derivative Works that You distribute must
111 include a readable copy of the attribution notices contained
112 within such NOTICE file, excluding those notices that do not
113 pertain to any part of the Derivative Works, in at least one
114 of the following places: within a NOTICE text file distributed
115 as part of the Derivative Works; within the Source form or
116 documentation, if provided along with the Derivative Works; or,
117 within a display generated by the Derivative Works, if and
118 wherever such third-party notices normally appear. The contents
119 of the NOTICE file are for informational purposes only and
120 do not modify the License. You may add Your own attribution
121 notices within Derivative Works that You distribute, alongside
122 or as an addendum to the NOTICE text from the Work, provided
123 that such additional attribution notices cannot be construed
124 as modifying the License.
125
126 You may add Your own copyright statement to Your modifications and
127 may provide additional or different license terms and conditions
128 for use, reproduction, or distribution of Your modifications, or
129 for any such Derivative Works as a whole, provided Your use,
130 reproduction, and distribution of the Work otherwise complies with
131 the conditions stated in this License.
132
133 5. Submission of Contributions. Unless You explicitly state otherwise,
134 any Contribution intentionally submitted for inclusion in the Work
135 by You to the Licensor shall be under the terms and conditions of
136 this License, without any additional terms or conditions.
137 Notwithstanding the above, nothing herein shall supersede or modify
138 the terms of any separate license agreement you may have executed
139 with Licensor regarding such Contributions.
140
141 6. Trademarks. This License does not grant permission to use the trade
142 names, trademarks, service marks, or product names of the Licensor,
143 except as required for reasonable and customary use in describing the
144 origin of the Work and reproducing the content of the NOTICE file.
145
146 7. Disclaimer of Warranty. Unless required by applicable law or
147 agreed to in writing, Licensor provides the Work (and each
148 Contributor provides its Contributions) on an "AS IS" BASIS,
149 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150 implied, including, without limitation, any warranties or conditions
151 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152 PARTICULAR PURPOSE. You are solely responsible for determining the
153 appropriateness of using or redistributing the Work and assume any
154 risks associated with Your exercise of permissions under this License.
155
156 8. Limitation of Liability. In no event and under no legal theory,
157 whether in tort (including negligence), contract, or otherwise,
158 unless required by applicable law (such as deliberate and grossly
159 negligent acts) or agreed to in writing, shall any Contributor be
160 liable to You for damages, including any direct, indirect, special,
161 incidental, or consequential damages of any character arising as a
162 result of this License or out of the use or inability to use the
163 Work (including but not limited to damages for loss of goodwill,
164 work stoppage, computer failure or malfunction, or any and all
165 other commercial damages or losses), even if such Contributor
166 has been advised of the possibility of such damages.
167
168 9. Accepting Warranty or Additional Liability. While redistributing
169 the Work or Derivative Works thereof, You may choose to offer,
170 and charge a fee for, acceptance of support, warranty, indemnity,
171 or other liability obligations and/or rights consistent with this
172 License. However, in accepting such obligations, You may act only
173 on Your own behalf and on Your sole responsibility, not on behalf
174 of any other Contributor, and only if You agree to indemnify,
175 defend, and hold each Contributor harmless for any liability
176 incurred by, or claims asserted against, such Contributor by reason
177 of your accepting any such warranty or additional liability.
178
179 END OF TERMS AND CONDITIONS
1800
=== removed file 'charmworld/static/css/bootstrap/accordion.less'
--- charmworld/static/css/bootstrap/accordion.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/accordion.less 1970-01-01 00:00:00 +0000
@@ -1,34 +0,0 @@
1//
2// Accordion
3// --------------------------------------------------
4
5
6// Parent container
7.accordion {
8 margin-bottom: @baseLineHeight;
9}
10
11// Group == heading + body
12.accordion-group {
13 margin-bottom: 2px;
14 border: 1px solid #e5e5e5;
15 .border-radius(@baseBorderRadius);
16}
17.accordion-heading {
18 border-bottom: 0;
19}
20.accordion-heading .accordion-toggle {
21 display: block;
22 padding: 8px 15px;
23}
24
25// General toggle styles
26.accordion-toggle {
27 cursor: pointer;
28}
29
30// Inner needs the styles because you can't animate properly with any styles on the element
31.accordion-inner {
32 padding: 9px 15px;
33 border-top: 1px solid #e5e5e5;
34}
350
=== removed file 'charmworld/static/css/bootstrap/alerts.less'
--- charmworld/static/css/bootstrap/alerts.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/alerts.less 1970-01-01 00:00:00 +0000
@@ -1,79 +0,0 @@
1//
2// Alerts
3// --------------------------------------------------
4
5
6// Base styles
7// -------------------------
8
9.alert {
10 padding: 8px 35px 8px 14px;
11 margin-bottom: @baseLineHeight;
12 text-shadow: 0 1px 0 rgba(255,255,255,.5);
13 background-color: @warningBackground;
14 border: 1px solid @warningBorder;
15 .border-radius(@baseBorderRadius);
16}
17.alert,
18.alert h4 {
19 // Specified for the h4 to prevent conflicts of changing @headingsColor
20 color: @warningText;
21}
22.alert h4 {
23 margin: 0;
24}
25
26// Adjust close link position
27.alert .close {
28 position: relative;
29 top: -2px;
30 right: -21px;
31 line-height: @baseLineHeight;
32}
33
34
35// Alternate styles
36// -------------------------
37
38.alert-success {
39 background-color: @successBackground;
40 border-color: @successBorder;
41 color: @successText;
42}
43.alert-success h4 {
44 color: @successText;
45}
46.alert-danger,
47.alert-error {
48 background-color: @errorBackground;
49 border-color: @errorBorder;
50 color: @errorText;
51}
52.alert-danger h4,
53.alert-error h4 {
54 color: @errorText;
55}
56.alert-info {
57 background-color: @infoBackground;
58 border-color: @infoBorder;
59 color: @infoText;
60}
61.alert-info h4 {
62 color: @infoText;
63}
64
65
66// Block alerts
67// -------------------------
68
69.alert-block {
70 padding-top: 14px;
71 padding-bottom: 14px;
72}
73.alert-block > p,
74.alert-block > ul {
75 margin-bottom: 0;
76}
77.alert-block p + p {
78 margin-top: 5px;
79}
800
=== removed file 'charmworld/static/css/bootstrap/bootstrap.less'
--- charmworld/static/css/bootstrap/bootstrap.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/bootstrap.less 1970-01-01 00:00:00 +0000
@@ -1,63 +0,0 @@
1/*!
2 * Bootstrap v2.2.2
3 *
4 * Copyright 2012 Twitter, Inc
5 * Licensed under the Apache License v2.0
6 * http://www.apache.org/licenses/LICENSE-2.0
7 *
8 * Designed and built with all the love in the world @twitter by @mdo and @fat.
9 */
10
11// CSS Reset
12@import "reset.less";
13
14// Core variables and mixins
15@import "variables.less"; // Modify this for custom colors, font-sizes, etc
16@import "mixins.less";
17
18// Grid system and page structure
19@import "scaffolding.less";
20@import "grid.less";
21@import "layouts.less";
22
23// Base CSS
24@import "type.less";
25@import "code.less";
26@import "forms.less";
27@import "tables.less";
28
29// Components: common
30@import "sprites.less";
31@import "dropdowns.less";
32@import "wells.less";
33@import "component-animations.less";
34@import "close.less";
35
36// Components: Buttons & Alerts
37@import "buttons.less";
38@import "button-groups.less";
39@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
40
41// Components: Nav
42@import "navs.less";
43@import "navbar.less";
44@import "breadcrumbs.less";
45@import "pagination.less";
46@import "pager.less";
47
48// Components: Popovers
49@import "modals.less";
50@import "tooltip.less";
51@import "popovers.less";
52
53// Components: Misc
54@import "thumbnails.less";
55@import "media.less";
56@import "labels-badges.less";
57@import "progress-bars.less";
58@import "accordion.less";
59@import "carousel.less";
60@import "hero-unit.less";
61
62// Utility classes
63@import "utilities.less"; // Has to be last to override when necessary
640
=== removed file 'charmworld/static/css/bootstrap/breadcrumbs.less'
--- charmworld/static/css/bootstrap/breadcrumbs.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/breadcrumbs.less 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
1//
2// Breadcrumbs
3// --------------------------------------------------
4
5
6.breadcrumb {
7 padding: 8px 15px;
8 margin: 0 0 @baseLineHeight;
9 list-style: none;
10 background-color: #f5f5f5;
11 .border-radius(@baseBorderRadius);
12 > li {
13 display: inline-block;
14 .ie7-inline-block();
15 text-shadow: 0 1px 0 @white;
16 > .divider {
17 padding: 0 5px;
18 color: #ccc;
19 }
20 }
21 > .active {
22 color: @grayLight;
23 }
24}
250
=== removed file 'charmworld/static/css/bootstrap/button-groups.less'
--- charmworld/static/css/bootstrap/button-groups.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/button-groups.less 1970-01-01 00:00:00 +0000
@@ -1,227 +0,0 @@
1//
2// Button groups
3// --------------------------------------------------
4
5
6// Make the div behave like a button
7.btn-group {
8 position: relative;
9 display: inline-block;
10 .ie7-inline-block();
11 font-size: 0; // remove as part 1 of font-size inline-block hack
12 vertical-align: middle; // match .btn alignment given font-size hack above
13 white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
14 .ie7-restore-left-whitespace();
15}
16
17// Space out series of button groups
18.btn-group + .btn-group {
19 margin-left: 5px;
20}
21
22// Optional: Group multiple button groups together for a toolbar
23.btn-toolbar {
24 font-size: 0; // Hack to remove whitespace that results from using inline-block
25 margin-top: @baseLineHeight / 2;
26 margin-bottom: @baseLineHeight / 2;
27 > .btn + .btn,
28 > .btn-group + .btn,
29 > .btn + .btn-group {
30 margin-left: 5px;
31 }
32}
33
34// Float them, remove border radius, then re-add to first and last elements
35.btn-group > .btn {
36 position: relative;
37 .border-radius(0);
38}
39.btn-group > .btn + .btn {
40 margin-left: -1px;
41}
42.btn-group > .btn,
43.btn-group > .dropdown-menu,
44.btn-group > .popover {
45 font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
46}
47
48// Reset fonts for other sizes
49.btn-group > .btn-mini {
50 font-size: @fontSizeMini;
51}
52.btn-group > .btn-small {
53 font-size: @fontSizeSmall;
54}
55.btn-group > .btn-large {
56 font-size: @fontSizeLarge;
57}
58
59// 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
60.btn-group > .btn:first-child {
61 margin-left: 0;
62 .border-top-left-radius(@baseBorderRadius);
63 .border-bottom-left-radius(@baseBorderRadius);
64}
65// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
66.btn-group > .btn:last-child,
67.btn-group > .dropdown-toggle {
68 .border-top-right-radius(@baseBorderRadius);
69 .border-bottom-right-radius(@baseBorderRadius);
70}
71// Reset corners for large buttons
72.btn-group > .btn.large:first-child {
73 margin-left: 0;
74 .border-top-left-radius(@borderRadiusLarge);
75 .border-bottom-left-radius(@borderRadiusLarge);
76}
77.btn-group > .btn.large:last-child,
78.btn-group > .large.dropdown-toggle {
79 .border-top-right-radius(@borderRadiusLarge);
80 .border-bottom-right-radius(@borderRadiusLarge);
81}
82
83// On hover/focus/active, bring the proper btn to front
84.btn-group > .btn:hover,
85.btn-group > .btn:focus,
86.btn-group > .btn:active,
87.btn-group > .btn.active {
88 z-index: 2;
89}
90
91// On active and open, don't show outline
92.btn-group .dropdown-toggle:active,
93.btn-group.open .dropdown-toggle {
94 outline: 0;
95}
96
97
98
99// Split button dropdowns
100// ----------------------
101
102// Give the line between buttons some depth
103.btn-group > .btn + .dropdown-toggle {
104 padding-left: 8px;
105 padding-right: 8px;
106 .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
107 *padding-top: 5px;
108 *padding-bottom: 5px;
109}
110.btn-group > .btn-mini + .dropdown-toggle {
111 padding-left: 5px;
112 padding-right: 5px;
113 *padding-top: 2px;
114 *padding-bottom: 2px;
115}
116.btn-group > .btn-small + .dropdown-toggle {
117 *padding-top: 5px;
118 *padding-bottom: 4px;
119}
120.btn-group > .btn-large + .dropdown-toggle {
121 padding-left: 12px;
122 padding-right: 12px;
123 *padding-top: 7px;
124 *padding-bottom: 7px;
125}
126
127.btn-group.open {
128
129 // The clickable button for toggling the menu
130 // Remove the gradient and set the same inset shadow as the :active state
131 .dropdown-toggle {
132 background-image: none;
133 .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
134 }
135
136 // Keep the hover's background when dropdown is open
137 .btn.dropdown-toggle {
138 background-color: @btnBackgroundHighlight;
139 }
140 .btn-primary.dropdown-toggle {
141 background-color: @btnPrimaryBackgroundHighlight;
142 }
143 .btn-warning.dropdown-toggle {
144 background-color: @btnWarningBackgroundHighlight;
145 }
146 .btn-danger.dropdown-toggle {
147 background-color: @btnDangerBackgroundHighlight;
148 }
149 .btn-success.dropdown-toggle {
150 background-color: @btnSuccessBackgroundHighlight;
151 }
152 .btn-info.dropdown-toggle {
153 background-color: @btnInfoBackgroundHighlight;
154 }
155 .btn-inverse.dropdown-toggle {
156 background-color: @btnInverseBackgroundHighlight;
157 }
158}
159
160
161// Reposition the caret
162.btn .caret {
163 margin-top: 8px;
164 margin-left: 0;
165}
166// Carets in other button sizes
167.btn-mini .caret,
168.btn-small .caret,
169.btn-large .caret {
170 margin-top: 6px;
171}
172.btn-large .caret {
173 border-left-width: 5px;
174 border-right-width: 5px;
175 border-top-width: 5px;
176}
177// Upside down carets for .dropup
178.dropup .btn-large .caret {
179 border-bottom-width: 5px;
180}
181
182
183
184// Account for other colors
185.btn-primary,
186.btn-warning,
187.btn-danger,
188.btn-info,
189.btn-success,
190.btn-inverse {
191 .caret {
192 border-top-color: @white;
193 border-bottom-color: @white;
194 }
195}
196
197
198
199// Vertical button groups
200// ----------------------
201
202.btn-group-vertical {
203 display: inline-block; // makes buttons only take up the width they need
204 .ie7-inline-block();
205}
206.btn-group-vertical > .btn {
207 display: block;
208 float: none;
209 max-width: 100%;
210 .border-radius(0);
211}
212.btn-group-vertical > .btn + .btn {
213 margin-left: 0;
214 margin-top: -1px;
215}
216.btn-group-vertical > .btn:first-child {
217 .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
218}
219.btn-group-vertical > .btn:last-child {
220 .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
221}
222.btn-group-vertical > .btn-large:first-child {
223 .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
224}
225.btn-group-vertical > .btn-large:last-child {
226 .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
227}
2280
=== removed file 'charmworld/static/css/bootstrap/buttons.less'
--- charmworld/static/css/bootstrap/buttons.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/buttons.less 1970-01-01 00:00:00 +0000
@@ -1,230 +0,0 @@
1//
2// Buttons
3// --------------------------------------------------
4
5
6// Base styles
7// --------------------------------------------------
8
9// Core
10.btn {
11 display: inline-block;
12 .ie7-inline-block();
13 padding: 4px 12px;
14 margin-bottom: 0; // For input.btn
15 font-size: @baseFontSize;
16 line-height: @baseLineHeight;
17 text-align: center;
18 vertical-align: middle;
19 cursor: pointer;
20 .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
21 border: 1px solid @btnBorder;
22 *border: 0; // Remove the border to prevent IE7's black border on input:focus
23 border-bottom-color: darken(@btnBorder, 10%);
24 .border-radius(@baseBorderRadius);
25 .ie7-restore-left-whitespace(); // Give IE7 some love
26 .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
27
28 // Hover state
29 &:hover {
30 color: @grayDark;
31 text-decoration: none;
32 background-position: 0 -15px;
33
34 // transition is only when going to hover, otherwise the background
35 // behind the gradient (there for IE<=9 fallback) gets mismatched
36 .transition(background-position .1s linear);
37 }
38
39 // Focus state for keyboard and accessibility
40 &:focus {
41 .tab-focus();
42 }
43
44 // Active state
45 &.active,
46 &:active {
47 background-image: none;
48 outline: 0;
49 .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
50 }
51
52 // Disabled state
53 &.disabled,
54 &[disabled] {
55 cursor: default;
56 background-image: none;
57 .opacity(65);
58 .box-shadow(none);
59 }
60
61}
62
63
64
65// Button Sizes
66// --------------------------------------------------
67
68// Large
69.btn-large {
70 padding: @paddingLarge;
71 font-size: @fontSizeLarge;
72 .border-radius(@borderRadiusLarge);
73}
74.btn-large [class^="icon-"],
75.btn-large [class*=" icon-"] {
76 margin-top: 4px;
77}
78
79// Small
80.btn-small {
81 padding: @paddingSmall;
82 font-size: @fontSizeSmall;
83 .border-radius(@borderRadiusSmall);
84}
85.btn-small [class^="icon-"],
86.btn-small [class*=" icon-"] {
87 margin-top: 0;
88}
89.btn-mini [class^="icon-"],
90.btn-mini [class*=" icon-"] {
91 margin-top: -1px;
92}
93
94// Mini
95.btn-mini {
96 padding: @paddingMini;
97 font-size: @fontSizeMini;
98 .border-radius(@borderRadiusSmall);
99}
100
101
102// Block button
103// -------------------------
104
105.btn-block {
106 display: block;
107 width: 100%;
108 padding-left: 0;
109 padding-right: 0;
110 .box-sizing(border-box);
111}
112
113// Vertically space out multiple block buttons
114.btn-block + .btn-block {
115 margin-top: 5px;
116}
117
118// Specificity overrides
119input[type="submit"],
120input[type="reset"],
121input[type="button"] {
122 &.btn-block {
123 width: 100%;
124 }
125}
126
127
128
129// Alternate buttons
130// --------------------------------------------------
131
132// Provide *some* extra contrast for those who can get it
133.btn-primary.active,
134.btn-warning.active,
135.btn-danger.active,
136.btn-success.active,
137.btn-info.active,
138.btn-inverse.active {
139 color: rgba(255,255,255,.75);
140}
141
142// Set the backgrounds
143// -------------------------
144.btn {
145 // reset here as of 2.0.3 due to Recess property order
146 border-color: #c5c5c5;
147 border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
148}
149.btn-primary {
150 .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
151}
152// Warning appears are orange
153.btn-warning {
154 .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
155}
156// Danger and error appear as red
157.btn-danger {
158 .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
159}
160// Success appears as green
161.btn-success {
162 .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
163}
164// Info appears as a neutral blue
165.btn-info {
166 .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
167}
168// Inverse appears as dark gray
169.btn-inverse {
170 .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
171}
172
173
174// Cross-browser Jank
175// --------------------------------------------------
176
177button.btn,
178input[type="submit"].btn {
179
180 // Firefox 3.6 only I believe
181 &::-moz-focus-inner {
182 padding: 0;
183 border: 0;
184 }
185
186 // IE7 has some default padding on button controls
187 *padding-top: 3px;
188 *padding-bottom: 3px;
189
190 &.btn-large {
191 *padding-top: 7px;
192 *padding-bottom: 7px;
193 }
194 &.btn-small {
195 *padding-top: 3px;
196 *padding-bottom: 3px;
197 }
198 &.btn-mini {
199 *padding-top: 1px;
200 *padding-bottom: 1px;
201 }
202}
203
204
205// Link buttons
206// --------------------------------------------------
207
208// Make a button look and behave like a link
209.btn-link,
210.btn-link:active,
211.btn-link[disabled] {
212 background-color: transparent;
213 background-image: none;
214 .box-shadow(none);
215}
216.btn-link {
217 border-color: transparent;
218 cursor: pointer;
219 color: @linkColor;
220 .border-radius(0);
221}
222.btn-link:hover {
223 color: @linkColorHover;
224 text-decoration: underline;
225 background-color: transparent;
226}
227.btn-link[disabled]:hover {
228 color: @grayDark;
229 text-decoration: none;
230}
2310
=== removed file 'charmworld/static/css/bootstrap/carousel.less'
--- charmworld/static/css/bootstrap/carousel.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/carousel.less 1970-01-01 00:00:00 +0000
@@ -1,131 +0,0 @@
1//
2// Carousel
3// --------------------------------------------------
4
5
6.carousel {
7 position: relative;
8 margin-bottom: @baseLineHeight;
9 line-height: 1;
10}
11
12.carousel-inner {
13 overflow: hidden;
14 width: 100%;
15 position: relative;
16}
17
18.carousel-inner {
19
20 > .item {
21 display: none;
22 position: relative;
23 .transition(.6s ease-in-out left);
24 }
25
26 // Account for jankitude on images
27 > .item > img {
28 display: block;
29 line-height: 1;
30 }
31
32 > .active,
33 > .next,
34 > .prev { display: block; }
35
36 > .active {
37 left: 0;
38 }
39
40 > .next,
41 > .prev {
42 position: absolute;
43 top: 0;
44 width: 100%;
45 }
46
47 > .next {
48 left: 100%;
49 }
50 > .prev {
51 left: -100%;
52 }
53 > .next.left,
54 > .prev.right {
55 left: 0;
56 }
57
58 > .active.left {
59 left: -100%;
60 }
61 > .active.right {
62 left: 100%;
63 }
64
65}
66
67// Left/right controls for nav
68// ---------------------------
69
70.carousel-control {
71 position: absolute;
72 top: 40%;
73 left: 15px;
74 width: 40px;
75 height: 40px;
76 margin-top: -20px;
77 font-size: 60px;
78 font-weight: 100;
79 line-height: 30px;
80 color: @white;
81 text-align: center;
82 background: @grayDarker;
83 border: 3px solid @white;
84 .border-radius(23px);
85 .opacity(50);
86
87 // we can't have this transition here
88 // because webkit cancels the carousel
89 // animation if you trip this while
90 // in the middle of another animation
91 // ;_;
92 // .transition(opacity .2s linear);
93
94 // Reposition the right one
95 &.right {
96 left: auto;
97 right: 15px;
98 }
99
100 // Hover state
101 &:hover {
102 color: @white;
103 text-decoration: none;
104 .opacity(90);
105 }
106}
107
108
109// Caption for text below images
110// -----------------------------
111
112.carousel-caption {
113 position: absolute;
114 left: 0;
115 right: 0;
116 bottom: 0;
117 padding: 15px;
118 background: @grayDark;
119 background: rgba(0,0,0,.75);
120}
121.carousel-caption h4,
122.carousel-caption p {
123 color: @white;
124 line-height: @baseLineHeight;
125}
126.carousel-caption h4 {
127 margin: 0 0 5px;
128}
129.carousel-caption p {
130 margin-bottom: 0;
131}
1320
=== removed file 'charmworld/static/css/bootstrap/close.less'
--- charmworld/static/css/bootstrap/close.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/close.less 1970-01-01 00:00:00 +0000
@@ -1,31 +0,0 @@
1//
2// Close icons
3// --------------------------------------------------
4
5
6.close {
7 float: right;
8 font-size: 20px;
9 font-weight: bold;
10 line-height: @baseLineHeight;
11 color: @black;
12 text-shadow: 0 1px 0 rgba(255,255,255,1);
13 .opacity(20);
14 &:hover {
15 color: @black;
16 text-decoration: none;
17 cursor: pointer;
18 .opacity(40);
19 }
20}
21
22// Additional properties for button version
23// iOS requires the button element instead of an anchor tag.
24// If you want the anchor version, it requires `href="#"`.
25button.close {
26 padding: 0;
27 cursor: pointer;
28 background: transparent;
29 border: 0;
30 -webkit-appearance: none;
31}
32\ No newline at end of file0\ No newline at end of file
331
=== removed file 'charmworld/static/css/bootstrap/code.less'
--- charmworld/static/css/bootstrap/code.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/code.less 1970-01-01 00:00:00 +0000
@@ -1,61 +0,0 @@
1//
2// Code (inline and blocK)
3// --------------------------------------------------
4
5
6// Inline and block code styles
7code,
8pre {
9 padding: 0 3px 2px;
10 #font > #family > .monospace;
11 font-size: @baseFontSize - 2;
12 color: @grayDark;
13 .border-radius(3px);
14}
15
16// Inline code
17code {
18 padding: 2px 4px;
19 color: #d14;
20 background-color: #f7f7f9;
21 border: 1px solid #e1e1e8;
22 white-space: nowrap;
23}
24
25// Blocks of code
26pre {
27 display: block;
28 padding: (@baseLineHeight - 1) / 2;
29 margin: 0 0 @baseLineHeight / 2;
30 font-size: @baseFontSize - 1; // 14px to 13px
31 line-height: @baseLineHeight;
32 word-break: break-all;
33 word-wrap: break-word;
34 white-space: pre;
35 white-space: pre-wrap;
36 background-color: #f5f5f5;
37 border: 1px solid #ccc; // fallback for IE7-8
38 border: 1px solid rgba(0,0,0,.15);
39 .border-radius(@baseBorderRadius);
40
41 // Make prettyprint styles more spaced out for readability
42 &.prettyprint {
43 margin-bottom: @baseLineHeight;
44 }
45
46 // Account for some code outputs that place code tags in pre tags
47 code {
48 padding: 0;
49 color: inherit;
50 white-space: pre;
51 white-space: pre-wrap;
52 background-color: transparent;
53 border: 0;
54 }
55}
56
57// Enable scrollable blocks of code
58.pre-scrollable {
59 max-height: 340px;
60 overflow-y: scroll;
61}
62\ No newline at end of file0\ No newline at end of file
631
=== removed file 'charmworld/static/css/bootstrap/component-animations.less'
--- charmworld/static/css/bootstrap/component-animations.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/component-animations.less 1970-01-01 00:00:00 +0000
@@ -1,22 +0,0 @@
1//
2// Component animations
3// --------------------------------------------------
4
5
6.fade {
7 opacity: 0;
8 .transition(opacity .15s linear);
9 &.in {
10 opacity: 1;
11 }
12}
13
14.collapse {
15 position: relative;
16 height: 0;
17 overflow: hidden;
18 .transition(height .35s ease);
19 &.in {
20 height: auto;
21 }
22}
230
=== removed file 'charmworld/static/css/bootstrap/dropdowns.less'
--- charmworld/static/css/bootstrap/dropdowns.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/dropdowns.less 1970-01-01 00:00:00 +0000
@@ -1,233 +0,0 @@
1//
2// Dropdown menus
3// --------------------------------------------------
4
5
6// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
7.dropup,
8.dropdown {
9 position: relative;
10}
11.dropdown-toggle {
12 // The caret makes the toggle a bit too tall in IE7
13 *margin-bottom: -3px;
14}
15.dropdown-toggle:active,
16.open .dropdown-toggle {
17 outline: 0;
18}
19
20// Dropdown arrow/caret
21// --------------------
22.caret {
23 display: inline-block;
24 width: 0;
25 height: 0;
26 vertical-align: top;
27 border-top: 4px solid @black;
28 border-right: 4px solid transparent;
29 border-left: 4px solid transparent;
30 content: "";
31}
32
33// Place the caret
34.dropdown .caret {
35 margin-top: 8px;
36 margin-left: 2px;
37}
38
39// The dropdown menu (ul)
40// ----------------------
41.dropdown-menu {
42 position: absolute;
43 top: 100%;
44 left: 0;
45 z-index: @zindexDropdown;
46 display: none; // none by default, but block on "open" of the menu
47 float: left;
48 min-width: 160px;
49 padding: 5px 0;
50 margin: 2px 0 0; // override default ul
51 list-style: none;
52 background-color: @dropdownBackground;
53 border: 1px solid #ccc; // Fallback for IE7-8
54 border: 1px solid @dropdownBorder;
55 *border-right-width: 2px;
56 *border-bottom-width: 2px;
57 .border-radius(6px);
58 .box-shadow(0 5px 10px rgba(0,0,0,.2));
59 -webkit-background-clip: padding-box;
60 -moz-background-clip: padding;
61 background-clip: padding-box;
62
63 // Aligns the dropdown menu to right
64 &.pull-right {
65 right: 0;
66 left: auto;
67 }
68
69 // Dividers (basically an hr) within the dropdown
70 .divider {
71 .nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
72 }
73
74 // Links within the dropdown menu
75 li > a {
76 display: block;
77 padding: 3px 20px;
78 clear: both;
79 font-weight: normal;
80 line-height: @baseLineHeight;
81 color: @dropdownLinkColor;
82 white-space: nowrap;
83 }
84}
85
86// Hover state
87// -----------
88.dropdown-menu li > a:hover,
89.dropdown-menu li > a:focus,
90.dropdown-submenu:hover > a {
91 text-decoration: none;
92 color: @dropdownLinkColorHover;
93 #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
94}
95
96// Active state
97// ------------
98.dropdown-menu .active > a,
99.dropdown-menu .active > a:hover {
100 color: @dropdownLinkColorActive;
101 text-decoration: none;
102 outline: 0;
103 #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
104}
105
106// Disabled state
107// --------------
108// Gray out text and ensure the hover state remains gray
109.dropdown-menu .disabled > a,
110.dropdown-menu .disabled > a:hover {
111 color: @grayLight;
112}
113// Nuke hover effects
114.dropdown-menu .disabled > a:hover {
115 text-decoration: none;
116 background-color: transparent;
117 background-image: none; // Remove CSS gradient
118 .reset-filter();
119 cursor: default;
120}
121
122// Open state for the dropdown
123// ---------------------------
124.open {
125 // IE7's z-index only goes to the nearest positioned ancestor, which would
126 // make the menu appear below buttons that appeared later on the page
127 *z-index: @zindexDropdown;
128
129 & > .dropdown-menu {
130 display: block;
131 }
132}
133
134// Right aligned dropdowns
135// ---------------------------
136.pull-right > .dropdown-menu {
137 right: 0;
138 left: auto;
139}
140
141// Allow for dropdowns to go bottom up (aka, dropup-menu)
142// ------------------------------------------------------
143// Just add .dropup after the standard .dropdown class and you're set, bro.
144// TODO: abstract this so that the navbar fixed styles are not placed here?
145.dropup,
146.navbar-fixed-bottom .dropdown {
147 // Reverse the caret
148 .caret {
149 border-top: 0;
150 border-bottom: 4px solid @black;
151 content: "";
152 }
153 // Different positioning for bottom up menu
154 .dropdown-menu {
155 top: auto;
156 bottom: 100%;
157 margin-bottom: 1px;
158 }
159}
160
161// Sub menus
162// ---------------------------
163.dropdown-submenu {
164 position: relative;
165}
166// Default dropdowns
167.dropdown-submenu > .dropdown-menu {
168 top: 0;
169 left: 100%;
170 margin-top: -6px;
171 margin-left: -1px;
172 .border-radius(0 6px 6px 6px);
173}
174.dropdown-submenu:hover > .dropdown-menu {
175 display: block;
176}
177
178// Dropups
179.dropup .dropdown-submenu > .dropdown-menu {
180 top: auto;
181 bottom: 0;
182 margin-top: 0;
183 margin-bottom: -2px;
184 .border-radius(5px 5px 5px 0);
185}
186
187// Caret to indicate there is a submenu
188.dropdown-submenu > a:after {
189 display: block;
190 content: " ";
191 float: right;
192 width: 0;
193 height: 0;
194 border-color: transparent;
195 border-style: solid;
196 border-width: 5px 0 5px 5px;
197 border-left-color: darken(@dropdownBackground, 20%);
198 margin-top: 5px;
199 margin-right: -10px;
200}
201.dropdown-submenu:hover > a:after {
202 border-left-color: @dropdownLinkColorHover;
203}
204
205// Left aligned submenus
206.dropdown-submenu.pull-left {
207 // Undo the float
208 // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
209 float: none;
210
211 // Positioning the submenu
212 > .dropdown-menu {
213 left: -100%;
214 margin-left: 10px;
215 .border-radius(6px 0 6px 6px);
216 }
217}
218
219// Tweak nav headers
220// -----------------
221// Increase padding from 15px to 20px on sides
222.dropdown .dropdown-menu .nav-header {
223 padding-left: 20px;
224 padding-right: 20px;
225}
226
227// Typeahead
228// ---------
229.typeahead {
230 z-index: 1051;
231 margin-top: 2px; // give it some space to breathe
232 .border-radius(@baseBorderRadius);
233}
2340
=== removed file 'charmworld/static/css/bootstrap/forms.less'
--- charmworld/static/css/bootstrap/forms.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/forms.less 1970-01-01 00:00:00 +0000
@@ -1,687 +0,0 @@
1//
2// Forms
3// --------------------------------------------------
4
5
6// GENERAL STYLES
7// --------------
8
9// Make all forms have space below them
10form {
11 margin: 0 0 @baseLineHeight;
12}
13
14fieldset {
15 padding: 0;
16 margin: 0;
17 border: 0;
18}
19
20// Groups of fields with labels on top (legends)
21legend {
22 display: block;
23 width: 100%;
24 padding: 0;
25 margin-bottom: @baseLineHeight;
26 font-size: @baseFontSize * 1.5;
27 line-height: @baseLineHeight * 2;
28 color: @grayDark;
29 border: 0;
30 border-bottom: 1px solid #e5e5e5;
31
32 // Small
33 small {
34 font-size: @baseLineHeight * .75;
35 color: @grayLight;
36 }
37}
38
39// Set font for forms
40label,
41input,
42button,
43select,
44textarea {
45 #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
46}
47input,
48button,
49select,
50textarea {
51 font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
52}
53
54// Identify controls by their labels
55label {
56 display: block;
57 margin-bottom: 5px;
58}
59
60// Form controls
61// -------------------------
62
63// Shared size and type resets
64select,
65textarea,
66input[type="text"],
67input[type="password"],
68input[type="datetime"],
69input[type="datetime-local"],
70input[type="date"],
71input[type="month"],
72input[type="time"],
73input[type="week"],
74input[type="number"],
75input[type="email"],
76input[type="url"],
77input[type="search"],
78input[type="tel"],
79input[type="color"],
80.uneditable-input {
81 display: inline-block;
82 height: @baseLineHeight;
83 padding: 4px 6px;
84 margin-bottom: @baseLineHeight / 2;
85 font-size: @baseFontSize;
86 line-height: @baseLineHeight;
87 color: @gray;
88 .border-radius(@inputBorderRadius);
89 vertical-align: middle;
90}
91
92// Reset appearance properties for textual inputs and textarea
93// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
94input,
95textarea,
96.uneditable-input {
97 width: 206px; // plus 12px padding and 2px border
98}
99// Reset height since textareas have rows
100textarea {
101 height: auto;
102}
103// Everything else
104textarea,
105input[type="text"],
106input[type="password"],
107input[type="datetime"],
108input[type="datetime-local"],
109input[type="date"],
110input[type="month"],
111input[type="time"],
112input[type="week"],
113input[type="number"],
114input[type="email"],
115input[type="url"],
116input[type="search"],
117input[type="tel"],
118input[type="color"],
119.uneditable-input {
120 background-color: @inputBackground;
121 border: 1px solid @inputBorder;
122 .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
123 .transition(~"border linear .2s, box-shadow linear .2s");
124
125 // Focus state
126 &:focus {
127 border-color: rgba(82,168,236,.8);
128 outline: 0;
129 outline: thin dotted \9; /* IE6-9 */
130 .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
131 }
132}
133
134// Position radios and checkboxes better
135input[type="radio"],
136input[type="checkbox"] {
137 margin: 4px 0 0;
138 *margin-top: 0; /* IE7 */
139 margin-top: 1px \9; /* IE8-9 */
140 line-height: normal;
141}
142
143// Reset width of input images, buttons, radios, checkboxes
144input[type="file"],
145input[type="image"],
146input[type="submit"],
147input[type="reset"],
148input[type="button"],
149input[type="radio"],
150input[type="checkbox"] {
151 width: auto; // Override of generic input selector
152}
153
154// Set the height of select and file controls to match text inputs
155select,
156input[type="file"] {
157 height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
158 *margin-top: 4px; /* For IE7, add top margin to align select with labels */
159 line-height: @inputHeight;
160}
161
162// Make select elements obey height by applying a border
163select {
164 width: 220px; // default input width + 10px of padding that doesn't get applied
165 border: 1px solid @inputBorder;
166 background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
167}
168
169// Make multiple select elements height not fixed
170select[multiple],
171select[size] {
172 height: auto;
173}
174
175// Focus for select, file, radio, and checkbox
176select:focus,
177input[type="file"]:focus,
178input[type="radio"]:focus,
179input[type="checkbox"]:focus {
180 .tab-focus();
181}
182
183
184// Uneditable inputs
185// -------------------------
186
187// Make uneditable inputs look inactive
188.uneditable-input,
189.uneditable-textarea {
190 color: @grayLight;
191 background-color: darken(@inputBackground, 1%);
192 border-color: @inputBorder;
193 .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
194 cursor: not-allowed;
195}
196
197// For text that needs to appear as an input but should not be an input
198.uneditable-input {
199 overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
200 white-space: nowrap;
201}
202
203// Make uneditable textareas behave like a textarea
204.uneditable-textarea {
205 width: auto;
206 height: auto;
207}
208
209
210// Placeholder
211// -------------------------
212
213// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
214input,
215textarea {
216 .placeholder();
217}
218
219
220// CHECKBOXES & RADIOS
221// -------------------
222
223// Indent the labels to position radios/checkboxes as hanging
224.radio,
225.checkbox {
226 min-height: @baseLineHeight; // clear the floating input if there is no label text
227 padding-left: 20px;
228}
229.radio input[type="radio"],
230.checkbox input[type="checkbox"] {
231 float: left;
232 margin-left: -20px;
233}
234
235// Move the options list down to align with labels
236.controls > .radio:first-child,
237.controls > .checkbox:first-child {
238 padding-top: 5px; // has to be padding because margin collaspes
239}
240
241// Radios and checkboxes on same line
242// TODO v3: Convert .inline to .control-inline
243.radio.inline,
244.checkbox.inline {
245 display: inline-block;
246 padding-top: 5px;
247 margin-bottom: 0;
248 vertical-align: middle;
249}
250.radio.inline + .radio.inline,
251.checkbox.inline + .checkbox.inline {
252 margin-left: 10px; // space out consecutive inline controls
253}
254
255
256
257// INPUT SIZES
258// -----------
259
260// General classes for quick sizes
261.input-mini { width: 60px; }
262.input-small { width: 90px; }
263.input-medium { width: 150px; }
264.input-large { width: 210px; }
265.input-xlarge { width: 270px; }
266.input-xxlarge { width: 530px; }
267
268// Grid style input sizes
269input[class*="span"],
270select[class*="span"],
271textarea[class*="span"],
272.uneditable-input[class*="span"],
273// Redeclare since the fluid row class is more specific
274.row-fluid input[class*="span"],
275.row-fluid select[class*="span"],
276.row-fluid textarea[class*="span"],
277.row-fluid .uneditable-input[class*="span"] {
278 float: none;
279 margin-left: 0;
280}
281// Ensure input-prepend/append never wraps
282.input-append input[class*="span"],
283.input-append .uneditable-input[class*="span"],
284.input-prepend input[class*="span"],
285.input-prepend .uneditable-input[class*="span"],
286.row-fluid input[class*="span"],
287.row-fluid select[class*="span"],
288.row-fluid textarea[class*="span"],
289.row-fluid .uneditable-input[class*="span"],
290.row-fluid .input-prepend [class*="span"],
291.row-fluid .input-append [class*="span"] {
292 display: inline-block;
293}
294
295
296
297// GRID SIZING FOR INPUTS
298// ----------------------
299
300// Grid sizes
301#grid > .input(@gridColumnWidth, @gridGutterWidth);
302
303// Control row for multiple inputs per line
304.controls-row {
305 .clearfix(); // Clear the float from controls
306}
307
308// Float to collapse white-space for proper grid alignment
309.controls-row [class*="span"],
310// Redeclare the fluid grid collapse since we undo the float for inputs
311.row-fluid .controls-row [class*="span"] {
312 float: left;
313}
314// Explicity set top padding on all checkboxes/radios, not just first-child
315.controls-row .checkbox[class*="span"],
316.controls-row .radio[class*="span"] {
317 padding-top: 5px;
318}
319
320
321
322
323// DISABLED STATE
324// --------------
325
326// Disabled and read-only inputs
327input[disabled],
328select[disabled],
329textarea[disabled],
330input[readonly],
331select[readonly],
332textarea[readonly] {
333 cursor: not-allowed;
334 background-color: @inputDisabledBackground;
335}
336// Explicitly reset the colors here
337input[type="radio"][disabled],
338input[type="checkbox"][disabled],
339input[type="radio"][readonly],
340input[type="checkbox"][readonly] {
341 background-color: transparent;
342}
343
344
345
346
347// FORM FIELD FEEDBACK STATES
348// --------------------------
349
350// Warning
351.control-group.warning {
352 .formFieldState(@warningText, @warningText, @warningBackground);
353}
354// Error
355.control-group.error {
356 .formFieldState(@errorText, @errorText, @errorBackground);
357}
358// Success
359.control-group.success {
360 .formFieldState(@successText, @successText, @successBackground);
361}
362// Success
363.control-group.info {
364 .formFieldState(@infoText, @infoText, @infoBackground);
365}
366
367// HTML5 invalid states
368// Shares styles with the .control-group.error above
369input:focus:invalid,
370textarea:focus:invalid,
371select:focus:invalid {
372 color: #b94a48;
373 border-color: #ee5f5b;
374 &:focus {
375 border-color: darken(#ee5f5b, 10%);
376 @shadow: 0 0 6px lighten(#ee5f5b, 20%);
377 .box-shadow(@shadow);
378 }
379}
380
381
382
383// FORM ACTIONS
384// ------------
385
386.form-actions {
387 padding: (@baseLineHeight - 1) 20px @baseLineHeight;
388 margin-top: @baseLineHeight;
389 margin-bottom: @baseLineHeight;
390 background-color: @formActionsBackground;
391 border-top: 1px solid #e5e5e5;
392 .clearfix(); // Adding clearfix to allow for .pull-right button containers
393}
394
395
396
397// HELP TEXT
398// ---------
399
400.help-block,
401.help-inline {
402 color: lighten(@textColor, 15%); // lighten the text some for contrast
403}
404
405.help-block {
406 display: block; // account for any element using help-block
407 margin-bottom: @baseLineHeight / 2;
408}
409
410.help-inline {
411 display: inline-block;
412 .ie7-inline-block();
413 vertical-align: middle;
414 padding-left: 5px;
415}
416
417
418
419// INPUT GROUPS
420// ------------
421
422// Allow us to put symbols and text within the input field for a cleaner look
423.input-append,
424.input-prepend {
425 margin-bottom: 5px;
426 font-size: 0; // white space collapse hack
427 white-space: nowrap; // Prevent span and input from separating
428
429 // Reset the white space collapse hack
430 input,
431 select,
432 .uneditable-input,
433 .dropdown-menu {
434 font-size: @baseFontSize;
435 }
436
437 input,
438 select,
439 .uneditable-input {
440 position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
441 margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
442 *margin-left: 0;
443 vertical-align: top;
444 .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
445 // Make input on top when focused so blue border and shadow always show
446 &:focus {
447 z-index: 2;
448 }
449 }
450 .add-on {
451 display: inline-block;
452 width: auto;
453 height: @baseLineHeight;
454 min-width: 16px;
455 padding: 4px 5px;
456 font-size: @baseFontSize;
457 font-weight: normal;
458 line-height: @baseLineHeight;
459 text-align: center;
460 text-shadow: 0 1px 0 @white;
461 background-color: @grayLighter;
462 border: 1px solid #ccc;
463 }
464 .add-on,
465 .btn,
466 .btn-group > .dropdown-toggle {
467 vertical-align: top;
468 .border-radius(0);
469 }
470 .active {
471 background-color: lighten(@green, 30);
472 border-color: @green;
473 }
474}
475
476.input-prepend {
477 .add-on,
478 .btn {
479 margin-right: -1px;
480 }
481 .add-on:first-child,
482 .btn:first-child {
483 // FYI, `.btn:first-child` accounts for a button group that's prepended
484 .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
485 }
486}
487
488.input-append {
489 input,
490 select,
491 .uneditable-input {
492 .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
493 + .btn-group .btn:last-child {
494 .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
495 }
496 }
497 .add-on,
498 .btn,
499 .btn-group {
500 margin-left: -1px;
501 }
502 .add-on:last-child,
503 .btn:last-child,
504 .btn-group:last-child > .dropdown-toggle {
505 .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
506 }
507}
508
509// Remove all border-radius for inputs with both prepend and append
510.input-prepend.input-append {
511 input,
512 select,
513 .uneditable-input {
514 .border-radius(0);
515 + .btn-group .btn {
516 .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
517 }
518 }
519 .add-on:first-child,
520 .btn:first-child {
521 margin-right: -1px;
522 .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
523 }
524 .add-on:last-child,
525 .btn:last-child {
526 margin-left: -1px;
527 .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
528 }
529 .btn-group:first-child {
530 margin-left: 0;
531 }
532}
533
534
535
536
537// SEARCH FORM
538// -----------
539
540input.search-query {
541 padding-right: 14px;
542 padding-right: 4px \9;
543 padding-left: 14px;
544 padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
545 margin-bottom: 0; // Remove the default margin on all inputs
546 .border-radius(15px);
547}
548
549/* Allow for input prepend/append in search forms */
550.form-search .input-append .search-query,
551.form-search .input-prepend .search-query {
552 .border-radius(0); // Override due to specificity
553}
554.form-search .input-append .search-query {
555 .border-radius(14px 0 0 14px);
556}
557.form-search .input-append .btn {
558 .border-radius(0 14px 14px 0);
559}
560.form-search .input-prepend .search-query {
561 .border-radius(0 14px 14px 0);
562}
563.form-search .input-prepend .btn {
564 .border-radius(14px 0 0 14px);
565}
566
567
568
569
570// HORIZONTAL & VERTICAL FORMS
571// ---------------------------
572
573// Common properties
574// -----------------
575
576.form-search,
577.form-inline,
578.form-horizontal {
579 input,
580 textarea,
581 select,
582 .help-inline,
583 .uneditable-input,
584 .input-prepend,
585 .input-append {
586 display: inline-block;
587 .ie7-inline-block();
588 margin-bottom: 0;
589 vertical-align: middle;
590 }
591 // Re-hide hidden elements due to specifity
592 .hide {
593 display: none;
594 }
595}
596.form-search label,
597.form-inline label,
598.form-search .btn-group,
599.form-inline .btn-group {
600 display: inline-block;
601}
602// Remove margin for input-prepend/-append
603.form-search .input-append,
604.form-inline .input-append,
605.form-search .input-prepend,
606.form-inline .input-prepend {
607 margin-bottom: 0;
608}
609// Inline checkbox/radio labels (remove padding on left)
610.form-search .radio,
611.form-search .checkbox,
612.form-inline .radio,
613.form-inline .checkbox {
614 padding-left: 0;
615 margin-bottom: 0;
616 vertical-align: middle;
617}
618// Remove float and margin, set to inline-block
619.form-search .radio input[type="radio"],
620.form-search .checkbox input[type="checkbox"],
621.form-inline .radio input[type="radio"],
622.form-inline .checkbox input[type="checkbox"] {
623 float: left;
624 margin-right: 3px;
625 margin-left: 0;
626}
627
628
629// Margin to space out fieldsets
630.control-group {
631 margin-bottom: @baseLineHeight / 2;
632}
633
634// Legend collapses margin, so next element is responsible for spacing
635legend + .control-group {
636 margin-top: @baseLineHeight;
637 -webkit-margin-top-collapse: separate;
638}
639
640// Horizontal-specific styles
641// --------------------------
642
643.form-horizontal {
644 // Increase spacing between groups
645 .control-group {
646 margin-bottom: @baseLineHeight;
647 .clearfix();
648 }
649 // Float the labels left
650 .control-label {
651 float: left;
652 width: @horizontalComponentOffset - 20;
653 padding-top: 5px;
654 text-align: right;
655 }
656 // Move over all input controls and content
657 .controls {
658 // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
659 // don't inherit the margin of the parent, in this case .controls
660 *display: inline-block;
661 *padding-left: 20px;
662 margin-left: @horizontalComponentOffset;
663 *margin-left: 0;
664 &:first-child {
665 *padding-left: @horizontalComponentOffset;
666 }
667 }
668 // Remove bottom margin on block level help text since that's accounted for on .control-group
669 .help-block {
670 margin-bottom: 0;
671 }
672 // And apply it only to .help-block instances that follow a form control
673 input,
674 select,
675 textarea,
676 .uneditable-input,
677 .input-prepend,
678 .input-append {
679 + .help-block {
680 margin-top: @baseLineHeight / 2;
681 }
682 }
683 // Move over buttons in .form-actions to align with .controls
684 .form-actions {
685 padding-left: @horizontalComponentOffset;
686 }
687}
6880
=== removed file 'charmworld/static/css/bootstrap/grid.less'
--- charmworld/static/css/bootstrap/grid.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/grid.less 1970-01-01 00:00:00 +0000
@@ -1,21 +0,0 @@
1//
2// Grid system
3// --------------------------------------------------
4
5
6// Fixed (940px)
7#grid > .core(@gridColumnWidth, @gridGutterWidth);
8
9// Fluid (940px)
10#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
11
12// Reset utility classes due to specificity
13[class*="span"].hide,
14.row-fluid [class*="span"].hide {
15 display: none;
16}
17
18[class*="span"].pull-right,
19.row-fluid [class*="span"].pull-right {
20 float: right;
21}
220
=== removed file 'charmworld/static/css/bootstrap/hero-unit.less'
--- charmworld/static/css/bootstrap/hero-unit.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/hero-unit.less 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
1//
2// Hero unit
3// --------------------------------------------------
4
5
6.hero-unit {
7 padding: 60px;
8 margin-bottom: 30px;
9 font-size: 18px;
10 font-weight: 200;
11 line-height: @baseLineHeight * 1.5;
12 color: @heroUnitLeadColor;
13 background-color: @heroUnitBackground;
14 .border-radius(6px);
15 h1 {
16 margin-bottom: 0;
17 font-size: 60px;
18 line-height: 1;
19 color: @heroUnitHeadingColor;
20 letter-spacing: -1px;
21 }
22 li {
23 line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less
24 }
25}
260
=== removed file 'charmworld/static/css/bootstrap/labels-badges.less'
--- charmworld/static/css/bootstrap/labels-badges.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/labels-badges.less 1970-01-01 00:00:00 +0000
@@ -1,82 +0,0 @@
1//
2// Labels and badges
3// --------------------------------------------------
4
5
6// Base classes
7.label,
8.badge {
9 display: inline-block;
10 padding: 2px 4px;
11 font-size: @baseFontSize * .846;
12 font-weight: bold;
13 line-height: 14px; // ensure proper line-height if floated
14 color: @white;
15 vertical-align: baseline;
16 white-space: nowrap;
17 text-shadow: 0 -1px 0 rgba(0,0,0,.25);
18 background-color: @grayLight;
19}
20// Set unique padding and border-radii
21.label {
22 .border-radius(3px);
23}
24.badge {
25 padding-left: 9px;
26 padding-right: 9px;
27 .border-radius(9px);
28}
29
30// Empty labels/badges collapse
31.label,
32.badge {
33 &:empty {
34 display: none;
35 }
36}
37
38// Hover state, but only for links
39a {
40 &.label:hover,
41 &.badge:hover {
42 color: @white;
43 text-decoration: none;
44 cursor: pointer;
45 }
46}
47
48// Colors
49// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
50.label,
51.badge {
52 // Important (red)
53 &-important { background-color: @errorText; }
54 &-important[href] { background-color: darken(@errorText, 10%); }
55 // Warnings (orange)
56 &-warning { background-color: @orange; }
57 &-warning[href] { background-color: darken(@orange, 10%); }
58 // Success (green)
59 &-success { background-color: @successText; }
60 &-success[href] { background-color: darken(@successText, 10%); }
61 // Info (turquoise)
62 &-info { background-color: @infoText; }
63 &-info[href] { background-color: darken(@infoText, 10%); }
64 // Inverse (black)
65 &-inverse { background-color: @grayDark; }
66 &-inverse[href] { background-color: darken(@grayDark, 10%); }
67}
68
69// Quick fix for labels/badges in buttons
70.btn {
71 .label,
72 .badge {
73 position: relative;
74 top: -1px;
75 }
76}
77.btn-mini {
78 .label,
79 .badge {
80 top: 0;
81 }
82}
830
=== removed file 'charmworld/static/css/bootstrap/layouts.less'
--- charmworld/static/css/bootstrap/layouts.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/layouts.less 1970-01-01 00:00:00 +0000
@@ -1,16 +0,0 @@
1//
2// Layouts
3// --------------------------------------------------
4
5
6// Container (centered, fixed-width layouts)
7.container {
8 .container-fixed();
9}
10
11// Fluid layouts (left aligned, with sidebar, min- & max-width content)
12.container-fluid {
13 padding-right: @gridGutterWidth;
14 padding-left: @gridGutterWidth;
15 .clearfix();
16}
17\ No newline at end of file0\ No newline at end of file
181
=== removed file 'charmworld/static/css/bootstrap/media.less'
--- charmworld/static/css/bootstrap/media.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/media.less 1970-01-01 00:00:00 +0000
@@ -1,55 +0,0 @@
1// Media objects
2// Source: http://stubbornella.org/content/?p=497
3// --------------------------------------------------
4
5
6// Common styles
7// -------------------------
8
9// Clear the floats
10.media,
11.media-body {
12 overflow: hidden;
13 *overflow: visible;
14 zoom: 1;
15}
16
17// Proper spacing between instances of .media
18.media,
19.media .media {
20 margin-top: 15px;
21}
22.media:first-child {
23 margin-top: 0;
24}
25
26// For images and videos, set to block
27.media-object {
28 display: block;
29}
30
31// Reset margins on headings for tighter default spacing
32.media-heading {
33 margin: 0 0 5px;
34}
35
36
37// Media image alignment
38// -------------------------
39
40.media .pull-left {
41 margin-right: 10px;
42}
43.media .pull-right {
44 margin-left: 10px;
45}
46
47
48// Media list variation
49// -------------------------
50
51// Undo default ul/ol styles
52.media-list {
53 margin-left: 0;
54 list-style: none;
55}
560
=== removed file 'charmworld/static/css/bootstrap/mixins.less'
--- charmworld/static/css/bootstrap/mixins.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/mixins.less 1970-01-01 00:00:00 +0000
@@ -1,686 +0,0 @@
1//
2// Mixins
3// --------------------------------------------------
4
5
6// UTILITY MIXINS
7// --------------------------------------------------
8
9// Clearfix
10// --------
11// For clearing floats like a boss h5bp.com/q
12.clearfix {
13 *zoom: 1;
14 &:before,
15 &:after {
16 display: table;
17 content: "";
18 // Fixes Opera/contenteditable bug:
19 // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
20 line-height: 0;
21 }
22 &:after {
23 clear: both;
24 }
25}
26
27// Webkit-style focus
28// ------------------
29.tab-focus() {
30 // Default
31 outline: thin dotted #333;
32 // Webkit
33 outline: 5px auto -webkit-focus-ring-color;
34 outline-offset: -2px;
35}
36
37// Center-align a block level element
38// ----------------------------------
39.center-block() {
40 display: block;
41 margin-left: auto;
42 margin-right: auto;
43}
44
45// IE7 inline-block
46// ----------------
47.ie7-inline-block() {
48 *display: inline; /* IE7 inline-block hack */
49 *zoom: 1;
50}
51
52// IE7 likes to collapse whitespace on either side of the inline-block elements.
53// Ems because we're attempting to match the width of a space character. Left
54// version is for form buttons, which typically come after other elements, and
55// right version is for icons, which come before. Applying both is ok, but it will
56// mean that space between those elements will be .6em (~2 space characters) in IE7,
57// instead of the 1 space in other browsers.
58.ie7-restore-left-whitespace() {
59 *margin-left: .3em;
60
61 &:first-child {
62 *margin-left: 0;
63 }
64}
65
66.ie7-restore-right-whitespace() {
67 *margin-right: .3em;
68}
69
70// Sizing shortcuts
71// -------------------------
72.size(@height, @width) {
73 width: @width;
74 height: @height;
75}
76.square(@size) {
77 .size(@size, @size);
78}
79
80// Placeholder text
81// -------------------------
82.placeholder(@color: @placeholderText) {
83 &:-moz-placeholder {
84 color: @color;
85 }
86 &:-ms-input-placeholder {
87 color: @color;
88 }
89 &::-webkit-input-placeholder {
90 color: @color;
91 }
92}
93
94// Text overflow
95// -------------------------
96// Requires inline-block or block for proper styling
97.text-overflow() {
98 overflow: hidden;
99 text-overflow: ellipsis;
100 white-space: nowrap;
101}
102
103// CSS image replacement
104// -------------------------
105// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
106.hide-text {
107 font: 0/0 a;
108 color: transparent;
109 text-shadow: none;
110 background-color: transparent;
111 border: 0;
112}
113
114
115// FONTS
116// --------------------------------------------------
117
118#font {
119 #family {
120 .serif() {
121 font-family: @serifFontFamily;
122 }
123 .sans-serif() {
124 font-family: @sansFontFamily;
125 }
126 .monospace() {
127 font-family: @monoFontFamily;
128 }
129 }
130 .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
131 font-size: @size;
132 font-weight: @weight;
133 line-height: @lineHeight;
134 }
135 .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
136 #font > #family > .serif;
137 #font > .shorthand(@size, @weight, @lineHeight);
138 }
139 .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
140 #font > #family > .sans-serif;
141 #font > .shorthand(@size, @weight, @lineHeight);
142 }
143 .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
144 #font > #family > .monospace;
145 #font > .shorthand(@size, @weight, @lineHeight);
146 }
147}
148
149
150// FORMS
151// --------------------------------------------------
152
153// Block level inputs
154.input-block-level {
155 display: block;
156 width: 100%;
157 min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
158 .box-sizing(border-box); // Makes inputs behave like true block-level elements
159}
160
161
162
163// Mixin for form field states
164.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
165 // Set the text color
166 .control-label,
167 .help-block,
168 .help-inline {
169 color: @textColor;
170 }
171 // Style inputs accordingly
172 .checkbox,
173 .radio,
174 input,
175 select,
176 textarea {
177 color: @textColor;
178 }
179 input,
180 select,
181 textarea {
182 border-color: @borderColor;
183 .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
184 &:focus {
185 border-color: darken(@borderColor, 10%);
186 @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
187 .box-shadow(@shadow);
188 }
189 }
190 // Give a small background color for input-prepend/-append
191 .input-prepend .add-on,
192 .input-append .add-on {
193 color: @textColor;
194 background-color: @backgroundColor;
195 border-color: @textColor;
196 }
197}
198
199
200
201// CSS3 PROPERTIES
202// --------------------------------------------------
203
204// Border Radius
205.border-radius(@radius) {
206 -webkit-border-radius: @radius;
207 -moz-border-radius: @radius;
208 border-radius: @radius;
209}
210
211// Single Corner Border Radius
212.border-top-left-radius(@radius) {
213 -webkit-border-top-left-radius: @radius;
214 -moz-border-radius-topleft: @radius;
215 border-top-left-radius: @radius;
216}
217.border-top-right-radius(@radius) {
218 -webkit-border-top-right-radius: @radius;
219 -moz-border-radius-topright: @radius;
220 border-top-right-radius: @radius;
221}
222.border-bottom-right-radius(@radius) {
223 -webkit-border-bottom-right-radius: @radius;
224 -moz-border-radius-bottomright: @radius;
225 border-bottom-right-radius: @radius;
226}
227.border-bottom-left-radius(@radius) {
228 -webkit-border-bottom-left-radius: @radius;
229 -moz-border-radius-bottomleft: @radius;
230 border-bottom-left-radius: @radius;
231}
232
233// Single Side Border Radius
234.border-top-radius(@radius) {
235 .border-top-right-radius(@radius);
236 .border-top-left-radius(@radius);
237}
238.border-right-radius(@radius) {
239 .border-top-right-radius(@radius);
240 .border-bottom-right-radius(@radius);
241}
242.border-bottom-radius(@radius) {
243 .border-bottom-right-radius(@radius);
244 .border-bottom-left-radius(@radius);
245}
246.border-left-radius(@radius) {
247 .border-top-left-radius(@radius);
248 .border-bottom-left-radius(@radius);
249}
250
251// Drop shadows
252.box-shadow(@shadow) {
253 -webkit-box-shadow: @shadow;
254 -moz-box-shadow: @shadow;
255 box-shadow: @shadow;
256}
257
258// Transitions
259.transition(@transition) {
260 -webkit-transition: @transition;
261 -moz-transition: @transition;
262 -o-transition: @transition;
263 transition: @transition;
264}
265.transition-delay(@transition-delay) {
266 -webkit-transition-delay: @transition-delay;
267 -moz-transition-delay: @transition-delay;
268 -o-transition-delay: @transition-delay;
269 transition-delay: @transition-delay;
270}
271
272// Transformations
273.rotate(@degrees) {
274 -webkit-transform: rotate(@degrees);
275 -moz-transform: rotate(@degrees);
276 -ms-transform: rotate(@degrees);
277 -o-transform: rotate(@degrees);
278 transform: rotate(@degrees);
279}
280.scale(@ratio) {
281 -webkit-transform: scale(@ratio);
282 -moz-transform: scale(@ratio);
283 -ms-transform: scale(@ratio);
284 -o-transform: scale(@ratio);
285 transform: scale(@ratio);
286}
287.translate(@x, @y) {
288 -webkit-transform: translate(@x, @y);
289 -moz-transform: translate(@x, @y);
290 -ms-transform: translate(@x, @y);
291 -o-transform: translate(@x, @y);
292 transform: translate(@x, @y);
293}
294.skew(@x, @y) {
295 -webkit-transform: skew(@x, @y);
296 -moz-transform: skew(@x, @y);
297 -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
298 -o-transform: skew(@x, @y);
299 transform: skew(@x, @y);
300 -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
301}
302.translate3d(@x, @y, @z) {
303 -webkit-transform: translate3d(@x, @y, @z);
304 -moz-transform: translate3d(@x, @y, @z);
305 -o-transform: translate3d(@x, @y, @z);
306 transform: translate3d(@x, @y, @z);
307}
308
309// Backface visibility
310// Prevent browsers from flickering when using CSS 3D transforms.
311// Default value is `visible`, but can be changed to `hidden
312// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
313.backface-visibility(@visibility){
314 -webkit-backface-visibility: @visibility;
315 -moz-backface-visibility: @visibility;
316 backface-visibility: @visibility;
317}
318
319// Background clipping
320// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
321.background-clip(@clip) {
322 -webkit-background-clip: @clip;
323 -moz-background-clip: @clip;
324 background-clip: @clip;
325}
326
327// Background sizing
328.background-size(@size) {
329 -webkit-background-size: @size;
330 -moz-background-size: @size;
331 -o-background-size: @size;
332 background-size: @size;
333}
334
335
336// Box sizing
337.box-sizing(@boxmodel) {
338 -webkit-box-sizing: @boxmodel;
339 -moz-box-sizing: @boxmodel;
340 box-sizing: @boxmodel;
341}
342
343// User select
344// For selecting text on the page
345.user-select(@select) {
346 -webkit-user-select: @select;
347 -moz-user-select: @select;
348 -ms-user-select: @select;
349 -o-user-select: @select;
350 user-select: @select;
351}
352
353// Resize anything
354.resizable(@direction) {
355 resize: @direction; // Options: horizontal, vertical, both
356 overflow: auto; // Safari fix
357}
358
359// CSS3 Content Columns
360.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
361 -webkit-column-count: @columnCount;
362 -moz-column-count: @columnCount;
363 column-count: @columnCount;
364 -webkit-column-gap: @columnGap;
365 -moz-column-gap: @columnGap;
366 column-gap: @columnGap;
367}
368
369// Optional hyphenation
370.hyphens(@mode: auto) {
371 word-wrap: break-word;
372 -webkit-hyphens: @mode;
373 -moz-hyphens: @mode;
374 -ms-hyphens: @mode;
375 -o-hyphens: @mode;
376 hyphens: @mode;
377}
378
379// Opacity
380.opacity(@opacity) {
381 opacity: @opacity / 100;
382 filter: ~"alpha(opacity=@{opacity})";
383}
384
385
386
387// BACKGROUNDS
388// --------------------------------------------------
389
390// Add an alphatransparency value to any background or border color (via Elyse Holladay)
391#translucent {
392 .background(@color: @white, @alpha: 1) {
393 background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
394 }
395 .border(@color: @white, @alpha: 1) {
396 border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
397 .background-clip(padding-box);
398 }
399}
400
401// Gradient Bar Colors for buttons and alerts
402.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
403 color: @textColor;
404 text-shadow: @textShadow;
405 #gradient > .vertical(@primaryColor, @secondaryColor);
406 border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
407 border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
408}
409
410// Gradients
411#gradient {
412 .horizontal(@startColor: #555, @endColor: #333) {
413 background-color: @endColor;
414 background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
415 background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
416 background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
417 background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
418 background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
419 background-repeat: repeat-x;
420 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
421 }
422 .vertical(@startColor: #555, @endColor: #333) {
423 background-color: mix(@startColor, @endColor, 60%);
424 background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
425 background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
426 background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
427 background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
428 background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
429 background-repeat: repeat-x;
430 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
431 }
432 .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
433 background-color: @endColor;
434 background-repeat: repeat-x;
435 background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
436 background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
437 background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
438 background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
439 }
440 .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
441 background-color: mix(@midColor, @endColor, 80%);
442 background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
443 background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
444 background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
445 background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
446 background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
447 background-repeat: no-repeat;
448 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
449 }
450 .radial(@innerColor: #555, @outerColor: #333) {
451 background-color: @outerColor;
452 background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
453 background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
454 background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
455 background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
456 background-repeat: no-repeat;
457 }
458 .striped(@color: #555, @angle: 45deg) {
459 background-color: @color;
460 background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
461 background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
462 background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
463 background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
464 background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
465 }
466}
467// Reset filters for IE
468.reset-filter() {
469 filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
470}
471
472
473
474// COMPONENT MIXINS
475// --------------------------------------------------
476
477// Horizontal dividers
478// -------------------------
479// Dividers (basically an hr) within dropdowns and nav lists
480.nav-divider(@top: #e5e5e5, @bottom: @white) {
481 // IE7 needs a set width since we gave a height. Restricting just
482 // to IE7 to keep the 1px left/right space in other browsers.
483 // It is unclear where IE is getting the extra space that we need
484 // to negative-margin away, but so it goes.
485 *width: 100%;
486 height: 1px;
487 margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
488 *margin: -5px 0 5px;
489 overflow: hidden;
490 background-color: @top;
491 border-bottom: 1px solid @bottom;
492}
493
494// Button backgrounds
495// ------------------
496.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
497 // gradientBar will set the background to a pleasing blend of these, to support IE<=9
498 .gradientBar(@startColor, @endColor, @textColor, @textShadow);
499 *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
500 .reset-filter();
501
502 // in these cases the gradient won't cover the background, so we override
503 &:hover, &:active, &.active, &.disabled, &[disabled] {
504 color: @textColor;
505 background-color: @endColor;
506 *background-color: darken(@endColor, 5%);
507 }
508
509 // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
510 &:active,
511 &.active {
512 background-color: darken(@endColor, 10%) e("\9");
513 }
514}
515
516// Navbar vertical align
517// -------------------------
518// Vertically center elements in the navbar.
519// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
520.navbarVerticalAlign(@elementHeight) {
521 margin-top: (@navbarHeight - @elementHeight) / 2;
522}
523
524
525
526// Grid System
527// -----------
528
529// Centered container element
530.container-fixed() {
531 margin-right: auto;
532 margin-left: auto;
533 .clearfix();
534}
535
536// Table columns
537.tableColumns(@columnSpan: 1) {
538 float: none; // undo default grid column styles
539 width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
540 margin-left: 0; // undo default grid column styles
541}
542
543// Make a Grid
544// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
545.makeRow() {
546 margin-left: @gridGutterWidth * -1;
547 .clearfix();
548}
549.makeColumn(@columns: 1, @offset: 0) {
550 float: left;
551 margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
552 width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
553}
554
555// The Grid
556#grid {
557
558 .core (@gridColumnWidth, @gridGutterWidth) {
559
560 .spanX (@index) when (@index > 0) {
561 (~".span@{index}") { .span(@index); }
562 .spanX(@index - 1);
563 }
564 .spanX (0) {}
565
566 .offsetX (@index) when (@index > 0) {
567 (~".offset@{index}") { .offset(@index); }
568 .offsetX(@index - 1);
569 }
570 .offsetX (0) {}
571
572 .offset (@columns) {
573 margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1));
574 }
575
576 .span (@columns) {
577 width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
578 }
579
580 .row {
581 margin-left: @gridGutterWidth * -1;
582 .clearfix();
583 }
584
585 [class*="span"] {
586 float: left;
587 min-height: 1px; // prevent collapsing columns
588 margin-left: @gridGutterWidth;
589 }
590
591 // Set the container width, and override it for fixed navbars in media queries
592 .container,
593 .navbar-static-top .container,
594 .navbar-fixed-top .container,
595 .navbar-fixed-bottom .container { .span(@gridColumns); }
596
597 // generate .spanX and .offsetX
598 .spanX (@gridColumns);
599 .offsetX (@gridColumns);
600
601 }
602
603 .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
604
605 .spanX (@index) when (@index > 0) {
606 (~".span@{index}") { .span(@index); }
607 .spanX(@index - 1);
608 }
609 .spanX (0) {}
610
611 .offsetX (@index) when (@index > 0) {
612 (~'.offset@{index}') { .offset(@index); }
613 (~'.offset@{index}:first-child') { .offsetFirstChild(@index); }
614 .offsetX(@index - 1);
615 }
616 .offsetX (0) {}
617
618 .offset (@columns) {
619 margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
620 *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
621 }
622
623 .offsetFirstChild (@columns) {
624 margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
625 *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
626 }
627
628 .span (@columns) {
629 width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
630 *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
631 }
632
633 .row-fluid {
634 width: 100%;
635 .clearfix();
636 [class*="span"] {
637 .input-block-level();
638 float: left;
639 margin-left: @fluidGridGutterWidth;
640 *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
641 }
642 [class*="span"]:first-child {
643 margin-left: 0;
644 }
645
646 // Space grid-sized controls properly if multiple per line
647 .controls-row [class*="span"] + [class*="span"] {
648 margin-left: @fluidGridGutterWidth;
649 }
650
651 // generate .spanX and .offsetX
652 .spanX (@gridColumns);
653 .offsetX (@gridColumns);
654 }
655
656 }
657
658 .input(@gridColumnWidth, @gridGutterWidth) {
659
660 .spanX (@index) when (@index > 0) {
661 (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
662 .spanX(@index - 1);
663 }
664 .spanX (0) {}
665
666 .span(@columns) {
667 width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14;
668 }
669
670 input,
671 textarea,
672 .uneditable-input {
673 margin-left: 0; // override margin-left from core grid system
674 }
675
676 // Space grid-sized controls properly if multiple per line
677 .controls-row [class*="span"] + [class*="span"] {
678 margin-left: @gridGutterWidth;
679 }
680
681 // generate .spanX
682 .spanX (@gridColumns);
683
684 }
685
686}
6870
=== removed file 'charmworld/static/css/bootstrap/modals.less'
--- charmworld/static/css/bootstrap/modals.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/modals.less 1970-01-01 00:00:00 +0000
@@ -1,95 +0,0 @@
1//
2// Modals
3// --------------------------------------------------
4
5// Background
6.modal-backdrop {
7 position: fixed;
8 top: 0;
9 right: 0;
10 bottom: 0;
11 left: 0;
12 z-index: @zindexModalBackdrop;
13 background-color: @black;
14 // Fade for backdrop
15 &.fade { opacity: 0; }
16}
17
18.modal-backdrop,
19.modal-backdrop.fade.in {
20 .opacity(80);
21}
22
23// Base modal
24.modal {
25 position: fixed;
26 top: 10%;
27 left: 50%;
28 z-index: @zindexModal;
29 width: 560px;
30 margin-left: -280px;
31 background-color: @white;
32 border: 1px solid #999;
33 border: 1px solid rgba(0,0,0,.3);
34 *border: 1px solid #999; /* IE6-7 */
35 .border-radius(6px);
36 .box-shadow(0 3px 7px rgba(0,0,0,0.3));
37 .background-clip(padding-box);
38 // Remove focus outline from opened modal
39 outline: none;
40
41 &.fade {
42 .transition(e('opacity .3s linear, top .3s ease-out'));
43 top: -25%;
44 }
45 &.fade.in { top: 10%; }
46}
47.modal-header {
48 padding: 9px 15px;
49 border-bottom: 1px solid #eee;
50 // Close icon
51 .close { margin-top: 2px; }
52 // Heading
53 h3 {
54 margin: 0;
55 line-height: 30px;
56 }
57}
58
59// Body (where all modal content resides)
60.modal-body {
61 position: relative;
62 overflow-y: auto;
63 max-height: 400px;
64 padding: 15px;
65}
66// Remove bottom margin if need be
67.modal-form {
68 margin-bottom: 0;
69}
70
71// Footer (for actions)
72.modal-footer {
73 padding: 14px 15px 15px;
74 margin-bottom: 0;
75 text-align: right; // right align buttons
76 background-color: #f5f5f5;
77 border-top: 1px solid #ddd;
78 .border-radius(0 0 6px 6px);
79 .box-shadow(inset 0 1px 0 @white);
80 .clearfix(); // clear it in case folks use .pull-* classes on buttons
81
82 // Properly space out buttons
83 .btn + .btn {
84 margin-left: 5px;
85 margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
86 }
87 // but override that for button groups
88 .btn-group .btn + .btn {
89 margin-left: -1px;
90 }
91 // and override it for block buttons as well
92 .btn-block + .btn-block {
93 margin-left: 0;
94 }
95}
960
=== removed file 'charmworld/static/css/bootstrap/navbar.less'
--- charmworld/static/css/bootstrap/navbar.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/navbar.less 1970-01-01 00:00:00 +0000
@@ -1,490 +0,0 @@
1//
2// Navbars (Redux)
3// --------------------------------------------------
4
5
6// COMMON STYLES
7// -------------
8
9// Base class and wrapper
10.navbar {
11 overflow: visible;
12 margin-bottom: @baseLineHeight;
13
14 // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
15 *position: relative;
16 *z-index: 2;
17}
18
19// Inner for background effects
20// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
21.navbar-inner {
22 min-height: @navbarHeight;
23 padding-left: 20px;
24 padding-right: 20px;
25 #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
26 border: 1px solid @navbarBorder;
27 .border-radius(@baseBorderRadius);
28 .box-shadow(0 1px 4px rgba(0,0,0,.065));
29
30 // Prevent floats from breaking the navbar
31 .clearfix();
32}
33
34// Set width to auto for default container
35// We then reset it for fixed navbars in the #gridSystem mixin
36.navbar .container {
37 width: auto;
38}
39
40// Override the default collapsed state
41.nav-collapse.collapse {
42 height: auto;
43 overflow: visible;
44}
45
46
47// Brand: website or project name
48// -------------------------
49.navbar .brand {
50 float: left;
51 display: block;
52 // Vertically center the text given @navbarHeight
53 padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
54 margin-left: -20px; // negative indent to left-align the text down the page
55 font-size: 20px;
56 font-weight: 200;
57 color: @navbarBrandColor;
58 text-shadow: 0 1px 0 @navbarBackgroundHighlight;
59 &:hover {
60 text-decoration: none;
61 }
62}
63
64// Plain text in topbar
65// -------------------------
66.navbar-text {
67 margin-bottom: 0;
68 line-height: @navbarHeight;
69 color: @navbarText;
70}
71
72// Janky solution for now to account for links outside the .nav
73// -------------------------
74.navbar-link {
75 color: @navbarLinkColor;
76 &:hover {
77 color: @navbarLinkColorHover;
78 }
79}
80
81// Dividers in navbar
82// -------------------------
83.navbar .divider-vertical {
84 height: @navbarHeight;
85 margin: 0 9px;
86 border-left: 1px solid @navbarBackground;
87 border-right: 1px solid @navbarBackgroundHighlight;
88}
89
90// Buttons in navbar
91// -------------------------
92.navbar .btn,
93.navbar .btn-group {
94 .navbarVerticalAlign(30px); // Vertically center in navbar
95}
96.navbar .btn-group .btn,
97.navbar .input-prepend .btn,
98.navbar .input-append .btn {
99 margin-top: 0; // then undo the margin here so we don't accidentally double it
100}
101
102// Navbar forms
103// -------------------------
104.navbar-form {
105 margin-bottom: 0; // remove default bottom margin
106 .clearfix();
107 input,
108 select,
109 .radio,
110 .checkbox {
111 .navbarVerticalAlign(30px); // Vertically center in navbar
112 }
113 input,
114 select,
115 .btn {
116 display: inline-block;
117 margin-bottom: 0;
118 }
119 input[type="image"],
120 input[type="checkbox"],
121 input[type="radio"] {
122 margin-top: 3px;
123 }
124 .input-append,
125 .input-prepend {
126 margin-top: 5px;
127 white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
128 input {
129 margin-top: 0; // remove the margin on top since it's on the parent
130 }
131 }
132}
133
134// Navbar search
135// -------------------------
136.navbar-search {
137 position: relative;
138 float: left;
139 .navbarVerticalAlign(30px); // Vertically center in navbar
140 margin-bottom: 0;
141 .search-query {
142 margin-bottom: 0;
143 padding: 4px 14px;
144 #font > .sans-serif(13px, normal, 1);
145 .border-radius(15px); // redeclare because of specificity of the type attribute
146 }
147}
148
149
150
151// Static navbar
152// -------------------------
153
154.navbar-static-top {
155 position: static;
156 margin-bottom: 0; // remove 18px margin for default navbar
157 .navbar-inner {
158 .border-radius(0);
159 }
160}
161
162
163
164// Fixed navbar
165// -------------------------
166
167// Shared (top/bottom) styles
168.navbar-fixed-top,
169.navbar-fixed-bottom {
170 position: fixed;
171 right: 0;
172 left: 0;
173 z-index: @zindexFixedNavbar;
174 margin-bottom: 0; // remove 18px margin for default navbar
175}
176.navbar-fixed-top .navbar-inner,
177.navbar-static-top .navbar-inner {
178 border-width: 0 0 1px;
179}
180.navbar-fixed-bottom .navbar-inner {
181 border-width: 1px 0 0;
182}
183.navbar-fixed-top .navbar-inner,
184.navbar-fixed-bottom .navbar-inner {
185 padding-left: 0;
186 padding-right: 0;
187 .border-radius(0);
188}
189
190// Reset container width
191// Required here as we reset the width earlier on and the grid mixins don't override early enough
192.navbar-static-top .container,
193.navbar-fixed-top .container,
194.navbar-fixed-bottom .container {
195 #grid > .core > .span(@gridColumns);
196}
197
198// Fixed to top
199.navbar-fixed-top {
200 top: 0;
201}
202.navbar-fixed-top,
203.navbar-static-top {
204 .navbar-inner {
205 .box-shadow(~"0 1px 10px rgba(0,0,0,.1)");
206 }
207}
208
209// Fixed to bottom
210.navbar-fixed-bottom {
211 bottom: 0;
212 .navbar-inner {
213 .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
214 }
215}
216
217
218
219// NAVIGATION
220// ----------
221
222.navbar .nav {
223 position: relative;
224 left: 0;
225 display: block;
226 float: left;
227 margin: 0 10px 0 0;
228}
229.navbar .nav.pull-right {
230 float: right; // redeclare due to specificity
231 margin-right: 0; // remove margin on float right nav
232}
233.navbar .nav > li {
234 float: left;
235}
236
237// Links
238.navbar .nav > li > a {
239 float: none;
240 // Vertically center the text given @navbarHeight
241 padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
242 color: @navbarLinkColor;
243 text-decoration: none;
244 text-shadow: 0 1px 0 @navbarBackgroundHighlight;
245}
246.navbar .nav .dropdown-toggle .caret {
247 margin-top: 8px;
248
249}
250
251// Hover
252.navbar .nav > li > a:focus,
253.navbar .nav > li > a:hover {
254 background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
255 color: @navbarLinkColorHover;
256 text-decoration: none;
257}
258
259// Active nav items
260.navbar .nav > .active > a,
261.navbar .nav > .active > a:hover,
262.navbar .nav > .active > a:focus {
263 color: @navbarLinkColorActive;
264 text-decoration: none;
265 background-color: @navbarLinkBackgroundActive;
266 .box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
267}
268
269// Navbar button for toggling navbar items in responsive layouts
270// These definitions need to come after '.navbar .btn'
271.navbar .btn-navbar {
272 display: none;
273 float: right;
274 padding: 7px 10px;
275 margin-left: 5px;
276 margin-right: 5px;
277 .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
278 .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
279}
280.navbar .btn-navbar .icon-bar {
281 display: block;
282 width: 18px;
283 height: 2px;
284 background-color: #f5f5f5;
285 .border-radius(1px);
286 .box-shadow(0 1px 0 rgba(0,0,0,.25));
287}
288.btn-navbar .icon-bar + .icon-bar {
289 margin-top: 3px;
290}
291
292
293
294// Dropdown menus
295// --------------
296
297// Menu position and menu carets
298.navbar .nav > li > .dropdown-menu {
299 &:before {
300 content: '';
301 display: inline-block;
302 border-left: 7px solid transparent;
303 border-right: 7px solid transparent;
304 border-bottom: 7px solid #ccc;
305 border-bottom-color: @dropdownBorder;
306 position: absolute;
307 top: -7px;
308 left: 9px;
309 }
310 &:after {
311 content: '';
312 display: inline-block;
313 border-left: 6px solid transparent;
314 border-right: 6px solid transparent;
315 border-bottom: 6px solid @dropdownBackground;
316 position: absolute;
317 top: -6px;
318 left: 10px;
319 }
320}
321// Menu position and menu caret support for dropups via extra dropup class
322.navbar-fixed-bottom .nav > li > .dropdown-menu {
323 &:before {
324 border-top: 7px solid #ccc;
325 border-top-color: @dropdownBorder;
326 border-bottom: 0;
327 bottom: -7px;
328 top: auto;
329 }
330 &:after {
331 border-top: 6px solid @dropdownBackground;
332 border-bottom: 0;
333 bottom: -6px;
334 top: auto;
335 }
336}
337
338// Caret should match text color on hover
339.navbar .nav li.dropdown > a:hover .caret {
340 border-top-color: @navbarLinkColorActive;
341 border-bottom-color: @navbarLinkColorActive;
342}
343
344// Remove background color from open dropdown
345.navbar .nav li.dropdown.open > .dropdown-toggle,
346.navbar .nav li.dropdown.active > .dropdown-toggle,
347.navbar .nav li.dropdown.open.active > .dropdown-toggle {
348 background-color: @navbarLinkBackgroundActive;
349 color: @navbarLinkColorActive;
350}
351.navbar .nav li.dropdown > .dropdown-toggle .caret {
352 border-top-color: @navbarLinkColor;
353 border-bottom-color: @navbarLinkColor;
354}
355.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
356.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
357.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
358 border-top-color: @navbarLinkColorActive;
359 border-bottom-color: @navbarLinkColorActive;
360}
361
362// Right aligned menus need alt position
363.navbar .pull-right > li > .dropdown-menu,
364.navbar .nav > li > .dropdown-menu.pull-right {
365 left: auto;
366 right: 0;
367 &:before {
368 left: auto;
369 right: 12px;
370 }
371 &:after {
372 left: auto;
373 right: 13px;
374 }
375 .dropdown-menu {
376 left: auto;
377 right: 100%;
378 margin-left: 0;
379 margin-right: -1px;
380 .border-radius(6px 0 6px 6px);
381 }
382}
383
384
385// Inverted navbar
386// -------------------------
387
388.navbar-inverse {
389
390 .navbar-inner {
391 #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
392 border-color: @navbarInverseBorder;
393 }
394
395 .brand,
396 .nav > li > a {
397 color: @navbarInverseLinkColor;
398 text-shadow: 0 -1px 0 rgba(0,0,0,.25);
399 &:hover {
400 color: @navbarInverseLinkColorHover;
401 }
402 }
403
404 .brand {
405 color: @navbarInverseBrandColor;
406 }
407
408 .navbar-text {
409 color: @navbarInverseText;
410 }
411
412 .nav > li > a:focus,
413 .nav > li > a:hover {
414 background-color: @navbarInverseLinkBackgroundHover;
415 color: @navbarInverseLinkColorHover;
416 }
417
418 .nav .active > a,
419 .nav .active > a:hover,
420 .nav .active > a:focus {
421 color: @navbarInverseLinkColorActive;
422 background-color: @navbarInverseLinkBackgroundActive;
423 }
424
425 // Inline text links
426 .navbar-link {
427 color: @navbarInverseLinkColor;
428 &:hover {
429 color: @navbarInverseLinkColorHover;
430 }
431 }
432
433 // Dividers in navbar
434 .divider-vertical {
435 border-left-color: @navbarInverseBackground;
436 border-right-color: @navbarInverseBackgroundHighlight;
437 }
438
439 // Dropdowns
440 .nav li.dropdown.open > .dropdown-toggle,
441 .nav li.dropdown.active > .dropdown-toggle,
442 .nav li.dropdown.open.active > .dropdown-toggle {
443 background-color: @navbarInverseLinkBackgroundActive;
444 color: @navbarInverseLinkColorActive;
445 }
446 .nav li.dropdown > a:hover .caret {
447 border-top-color: @navbarInverseLinkColorActive;
448 border-bottom-color: @navbarInverseLinkColorActive;
449 }
450 .nav li.dropdown > .dropdown-toggle .caret {
451 border-top-color: @navbarInverseLinkColor;
452 border-bottom-color: @navbarInverseLinkColor;
453 }
454 .nav li.dropdown.open > .dropdown-toggle .caret,
455 .nav li.dropdown.active > .dropdown-toggle .caret,
456 .nav li.dropdown.open.active > .dropdown-toggle .caret {
457 border-top-color: @navbarInverseLinkColorActive;
458 border-bottom-color: @navbarInverseLinkColorActive;
459 }
460
461 // Navbar search
462 .navbar-search {
463 .search-query {
464 color: @white;
465 background-color: @navbarInverseSearchBackground;
466 border-color: @navbarInverseSearchBorder;
467 .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
468 .transition(none);
469 .placeholder(@navbarInverseSearchPlaceholderColor);
470
471 // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
472 &:focus,
473 &.focused {
474 padding: 5px 15px;
475 color: @grayDark;
476 text-shadow: 0 1px 0 @white;
477 background-color: @navbarInverseSearchBackgroundFocus;
478 border: 0;
479 .box-shadow(0 0 3px rgba(0,0,0,.15));
480 outline: 0;
481 }
482 }
483 }
484
485 // Navbar collapse button
486 .btn-navbar {
487 .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%));
488 }
489
490}
4910
=== removed file 'charmworld/static/css/bootstrap/navs.less'
--- charmworld/static/css/bootstrap/navs.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/navs.less 1970-01-01 00:00:00 +0000
@@ -1,391 +0,0 @@
1//
2// Navs
3// --------------------------------------------------
4
5
6// BASE CLASS
7// ----------
8
9.nav {
10 margin-left: 0;
11 margin-bottom: @baseLineHeight;
12 list-style: none;
13}
14
15// Make links block level
16.nav > li > a {
17 display: block;
18}
19.nav > li > a:hover {
20 text-decoration: none;
21 background-color: @grayLighter;
22}
23
24// Prevent IE8 from misplacing imgs
25// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
26.nav > li > a > img {
27 max-width: none;
28}
29
30// Redeclare pull classes because of specifity
31.nav > .pull-right {
32 float: right;
33}
34
35// Nav headers (for dropdowns and lists)
36.nav-header {
37 display: block;
38 padding: 3px 15px;
39 font-size: 11px;
40 font-weight: bold;
41 line-height: @baseLineHeight;
42 color: @grayLight;
43 text-shadow: 0 1px 0 rgba(255,255,255,.5);
44 text-transform: uppercase;
45}
46// Space them out when they follow another list item (link)
47.nav li + .nav-header {
48 margin-top: 9px;
49}
50
51
52
53// NAV LIST
54// --------
55
56.nav-list {
57 padding-left: 15px;
58 padding-right: 15px;
59 margin-bottom: 0;
60}
61.nav-list > li > a,
62.nav-list .nav-header {
63 margin-left: -15px;
64 margin-right: -15px;
65 text-shadow: 0 1px 0 rgba(255,255,255,.5);
66}
67.nav-list > li > a {
68 padding: 3px 15px;
69}
70.nav-list > .active > a,
71.nav-list > .active > a:hover {
72 color: @white;
73 text-shadow: 0 -1px 0 rgba(0,0,0,.2);
74 background-color: @linkColor;
75}
76.nav-list [class^="icon-"],
77.nav-list [class*=" icon-"] {
78 margin-right: 2px;
79}
80// Dividers (basically an hr) within the dropdown
81.nav-list .divider {
82 .nav-divider();
83}
84
85
86
87// TABS AND PILLS
88// -------------
89
90// Common styles
91.nav-tabs,
92.nav-pills {
93 .clearfix();
94}
95.nav-tabs > li,
96.nav-pills > li {
97 float: left;
98}
99.nav-tabs > li > a,
100.nav-pills > li > a {
101 padding-right: 12px;
102 padding-left: 12px;
103 margin-right: 2px;
104 line-height: 14px; // keeps the overall height an even number
105}
106
107// TABS
108// ----
109
110// Give the tabs something to sit on
111.nav-tabs {
112 border-bottom: 1px solid #ddd;
113}
114// Make the list-items overlay the bottom border
115.nav-tabs > li {
116 margin-bottom: -1px;
117}
118// Actual tabs (as links)
119.nav-tabs > li > a {
120 padding-top: 8px;
121 padding-bottom: 8px;
122 line-height: @baseLineHeight;
123 border: 1px solid transparent;
124 .border-radius(4px 4px 0 0);
125 &:hover {
126 border-color: @grayLighter @grayLighter #ddd;
127 }
128}
129// Active state, and it's :hover to override normal :hover
130.nav-tabs > .active > a,
131.nav-tabs > .active > a:hover {
132 color: @gray;
133 background-color: @bodyBackground;
134 border: 1px solid #ddd;
135 border-bottom-color: transparent;
136 cursor: default;
137}
138
139
140// PILLS
141// -----
142
143// Links rendered as pills
144.nav-pills > li > a {
145 padding-top: 8px;
146 padding-bottom: 8px;
147 margin-top: 2px;
148 margin-bottom: 2px;
149 .border-radius(5px);
150}
151
152// Active state
153.nav-pills > .active > a,
154.nav-pills > .active > a:hover {
155 color: @white;
156 background-color: @linkColor;
157}
158
159
160
161// STACKED NAV
162// -----------
163
164// Stacked tabs and pills
165.nav-stacked > li {
166 float: none;
167}
168.nav-stacked > li > a {
169 margin-right: 0; // no need for the gap between nav items
170}
171
172// Tabs
173.nav-tabs.nav-stacked {
174 border-bottom: 0;
175}
176.nav-tabs.nav-stacked > li > a {
177 border: 1px solid #ddd;
178 .border-radius(0);
179}
180.nav-tabs.nav-stacked > li:first-child > a {
181 .border-top-radius(4px);
182}
183.nav-tabs.nav-stacked > li:last-child > a {
184 .border-bottom-radius(4px);
185}
186.nav-tabs.nav-stacked > li > a:hover {
187 border-color: #ddd;
188 z-index: 2;
189}
190
191// Pills
192.nav-pills.nav-stacked > li > a {
193 margin-bottom: 3px;
194}
195.nav-pills.nav-stacked > li:last-child > a {
196 margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
197}
198
199
200
201// DROPDOWNS
202// ---------
203
204.nav-tabs .dropdown-menu {
205 .border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
206}
207.nav-pills .dropdown-menu {
208 .border-radius(6px); // make rounded corners match the pills
209}
210
211// Default dropdown links
212// -------------------------
213// Make carets use linkColor to start
214.nav .dropdown-toggle .caret {
215 border-top-color: @linkColor;
216 border-bottom-color: @linkColor;
217 margin-top: 6px;
218}
219.nav .dropdown-toggle:hover .caret {
220 border-top-color: @linkColorHover;
221 border-bottom-color: @linkColorHover;
222}
223/* move down carets for tabs */
224.nav-tabs .dropdown-toggle .caret {
225 margin-top: 8px;
226}
227
228// Active dropdown links
229// -------------------------
230.nav .active .dropdown-toggle .caret {
231 border-top-color: #fff;
232 border-bottom-color: #fff;
233}
234.nav-tabs .active .dropdown-toggle .caret {
235 border-top-color: @gray;
236 border-bottom-color: @gray;
237}
238
239// Active:hover dropdown links
240// -------------------------
241.nav > .dropdown.active > a:hover {
242 cursor: pointer;
243}
244
245// Open dropdowns
246// -------------------------
247.nav-tabs .open .dropdown-toggle,
248.nav-pills .open .dropdown-toggle,
249.nav > li.dropdown.open.active > a:hover {
250 color: @white;
251 background-color: @grayLight;
252 border-color: @grayLight;
253}
254.nav li.dropdown.open .caret,
255.nav li.dropdown.open.active .caret,
256.nav li.dropdown.open a:hover .caret {
257 border-top-color: @white;
258 border-bottom-color: @white;
259 .opacity(100);
260}
261
262// Dropdowns in stacked tabs
263.tabs-stacked .open > a:hover {
264 border-color: @grayLight;
265}
266
267
268
269// TABBABLE
270// --------
271
272
273// COMMON STYLES
274// -------------
275
276// Clear any floats
277.tabbable {
278 .clearfix();
279}
280.tab-content {
281 overflow: auto; // prevent content from running below tabs
282}
283
284// Remove border on bottom, left, right
285.tabs-below > .nav-tabs,
286.tabs-right > .nav-tabs,
287.tabs-left > .nav-tabs {
288 border-bottom: 0;
289}
290
291// Show/hide tabbable areas
292.tab-content > .tab-pane,
293.pill-content > .pill-pane {
294 display: none;
295}
296.tab-content > .active,
297.pill-content > .active {
298 display: block;
299}
300
301
302// BOTTOM
303// ------
304
305.tabs-below > .nav-tabs {
306 border-top: 1px solid #ddd;
307}
308.tabs-below > .nav-tabs > li {
309 margin-top: -1px;
310 margin-bottom: 0;
311}
312.tabs-below > .nav-tabs > li > a {
313 .border-radius(0 0 4px 4px);
314 &:hover {
315 border-bottom-color: transparent;
316 border-top-color: #ddd;
317 }
318}
319.tabs-below > .nav-tabs > .active > a,
320.tabs-below > .nav-tabs > .active > a:hover {
321 border-color: transparent #ddd #ddd #ddd;
322}
323
324// LEFT & RIGHT
325// ------------
326
327// Common styles
328.tabs-left > .nav-tabs > li,
329.tabs-right > .nav-tabs > li {
330 float: none;
331}
332.tabs-left > .nav-tabs > li > a,
333.tabs-right > .nav-tabs > li > a {
334 min-width: 74px;
335 margin-right: 0;
336 margin-bottom: 3px;
337}
338
339// Tabs on the left
340.tabs-left > .nav-tabs {
341 float: left;
342 margin-right: 19px;
343 border-right: 1px solid #ddd;
344}
345.tabs-left > .nav-tabs > li > a {
346 margin-right: -1px;
347 .border-radius(4px 0 0 4px);
348}
349.tabs-left > .nav-tabs > li > a:hover {
350 border-color: @grayLighter #ddd @grayLighter @grayLighter;
351}
352.tabs-left > .nav-tabs .active > a,
353.tabs-left > .nav-tabs .active > a:hover {
354 border-color: #ddd transparent #ddd #ddd;
355 *border-right-color: @white;
356}
357
358// Tabs on the right
359.tabs-right > .nav-tabs {
360 float: right;
361 margin-left: 19px;
362 border-left: 1px solid #ddd;
363}
364.tabs-right > .nav-tabs > li > a {
365 margin-left: -1px;
366 .border-radius(0 4px 4px 0);
367}
368.tabs-right > .nav-tabs > li > a:hover {
369 border-color: @grayLighter @grayLighter @grayLighter #ddd;
370}
371.tabs-right > .nav-tabs .active > a,
372.tabs-right > .nav-tabs .active > a:hover {
373 border-color: #ddd #ddd #ddd transparent;
374 *border-left-color: @white;
375}
376
377
378
379// DISABLED STATES
380// ---------------
381
382// Gray out text
383.nav > .disabled > a {
384 color: @grayLight;
385}
386// Nuke hover effects
387.nav > .disabled > a:hover {
388 text-decoration: none;
389 background-color: transparent;
390 cursor: default;
391}
3920
=== removed file 'charmworld/static/css/bootstrap/pager.less'
--- charmworld/static/css/bootstrap/pager.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/pager.less 1970-01-01 00:00:00 +0000
@@ -1,41 +0,0 @@
1//
2// Pager pagination
3// --------------------------------------------------
4
5
6.pager {
7 margin: @baseLineHeight 0;
8 list-style: none;
9 text-align: center;
10 .clearfix();
11}
12.pager li {
13 display: inline;
14}
15.pager li > a,
16.pager li > span {
17 display: inline-block;
18 padding: 5px 14px;
19 background-color: #fff;
20 border: 1px solid #ddd;
21 .border-radius(15px);
22}
23.pager li > a:hover {
24 text-decoration: none;
25 background-color: #f5f5f5;
26}
27.pager .next > a,
28.pager .next > span {
29 float: right;
30}
31.pager .previous > a,
32.pager .previous > span {
33 float: left;
34}
35.pager .disabled > a,
36.pager .disabled > a:hover,
37.pager .disabled > span {
38 color: @grayLight;
39 background-color: #fff;
40 cursor: default;
41}
42\ No newline at end of file0\ No newline at end of file
431
=== removed file 'charmworld/static/css/bootstrap/pagination.less'
--- charmworld/static/css/bootstrap/pagination.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/pagination.less 1970-01-01 00:00:00 +0000
@@ -1,121 +0,0 @@
1//
2// Pagination (multiple pages)
3// --------------------------------------------------
4
5// Space out pagination from surrounding content
6.pagination {
7 margin: @baseLineHeight 0;
8}
9
10.pagination ul {
11 // Allow for text-based alignment
12 display: inline-block;
13 .ie7-inline-block();
14 // Reset default ul styles
15 margin-left: 0;
16 margin-bottom: 0;
17 // Visuals
18 .border-radius(@baseBorderRadius);
19 .box-shadow(0 1px 2px rgba(0,0,0,.05));
20}
21.pagination ul > li {
22 display: inline; // Remove list-style and block-level defaults
23}
24.pagination ul > li > a,
25.pagination ul > li > span {
26 float: left; // Collapse white-space
27 padding: 4px 12px;
28 line-height: @baseLineHeight;
29 text-decoration: none;
30 background-color: @paginationBackground;
31 border: 1px solid @paginationBorder;
32 border-left-width: 0;
33}
34.pagination ul > li > a:hover,
35.pagination ul > .active > a,
36.pagination ul > .active > span {
37 background-color: @paginationActiveBackground;
38}
39.pagination ul > .active > a,
40.pagination ul > .active > span {
41 color: @grayLight;
42 cursor: default;
43}
44.pagination ul > .disabled > span,
45.pagination ul > .disabled > a,
46.pagination ul > .disabled > a:hover {
47 color: @grayLight;
48 background-color: transparent;
49 cursor: default;
50}
51.pagination ul > li:first-child > a,
52.pagination ul > li:first-child > span {
53 border-left-width: 1px;
54 .border-left-radius(@baseBorderRadius);
55}
56.pagination ul > li:last-child > a,
57.pagination ul > li:last-child > span {
58 .border-right-radius(@baseBorderRadius);
59}
60
61
62// Alignment
63// --------------------------------------------------
64
65.pagination-centered {
66 text-align: center;
67}
68.pagination-right {
69 text-align: right;
70}
71
72
73// Sizing
74// --------------------------------------------------
75
76// Large
77.pagination-large {
78 ul > li > a,
79 ul > li > span {
80 padding: @paddingLarge;
81 font-size: @fontSizeLarge;
82 }
83 ul > li:first-child > a,
84 ul > li:first-child > span {
85 .border-left-radius(@borderRadiusLarge);
86 }
87 ul > li:last-child > a,
88 ul > li:last-child > span {
89 .border-right-radius(@borderRadiusLarge);
90 }
91}
92
93// Small and mini
94.pagination-mini,
95.pagination-small {
96 ul > li:first-child > a,
97 ul > li:first-child > span {
98 .border-left-radius(@borderRadiusSmall);
99 }
100 ul > li:last-child > a,
101 ul > li:last-child > span {
102 .border-right-radius(@borderRadiusSmall);
103 }
104}
105
106// Small
107.pagination-small {
108 ul > li > a,
109 ul > li > span {
110 padding: @paddingSmall;
111 font-size: @fontSizeSmall;
112 }
113}
114// Mini
115.pagination-mini {
116 ul > li > a,
117 ul > li > span {
118 padding: @paddingMini;
119 font-size: @fontSizeMini;
120 }
121}
1220
=== removed file 'charmworld/static/css/bootstrap/popovers.less'
--- charmworld/static/css/bootstrap/popovers.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/popovers.less 1970-01-01 00:00:00 +0000
@@ -1,129 +0,0 @@
1//
2// Popovers
3// --------------------------------------------------
4
5
6.popover {
7 position: absolute;
8 top: 0;
9 left: 0;
10 z-index: @zindexPopover;
11 display: none;
12 width: 236px;
13 padding: 1px;
14 text-align: left; // Reset given new insertion method
15 background-color: @popoverBackground;
16 -webkit-background-clip: padding-box;
17 -moz-background-clip: padding;
18 background-clip: padding-box;
19 border: 1px solid #ccc;
20 border: 1px solid rgba(0,0,0,.2);
21 .border-radius(6px);
22 .box-shadow(0 5px 10px rgba(0,0,0,.2));
23
24 // Overrides for proper insertion
25 white-space: normal;
26
27 // Offset the popover to account for the popover arrow
28 &.top { margin-top: -10px; }
29 &.right { margin-left: 10px; }
30 &.bottom { margin-top: 10px; }
31 &.left { margin-left: -10px; }
32}
33
34.popover-title {
35 margin: 0; // reset heading margin
36 padding: 8px 14px;
37 font-size: 14px;
38 font-weight: normal;
39 line-height: 18px;
40 background-color: @popoverTitleBackground;
41 border-bottom: 1px solid darken(@popoverTitleBackground, 5%);
42 .border-radius(5px 5px 0 0);
43}
44
45.popover-content {
46 padding: 9px 14px;
47}
48
49// Arrows
50//
51// .arrow is outer, .arrow:after is inner
52
53.popover .arrow,
54.popover .arrow:after {
55 position: absolute;
56 display: block;
57 width: 0;
58 height: 0;
59 border-color: transparent;
60 border-style: solid;
61}
62.popover .arrow {
63 border-width: @popoverArrowOuterWidth;
64}
65.popover .arrow:after {
66 border-width: @popoverArrowWidth;
67 content: "";
68}
69
70.popover {
71 &.top .arrow {
72 left: 50%;
73 margin-left: -@popoverArrowOuterWidth;
74 border-bottom-width: 0;
75 border-top-color: #999; // IE8 fallback
76 border-top-color: @popoverArrowOuterColor;
77 bottom: -@popoverArrowOuterWidth;
78 &:after {
79 bottom: 1px;
80 margin-left: -@popoverArrowWidth;
81 border-bottom-width: 0;
82 border-top-color: @popoverArrowColor;
83 }
84 }
85 &.right .arrow {
86 top: 50%;
87 left: -@popoverArrowOuterWidth;
88 margin-top: -@popoverArrowOuterWidth;
89 border-left-width: 0;
90 border-right-color: #999; // IE8 fallback
91 border-right-color: @popoverArrowOuterColor;
92 &:after {
93 left: 1px;
94 bottom: -@popoverArrowWidth;
95 border-left-width: 0;
96 border-right-color: @popoverArrowColor;
97 }
98 }
99 &.bottom .arrow {
100 left: 50%;
101 margin-left: -@popoverArrowOuterWidth;
102 border-top-width: 0;
103 border-bottom-color: #999; // IE8 fallback
104 border-bottom-color: @popoverArrowOuterColor;
105 top: -@popoverArrowOuterWidth;
106 &:after {
107 top: 1px;
108 margin-left: -@popoverArrowWidth;
109 border-top-width: 0;
110 border-bottom-color: @popoverArrowColor;
111 }
112 }
113
114 &.left .arrow {
115 top: 50%;
116 right: -@popoverArrowOuterWidth;
117 margin-top: -@popoverArrowOuterWidth;
118 border-right-width: 0;
119 border-left-color: #999; // IE8 fallback
120 border-left-color: @popoverArrowOuterColor;
121 &:after {
122 right: 1px;
123 border-right-width: 0;
124 border-left-color: @popoverArrowColor;
125 bottom: -@popoverArrowWidth;
126 }
127 }
128
129}
1300
=== removed file 'charmworld/static/css/bootstrap/progress-bars.less'
--- charmworld/static/css/bootstrap/progress-bars.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/progress-bars.less 1970-01-01 00:00:00 +0000
@@ -1,122 +0,0 @@
1//
2// Progress bars
3// --------------------------------------------------
4
5
6// ANIMATIONS
7// ----------
8
9// Webkit
10@-webkit-keyframes progress-bar-stripes {
11 from { background-position: 40px 0; }
12 to { background-position: 0 0; }
13}
14
15// Firefox
16@-moz-keyframes progress-bar-stripes {
17 from { background-position: 40px 0; }
18 to { background-position: 0 0; }
19}
20
21// IE9
22@-ms-keyframes progress-bar-stripes {
23 from { background-position: 40px 0; }
24 to { background-position: 0 0; }
25}
26
27// Opera
28@-o-keyframes progress-bar-stripes {
29 from { background-position: 0 0; }
30 to { background-position: 40px 0; }
31}
32
33// Spec
34@keyframes progress-bar-stripes {
35 from { background-position: 40px 0; }
36 to { background-position: 0 0; }
37}
38
39
40
41// THE BARS
42// --------
43
44// Outer container
45.progress {
46 overflow: hidden;
47 height: @baseLineHeight;
48 margin-bottom: @baseLineHeight;
49 #gradient > .vertical(#f5f5f5, #f9f9f9);
50 .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
51 .border-radius(@baseBorderRadius);
52}
53
54// Bar of progress
55.progress .bar {
56 width: 0%;
57 height: 100%;
58 color: @white;
59 float: left;
60 font-size: 12px;
61 text-align: center;
62 text-shadow: 0 -1px 0 rgba(0,0,0,.25);
63 #gradient > .vertical(#149bdf, #0480be);
64 .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
65 .box-sizing(border-box);
66 .transition(width .6s ease);
67}
68.progress .bar + .bar {
69 .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)");
70}
71
72// Striped bars
73.progress-striped .bar {
74 #gradient > .striped(#149bdf);
75 .background-size(40px 40px);
76}
77
78// Call animation for the active one
79.progress.active .bar {
80 -webkit-animation: progress-bar-stripes 2s linear infinite;
81 -moz-animation: progress-bar-stripes 2s linear infinite;
82 -ms-animation: progress-bar-stripes 2s linear infinite;
83 -o-animation: progress-bar-stripes 2s linear infinite;
84 animation: progress-bar-stripes 2s linear infinite;
85}
86
87
88
89// COLORS
90// ------
91
92// Danger (red)
93.progress-danger .bar, .progress .bar-danger {
94 #gradient > .vertical(#ee5f5b, #c43c35);
95}
96.progress-danger.progress-striped .bar, .progress-striped .bar-danger {
97 #gradient > .striped(#ee5f5b);
98}
99
100// Success (green)
101.progress-success .bar, .progress .bar-success {
102 #gradient > .vertical(#62c462, #57a957);
103}
104.progress-success.progress-striped .bar, .progress-striped .bar-success {
105 #gradient > .striped(#62c462);
106}
107
108// Info (teal)
109.progress-info .bar, .progress .bar-info {
110 #gradient > .vertical(#5bc0de, #339bb9);
111}
112.progress-info.progress-striped .bar, .progress-striped .bar-info {
113 #gradient > .striped(#5bc0de);
114}
115
116// Warning (orange)
117.progress-warning .bar, .progress .bar-warning {
118 #gradient > .vertical(lighten(@orange, 15%), @orange);
119}
120.progress-warning.progress-striped .bar, .progress-striped .bar-warning {
121 #gradient > .striped(lighten(@orange, 15%));
122}
1230
=== removed file 'charmworld/static/css/bootstrap/reset.less'
--- charmworld/static/css/bootstrap/reset.less 2013-01-21 13:40:18 +0000
+++ charmworld/static/css/bootstrap/reset.less 1970-01-01 00:00:00 +0000
@@ -1,216 +0,0 @@
1//
2// Reset CSS
3// Adapted from http://github.com/necolas/normalize.css
4// --------------------------------------------------
5
6
7// Display in IE6-9 and FF3
8// -------------------------
9
10article,
11aside,
12details,
13figcaption,
14figure,
15footer,
16header,
17hgroup,
18nav,
19section {
20 display: block;
21}
22
23// Display block in IE6-9 and FF3
24// -------------------------
25
26audio,
27canvas,
28video {
29 display: inline-block;
30 *display: inline;
31 *zoom: 1;
32}
33
34// Prevents modern browsers from displaying 'audio' without controls
35// -------------------------
36
37audio:not([controls]) {
38 display: none;
39}
40
41// Base settings
42// -------------------------
43
44html {
45 font-size: 100%;
46 -webkit-text-size-adjust: 100%;
47 -ms-text-size-adjust: 100%;
48}
49// Focus states
50a:focus {
51 .tab-focus();
52}
53// Hover & Active
54a:hover,
55a:active {
56 outline: 0;
57}
58
59// Prevents sub and sup affecting line-height in all browsers
60// -------------------------
61
62sub,
63sup {
64 position: relative;
65 font-size: 75%;
66 line-height: 0;
67 vertical-align: baseline;
68}
69sup {
70 top: -0.5em;
71}
72sub {
73 bottom: -0.25em;
74}
75
76// Img border in a's and image quality
77// -------------------------
78
79img {
80 /* Responsive images (ensure images don't scale beyond their parents) */
81 max-width: 100%; /* Part 1: Set a maxium relative to the parent */
82 width: auto\9; /* IE7-8 need help adjusting responsive images */
83 height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */
84
85 vertical-align: middle;
86 border: 0;
87 -ms-interpolation-mode: bicubic;
88}
89
90// Prevent max-width from affecting Google Maps
91#map_canvas img,
92.google-maps img {
93 max-width: none;
94}
95
96// Forms
97// -------------------------
98
99// Font size in all browsers, margin changes, misc consistency
100button,
101input,
102select,
103textarea {
104 margin: 0;
105 font-size: 100%;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches