Merge lp:~bac/charmworld/readme-mega into lp:~juju-jitsu/charmworld/trunk
- readme-mega
- Merge into trunk
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brad Crittenden (community) | code | Approve | |
Review via email:
|
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:/
This branch has Huw's work originally reviewed at:
https:/
And my follow-on reviewed at:
https:/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
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
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2013-02-20 17:20:22 +0000 |
3 | +++ .bzrignore 2013-09-09 19:05:35 +0000 |
4 | @@ -1,7 +1,6 @@ |
5 | .emacs.desktop |
6 | .emacs.desktop.lock |
7 | ./charmworld/static/extjs |
8 | -./charmworld/static/css/theme.css |
9 | ./charmworld/jobs/custom_config.py |
10 | ./charmworld.ini |
11 | ./bin/ |
12 | |
13 | === modified file 'Makefile' |
14 | --- Makefile 2013-09-06 18:52:22 +0000 |
15 | +++ Makefile 2013-09-09 19:05:35 +0000 |
16 | @@ -9,7 +9,6 @@ |
17 | WD := $(shell pwd) |
18 | CACHE := download-cache/dist |
19 | CSS_PATH := charmworld/static/css |
20 | -LESSC := node_modules/less/bin/lessc |
21 | PSERVE := bin/pserve |
22 | SYSTEM_DEPS := \ |
23 | build-essential bzr charm-tools libyaml-dev python-dev python-virtualenv\ |
24 | @@ -62,10 +61,6 @@ |
25 | clean_venv: |
26 | rm -rf bin include lib local |
27 | |
28 | -css: charmworld/static/css/theme.css |
29 | -charmworld/static/css/theme.css: $(LESSC) $(CSS_PATH)/theme.less $(CSS_PATH)/variables.less |
30 | - ./$(LESSC) --compress $(CSS_PATH)/theme.less $(CSS_PATH)/theme.css |
31 | - |
32 | sysdeps: |
33 | sudo add-apt-repository -y ppa:juju/pkgs |
34 | sudo add-apt-repository -y ppa:ce-orange-squad/experimental |
35 | @@ -148,7 +143,7 @@ |
36 | doc-upload: doc |
37 | scp -r docs/_build/html/* people.canonical.com:/home/rharding/public_html/charmworld |
38 | |
39 | -run: $(INI) charmworld/static/css/theme.css bin/es-update |
40 | +run: $(INI) bin/es-update |
41 | bin/es-update |
42 | $(PSERVE) --reload --monitor-restart $(INI) |
43 | |
44 | |
45 | === modified file 'charmworld/globals.py' |
46 | --- charmworld/globals.py 2013-02-11 17:04:31 +0000 |
47 | +++ charmworld/globals.py 2013-09-09 19:05:35 +0000 |
48 | @@ -25,10 +25,36 @@ |
49 | |
50 | def sections(request): |
51 | sections = [ |
52 | - {"url": u"/", "name": u"Home", 'active': False}, |
53 | - {"url": u"/charms", "name": u"Charms", 'active': False}, |
54 | - {"url": u"/interfaces", "name": u"Interfaces", 'active': False}, |
55 | - {"url": u"/recently-changed", "name": u"Changes", 'active': False}, |
56 | + { |
57 | + "url": u"/", |
58 | + "name": u"Home", |
59 | + 'active': False, |
60 | + 'visible': False |
61 | + }, |
62 | + { |
63 | + "url": u"/charms", |
64 | + "name": u"Charms", |
65 | + 'active': False, |
66 | + 'visible': True |
67 | + }, |
68 | + { |
69 | + "url": u"/interfaces", |
70 | + "name": u"Interfaces", |
71 | + 'active': False, |
72 | + 'visible': True |
73 | + }, |
74 | + { |
75 | + "url": u"/recently-changed", |
76 | + "name": u"Changes", |
77 | + 'active': False, |
78 | + 'visible': True |
79 | + }, |
80 | + { |
81 | + "url": u"/tools", |
82 | + "name": u"Tools", |
83 | + 'active': False, |
84 | + 'visible': True |
85 | + }, |
86 | ] |
87 | section = "/%s" % request.path_info[1:].split("/", 1)[0] |
88 | # fix up oddballs |
89 | |
90 | === modified file 'charmworld/jobs/tests/test_bzr.py' |
91 | --- charmworld/jobs/tests/test_bzr.py 2013-07-25 16:00:09 +0000 |
92 | +++ charmworld/jobs/tests/test_bzr.py 2013-09-09 19:05:35 +0000 |
93 | @@ -100,7 +100,7 @@ |
94 | self.assertFalse(mock.called) |
95 | |
96 | def test_add_files(self): |
97 | - with factory.charm_branch() as (branch_dir, revision): |
98 | + with factory.charm_branch() as (branch_dir, revision, path): |
99 | charm_data = { |
100 | 'branch_dir': branch_dir, |
101 | 'owner': 'charmers', |
102 | |
103 | === modified file 'charmworld/jobs/tests/test_scan.py' |
104 | --- charmworld/jobs/tests/test_scan.py 2013-07-31 14:34:58 +0000 |
105 | +++ charmworld/jobs/tests/test_scan.py 2013-09-09 19:05:35 +0000 |
106 | @@ -26,7 +26,7 @@ |
107 | self.fs = getfs(self.db) |
108 | self.log = getLogger('charm.scan') |
109 | ignore, self.charm = factory.makeCharm(self.db, with_real_files=True) |
110 | - branch_dir, revision = self.use_context(factory.charm_branch()) |
111 | + branch_dir, revision, path = self.use_context(factory.charm_branch()) |
112 | self.charm['branch_dir'] = branch_dir |
113 | self.charm['store_data'] = {'digest': revision} |
114 | self.charm['files'] = dict([ |
115 | @@ -187,7 +187,7 @@ |
116 | # As reported in bug 1202665, the LP source package name of a |
117 | # charm and the name specified in metadata,yaml may be different. |
118 | # This does no affect the retrieval of charm related files. |
119 | - with factory.charm_branch() as (branch_dir, revision): |
120 | + with factory.charm_branch() as (branch_dir, revision, path): |
121 | charm_data = { |
122 | 'owner': 'charmers', |
123 | 'series': 'precise', |
124 | |
125 | === modified file 'charmworld/models.py' |
126 | --- charmworld/models.py 2013-09-05 20:17:16 +0000 |
127 | +++ charmworld/models.py 2013-09-09 19:05:35 +0000 |
128 | @@ -1426,6 +1426,15 @@ |
129 | return None |
130 | return fs.get(hashes[filename]) |
131 | |
132 | + def get_file_list(self, db, fs=None): |
133 | + if fs is None: |
134 | + fs = Bundle.getfs(db) |
135 | + basket = db.baskets.find_one(self.basket_id) |
136 | + if basket is None: |
137 | + return [] |
138 | + hashes = unquote_yaml(basket.get('file_hashes', {})) |
139 | + return hashes.keys() |
140 | + |
141 | |
142 | def acquire_session_secret(database): |
143 | """Return a secret to use for AuthTkt sessions. |
144 | |
145 | === modified file 'charmworld/routes.py' |
146 | --- charmworld/routes.py 2013-09-05 20:17:16 +0000 |
147 | +++ charmworld/routes.py 2013-09-09 19:05:35 +0000 |
148 | @@ -67,8 +67,9 @@ |
149 | "/bundle/{basket}/{rev}/{bundle}") |
150 | |
151 | # Tools |
152 | + config.add_route("tools", "/tools") |
153 | config.add_route("tools-core-review", "/tools/core-review-queue") |
154 | - config.add_route("tools-review", "/review-queue") |
155 | + config.add_route("tools-review", "/tools/review-queue") |
156 | config.add_route("tools-store-missing", "/tools/store-missing") |
157 | config.add_route("tools-proof-errors", "/tools/proof-errors") |
158 | |
159 | |
160 | === removed file 'charmworld/static/bootstrap-dropdown.js' |
161 | --- charmworld/static/bootstrap-dropdown.js 2012-06-10 03:01:29 +0000 |
162 | +++ charmworld/static/bootstrap-dropdown.js 1970-01-01 00:00:00 +0000 |
163 | @@ -1,100 +0,0 @@ |
164 | -/* ============================================================ |
165 | - * bootstrap-dropdown.js v2.0.4 |
166 | - * http://twitter.github.com/bootstrap/javascript.html#dropdowns |
167 | - * ============================================================ |
168 | - * Copyright 2012 Twitter, Inc. |
169 | - * |
170 | - * Licensed under the Apache License, Version 2.0 (the "License"); |
171 | - * you may not use this file except in compliance with the License. |
172 | - * You may obtain a copy of the License at |
173 | - * |
174 | - * http://www.apache.org/licenses/LICENSE-2.0 |
175 | - * |
176 | - * Unless required by applicable law or agreed to in writing, software |
177 | - * distributed under the License is distributed on an "AS IS" BASIS, |
178 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
179 | - * See the License for the specific language governing permissions and |
180 | - * limitations under the License. |
181 | - * ============================================================ */ |
182 | - |
183 | - |
184 | -!function ($) { |
185 | - |
186 | - "use strict"; // jshint ;_; |
187 | - |
188 | - |
189 | - /* DROPDOWN CLASS DEFINITION |
190 | - * ========================= */ |
191 | - |
192 | - var toggle = '[data-toggle="dropdown"]' |
193 | - , Dropdown = function (element) { |
194 | - var $el = $(element).on('click.dropdown.data-api', this.toggle) |
195 | - $('html').on('click.dropdown.data-api', function () { |
196 | - $el.parent().removeClass('open') |
197 | - }) |
198 | - } |
199 | - |
200 | - Dropdown.prototype = { |
201 | - |
202 | - constructor: Dropdown |
203 | - |
204 | - , toggle: function (e) { |
205 | - var $this = $(this) |
206 | - , $parent |
207 | - , selector |
208 | - , isActive |
209 | - |
210 | - if ($this.is('.disabled, :disabled')) return |
211 | - |
212 | - selector = $this.attr('data-target') |
213 | - |
214 | - if (!selector) { |
215 | - selector = $this.attr('href') |
216 | - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 |
217 | - } |
218 | - |
219 | - $parent = $(selector) |
220 | - $parent.length || ($parent = $this.parent()) |
221 | - |
222 | - isActive = $parent.hasClass('open') |
223 | - |
224 | - clearMenus() |
225 | - |
226 | - if (!isActive) $parent.toggleClass('open') |
227 | - |
228 | - return false |
229 | - } |
230 | - |
231 | - } |
232 | - |
233 | - function clearMenus() { |
234 | - $(toggle).parent().removeClass('open') |
235 | - } |
236 | - |
237 | - |
238 | - /* DROPDOWN PLUGIN DEFINITION |
239 | - * ========================== */ |
240 | - |
241 | - $.fn.dropdown = function (option) { |
242 | - return this.each(function () { |
243 | - var $this = $(this) |
244 | - , data = $this.data('dropdown') |
245 | - if (!data) $this.data('dropdown', (data = new Dropdown(this))) |
246 | - if (typeof option == 'string') data[option].call($this) |
247 | - }) |
248 | - } |
249 | - |
250 | - $.fn.dropdown.Constructor = Dropdown |
251 | - |
252 | - |
253 | - /* APPLY TO STANDARD DROPDOWN ELEMENTS |
254 | - * =================================== */ |
255 | - |
256 | - $(function () { |
257 | - $('html').on('click.dropdown.data-api', clearMenus) |
258 | - $('body') |
259 | - .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) |
260 | - .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) |
261 | - }) |
262 | - |
263 | -}(window.jQuery); |
264 | \ No newline at end of file |
265 | |
266 | === removed file 'charmworld/static/css/LICENSE' |
267 | --- charmworld/static/css/LICENSE 2013-02-12 16:12:10 +0000 |
268 | +++ charmworld/static/css/LICENSE 1970-01-01 00:00:00 +0000 |
269 | @@ -1,177 +0,0 @@ |
270 | -Origin of files in this directory: https://github.com/thomaspark/bootswatch |
271 | - |
272 | - |
273 | - Apache License |
274 | - Version 2.0, January 2004 |
275 | - http://www.apache.org/licenses/ |
276 | - |
277 | - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
278 | - |
279 | - 1. Definitions. |
280 | - |
281 | - "License" shall mean the terms and conditions for use, reproduction, |
282 | - and distribution as defined by Sections 1 through 9 of this document. |
283 | - |
284 | - "Licensor" shall mean the copyright owner or entity authorized by |
285 | - the copyright owner that is granting the License. |
286 | - |
287 | - "Legal Entity" shall mean the union of the acting entity and all |
288 | - other entities that control, are controlled by, or are under common |
289 | - control with that entity. For the purposes of this definition, |
290 | - "control" means (i) the power, direct or indirect, to cause the |
291 | - direction or management of such entity, whether by contract or |
292 | - otherwise, or (ii) ownership of fifty percent (50%) or more of the |
293 | - outstanding shares, or (iii) beneficial ownership of such entity. |
294 | - |
295 | - "You" (or "Your") shall mean an individual or Legal Entity |
296 | - exercising permissions granted by this License. |
297 | - |
298 | - "Source" form shall mean the preferred form for making modifications, |
299 | - including but not limited to software source code, documentation |
300 | - source, and configuration files. |
301 | - |
302 | - "Object" form shall mean any form resulting from mechanical |
303 | - transformation or translation of a Source form, including but |
304 | - not limited to compiled object code, generated documentation, |
305 | - and conversions to other media types. |
306 | - |
307 | - "Work" shall mean the work of authorship, whether in Source or |
308 | - Object form, made available under the License, as indicated by a |
309 | - copyright notice that is included in or attached to the work |
310 | - (an example is provided in the Appendix below). |
311 | - |
312 | - "Derivative Works" shall mean any work, whether in Source or Object |
313 | - form, that is based on (or derived from) the Work and for which the |
314 | - editorial revisions, annotations, elaborations, or other modifications |
315 | - represent, as a whole, an original work of authorship. For the purposes |
316 | - of this License, Derivative Works shall not include works that remain |
317 | - separable from, or merely link (or bind by name) to the interfaces of, |
318 | - the Work and Derivative Works thereof. |
319 | - |
320 | - "Contribution" shall mean any work of authorship, including |
321 | - the original version of the Work and any modifications or additions |
322 | - to that Work or Derivative Works thereof, that is intentionally |
323 | - submitted to Licensor for inclusion in the Work by the copyright owner |
324 | - or by an individual or Legal Entity authorized to submit on behalf of |
325 | - the copyright owner. For the purposes of this definition, "submitted" |
326 | - means any form of electronic, verbal, or written communication sent |
327 | - to the Licensor or its representatives, including but not limited to |
328 | - communication on electronic mailing lists, source code control systems, |
329 | - and issue tracking systems that are managed by, or on behalf of, the |
330 | - Licensor for the purpose of discussing and improving the Work, but |
331 | - excluding communication that is conspicuously marked or otherwise |
332 | - designated in writing by the copyright owner as "Not a Contribution." |
333 | - |
334 | - "Contributor" shall mean Licensor and any individual or Legal Entity |
335 | - on behalf of whom a Contribution has been received by Licensor and |
336 | - subsequently incorporated within the Work. |
337 | - |
338 | - 2. Grant of Copyright License. Subject to the terms and conditions of |
339 | - this License, each Contributor hereby grants to You a perpetual, |
340 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
341 | - copyright license to reproduce, prepare Derivative Works of, |
342 | - publicly display, publicly perform, sublicense, and distribute the |
343 | - Work and such Derivative Works in Source or Object form. |
344 | - |
345 | - 3. Grant of Patent License. Subject to the terms and conditions of |
346 | - this License, each Contributor hereby grants to You a perpetual, |
347 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
348 | - (except as stated in this section) patent license to make, have made, |
349 | - use, offer to sell, sell, import, and otherwise transfer the Work, |
350 | - where such license applies only to those patent claims licensable |
351 | - by such Contributor that are necessarily infringed by their |
352 | - Contribution(s) alone or by combination of their Contribution(s) |
353 | - with the Work to which such Contribution(s) was submitted. If You |
354 | - institute patent litigation against any entity (including a |
355 | - cross-claim or counterclaim in a lawsuit) alleging that the Work |
356 | - or a Contribution incorporated within the Work constitutes direct |
357 | - or contributory patent infringement, then any patent licenses |
358 | - granted to You under this License for that Work shall terminate |
359 | - as of the date such litigation is filed. |
360 | - |
361 | - 4. Redistribution. You may reproduce and distribute copies of the |
362 | - Work or Derivative Works thereof in any medium, with or without |
363 | - modifications, and in Source or Object form, provided that You |
364 | - meet the following conditions: |
365 | - |
366 | - (a) You must give any other recipients of the Work or |
367 | - Derivative Works a copy of this License; and |
368 | - |
369 | - (b) You must cause any modified files to carry prominent notices |
370 | - stating that You changed the files; and |
371 | - |
372 | - (c) You must retain, in the Source form of any Derivative Works |
373 | - that You distribute, all copyright, patent, trademark, and |
374 | - attribution notices from the Source form of the Work, |
375 | - excluding those notices that do not pertain to any part of |
376 | - the Derivative Works; and |
377 | - |
378 | - (d) If the Work includes a "NOTICE" text file as part of its |
379 | - distribution, then any Derivative Works that You distribute must |
380 | - include a readable copy of the attribution notices contained |
381 | - within such NOTICE file, excluding those notices that do not |
382 | - pertain to any part of the Derivative Works, in at least one |
383 | - of the following places: within a NOTICE text file distributed |
384 | - as part of the Derivative Works; within the Source form or |
385 | - documentation, if provided along with the Derivative Works; or, |
386 | - within a display generated by the Derivative Works, if and |
387 | - wherever such third-party notices normally appear. The contents |
388 | - of the NOTICE file are for informational purposes only and |
389 | - do not modify the License. You may add Your own attribution |
390 | - notices within Derivative Works that You distribute, alongside |
391 | - or as an addendum to the NOTICE text from the Work, provided |
392 | - that such additional attribution notices cannot be construed |
393 | - as modifying the License. |
394 | - |
395 | - You may add Your own copyright statement to Your modifications and |
396 | - may provide additional or different license terms and conditions |
397 | - for use, reproduction, or distribution of Your modifications, or |
398 | - for any such Derivative Works as a whole, provided Your use, |
399 | - reproduction, and distribution of the Work otherwise complies with |
400 | - the conditions stated in this License. |
401 | - |
402 | - 5. Submission of Contributions. Unless You explicitly state otherwise, |
403 | - any Contribution intentionally submitted for inclusion in the Work |
404 | - by You to the Licensor shall be under the terms and conditions of |
405 | - this License, without any additional terms or conditions. |
406 | - Notwithstanding the above, nothing herein shall supersede or modify |
407 | - the terms of any separate license agreement you may have executed |
408 | - with Licensor regarding such Contributions. |
409 | - |
410 | - 6. Trademarks. This License does not grant permission to use the trade |
411 | - names, trademarks, service marks, or product names of the Licensor, |
412 | - except as required for reasonable and customary use in describing the |
413 | - origin of the Work and reproducing the content of the NOTICE file. |
414 | - |
415 | - 7. Disclaimer of Warranty. Unless required by applicable law or |
416 | - agreed to in writing, Licensor provides the Work (and each |
417 | - Contributor provides its Contributions) on an "AS IS" BASIS, |
418 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
419 | - implied, including, without limitation, any warranties or conditions |
420 | - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
421 | - PARTICULAR PURPOSE. You are solely responsible for determining the |
422 | - appropriateness of using or redistributing the Work and assume any |
423 | - risks associated with Your exercise of permissions under this License. |
424 | - |
425 | - 8. Limitation of Liability. In no event and under no legal theory, |
426 | - whether in tort (including negligence), contract, or otherwise, |
427 | - unless required by applicable law (such as deliberate and grossly |
428 | - negligent acts) or agreed to in writing, shall any Contributor be |
429 | - liable to You for damages, including any direct, indirect, special, |
430 | - incidental, or consequential damages of any character arising as a |
431 | - result of this License or out of the use or inability to use the |
432 | - Work (including but not limited to damages for loss of goodwill, |
433 | - work stoppage, computer failure or malfunction, or any and all |
434 | - other commercial damages or losses), even if such Contributor |
435 | - has been advised of the possibility of such damages. |
436 | - |
437 | - 9. Accepting Warranty or Additional Liability. While redistributing |
438 | - the Work or Derivative Works thereof, You may choose to offer, |
439 | - and charge a fee for, acceptance of support, warranty, indemnity, |
440 | - or other liability obligations and/or rights consistent with this |
441 | - License. However, in accepting such obligations, You may act only |
442 | - on Your own behalf and on Your sole responsibility, not on behalf |
443 | - of any other Contributor, and only if You agree to indemnify, |
444 | - defend, and hold each Contributor harmless for any liability |
445 | - incurred by, or claims asserted against, such Contributor by reason |
446 | - of your accepting any such warranty or additional liability. |
447 | |
448 | === added file 'charmworld/static/css/base.css' |
449 | --- charmworld/static/css/base.css 1970-01-01 00:00:00 +0000 |
450 | +++ charmworld/static/css/base.css 2013-09-09 19:05:35 +0000 |
451 | @@ -0,0 +1,29 @@ |
452 | +table ul { |
453 | + margin: 0; |
454 | + list-style: none; |
455 | +} |
456 | +.box.space-bottom { |
457 | + margin-bottom: 20px; |
458 | +} |
459 | +pre.prettyprint { |
460 | + border: none !important; |
461 | + padding: .6em 1em !important; |
462 | +} |
463 | +pre.prettyprint.linenums { |
464 | + padding-left: 3em !important; |
465 | +} |
466 | + |
467 | +/* Overrides for framework */ |
468 | + |
469 | +/* Fixes spacing and removes default logo */ |
470 | +header.banner .nav-primary.nav-right .logo-ubuntu { |
471 | + width: 150px; |
472 | + padding-top: 11px; |
473 | + background-image: none; |
474 | + text-transform: capitalize; |
475 | +} |
476 | +/* Fixes display issue */ |
477 | +.row.vertical-divider { |
478 | + display: table; |
479 | + width: 100%; |
480 | +} |
481 | |
482 | === removed directory 'charmworld/static/css/bootstrap' |
483 | === removed file 'charmworld/static/css/bootstrap/LICENSE' |
484 | --- charmworld/static/css/bootstrap/LICENSE 2013-02-12 16:12:10 +0000 |
485 | +++ charmworld/static/css/bootstrap/LICENSE 1970-01-01 00:00:00 +0000 |
486 | @@ -1,179 +0,0 @@ |
487 | -Origin of files in this directory: https://github.com/twitter/bootstrap |
488 | - |
489 | - |
490 | - Apache License |
491 | - Version 2.0, January 2004 |
492 | - http://www.apache.org/licenses/ |
493 | - |
494 | - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
495 | - |
496 | - 1. Definitions. |
497 | - |
498 | - "License" shall mean the terms and conditions for use, reproduction, |
499 | - and distribution as defined by Sections 1 through 9 of this document. |
500 | - |
501 | - "Licensor" shall mean the copyright owner or entity authorized by |
502 | - the copyright owner that is granting the License. |
503 | - |
504 | - "Legal Entity" shall mean the union of the acting entity and all |
505 | - other entities that control, are controlled by, or are under common |
506 | - control with that entity. For the purposes of this definition, |
507 | - "control" means (i) the power, direct or indirect, to cause the |
508 | - direction or management of such entity, whether by contract or |
509 | - otherwise, or (ii) ownership of fifty percent (50%) or more of the |
510 | - outstanding shares, or (iii) beneficial ownership of such entity. |
511 | - |
512 | - "You" (or "Your") shall mean an individual or Legal Entity |
513 | - exercising permissions granted by this License. |
514 | - |
515 | - "Source" form shall mean the preferred form for making modifications, |
516 | - including but not limited to software source code, documentation |
517 | - source, and configuration files. |
518 | - |
519 | - "Object" form shall mean any form resulting from mechanical |
520 | - transformation or translation of a Source form, including but |
521 | - not limited to compiled object code, generated documentation, |
522 | - and conversions to other media types. |
523 | - |
524 | - "Work" shall mean the work of authorship, whether in Source or |
525 | - Object form, made available under the License, as indicated by a |
526 | - copyright notice that is included in or attached to the work |
527 | - (an example is provided in the Appendix below). |
528 | - |
529 | - "Derivative Works" shall mean any work, whether in Source or Object |
530 | - form, that is based on (or derived from) the Work and for which the |
531 | - editorial revisions, annotations, elaborations, or other modifications |
532 | - represent, as a whole, an original work of authorship. For the purposes |
533 | - of this License, Derivative Works shall not include works that remain |
534 | - separable from, or merely link (or bind by name) to the interfaces of, |
535 | - the Work and Derivative Works thereof. |
536 | - |
537 | - "Contribution" shall mean any work of authorship, including |
538 | - the original version of the Work and any modifications or additions |
539 | - to that Work or Derivative Works thereof, that is intentionally |
540 | - submitted to Licensor for inclusion in the Work by the copyright owner |
541 | - or by an individual or Legal Entity authorized to submit on behalf of |
542 | - the copyright owner. For the purposes of this definition, "submitted" |
543 | - means any form of electronic, verbal, or written communication sent |
544 | - to the Licensor or its representatives, including but not limited to |
545 | - communication on electronic mailing lists, source code control systems, |
546 | - and issue tracking systems that are managed by, or on behalf of, the |
547 | - Licensor for the purpose of discussing and improving the Work, but |
548 | - excluding communication that is conspicuously marked or otherwise |
549 | - designated in writing by the copyright owner as "Not a Contribution." |
550 | - |
551 | - "Contributor" shall mean Licensor and any individual or Legal Entity |
552 | - on behalf of whom a Contribution has been received by Licensor and |
553 | - subsequently incorporated within the Work. |
554 | - |
555 | - 2. Grant of Copyright License. Subject to the terms and conditions of |
556 | - this License, each Contributor hereby grants to You a perpetual, |
557 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
558 | - copyright license to reproduce, prepare Derivative Works of, |
559 | - publicly display, publicly perform, sublicense, and distribute the |
560 | - Work and such Derivative Works in Source or Object form. |
561 | - |
562 | - 3. Grant of Patent License. Subject to the terms and conditions of |
563 | - this License, each Contributor hereby grants to You a perpetual, |
564 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
565 | - (except as stated in this section) patent license to make, have made, |
566 | - use, offer to sell, sell, import, and otherwise transfer the Work, |
567 | - where such license applies only to those patent claims licensable |
568 | - by such Contributor that are necessarily infringed by their |
569 | - Contribution(s) alone or by combination of their Contribution(s) |
570 | - with the Work to which such Contribution(s) was submitted. If You |
571 | - institute patent litigation against any entity (including a |
572 | - cross-claim or counterclaim in a lawsuit) alleging that the Work |
573 | - or a Contribution incorporated within the Work constitutes direct |
574 | - or contributory patent infringement, then any patent licenses |
575 | - granted to You under this License for that Work shall terminate |
576 | - as of the date such litigation is filed. |
577 | - |
578 | - 4. Redistribution. You may reproduce and distribute copies of the |
579 | - Work or Derivative Works thereof in any medium, with or without |
580 | - modifications, and in Source or Object form, provided that You |
581 | - meet the following conditions: |
582 | - |
583 | - (a) You must give any other recipients of the Work or |
584 | - Derivative Works a copy of this License; and |
585 | - |
586 | - (b) You must cause any modified files to carry prominent notices |
587 | - stating that You changed the files; and |
588 | - |
589 | - (c) You must retain, in the Source form of any Derivative Works |
590 | - that You distribute, all copyright, patent, trademark, and |
591 | - attribution notices from the Source form of the Work, |
592 | - excluding those notices that do not pertain to any part of |
593 | - the Derivative Works; and |
594 | - |
595 | - (d) If the Work includes a "NOTICE" text file as part of its |
596 | - distribution, then any Derivative Works that You distribute must |
597 | - include a readable copy of the attribution notices contained |
598 | - within such NOTICE file, excluding those notices that do not |
599 | - pertain to any part of the Derivative Works, in at least one |
600 | - of the following places: within a NOTICE text file distributed |
601 | - as part of the Derivative Works; within the Source form or |
602 | - documentation, if provided along with the Derivative Works; or, |
603 | - within a display generated by the Derivative Works, if and |
604 | - wherever such third-party notices normally appear. The contents |
605 | - of the NOTICE file are for informational purposes only and |
606 | - do not modify the License. You may add Your own attribution |
607 | - notices within Derivative Works that You distribute, alongside |
608 | - or as an addendum to the NOTICE text from the Work, provided |
609 | - that such additional attribution notices cannot be construed |
610 | - as modifying the License. |
611 | - |
612 | - You may add Your own copyright statement to Your modifications and |
613 | - may provide additional or different license terms and conditions |
614 | - for use, reproduction, or distribution of Your modifications, or |
615 | - for any such Derivative Works as a whole, provided Your use, |
616 | - reproduction, and distribution of the Work otherwise complies with |
617 | - the conditions stated in this License. |
618 | - |
619 | - 5. Submission of Contributions. Unless You explicitly state otherwise, |
620 | - any Contribution intentionally submitted for inclusion in the Work |
621 | - by You to the Licensor shall be under the terms and conditions of |
622 | - this License, without any additional terms or conditions. |
623 | - Notwithstanding the above, nothing herein shall supersede or modify |
624 | - the terms of any separate license agreement you may have executed |
625 | - with Licensor regarding such Contributions. |
626 | - |
627 | - 6. Trademarks. This License does not grant permission to use the trade |
628 | - names, trademarks, service marks, or product names of the Licensor, |
629 | - except as required for reasonable and customary use in describing the |
630 | - origin of the Work and reproducing the content of the NOTICE file. |
631 | - |
632 | - 7. Disclaimer of Warranty. Unless required by applicable law or |
633 | - agreed to in writing, Licensor provides the Work (and each |
634 | - Contributor provides its Contributions) on an "AS IS" BASIS, |
635 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
636 | - implied, including, without limitation, any warranties or conditions |
637 | - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
638 | - PARTICULAR PURPOSE. You are solely responsible for determining the |
639 | - appropriateness of using or redistributing the Work and assume any |
640 | - risks associated with Your exercise of permissions under this License. |
641 | - |
642 | - 8. Limitation of Liability. In no event and under no legal theory, |
643 | - whether in tort (including negligence), contract, or otherwise, |
644 | - unless required by applicable law (such as deliberate and grossly |
645 | - negligent acts) or agreed to in writing, shall any Contributor be |
646 | - liable to You for damages, including any direct, indirect, special, |
647 | - incidental, or consequential damages of any character arising as a |
648 | - result of this License or out of the use or inability to use the |
649 | - Work (including but not limited to damages for loss of goodwill, |
650 | - work stoppage, computer failure or malfunction, or any and all |
651 | - other commercial damages or losses), even if such Contributor |
652 | - has been advised of the possibility of such damages. |
653 | - |
654 | - 9. Accepting Warranty or Additional Liability. While redistributing |
655 | - the Work or Derivative Works thereof, You may choose to offer, |
656 | - and charge a fee for, acceptance of support, warranty, indemnity, |
657 | - or other liability obligations and/or rights consistent with this |
658 | - License. However, in accepting such obligations, You may act only |
659 | - on Your own behalf and on Your sole responsibility, not on behalf |
660 | - of any other Contributor, and only if You agree to indemnify, |
661 | - defend, and hold each Contributor harmless for any liability |
662 | - incurred by, or claims asserted against, such Contributor by reason |
663 | - of your accepting any such warranty or additional liability. |
664 | - |
665 | - END OF TERMS AND CONDITIONS |
666 | |
667 | === removed file 'charmworld/static/css/bootstrap/accordion.less' |
668 | --- charmworld/static/css/bootstrap/accordion.less 2013-01-21 13:40:18 +0000 |
669 | +++ charmworld/static/css/bootstrap/accordion.less 1970-01-01 00:00:00 +0000 |
670 | @@ -1,34 +0,0 @@ |
671 | -// |
672 | -// Accordion |
673 | -// -------------------------------------------------- |
674 | - |
675 | - |
676 | -// Parent container |
677 | -.accordion { |
678 | - margin-bottom: @baseLineHeight; |
679 | -} |
680 | - |
681 | -// Group == heading + body |
682 | -.accordion-group { |
683 | - margin-bottom: 2px; |
684 | - border: 1px solid #e5e5e5; |
685 | - .border-radius(@baseBorderRadius); |
686 | -} |
687 | -.accordion-heading { |
688 | - border-bottom: 0; |
689 | -} |
690 | -.accordion-heading .accordion-toggle { |
691 | - display: block; |
692 | - padding: 8px 15px; |
693 | -} |
694 | - |
695 | -// General toggle styles |
696 | -.accordion-toggle { |
697 | - cursor: pointer; |
698 | -} |
699 | - |
700 | -// Inner needs the styles because you can't animate properly with any styles on the element |
701 | -.accordion-inner { |
702 | - padding: 9px 15px; |
703 | - border-top: 1px solid #e5e5e5; |
704 | -} |
705 | |
706 | === removed file 'charmworld/static/css/bootstrap/alerts.less' |
707 | --- charmworld/static/css/bootstrap/alerts.less 2013-01-21 13:40:18 +0000 |
708 | +++ charmworld/static/css/bootstrap/alerts.less 1970-01-01 00:00:00 +0000 |
709 | @@ -1,79 +0,0 @@ |
710 | -// |
711 | -// Alerts |
712 | -// -------------------------------------------------- |
713 | - |
714 | - |
715 | -// Base styles |
716 | -// ------------------------- |
717 | - |
718 | -.alert { |
719 | - padding: 8px 35px 8px 14px; |
720 | - margin-bottom: @baseLineHeight; |
721 | - text-shadow: 0 1px 0 rgba(255,255,255,.5); |
722 | - background-color: @warningBackground; |
723 | - border: 1px solid @warningBorder; |
724 | - .border-radius(@baseBorderRadius); |
725 | -} |
726 | -.alert, |
727 | -.alert h4 { |
728 | - // Specified for the h4 to prevent conflicts of changing @headingsColor |
729 | - color: @warningText; |
730 | -} |
731 | -.alert h4 { |
732 | - margin: 0; |
733 | -} |
734 | - |
735 | -// Adjust close link position |
736 | -.alert .close { |
737 | - position: relative; |
738 | - top: -2px; |
739 | - right: -21px; |
740 | - line-height: @baseLineHeight; |
741 | -} |
742 | - |
743 | - |
744 | -// Alternate styles |
745 | -// ------------------------- |
746 | - |
747 | -.alert-success { |
748 | - background-color: @successBackground; |
749 | - border-color: @successBorder; |
750 | - color: @successText; |
751 | -} |
752 | -.alert-success h4 { |
753 | - color: @successText; |
754 | -} |
755 | -.alert-danger, |
756 | -.alert-error { |
757 | - background-color: @errorBackground; |
758 | - border-color: @errorBorder; |
759 | - color: @errorText; |
760 | -} |
761 | -.alert-danger h4, |
762 | -.alert-error h4 { |
763 | - color: @errorText; |
764 | -} |
765 | -.alert-info { |
766 | - background-color: @infoBackground; |
767 | - border-color: @infoBorder; |
768 | - color: @infoText; |
769 | -} |
770 | -.alert-info h4 { |
771 | - color: @infoText; |
772 | -} |
773 | - |
774 | - |
775 | -// Block alerts |
776 | -// ------------------------- |
777 | - |
778 | -.alert-block { |
779 | - padding-top: 14px; |
780 | - padding-bottom: 14px; |
781 | -} |
782 | -.alert-block > p, |
783 | -.alert-block > ul { |
784 | - margin-bottom: 0; |
785 | -} |
786 | -.alert-block p + p { |
787 | - margin-top: 5px; |
788 | -} |
789 | |
790 | === removed file 'charmworld/static/css/bootstrap/bootstrap.less' |
791 | --- charmworld/static/css/bootstrap/bootstrap.less 2013-01-21 13:40:18 +0000 |
792 | +++ charmworld/static/css/bootstrap/bootstrap.less 1970-01-01 00:00:00 +0000 |
793 | @@ -1,63 +0,0 @@ |
794 | -/*! |
795 | - * Bootstrap v2.2.2 |
796 | - * |
797 | - * Copyright 2012 Twitter, Inc |
798 | - * Licensed under the Apache License v2.0 |
799 | - * http://www.apache.org/licenses/LICENSE-2.0 |
800 | - * |
801 | - * Designed and built with all the love in the world @twitter by @mdo and @fat. |
802 | - */ |
803 | - |
804 | -// CSS Reset |
805 | -@import "reset.less"; |
806 | - |
807 | -// Core variables and mixins |
808 | -@import "variables.less"; // Modify this for custom colors, font-sizes, etc |
809 | -@import "mixins.less"; |
810 | - |
811 | -// Grid system and page structure |
812 | -@import "scaffolding.less"; |
813 | -@import "grid.less"; |
814 | -@import "layouts.less"; |
815 | - |
816 | -// Base CSS |
817 | -@import "type.less"; |
818 | -@import "code.less"; |
819 | -@import "forms.less"; |
820 | -@import "tables.less"; |
821 | - |
822 | -// Components: common |
823 | -@import "sprites.less"; |
824 | -@import "dropdowns.less"; |
825 | -@import "wells.less"; |
826 | -@import "component-animations.less"; |
827 | -@import "close.less"; |
828 | - |
829 | -// Components: Buttons & Alerts |
830 | -@import "buttons.less"; |
831 | -@import "button-groups.less"; |
832 | -@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less |
833 | - |
834 | -// Components: Nav |
835 | -@import "navs.less"; |
836 | -@import "navbar.less"; |
837 | -@import "breadcrumbs.less"; |
838 | -@import "pagination.less"; |
839 | -@import "pager.less"; |
840 | - |
841 | -// Components: Popovers |
842 | -@import "modals.less"; |
843 | -@import "tooltip.less"; |
844 | -@import "popovers.less"; |
845 | - |
846 | -// Components: Misc |
847 | -@import "thumbnails.less"; |
848 | -@import "media.less"; |
849 | -@import "labels-badges.less"; |
850 | -@import "progress-bars.less"; |
851 | -@import "accordion.less"; |
852 | -@import "carousel.less"; |
853 | -@import "hero-unit.less"; |
854 | - |
855 | -// Utility classes |
856 | -@import "utilities.less"; // Has to be last to override when necessary |
857 | |
858 | === removed file 'charmworld/static/css/bootstrap/breadcrumbs.less' |
859 | --- charmworld/static/css/bootstrap/breadcrumbs.less 2013-01-21 13:40:18 +0000 |
860 | +++ charmworld/static/css/bootstrap/breadcrumbs.less 1970-01-01 00:00:00 +0000 |
861 | @@ -1,24 +0,0 @@ |
862 | -// |
863 | -// Breadcrumbs |
864 | -// -------------------------------------------------- |
865 | - |
866 | - |
867 | -.breadcrumb { |
868 | - padding: 8px 15px; |
869 | - margin: 0 0 @baseLineHeight; |
870 | - list-style: none; |
871 | - background-color: #f5f5f5; |
872 | - .border-radius(@baseBorderRadius); |
873 | - > li { |
874 | - display: inline-block; |
875 | - .ie7-inline-block(); |
876 | - text-shadow: 0 1px 0 @white; |
877 | - > .divider { |
878 | - padding: 0 5px; |
879 | - color: #ccc; |
880 | - } |
881 | - } |
882 | - > .active { |
883 | - color: @grayLight; |
884 | - } |
885 | -} |
886 | |
887 | === removed file 'charmworld/static/css/bootstrap/button-groups.less' |
888 | --- charmworld/static/css/bootstrap/button-groups.less 2013-01-21 13:40:18 +0000 |
889 | +++ charmworld/static/css/bootstrap/button-groups.less 1970-01-01 00:00:00 +0000 |
890 | @@ -1,227 +0,0 @@ |
891 | -// |
892 | -// Button groups |
893 | -// -------------------------------------------------- |
894 | - |
895 | - |
896 | -// Make the div behave like a button |
897 | -.btn-group { |
898 | - position: relative; |
899 | - display: inline-block; |
900 | - .ie7-inline-block(); |
901 | - font-size: 0; // remove as part 1 of font-size inline-block hack |
902 | - vertical-align: middle; // match .btn alignment given font-size hack above |
903 | - white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) |
904 | - .ie7-restore-left-whitespace(); |
905 | -} |
906 | - |
907 | -// Space out series of button groups |
908 | -.btn-group + .btn-group { |
909 | - margin-left: 5px; |
910 | -} |
911 | - |
912 | -// Optional: Group multiple button groups together for a toolbar |
913 | -.btn-toolbar { |
914 | - font-size: 0; // Hack to remove whitespace that results from using inline-block |
915 | - margin-top: @baseLineHeight / 2; |
916 | - margin-bottom: @baseLineHeight / 2; |
917 | - > .btn + .btn, |
918 | - > .btn-group + .btn, |
919 | - > .btn + .btn-group { |
920 | - margin-left: 5px; |
921 | - } |
922 | -} |
923 | - |
924 | -// Float them, remove border radius, then re-add to first and last elements |
925 | -.btn-group > .btn { |
926 | - position: relative; |
927 | - .border-radius(0); |
928 | -} |
929 | -.btn-group > .btn + .btn { |
930 | - margin-left: -1px; |
931 | -} |
932 | -.btn-group > .btn, |
933 | -.btn-group > .dropdown-menu, |
934 | -.btn-group > .popover { |
935 | - font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack |
936 | -} |
937 | - |
938 | -// Reset fonts for other sizes |
939 | -.btn-group > .btn-mini { |
940 | - font-size: @fontSizeMini; |
941 | -} |
942 | -.btn-group > .btn-small { |
943 | - font-size: @fontSizeSmall; |
944 | -} |
945 | -.btn-group > .btn-large { |
946 | - font-size: @fontSizeLarge; |
947 | -} |
948 | - |
949 | -// 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 |
950 | -.btn-group > .btn:first-child { |
951 | - margin-left: 0; |
952 | - .border-top-left-radius(@baseBorderRadius); |
953 | - .border-bottom-left-radius(@baseBorderRadius); |
954 | -} |
955 | -// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it |
956 | -.btn-group > .btn:last-child, |
957 | -.btn-group > .dropdown-toggle { |
958 | - .border-top-right-radius(@baseBorderRadius); |
959 | - .border-bottom-right-radius(@baseBorderRadius); |
960 | -} |
961 | -// Reset corners for large buttons |
962 | -.btn-group > .btn.large:first-child { |
963 | - margin-left: 0; |
964 | - .border-top-left-radius(@borderRadiusLarge); |
965 | - .border-bottom-left-radius(@borderRadiusLarge); |
966 | -} |
967 | -.btn-group > .btn.large:last-child, |
968 | -.btn-group > .large.dropdown-toggle { |
969 | - .border-top-right-radius(@borderRadiusLarge); |
970 | - .border-bottom-right-radius(@borderRadiusLarge); |
971 | -} |
972 | - |
973 | -// On hover/focus/active, bring the proper btn to front |
974 | -.btn-group > .btn:hover, |
975 | -.btn-group > .btn:focus, |
976 | -.btn-group > .btn:active, |
977 | -.btn-group > .btn.active { |
978 | - z-index: 2; |
979 | -} |
980 | - |
981 | -// On active and open, don't show outline |
982 | -.btn-group .dropdown-toggle:active, |
983 | -.btn-group.open .dropdown-toggle { |
984 | - outline: 0; |
985 | -} |
986 | - |
987 | - |
988 | - |
989 | -// Split button dropdowns |
990 | -// ---------------------- |
991 | - |
992 | -// Give the line between buttons some depth |
993 | -.btn-group > .btn + .dropdown-toggle { |
994 | - padding-left: 8px; |
995 | - padding-right: 8px; |
996 | - .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)"); |
997 | - *padding-top: 5px; |
998 | - *padding-bottom: 5px; |
999 | -} |
1000 | -.btn-group > .btn-mini + .dropdown-toggle { |
1001 | - padding-left: 5px; |
1002 | - padding-right: 5px; |
1003 | - *padding-top: 2px; |
1004 | - *padding-bottom: 2px; |
1005 | -} |
1006 | -.btn-group > .btn-small + .dropdown-toggle { |
1007 | - *padding-top: 5px; |
1008 | - *padding-bottom: 4px; |
1009 | -} |
1010 | -.btn-group > .btn-large + .dropdown-toggle { |
1011 | - padding-left: 12px; |
1012 | - padding-right: 12px; |
1013 | - *padding-top: 7px; |
1014 | - *padding-bottom: 7px; |
1015 | -} |
1016 | - |
1017 | -.btn-group.open { |
1018 | - |
1019 | - // The clickable button for toggling the menu |
1020 | - // Remove the gradient and set the same inset shadow as the :active state |
1021 | - .dropdown-toggle { |
1022 | - background-image: none; |
1023 | - .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); |
1024 | - } |
1025 | - |
1026 | - // Keep the hover's background when dropdown is open |
1027 | - .btn.dropdown-toggle { |
1028 | - background-color: @btnBackgroundHighlight; |
1029 | - } |
1030 | - .btn-primary.dropdown-toggle { |
1031 | - background-color: @btnPrimaryBackgroundHighlight; |
1032 | - } |
1033 | - .btn-warning.dropdown-toggle { |
1034 | - background-color: @btnWarningBackgroundHighlight; |
1035 | - } |
1036 | - .btn-danger.dropdown-toggle { |
1037 | - background-color: @btnDangerBackgroundHighlight; |
1038 | - } |
1039 | - .btn-success.dropdown-toggle { |
1040 | - background-color: @btnSuccessBackgroundHighlight; |
1041 | - } |
1042 | - .btn-info.dropdown-toggle { |
1043 | - background-color: @btnInfoBackgroundHighlight; |
1044 | - } |
1045 | - .btn-inverse.dropdown-toggle { |
1046 | - background-color: @btnInverseBackgroundHighlight; |
1047 | - } |
1048 | -} |
1049 | - |
1050 | - |
1051 | -// Reposition the caret |
1052 | -.btn .caret { |
1053 | - margin-top: 8px; |
1054 | - margin-left: 0; |
1055 | -} |
1056 | -// Carets in other button sizes |
1057 | -.btn-mini .caret, |
1058 | -.btn-small .caret, |
1059 | -.btn-large .caret { |
1060 | - margin-top: 6px; |
1061 | -} |
1062 | -.btn-large .caret { |
1063 | - border-left-width: 5px; |
1064 | - border-right-width: 5px; |
1065 | - border-top-width: 5px; |
1066 | -} |
1067 | -// Upside down carets for .dropup |
1068 | -.dropup .btn-large .caret { |
1069 | - border-bottom-width: 5px; |
1070 | -} |
1071 | - |
1072 | - |
1073 | - |
1074 | -// Account for other colors |
1075 | -.btn-primary, |
1076 | -.btn-warning, |
1077 | -.btn-danger, |
1078 | -.btn-info, |
1079 | -.btn-success, |
1080 | -.btn-inverse { |
1081 | - .caret { |
1082 | - border-top-color: @white; |
1083 | - border-bottom-color: @white; |
1084 | - } |
1085 | -} |
1086 | - |
1087 | - |
1088 | - |
1089 | -// Vertical button groups |
1090 | -// ---------------------- |
1091 | - |
1092 | -.btn-group-vertical { |
1093 | - display: inline-block; // makes buttons only take up the width they need |
1094 | - .ie7-inline-block(); |
1095 | -} |
1096 | -.btn-group-vertical > .btn { |
1097 | - display: block; |
1098 | - float: none; |
1099 | - max-width: 100%; |
1100 | - .border-radius(0); |
1101 | -} |
1102 | -.btn-group-vertical > .btn + .btn { |
1103 | - margin-left: 0; |
1104 | - margin-top: -1px; |
1105 | -} |
1106 | -.btn-group-vertical > .btn:first-child { |
1107 | - .border-radius(@baseBorderRadius @baseBorderRadius 0 0); |
1108 | -} |
1109 | -.btn-group-vertical > .btn:last-child { |
1110 | - .border-radius(0 0 @baseBorderRadius @baseBorderRadius); |
1111 | -} |
1112 | -.btn-group-vertical > .btn-large:first-child { |
1113 | - .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0); |
1114 | -} |
1115 | -.btn-group-vertical > .btn-large:last-child { |
1116 | - .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge); |
1117 | -} |
1118 | |
1119 | === removed file 'charmworld/static/css/bootstrap/buttons.less' |
1120 | --- charmworld/static/css/bootstrap/buttons.less 2013-01-21 13:40:18 +0000 |
1121 | +++ charmworld/static/css/bootstrap/buttons.less 1970-01-01 00:00:00 +0000 |
1122 | @@ -1,230 +0,0 @@ |
1123 | -// |
1124 | -// Buttons |
1125 | -// -------------------------------------------------- |
1126 | - |
1127 | - |
1128 | -// Base styles |
1129 | -// -------------------------------------------------- |
1130 | - |
1131 | -// Core |
1132 | -.btn { |
1133 | - display: inline-block; |
1134 | - .ie7-inline-block(); |
1135 | - padding: 4px 12px; |
1136 | - margin-bottom: 0; // For input.btn |
1137 | - font-size: @baseFontSize; |
1138 | - line-height: @baseLineHeight; |
1139 | - text-align: center; |
1140 | - vertical-align: middle; |
1141 | - cursor: pointer; |
1142 | - .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75)); |
1143 | - border: 1px solid @btnBorder; |
1144 | - *border: 0; // Remove the border to prevent IE7's black border on input:focus |
1145 | - border-bottom-color: darken(@btnBorder, 10%); |
1146 | - .border-radius(@baseBorderRadius); |
1147 | - .ie7-restore-left-whitespace(); // Give IE7 some love |
1148 | - .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); |
1149 | - |
1150 | - // Hover state |
1151 | - &:hover { |
1152 | - color: @grayDark; |
1153 | - text-decoration: none; |
1154 | - background-position: 0 -15px; |
1155 | - |
1156 | - // transition is only when going to hover, otherwise the background |
1157 | - // behind the gradient (there for IE<=9 fallback) gets mismatched |
1158 | - .transition(background-position .1s linear); |
1159 | - } |
1160 | - |
1161 | - // Focus state for keyboard and accessibility |
1162 | - &:focus { |
1163 | - .tab-focus(); |
1164 | - } |
1165 | - |
1166 | - // Active state |
1167 | - &.active, |
1168 | - &:active { |
1169 | - background-image: none; |
1170 | - outline: 0; |
1171 | - .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); |
1172 | - } |
1173 | - |
1174 | - // Disabled state |
1175 | - &.disabled, |
1176 | - &[disabled] { |
1177 | - cursor: default; |
1178 | - background-image: none; |
1179 | - .opacity(65); |
1180 | - .box-shadow(none); |
1181 | - } |
1182 | - |
1183 | -} |
1184 | - |
1185 | - |
1186 | - |
1187 | -// Button Sizes |
1188 | -// -------------------------------------------------- |
1189 | - |
1190 | -// Large |
1191 | -.btn-large { |
1192 | - padding: @paddingLarge; |
1193 | - font-size: @fontSizeLarge; |
1194 | - .border-radius(@borderRadiusLarge); |
1195 | -} |
1196 | -.btn-large [class^="icon-"], |
1197 | -.btn-large [class*=" icon-"] { |
1198 | - margin-top: 4px; |
1199 | -} |
1200 | - |
1201 | -// Small |
1202 | -.btn-small { |
1203 | - padding: @paddingSmall; |
1204 | - font-size: @fontSizeSmall; |
1205 | - .border-radius(@borderRadiusSmall); |
1206 | -} |
1207 | -.btn-small [class^="icon-"], |
1208 | -.btn-small [class*=" icon-"] { |
1209 | - margin-top: 0; |
1210 | -} |
1211 | -.btn-mini [class^="icon-"], |
1212 | -.btn-mini [class*=" icon-"] { |
1213 | - margin-top: -1px; |
1214 | -} |
1215 | - |
1216 | -// Mini |
1217 | -.btn-mini { |
1218 | - padding: @paddingMini; |
1219 | - font-size: @fontSizeMini; |
1220 | - .border-radius(@borderRadiusSmall); |
1221 | -} |
1222 | - |
1223 | - |
1224 | -// Block button |
1225 | -// ------------------------- |
1226 | - |
1227 | -.btn-block { |
1228 | - display: block; |
1229 | - width: 100%; |
1230 | - padding-left: 0; |
1231 | - padding-right: 0; |
1232 | - .box-sizing(border-box); |
1233 | -} |
1234 | - |
1235 | -// Vertically space out multiple block buttons |
1236 | -.btn-block + .btn-block { |
1237 | - margin-top: 5px; |
1238 | -} |
1239 | - |
1240 | -// Specificity overrides |
1241 | -input[type="submit"], |
1242 | -input[type="reset"], |
1243 | -input[type="button"] { |
1244 | - &.btn-block { |
1245 | - width: 100%; |
1246 | - } |
1247 | -} |
1248 | - |
1249 | - |
1250 | - |
1251 | -// Alternate buttons |
1252 | -// -------------------------------------------------- |
1253 | - |
1254 | -// Provide *some* extra contrast for those who can get it |
1255 | -.btn-primary.active, |
1256 | -.btn-warning.active, |
1257 | -.btn-danger.active, |
1258 | -.btn-success.active, |
1259 | -.btn-info.active, |
1260 | -.btn-inverse.active { |
1261 | - color: rgba(255,255,255,.75); |
1262 | -} |
1263 | - |
1264 | -// Set the backgrounds |
1265 | -// ------------------------- |
1266 | -.btn { |
1267 | - // reset here as of 2.0.3 due to Recess property order |
1268 | - border-color: #c5c5c5; |
1269 | - border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25); |
1270 | -} |
1271 | -.btn-primary { |
1272 | - .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight); |
1273 | -} |
1274 | -// Warning appears are orange |
1275 | -.btn-warning { |
1276 | - .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight); |
1277 | -} |
1278 | -// Danger and error appear as red |
1279 | -.btn-danger { |
1280 | - .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight); |
1281 | -} |
1282 | -// Success appears as green |
1283 | -.btn-success { |
1284 | - .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight); |
1285 | -} |
1286 | -// Info appears as a neutral blue |
1287 | -.btn-info { |
1288 | - .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight); |
1289 | -} |
1290 | -// Inverse appears as dark gray |
1291 | -.btn-inverse { |
1292 | - .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight); |
1293 | -} |
1294 | - |
1295 | - |
1296 | -// Cross-browser Jank |
1297 | -// -------------------------------------------------- |
1298 | - |
1299 | -button.btn, |
1300 | -input[type="submit"].btn { |
1301 | - |
1302 | - // Firefox 3.6 only I believe |
1303 | - &::-moz-focus-inner { |
1304 | - padding: 0; |
1305 | - border: 0; |
1306 | - } |
1307 | - |
1308 | - // IE7 has some default padding on button controls |
1309 | - *padding-top: 3px; |
1310 | - *padding-bottom: 3px; |
1311 | - |
1312 | - &.btn-large { |
1313 | - *padding-top: 7px; |
1314 | - *padding-bottom: 7px; |
1315 | - } |
1316 | - &.btn-small { |
1317 | - *padding-top: 3px; |
1318 | - *padding-bottom: 3px; |
1319 | - } |
1320 | - &.btn-mini { |
1321 | - *padding-top: 1px; |
1322 | - *padding-bottom: 1px; |
1323 | - } |
1324 | -} |
1325 | - |
1326 | - |
1327 | -// Link buttons |
1328 | -// -------------------------------------------------- |
1329 | - |
1330 | -// Make a button look and behave like a link |
1331 | -.btn-link, |
1332 | -.btn-link:active, |
1333 | -.btn-link[disabled] { |
1334 | - background-color: transparent; |
1335 | - background-image: none; |
1336 | - .box-shadow(none); |
1337 | -} |
1338 | -.btn-link { |
1339 | - border-color: transparent; |
1340 | - cursor: pointer; |
1341 | - color: @linkColor; |
1342 | - .border-radius(0); |
1343 | -} |
1344 | -.btn-link:hover { |
1345 | - color: @linkColorHover; |
1346 | - text-decoration: underline; |
1347 | - background-color: transparent; |
1348 | -} |
1349 | -.btn-link[disabled]:hover { |
1350 | - color: @grayDark; |
1351 | - text-decoration: none; |
1352 | -} |
1353 | |
1354 | === removed file 'charmworld/static/css/bootstrap/carousel.less' |
1355 | --- charmworld/static/css/bootstrap/carousel.less 2013-01-21 13:40:18 +0000 |
1356 | +++ charmworld/static/css/bootstrap/carousel.less 1970-01-01 00:00:00 +0000 |
1357 | @@ -1,131 +0,0 @@ |
1358 | -// |
1359 | -// Carousel |
1360 | -// -------------------------------------------------- |
1361 | - |
1362 | - |
1363 | -.carousel { |
1364 | - position: relative; |
1365 | - margin-bottom: @baseLineHeight; |
1366 | - line-height: 1; |
1367 | -} |
1368 | - |
1369 | -.carousel-inner { |
1370 | - overflow: hidden; |
1371 | - width: 100%; |
1372 | - position: relative; |
1373 | -} |
1374 | - |
1375 | -.carousel-inner { |
1376 | - |
1377 | - > .item { |
1378 | - display: none; |
1379 | - position: relative; |
1380 | - .transition(.6s ease-in-out left); |
1381 | - } |
1382 | - |
1383 | - // Account for jankitude on images |
1384 | - > .item > img { |
1385 | - display: block; |
1386 | - line-height: 1; |
1387 | - } |
1388 | - |
1389 | - > .active, |
1390 | - > .next, |
1391 | - > .prev { display: block; } |
1392 | - |
1393 | - > .active { |
1394 | - left: 0; |
1395 | - } |
1396 | - |
1397 | - > .next, |
1398 | - > .prev { |
1399 | - position: absolute; |
1400 | - top: 0; |
1401 | - width: 100%; |
1402 | - } |
1403 | - |
1404 | - > .next { |
1405 | - left: 100%; |
1406 | - } |
1407 | - > .prev { |
1408 | - left: -100%; |
1409 | - } |
1410 | - > .next.left, |
1411 | - > .prev.right { |
1412 | - left: 0; |
1413 | - } |
1414 | - |
1415 | - > .active.left { |
1416 | - left: -100%; |
1417 | - } |
1418 | - > .active.right { |
1419 | - left: 100%; |
1420 | - } |
1421 | - |
1422 | -} |
1423 | - |
1424 | -// Left/right controls for nav |
1425 | -// --------------------------- |
1426 | - |
1427 | -.carousel-control { |
1428 | - position: absolute; |
1429 | - top: 40%; |
1430 | - left: 15px; |
1431 | - width: 40px; |
1432 | - height: 40px; |
1433 | - margin-top: -20px; |
1434 | - font-size: 60px; |
1435 | - font-weight: 100; |
1436 | - line-height: 30px; |
1437 | - color: @white; |
1438 | - text-align: center; |
1439 | - background: @grayDarker; |
1440 | - border: 3px solid @white; |
1441 | - .border-radius(23px); |
1442 | - .opacity(50); |
1443 | - |
1444 | - // we can't have this transition here |
1445 | - // because webkit cancels the carousel |
1446 | - // animation if you trip this while |
1447 | - // in the middle of another animation |
1448 | - // ;_; |
1449 | - // .transition(opacity .2s linear); |
1450 | - |
1451 | - // Reposition the right one |
1452 | - &.right { |
1453 | - left: auto; |
1454 | - right: 15px; |
1455 | - } |
1456 | - |
1457 | - // Hover state |
1458 | - &:hover { |
1459 | - color: @white; |
1460 | - text-decoration: none; |
1461 | - .opacity(90); |
1462 | - } |
1463 | -} |
1464 | - |
1465 | - |
1466 | -// Caption for text below images |
1467 | -// ----------------------------- |
1468 | - |
1469 | -.carousel-caption { |
1470 | - position: absolute; |
1471 | - left: 0; |
1472 | - right: 0; |
1473 | - bottom: 0; |
1474 | - padding: 15px; |
1475 | - background: @grayDark; |
1476 | - background: rgba(0,0,0,.75); |
1477 | -} |
1478 | -.carousel-caption h4, |
1479 | -.carousel-caption p { |
1480 | - color: @white; |
1481 | - line-height: @baseLineHeight; |
1482 | -} |
1483 | -.carousel-caption h4 { |
1484 | - margin: 0 0 5px; |
1485 | -} |
1486 | -.carousel-caption p { |
1487 | - margin-bottom: 0; |
1488 | -} |
1489 | |
1490 | === removed file 'charmworld/static/css/bootstrap/close.less' |
1491 | --- charmworld/static/css/bootstrap/close.less 2013-01-21 13:40:18 +0000 |
1492 | +++ charmworld/static/css/bootstrap/close.less 1970-01-01 00:00:00 +0000 |
1493 | @@ -1,31 +0,0 @@ |
1494 | -// |
1495 | -// Close icons |
1496 | -// -------------------------------------------------- |
1497 | - |
1498 | - |
1499 | -.close { |
1500 | - float: right; |
1501 | - font-size: 20px; |
1502 | - font-weight: bold; |
1503 | - line-height: @baseLineHeight; |
1504 | - color: @black; |
1505 | - text-shadow: 0 1px 0 rgba(255,255,255,1); |
1506 | - .opacity(20); |
1507 | - &:hover { |
1508 | - color: @black; |
1509 | - text-decoration: none; |
1510 | - cursor: pointer; |
1511 | - .opacity(40); |
1512 | - } |
1513 | -} |
1514 | - |
1515 | -// Additional properties for button version |
1516 | -// iOS requires the button element instead of an anchor tag. |
1517 | -// If you want the anchor version, it requires `href="#"`. |
1518 | -button.close { |
1519 | - padding: 0; |
1520 | - cursor: pointer; |
1521 | - background: transparent; |
1522 | - border: 0; |
1523 | - -webkit-appearance: none; |
1524 | -} |
1525 | \ No newline at end of file |
1526 | |
1527 | === removed file 'charmworld/static/css/bootstrap/code.less' |
1528 | --- charmworld/static/css/bootstrap/code.less 2013-01-21 13:40:18 +0000 |
1529 | +++ charmworld/static/css/bootstrap/code.less 1970-01-01 00:00:00 +0000 |
1530 | @@ -1,61 +0,0 @@ |
1531 | -// |
1532 | -// Code (inline and blocK) |
1533 | -// -------------------------------------------------- |
1534 | - |
1535 | - |
1536 | -// Inline and block code styles |
1537 | -code, |
1538 | -pre { |
1539 | - padding: 0 3px 2px; |
1540 | - #font > #family > .monospace; |
1541 | - font-size: @baseFontSize - 2; |
1542 | - color: @grayDark; |
1543 | - .border-radius(3px); |
1544 | -} |
1545 | - |
1546 | -// Inline code |
1547 | -code { |
1548 | - padding: 2px 4px; |
1549 | - color: #d14; |
1550 | - background-color: #f7f7f9; |
1551 | - border: 1px solid #e1e1e8; |
1552 | - white-space: nowrap; |
1553 | -} |
1554 | - |
1555 | -// Blocks of code |
1556 | -pre { |
1557 | - display: block; |
1558 | - padding: (@baseLineHeight - 1) / 2; |
1559 | - margin: 0 0 @baseLineHeight / 2; |
1560 | - font-size: @baseFontSize - 1; // 14px to 13px |
1561 | - line-height: @baseLineHeight; |
1562 | - word-break: break-all; |
1563 | - word-wrap: break-word; |
1564 | - white-space: pre; |
1565 | - white-space: pre-wrap; |
1566 | - background-color: #f5f5f5; |
1567 | - border: 1px solid #ccc; // fallback for IE7-8 |
1568 | - border: 1px solid rgba(0,0,0,.15); |
1569 | - .border-radius(@baseBorderRadius); |
1570 | - |
1571 | - // Make prettyprint styles more spaced out for readability |
1572 | - &.prettyprint { |
1573 | - margin-bottom: @baseLineHeight; |
1574 | - } |
1575 | - |
1576 | - // Account for some code outputs that place code tags in pre tags |
1577 | - code { |
1578 | - padding: 0; |
1579 | - color: inherit; |
1580 | - white-space: pre; |
1581 | - white-space: pre-wrap; |
1582 | - background-color: transparent; |
1583 | - border: 0; |
1584 | - } |
1585 | -} |
1586 | - |
1587 | -// Enable scrollable blocks of code |
1588 | -.pre-scrollable { |
1589 | - max-height: 340px; |
1590 | - overflow-y: scroll; |
1591 | -} |
1592 | \ No newline at end of file |
1593 | |
1594 | === removed file 'charmworld/static/css/bootstrap/component-animations.less' |
1595 | --- charmworld/static/css/bootstrap/component-animations.less 2013-01-21 13:40:18 +0000 |
1596 | +++ charmworld/static/css/bootstrap/component-animations.less 1970-01-01 00:00:00 +0000 |
1597 | @@ -1,22 +0,0 @@ |
1598 | -// |
1599 | -// Component animations |
1600 | -// -------------------------------------------------- |
1601 | - |
1602 | - |
1603 | -.fade { |
1604 | - opacity: 0; |
1605 | - .transition(opacity .15s linear); |
1606 | - &.in { |
1607 | - opacity: 1; |
1608 | - } |
1609 | -} |
1610 | - |
1611 | -.collapse { |
1612 | - position: relative; |
1613 | - height: 0; |
1614 | - overflow: hidden; |
1615 | - .transition(height .35s ease); |
1616 | - &.in { |
1617 | - height: auto; |
1618 | - } |
1619 | -} |
1620 | |
1621 | === removed file 'charmworld/static/css/bootstrap/dropdowns.less' |
1622 | --- charmworld/static/css/bootstrap/dropdowns.less 2013-01-21 13:40:18 +0000 |
1623 | +++ charmworld/static/css/bootstrap/dropdowns.less 1970-01-01 00:00:00 +0000 |
1624 | @@ -1,233 +0,0 @@ |
1625 | -// |
1626 | -// Dropdown menus |
1627 | -// -------------------------------------------------- |
1628 | - |
1629 | - |
1630 | -// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns |
1631 | -.dropup, |
1632 | -.dropdown { |
1633 | - position: relative; |
1634 | -} |
1635 | -.dropdown-toggle { |
1636 | - // The caret makes the toggle a bit too tall in IE7 |
1637 | - *margin-bottom: -3px; |
1638 | -} |
1639 | -.dropdown-toggle:active, |
1640 | -.open .dropdown-toggle { |
1641 | - outline: 0; |
1642 | -} |
1643 | - |
1644 | -// Dropdown arrow/caret |
1645 | -// -------------------- |
1646 | -.caret { |
1647 | - display: inline-block; |
1648 | - width: 0; |
1649 | - height: 0; |
1650 | - vertical-align: top; |
1651 | - border-top: 4px solid @black; |
1652 | - border-right: 4px solid transparent; |
1653 | - border-left: 4px solid transparent; |
1654 | - content: ""; |
1655 | -} |
1656 | - |
1657 | -// Place the caret |
1658 | -.dropdown .caret { |
1659 | - margin-top: 8px; |
1660 | - margin-left: 2px; |
1661 | -} |
1662 | - |
1663 | -// The dropdown menu (ul) |
1664 | -// ---------------------- |
1665 | -.dropdown-menu { |
1666 | - position: absolute; |
1667 | - top: 100%; |
1668 | - left: 0; |
1669 | - z-index: @zindexDropdown; |
1670 | - display: none; // none by default, but block on "open" of the menu |
1671 | - float: left; |
1672 | - min-width: 160px; |
1673 | - padding: 5px 0; |
1674 | - margin: 2px 0 0; // override default ul |
1675 | - list-style: none; |
1676 | - background-color: @dropdownBackground; |
1677 | - border: 1px solid #ccc; // Fallback for IE7-8 |
1678 | - border: 1px solid @dropdownBorder; |
1679 | - *border-right-width: 2px; |
1680 | - *border-bottom-width: 2px; |
1681 | - .border-radius(6px); |
1682 | - .box-shadow(0 5px 10px rgba(0,0,0,.2)); |
1683 | - -webkit-background-clip: padding-box; |
1684 | - -moz-background-clip: padding; |
1685 | - background-clip: padding-box; |
1686 | - |
1687 | - // Aligns the dropdown menu to right |
1688 | - &.pull-right { |
1689 | - right: 0; |
1690 | - left: auto; |
1691 | - } |
1692 | - |
1693 | - // Dividers (basically an hr) within the dropdown |
1694 | - .divider { |
1695 | - .nav-divider(@dropdownDividerTop, @dropdownDividerBottom); |
1696 | - } |
1697 | - |
1698 | - // Links within the dropdown menu |
1699 | - li > a { |
1700 | - display: block; |
1701 | - padding: 3px 20px; |
1702 | - clear: both; |
1703 | - font-weight: normal; |
1704 | - line-height: @baseLineHeight; |
1705 | - color: @dropdownLinkColor; |
1706 | - white-space: nowrap; |
1707 | - } |
1708 | -} |
1709 | - |
1710 | -// Hover state |
1711 | -// ----------- |
1712 | -.dropdown-menu li > a:hover, |
1713 | -.dropdown-menu li > a:focus, |
1714 | -.dropdown-submenu:hover > a { |
1715 | - text-decoration: none; |
1716 | - color: @dropdownLinkColorHover; |
1717 | - #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); |
1718 | -} |
1719 | - |
1720 | -// Active state |
1721 | -// ------------ |
1722 | -.dropdown-menu .active > a, |
1723 | -.dropdown-menu .active > a:hover { |
1724 | - color: @dropdownLinkColorActive; |
1725 | - text-decoration: none; |
1726 | - outline: 0; |
1727 | - #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); |
1728 | -} |
1729 | - |
1730 | -// Disabled state |
1731 | -// -------------- |
1732 | -// Gray out text and ensure the hover state remains gray |
1733 | -.dropdown-menu .disabled > a, |
1734 | -.dropdown-menu .disabled > a:hover { |
1735 | - color: @grayLight; |
1736 | -} |
1737 | -// Nuke hover effects |
1738 | -.dropdown-menu .disabled > a:hover { |
1739 | - text-decoration: none; |
1740 | - background-color: transparent; |
1741 | - background-image: none; // Remove CSS gradient |
1742 | - .reset-filter(); |
1743 | - cursor: default; |
1744 | -} |
1745 | - |
1746 | -// Open state for the dropdown |
1747 | -// --------------------------- |
1748 | -.open { |
1749 | - // IE7's z-index only goes to the nearest positioned ancestor, which would |
1750 | - // make the menu appear below buttons that appeared later on the page |
1751 | - *z-index: @zindexDropdown; |
1752 | - |
1753 | - & > .dropdown-menu { |
1754 | - display: block; |
1755 | - } |
1756 | -} |
1757 | - |
1758 | -// Right aligned dropdowns |
1759 | -// --------------------------- |
1760 | -.pull-right > .dropdown-menu { |
1761 | - right: 0; |
1762 | - left: auto; |
1763 | -} |
1764 | - |
1765 | -// Allow for dropdowns to go bottom up (aka, dropup-menu) |
1766 | -// ------------------------------------------------------ |
1767 | -// Just add .dropup after the standard .dropdown class and you're set, bro. |
1768 | -// TODO: abstract this so that the navbar fixed styles are not placed here? |
1769 | -.dropup, |
1770 | -.navbar-fixed-bottom .dropdown { |
1771 | - // Reverse the caret |
1772 | - .caret { |
1773 | - border-top: 0; |
1774 | - border-bottom: 4px solid @black; |
1775 | - content: ""; |
1776 | - } |
1777 | - // Different positioning for bottom up menu |
1778 | - .dropdown-menu { |
1779 | - top: auto; |
1780 | - bottom: 100%; |
1781 | - margin-bottom: 1px; |
1782 | - } |
1783 | -} |
1784 | - |
1785 | -// Sub menus |
1786 | -// --------------------------- |
1787 | -.dropdown-submenu { |
1788 | - position: relative; |
1789 | -} |
1790 | -// Default dropdowns |
1791 | -.dropdown-submenu > .dropdown-menu { |
1792 | - top: 0; |
1793 | - left: 100%; |
1794 | - margin-top: -6px; |
1795 | - margin-left: -1px; |
1796 | - .border-radius(0 6px 6px 6px); |
1797 | -} |
1798 | -.dropdown-submenu:hover > .dropdown-menu { |
1799 | - display: block; |
1800 | -} |
1801 | - |
1802 | -// Dropups |
1803 | -.dropup .dropdown-submenu > .dropdown-menu { |
1804 | - top: auto; |
1805 | - bottom: 0; |
1806 | - margin-top: 0; |
1807 | - margin-bottom: -2px; |
1808 | - .border-radius(5px 5px 5px 0); |
1809 | -} |
1810 | - |
1811 | -// Caret to indicate there is a submenu |
1812 | -.dropdown-submenu > a:after { |
1813 | - display: block; |
1814 | - content: " "; |
1815 | - float: right; |
1816 | - width: 0; |
1817 | - height: 0; |
1818 | - border-color: transparent; |
1819 | - border-style: solid; |
1820 | - border-width: 5px 0 5px 5px; |
1821 | - border-left-color: darken(@dropdownBackground, 20%); |
1822 | - margin-top: 5px; |
1823 | - margin-right: -10px; |
1824 | -} |
1825 | -.dropdown-submenu:hover > a:after { |
1826 | - border-left-color: @dropdownLinkColorHover; |
1827 | -} |
1828 | - |
1829 | -// Left aligned submenus |
1830 | -.dropdown-submenu.pull-left { |
1831 | - // Undo the float |
1832 | - // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere. |
1833 | - float: none; |
1834 | - |
1835 | - // Positioning the submenu |
1836 | - > .dropdown-menu { |
1837 | - left: -100%; |
1838 | - margin-left: 10px; |
1839 | - .border-radius(6px 0 6px 6px); |
1840 | - } |
1841 | -} |
1842 | - |
1843 | -// Tweak nav headers |
1844 | -// ----------------- |
1845 | -// Increase padding from 15px to 20px on sides |
1846 | -.dropdown .dropdown-menu .nav-header { |
1847 | - padding-left: 20px; |
1848 | - padding-right: 20px; |
1849 | -} |
1850 | - |
1851 | -// Typeahead |
1852 | -// --------- |
1853 | -.typeahead { |
1854 | - z-index: 1051; |
1855 | - margin-top: 2px; // give it some space to breathe |
1856 | - .border-radius(@baseBorderRadius); |
1857 | -} |
1858 | |
1859 | === removed file 'charmworld/static/css/bootstrap/forms.less' |
1860 | --- charmworld/static/css/bootstrap/forms.less 2013-01-21 13:40:18 +0000 |
1861 | +++ charmworld/static/css/bootstrap/forms.less 1970-01-01 00:00:00 +0000 |
1862 | @@ -1,687 +0,0 @@ |
1863 | -// |
1864 | -// Forms |
1865 | -// -------------------------------------------------- |
1866 | - |
1867 | - |
1868 | -// GENERAL STYLES |
1869 | -// -------------- |
1870 | - |
1871 | -// Make all forms have space below them |
1872 | -form { |
1873 | - margin: 0 0 @baseLineHeight; |
1874 | -} |
1875 | - |
1876 | -fieldset { |
1877 | - padding: 0; |
1878 | - margin: 0; |
1879 | - border: 0; |
1880 | -} |
1881 | - |
1882 | -// Groups of fields with labels on top (legends) |
1883 | -legend { |
1884 | - display: block; |
1885 | - width: 100%; |
1886 | - padding: 0; |
1887 | - margin-bottom: @baseLineHeight; |
1888 | - font-size: @baseFontSize * 1.5; |
1889 | - line-height: @baseLineHeight * 2; |
1890 | - color: @grayDark; |
1891 | - border: 0; |
1892 | - border-bottom: 1px solid #e5e5e5; |
1893 | - |
1894 | - // Small |
1895 | - small { |
1896 | - font-size: @baseLineHeight * .75; |
1897 | - color: @grayLight; |
1898 | - } |
1899 | -} |
1900 | - |
1901 | -// Set font for forms |
1902 | -label, |
1903 | -input, |
1904 | -button, |
1905 | -select, |
1906 | -textarea { |
1907 | - #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here |
1908 | -} |
1909 | -input, |
1910 | -button, |
1911 | -select, |
1912 | -textarea { |
1913 | - font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element) |
1914 | -} |
1915 | - |
1916 | -// Identify controls by their labels |
1917 | -label { |
1918 | - display: block; |
1919 | - margin-bottom: 5px; |
1920 | -} |
1921 | - |
1922 | -// Form controls |
1923 | -// ------------------------- |
1924 | - |
1925 | -// Shared size and type resets |
1926 | -select, |
1927 | -textarea, |
1928 | -input[type="text"], |
1929 | -input[type="password"], |
1930 | -input[type="datetime"], |
1931 | -input[type="datetime-local"], |
1932 | -input[type="date"], |
1933 | -input[type="month"], |
1934 | -input[type="time"], |
1935 | -input[type="week"], |
1936 | -input[type="number"], |
1937 | -input[type="email"], |
1938 | -input[type="url"], |
1939 | -input[type="search"], |
1940 | -input[type="tel"], |
1941 | -input[type="color"], |
1942 | -.uneditable-input { |
1943 | - display: inline-block; |
1944 | - height: @baseLineHeight; |
1945 | - padding: 4px 6px; |
1946 | - margin-bottom: @baseLineHeight / 2; |
1947 | - font-size: @baseFontSize; |
1948 | - line-height: @baseLineHeight; |
1949 | - color: @gray; |
1950 | - .border-radius(@inputBorderRadius); |
1951 | - vertical-align: middle; |
1952 | -} |
1953 | - |
1954 | -// Reset appearance properties for textual inputs and textarea |
1955 | -// Declare width for legacy (can't be on input[type=*] selectors or it's too specific) |
1956 | -input, |
1957 | -textarea, |
1958 | -.uneditable-input { |
1959 | - width: 206px; // plus 12px padding and 2px border |
1960 | -} |
1961 | -// Reset height since textareas have rows |
1962 | -textarea { |
1963 | - height: auto; |
1964 | -} |
1965 | -// Everything else |
1966 | -textarea, |
1967 | -input[type="text"], |
1968 | -input[type="password"], |
1969 | -input[type="datetime"], |
1970 | -input[type="datetime-local"], |
1971 | -input[type="date"], |
1972 | -input[type="month"], |
1973 | -input[type="time"], |
1974 | -input[type="week"], |
1975 | -input[type="number"], |
1976 | -input[type="email"], |
1977 | -input[type="url"], |
1978 | -input[type="search"], |
1979 | -input[type="tel"], |
1980 | -input[type="color"], |
1981 | -.uneditable-input { |
1982 | - background-color: @inputBackground; |
1983 | - border: 1px solid @inputBorder; |
1984 | - .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); |
1985 | - .transition(~"border linear .2s, box-shadow linear .2s"); |
1986 | - |
1987 | - // Focus state |
1988 | - &:focus { |
1989 | - border-color: rgba(82,168,236,.8); |
1990 | - outline: 0; |
1991 | - outline: thin dotted \9; /* IE6-9 */ |
1992 | - .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)"); |
1993 | - } |
1994 | -} |
1995 | - |
1996 | -// Position radios and checkboxes better |
1997 | -input[type="radio"], |
1998 | -input[type="checkbox"] { |
1999 | - margin: 4px 0 0; |
2000 | - *margin-top: 0; /* IE7 */ |
2001 | - margin-top: 1px \9; /* IE8-9 */ |
2002 | - line-height: normal; |
2003 | -} |
2004 | - |
2005 | -// Reset width of input images, buttons, radios, checkboxes |
2006 | -input[type="file"], |
2007 | -input[type="image"], |
2008 | -input[type="submit"], |
2009 | -input[type="reset"], |
2010 | -input[type="button"], |
2011 | -input[type="radio"], |
2012 | -input[type="checkbox"] { |
2013 | - width: auto; // Override of generic input selector |
2014 | -} |
2015 | - |
2016 | -// Set the height of select and file controls to match text inputs |
2017 | -select, |
2018 | -input[type="file"] { |
2019 | - height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */ |
2020 | - *margin-top: 4px; /* For IE7, add top margin to align select with labels */ |
2021 | - line-height: @inputHeight; |
2022 | -} |
2023 | - |
2024 | -// Make select elements obey height by applying a border |
2025 | -select { |
2026 | - width: 220px; // default input width + 10px of padding that doesn't get applied |
2027 | - border: 1px solid @inputBorder; |
2028 | - background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color |
2029 | -} |
2030 | - |
2031 | -// Make multiple select elements height not fixed |
2032 | -select[multiple], |
2033 | -select[size] { |
2034 | - height: auto; |
2035 | -} |
2036 | - |
2037 | -// Focus for select, file, radio, and checkbox |
2038 | -select:focus, |
2039 | -input[type="file"]:focus, |
2040 | -input[type="radio"]:focus, |
2041 | -input[type="checkbox"]:focus { |
2042 | - .tab-focus(); |
2043 | -} |
2044 | - |
2045 | - |
2046 | -// Uneditable inputs |
2047 | -// ------------------------- |
2048 | - |
2049 | -// Make uneditable inputs look inactive |
2050 | -.uneditable-input, |
2051 | -.uneditable-textarea { |
2052 | - color: @grayLight; |
2053 | - background-color: darken(@inputBackground, 1%); |
2054 | - border-color: @inputBorder; |
2055 | - .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); |
2056 | - cursor: not-allowed; |
2057 | -} |
2058 | - |
2059 | -// For text that needs to appear as an input but should not be an input |
2060 | -.uneditable-input { |
2061 | - overflow: hidden; // prevent text from wrapping, but still cut it off like an input does |
2062 | - white-space: nowrap; |
2063 | -} |
2064 | - |
2065 | -// Make uneditable textareas behave like a textarea |
2066 | -.uneditable-textarea { |
2067 | - width: auto; |
2068 | - height: auto; |
2069 | -} |
2070 | - |
2071 | - |
2072 | -// Placeholder |
2073 | -// ------------------------- |
2074 | - |
2075 | -// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector |
2076 | -input, |
2077 | -textarea { |
2078 | - .placeholder(); |
2079 | -} |
2080 | - |
2081 | - |
2082 | -// CHECKBOXES & RADIOS |
2083 | -// ------------------- |
2084 | - |
2085 | -// Indent the labels to position radios/checkboxes as hanging |
2086 | -.radio, |
2087 | -.checkbox { |
2088 | - min-height: @baseLineHeight; // clear the floating input if there is no label text |
2089 | - padding-left: 20px; |
2090 | -} |
2091 | -.radio input[type="radio"], |
2092 | -.checkbox input[type="checkbox"] { |
2093 | - float: left; |
2094 | - margin-left: -20px; |
2095 | -} |
2096 | - |
2097 | -// Move the options list down to align with labels |
2098 | -.controls > .radio:first-child, |
2099 | -.controls > .checkbox:first-child { |
2100 | - padding-top: 5px; // has to be padding because margin collaspes |
2101 | -} |
2102 | - |
2103 | -// Radios and checkboxes on same line |
2104 | -// TODO v3: Convert .inline to .control-inline |
2105 | -.radio.inline, |
2106 | -.checkbox.inline { |
2107 | - display: inline-block; |
2108 | - padding-top: 5px; |
2109 | - margin-bottom: 0; |
2110 | - vertical-align: middle; |
2111 | -} |
2112 | -.radio.inline + .radio.inline, |
2113 | -.checkbox.inline + .checkbox.inline { |
2114 | - margin-left: 10px; // space out consecutive inline controls |
2115 | -} |
2116 | - |
2117 | - |
2118 | - |
2119 | -// INPUT SIZES |
2120 | -// ----------- |
2121 | - |
2122 | -// General classes for quick sizes |
2123 | -.input-mini { width: 60px; } |
2124 | -.input-small { width: 90px; } |
2125 | -.input-medium { width: 150px; } |
2126 | -.input-large { width: 210px; } |
2127 | -.input-xlarge { width: 270px; } |
2128 | -.input-xxlarge { width: 530px; } |
2129 | - |
2130 | -// Grid style input sizes |
2131 | -input[class*="span"], |
2132 | -select[class*="span"], |
2133 | -textarea[class*="span"], |
2134 | -.uneditable-input[class*="span"], |
2135 | -// Redeclare since the fluid row class is more specific |
2136 | -.row-fluid input[class*="span"], |
2137 | -.row-fluid select[class*="span"], |
2138 | -.row-fluid textarea[class*="span"], |
2139 | -.row-fluid .uneditable-input[class*="span"] { |
2140 | - float: none; |
2141 | - margin-left: 0; |
2142 | -} |
2143 | -// Ensure input-prepend/append never wraps |
2144 | -.input-append input[class*="span"], |
2145 | -.input-append .uneditable-input[class*="span"], |
2146 | -.input-prepend input[class*="span"], |
2147 | -.input-prepend .uneditable-input[class*="span"], |
2148 | -.row-fluid input[class*="span"], |
2149 | -.row-fluid select[class*="span"], |
2150 | -.row-fluid textarea[class*="span"], |
2151 | -.row-fluid .uneditable-input[class*="span"], |
2152 | -.row-fluid .input-prepend [class*="span"], |
2153 | -.row-fluid .input-append [class*="span"] { |
2154 | - display: inline-block; |
2155 | -} |
2156 | - |
2157 | - |
2158 | - |
2159 | -// GRID SIZING FOR INPUTS |
2160 | -// ---------------------- |
2161 | - |
2162 | -// Grid sizes |
2163 | -#grid > .input(@gridColumnWidth, @gridGutterWidth); |
2164 | - |
2165 | -// Control row for multiple inputs per line |
2166 | -.controls-row { |
2167 | - .clearfix(); // Clear the float from controls |
2168 | -} |
2169 | - |
2170 | -// Float to collapse white-space for proper grid alignment |
2171 | -.controls-row [class*="span"], |
2172 | -// Redeclare the fluid grid collapse since we undo the float for inputs |
2173 | -.row-fluid .controls-row [class*="span"] { |
2174 | - float: left; |
2175 | -} |
2176 | -// Explicity set top padding on all checkboxes/radios, not just first-child |
2177 | -.controls-row .checkbox[class*="span"], |
2178 | -.controls-row .radio[class*="span"] { |
2179 | - padding-top: 5px; |
2180 | -} |
2181 | - |
2182 | - |
2183 | - |
2184 | - |
2185 | -// DISABLED STATE |
2186 | -// -------------- |
2187 | - |
2188 | -// Disabled and read-only inputs |
2189 | -input[disabled], |
2190 | -select[disabled], |
2191 | -textarea[disabled], |
2192 | -input[readonly], |
2193 | -select[readonly], |
2194 | -textarea[readonly] { |
2195 | - cursor: not-allowed; |
2196 | - background-color: @inputDisabledBackground; |
2197 | -} |
2198 | -// Explicitly reset the colors here |
2199 | -input[type="radio"][disabled], |
2200 | -input[type="checkbox"][disabled], |
2201 | -input[type="radio"][readonly], |
2202 | -input[type="checkbox"][readonly] { |
2203 | - background-color: transparent; |
2204 | -} |
2205 | - |
2206 | - |
2207 | - |
2208 | - |
2209 | -// FORM FIELD FEEDBACK STATES |
2210 | -// -------------------------- |
2211 | - |
2212 | -// Warning |
2213 | -.control-group.warning { |
2214 | - .formFieldState(@warningText, @warningText, @warningBackground); |
2215 | -} |
2216 | -// Error |
2217 | -.control-group.error { |
2218 | - .formFieldState(@errorText, @errorText, @errorBackground); |
2219 | -} |
2220 | -// Success |
2221 | -.control-group.success { |
2222 | - .formFieldState(@successText, @successText, @successBackground); |
2223 | -} |
2224 | -// Success |
2225 | -.control-group.info { |
2226 | - .formFieldState(@infoText, @infoText, @infoBackground); |
2227 | -} |
2228 | - |
2229 | -// HTML5 invalid states |
2230 | -// Shares styles with the .control-group.error above |
2231 | -input:focus:invalid, |
2232 | -textarea:focus:invalid, |
2233 | -select:focus:invalid { |
2234 | - color: #b94a48; |
2235 | - border-color: #ee5f5b; |
2236 | - &:focus { |
2237 | - border-color: darken(#ee5f5b, 10%); |
2238 | - @shadow: 0 0 6px lighten(#ee5f5b, 20%); |
2239 | - .box-shadow(@shadow); |
2240 | - } |
2241 | -} |
2242 | - |
2243 | - |
2244 | - |
2245 | -// FORM ACTIONS |
2246 | -// ------------ |
2247 | - |
2248 | -.form-actions { |
2249 | - padding: (@baseLineHeight - 1) 20px @baseLineHeight; |
2250 | - margin-top: @baseLineHeight; |
2251 | - margin-bottom: @baseLineHeight; |
2252 | - background-color: @formActionsBackground; |
2253 | - border-top: 1px solid #e5e5e5; |
2254 | - .clearfix(); // Adding clearfix to allow for .pull-right button containers |
2255 | -} |
2256 | - |
2257 | - |
2258 | - |
2259 | -// HELP TEXT |
2260 | -// --------- |
2261 | - |
2262 | -.help-block, |
2263 | -.help-inline { |
2264 | - color: lighten(@textColor, 15%); // lighten the text some for contrast |
2265 | -} |
2266 | - |
2267 | -.help-block { |
2268 | - display: block; // account for any element using help-block |
2269 | - margin-bottom: @baseLineHeight / 2; |
2270 | -} |
2271 | - |
2272 | -.help-inline { |
2273 | - display: inline-block; |
2274 | - .ie7-inline-block(); |
2275 | - vertical-align: middle; |
2276 | - padding-left: 5px; |
2277 | -} |
2278 | - |
2279 | - |
2280 | - |
2281 | -// INPUT GROUPS |
2282 | -// ------------ |
2283 | - |
2284 | -// Allow us to put symbols and text within the input field for a cleaner look |
2285 | -.input-append, |
2286 | -.input-prepend { |
2287 | - margin-bottom: 5px; |
2288 | - font-size: 0; // white space collapse hack |
2289 | - white-space: nowrap; // Prevent span and input from separating |
2290 | - |
2291 | - // Reset the white space collapse hack |
2292 | - input, |
2293 | - select, |
2294 | - .uneditable-input, |
2295 | - .dropdown-menu { |
2296 | - font-size: @baseFontSize; |
2297 | - } |
2298 | - |
2299 | - input, |
2300 | - select, |
2301 | - .uneditable-input { |
2302 | - 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 |
2303 | - margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms |
2304 | - *margin-left: 0; |
2305 | - vertical-align: top; |
2306 | - .border-radius(0 @inputBorderRadius @inputBorderRadius 0); |
2307 | - // Make input on top when focused so blue border and shadow always show |
2308 | - &:focus { |
2309 | - z-index: 2; |
2310 | - } |
2311 | - } |
2312 | - .add-on { |
2313 | - display: inline-block; |
2314 | - width: auto; |
2315 | - height: @baseLineHeight; |
2316 | - min-width: 16px; |
2317 | - padding: 4px 5px; |
2318 | - font-size: @baseFontSize; |
2319 | - font-weight: normal; |
2320 | - line-height: @baseLineHeight; |
2321 | - text-align: center; |
2322 | - text-shadow: 0 1px 0 @white; |
2323 | - background-color: @grayLighter; |
2324 | - border: 1px solid #ccc; |
2325 | - } |
2326 | - .add-on, |
2327 | - .btn, |
2328 | - .btn-group > .dropdown-toggle { |
2329 | - vertical-align: top; |
2330 | - .border-radius(0); |
2331 | - } |
2332 | - .active { |
2333 | - background-color: lighten(@green, 30); |
2334 | - border-color: @green; |
2335 | - } |
2336 | -} |
2337 | - |
2338 | -.input-prepend { |
2339 | - .add-on, |
2340 | - .btn { |
2341 | - margin-right: -1px; |
2342 | - } |
2343 | - .add-on:first-child, |
2344 | - .btn:first-child { |
2345 | - // FYI, `.btn:first-child` accounts for a button group that's prepended |
2346 | - .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); |
2347 | - } |
2348 | -} |
2349 | - |
2350 | -.input-append { |
2351 | - input, |
2352 | - select, |
2353 | - .uneditable-input { |
2354 | - .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); |
2355 | - + .btn-group .btn:last-child { |
2356 | - .border-radius(0 @inputBorderRadius @inputBorderRadius 0); |
2357 | - } |
2358 | - } |
2359 | - .add-on, |
2360 | - .btn, |
2361 | - .btn-group { |
2362 | - margin-left: -1px; |
2363 | - } |
2364 | - .add-on:last-child, |
2365 | - .btn:last-child, |
2366 | - .btn-group:last-child > .dropdown-toggle { |
2367 | - .border-radius(0 @inputBorderRadius @inputBorderRadius 0); |
2368 | - } |
2369 | -} |
2370 | - |
2371 | -// Remove all border-radius for inputs with both prepend and append |
2372 | -.input-prepend.input-append { |
2373 | - input, |
2374 | - select, |
2375 | - .uneditable-input { |
2376 | - .border-radius(0); |
2377 | - + .btn-group .btn { |
2378 | - .border-radius(0 @inputBorderRadius @inputBorderRadius 0); |
2379 | - } |
2380 | - } |
2381 | - .add-on:first-child, |
2382 | - .btn:first-child { |
2383 | - margin-right: -1px; |
2384 | - .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); |
2385 | - } |
2386 | - .add-on:last-child, |
2387 | - .btn:last-child { |
2388 | - margin-left: -1px; |
2389 | - .border-radius(0 @inputBorderRadius @inputBorderRadius 0); |
2390 | - } |
2391 | - .btn-group:first-child { |
2392 | - margin-left: 0; |
2393 | - } |
2394 | -} |
2395 | - |
2396 | - |
2397 | - |
2398 | - |
2399 | -// SEARCH FORM |
2400 | -// ----------- |
2401 | - |
2402 | -input.search-query { |
2403 | - padding-right: 14px; |
2404 | - padding-right: 4px \9; |
2405 | - padding-left: 14px; |
2406 | - padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ |
2407 | - margin-bottom: 0; // Remove the default margin on all inputs |
2408 | - .border-radius(15px); |
2409 | -} |
2410 | - |
2411 | -/* Allow for input prepend/append in search forms */ |
2412 | -.form-search .input-append .search-query, |
2413 | -.form-search .input-prepend .search-query { |
2414 | - .border-radius(0); // Override due to specificity |
2415 | -} |
2416 | -.form-search .input-append .search-query { |
2417 | - .border-radius(14px 0 0 14px); |
2418 | -} |
2419 | -.form-search .input-append .btn { |
2420 | - .border-radius(0 14px 14px 0); |
2421 | -} |
2422 | -.form-search .input-prepend .search-query { |
2423 | - .border-radius(0 14px 14px 0); |
2424 | -} |
2425 | -.form-search .input-prepend .btn { |
2426 | - .border-radius(14px 0 0 14px); |
2427 | -} |
2428 | - |
2429 | - |
2430 | - |
2431 | - |
2432 | -// HORIZONTAL & VERTICAL FORMS |
2433 | -// --------------------------- |
2434 | - |
2435 | -// Common properties |
2436 | -// ----------------- |
2437 | - |
2438 | -.form-search, |
2439 | -.form-inline, |
2440 | -.form-horizontal { |
2441 | - input, |
2442 | - textarea, |
2443 | - select, |
2444 | - .help-inline, |
2445 | - .uneditable-input, |
2446 | - .input-prepend, |
2447 | - .input-append { |
2448 | - display: inline-block; |
2449 | - .ie7-inline-block(); |
2450 | - margin-bottom: 0; |
2451 | - vertical-align: middle; |
2452 | - } |
2453 | - // Re-hide hidden elements due to specifity |
2454 | - .hide { |
2455 | - display: none; |
2456 | - } |
2457 | -} |
2458 | -.form-search label, |
2459 | -.form-inline label, |
2460 | -.form-search .btn-group, |
2461 | -.form-inline .btn-group { |
2462 | - display: inline-block; |
2463 | -} |
2464 | -// Remove margin for input-prepend/-append |
2465 | -.form-search .input-append, |
2466 | -.form-inline .input-append, |
2467 | -.form-search .input-prepend, |
2468 | -.form-inline .input-prepend { |
2469 | - margin-bottom: 0; |
2470 | -} |
2471 | -// Inline checkbox/radio labels (remove padding on left) |
2472 | -.form-search .radio, |
2473 | -.form-search .checkbox, |
2474 | -.form-inline .radio, |
2475 | -.form-inline .checkbox { |
2476 | - padding-left: 0; |
2477 | - margin-bottom: 0; |
2478 | - vertical-align: middle; |
2479 | -} |
2480 | -// Remove float and margin, set to inline-block |
2481 | -.form-search .radio input[type="radio"], |
2482 | -.form-search .checkbox input[type="checkbox"], |
2483 | -.form-inline .radio input[type="radio"], |
2484 | -.form-inline .checkbox input[type="checkbox"] { |
2485 | - float: left; |
2486 | - margin-right: 3px; |
2487 | - margin-left: 0; |
2488 | -} |
2489 | - |
2490 | - |
2491 | -// Margin to space out fieldsets |
2492 | -.control-group { |
2493 | - margin-bottom: @baseLineHeight / 2; |
2494 | -} |
2495 | - |
2496 | -// Legend collapses margin, so next element is responsible for spacing |
2497 | -legend + .control-group { |
2498 | - margin-top: @baseLineHeight; |
2499 | - -webkit-margin-top-collapse: separate; |
2500 | -} |
2501 | - |
2502 | -// Horizontal-specific styles |
2503 | -// -------------------------- |
2504 | - |
2505 | -.form-horizontal { |
2506 | - // Increase spacing between groups |
2507 | - .control-group { |
2508 | - margin-bottom: @baseLineHeight; |
2509 | - .clearfix(); |
2510 | - } |
2511 | - // Float the labels left |
2512 | - .control-label { |
2513 | - float: left; |
2514 | - width: @horizontalComponentOffset - 20; |
2515 | - padding-top: 5px; |
2516 | - text-align: right; |
2517 | - } |
2518 | - // Move over all input controls and content |
2519 | - .controls { |
2520 | - // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend |
2521 | - // don't inherit the margin of the parent, in this case .controls |
2522 | - *display: inline-block; |
2523 | - *padding-left: 20px; |
2524 | - margin-left: @horizontalComponentOffset; |
2525 | - *margin-left: 0; |
2526 | - &:first-child { |
2527 | - *padding-left: @horizontalComponentOffset; |
2528 | - } |
2529 | - } |
2530 | - // Remove bottom margin on block level help text since that's accounted for on .control-group |
2531 | - .help-block { |
2532 | - margin-bottom: 0; |
2533 | - } |
2534 | - // And apply it only to .help-block instances that follow a form control |
2535 | - input, |
2536 | - select, |
2537 | - textarea, |
2538 | - .uneditable-input, |
2539 | - .input-prepend, |
2540 | - .input-append { |
2541 | - + .help-block { |
2542 | - margin-top: @baseLineHeight / 2; |
2543 | - } |
2544 | - } |
2545 | - // Move over buttons in .form-actions to align with .controls |
2546 | - .form-actions { |
2547 | - padding-left: @horizontalComponentOffset; |
2548 | - } |
2549 | -} |
2550 | |
2551 | === removed file 'charmworld/static/css/bootstrap/grid.less' |
2552 | --- charmworld/static/css/bootstrap/grid.less 2013-01-21 13:40:18 +0000 |
2553 | +++ charmworld/static/css/bootstrap/grid.less 1970-01-01 00:00:00 +0000 |
2554 | @@ -1,21 +0,0 @@ |
2555 | -// |
2556 | -// Grid system |
2557 | -// -------------------------------------------------- |
2558 | - |
2559 | - |
2560 | -// Fixed (940px) |
2561 | -#grid > .core(@gridColumnWidth, @gridGutterWidth); |
2562 | - |
2563 | -// Fluid (940px) |
2564 | -#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); |
2565 | - |
2566 | -// Reset utility classes due to specificity |
2567 | -[class*="span"].hide, |
2568 | -.row-fluid [class*="span"].hide { |
2569 | - display: none; |
2570 | -} |
2571 | - |
2572 | -[class*="span"].pull-right, |
2573 | -.row-fluid [class*="span"].pull-right { |
2574 | - float: right; |
2575 | -} |
2576 | |
2577 | === removed file 'charmworld/static/css/bootstrap/hero-unit.less' |
2578 | --- charmworld/static/css/bootstrap/hero-unit.less 2013-01-21 13:40:18 +0000 |
2579 | +++ charmworld/static/css/bootstrap/hero-unit.less 1970-01-01 00:00:00 +0000 |
2580 | @@ -1,25 +0,0 @@ |
2581 | -// |
2582 | -// Hero unit |
2583 | -// -------------------------------------------------- |
2584 | - |
2585 | - |
2586 | -.hero-unit { |
2587 | - padding: 60px; |
2588 | - margin-bottom: 30px; |
2589 | - font-size: 18px; |
2590 | - font-weight: 200; |
2591 | - line-height: @baseLineHeight * 1.5; |
2592 | - color: @heroUnitLeadColor; |
2593 | - background-color: @heroUnitBackground; |
2594 | - .border-radius(6px); |
2595 | - h1 { |
2596 | - margin-bottom: 0; |
2597 | - font-size: 60px; |
2598 | - line-height: 1; |
2599 | - color: @heroUnitHeadingColor; |
2600 | - letter-spacing: -1px; |
2601 | - } |
2602 | - li { |
2603 | - line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less |
2604 | - } |
2605 | -} |
2606 | |
2607 | === removed file 'charmworld/static/css/bootstrap/labels-badges.less' |
2608 | --- charmworld/static/css/bootstrap/labels-badges.less 2013-01-21 13:40:18 +0000 |
2609 | +++ charmworld/static/css/bootstrap/labels-badges.less 1970-01-01 00:00:00 +0000 |
2610 | @@ -1,82 +0,0 @@ |
2611 | -// |
2612 | -// Labels and badges |
2613 | -// -------------------------------------------------- |
2614 | - |
2615 | - |
2616 | -// Base classes |
2617 | -.label, |
2618 | -.badge { |
2619 | - display: inline-block; |
2620 | - padding: 2px 4px; |
2621 | - font-size: @baseFontSize * .846; |
2622 | - font-weight: bold; |
2623 | - line-height: 14px; // ensure proper line-height if floated |
2624 | - color: @white; |
2625 | - vertical-align: baseline; |
2626 | - white-space: nowrap; |
2627 | - text-shadow: 0 -1px 0 rgba(0,0,0,.25); |
2628 | - background-color: @grayLight; |
2629 | -} |
2630 | -// Set unique padding and border-radii |
2631 | -.label { |
2632 | - .border-radius(3px); |
2633 | -} |
2634 | -.badge { |
2635 | - padding-left: 9px; |
2636 | - padding-right: 9px; |
2637 | - .border-radius(9px); |
2638 | -} |
2639 | - |
2640 | -// Empty labels/badges collapse |
2641 | -.label, |
2642 | -.badge { |
2643 | - &:empty { |
2644 | - display: none; |
2645 | - } |
2646 | -} |
2647 | - |
2648 | -// Hover state, but only for links |
2649 | -a { |
2650 | - &.label:hover, |
2651 | - &.badge:hover { |
2652 | - color: @white; |
2653 | - text-decoration: none; |
2654 | - cursor: pointer; |
2655 | - } |
2656 | -} |
2657 | - |
2658 | -// Colors |
2659 | -// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) |
2660 | -.label, |
2661 | -.badge { |
2662 | - // Important (red) |
2663 | - &-important { background-color: @errorText; } |
2664 | - &-important[href] { background-color: darken(@errorText, 10%); } |
2665 | - // Warnings (orange) |
2666 | - &-warning { background-color: @orange; } |
2667 | - &-warning[href] { background-color: darken(@orange, 10%); } |
2668 | - // Success (green) |
2669 | - &-success { background-color: @successText; } |
2670 | - &-success[href] { background-color: darken(@successText, 10%); } |
2671 | - // Info (turquoise) |
2672 | - &-info { background-color: @infoText; } |
2673 | - &-info[href] { background-color: darken(@infoText, 10%); } |
2674 | - // Inverse (black) |
2675 | - &-inverse { background-color: @grayDark; } |
2676 | - &-inverse[href] { background-color: darken(@grayDark, 10%); } |
2677 | -} |
2678 | - |
2679 | -// Quick fix for labels/badges in buttons |
2680 | -.btn { |
2681 | - .label, |
2682 | - .badge { |
2683 | - position: relative; |
2684 | - top: -1px; |
2685 | - } |
2686 | -} |
2687 | -.btn-mini { |
2688 | - .label, |
2689 | - .badge { |
2690 | - top: 0; |
2691 | - } |
2692 | -} |
2693 | |
2694 | === removed file 'charmworld/static/css/bootstrap/layouts.less' |
2695 | --- charmworld/static/css/bootstrap/layouts.less 2013-01-21 13:40:18 +0000 |
2696 | +++ charmworld/static/css/bootstrap/layouts.less 1970-01-01 00:00:00 +0000 |
2697 | @@ -1,16 +0,0 @@ |
2698 | -// |
2699 | -// Layouts |
2700 | -// -------------------------------------------------- |
2701 | - |
2702 | - |
2703 | -// Container (centered, fixed-width layouts) |
2704 | -.container { |
2705 | - .container-fixed(); |
2706 | -} |
2707 | - |
2708 | -// Fluid layouts (left aligned, with sidebar, min- & max-width content) |
2709 | -.container-fluid { |
2710 | - padding-right: @gridGutterWidth; |
2711 | - padding-left: @gridGutterWidth; |
2712 | - .clearfix(); |
2713 | -} |
2714 | \ No newline at end of file |
2715 | |
2716 | === removed file 'charmworld/static/css/bootstrap/media.less' |
2717 | --- charmworld/static/css/bootstrap/media.less 2013-01-21 13:40:18 +0000 |
2718 | +++ charmworld/static/css/bootstrap/media.less 1970-01-01 00:00:00 +0000 |
2719 | @@ -1,55 +0,0 @@ |
2720 | -// Media objects |
2721 | -// Source: http://stubbornella.org/content/?p=497 |
2722 | -// -------------------------------------------------- |
2723 | - |
2724 | - |
2725 | -// Common styles |
2726 | -// ------------------------- |
2727 | - |
2728 | -// Clear the floats |
2729 | -.media, |
2730 | -.media-body { |
2731 | - overflow: hidden; |
2732 | - *overflow: visible; |
2733 | - zoom: 1; |
2734 | -} |
2735 | - |
2736 | -// Proper spacing between instances of .media |
2737 | -.media, |
2738 | -.media .media { |
2739 | - margin-top: 15px; |
2740 | -} |
2741 | -.media:first-child { |
2742 | - margin-top: 0; |
2743 | -} |
2744 | - |
2745 | -// For images and videos, set to block |
2746 | -.media-object { |
2747 | - display: block; |
2748 | -} |
2749 | - |
2750 | -// Reset margins on headings for tighter default spacing |
2751 | -.media-heading { |
2752 | - margin: 0 0 5px; |
2753 | -} |
2754 | - |
2755 | - |
2756 | -// Media image alignment |
2757 | -// ------------------------- |
2758 | - |
2759 | -.media .pull-left { |
2760 | - margin-right: 10px; |
2761 | -} |
2762 | -.media .pull-right { |
2763 | - margin-left: 10px; |
2764 | -} |
2765 | - |
2766 | - |
2767 | -// Media list variation |
2768 | -// ------------------------- |
2769 | - |
2770 | -// Undo default ul/ol styles |
2771 | -.media-list { |
2772 | - margin-left: 0; |
2773 | - list-style: none; |
2774 | -} |
2775 | |
2776 | === removed file 'charmworld/static/css/bootstrap/mixins.less' |
2777 | --- charmworld/static/css/bootstrap/mixins.less 2013-01-21 13:40:18 +0000 |
2778 | +++ charmworld/static/css/bootstrap/mixins.less 1970-01-01 00:00:00 +0000 |
2779 | @@ -1,686 +0,0 @@ |
2780 | -// |
2781 | -// Mixins |
2782 | -// -------------------------------------------------- |
2783 | - |
2784 | - |
2785 | -// UTILITY MIXINS |
2786 | -// -------------------------------------------------- |
2787 | - |
2788 | -// Clearfix |
2789 | -// -------- |
2790 | -// For clearing floats like a boss h5bp.com/q |
2791 | -.clearfix { |
2792 | - *zoom: 1; |
2793 | - &:before, |
2794 | - &:after { |
2795 | - display: table; |
2796 | - content: ""; |
2797 | - // Fixes Opera/contenteditable bug: |
2798 | - // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952 |
2799 | - line-height: 0; |
2800 | - } |
2801 | - &:after { |
2802 | - clear: both; |
2803 | - } |
2804 | -} |
2805 | - |
2806 | -// Webkit-style focus |
2807 | -// ------------------ |
2808 | -.tab-focus() { |
2809 | - // Default |
2810 | - outline: thin dotted #333; |
2811 | - // Webkit |
2812 | - outline: 5px auto -webkit-focus-ring-color; |
2813 | - outline-offset: -2px; |
2814 | -} |
2815 | - |
2816 | -// Center-align a block level element |
2817 | -// ---------------------------------- |
2818 | -.center-block() { |
2819 | - display: block; |
2820 | - margin-left: auto; |
2821 | - margin-right: auto; |
2822 | -} |
2823 | - |
2824 | -// IE7 inline-block |
2825 | -// ---------------- |
2826 | -.ie7-inline-block() { |
2827 | - *display: inline; /* IE7 inline-block hack */ |
2828 | - *zoom: 1; |
2829 | -} |
2830 | - |
2831 | -// IE7 likes to collapse whitespace on either side of the inline-block elements. |
2832 | -// Ems because we're attempting to match the width of a space character. Left |
2833 | -// version is for form buttons, which typically come after other elements, and |
2834 | -// right version is for icons, which come before. Applying both is ok, but it will |
2835 | -// mean that space between those elements will be .6em (~2 space characters) in IE7, |
2836 | -// instead of the 1 space in other browsers. |
2837 | -.ie7-restore-left-whitespace() { |
2838 | - *margin-left: .3em; |
2839 | - |
2840 | - &:first-child { |
2841 | - *margin-left: 0; |
2842 | - } |
2843 | -} |
2844 | - |
2845 | -.ie7-restore-right-whitespace() { |
2846 | - *margin-right: .3em; |
2847 | -} |
2848 | - |
2849 | -// Sizing shortcuts |
2850 | -// ------------------------- |
2851 | -.size(@height, @width) { |
2852 | - width: @width; |
2853 | - height: @height; |
2854 | -} |
2855 | -.square(@size) { |
2856 | - .size(@size, @size); |
2857 | -} |
2858 | - |
2859 | -// Placeholder text |
2860 | -// ------------------------- |
2861 | -.placeholder(@color: @placeholderText) { |
2862 | - &:-moz-placeholder { |
2863 | - color: @color; |
2864 | - } |
2865 | - &:-ms-input-placeholder { |
2866 | - color: @color; |
2867 | - } |
2868 | - &::-webkit-input-placeholder { |
2869 | - color: @color; |
2870 | - } |
2871 | -} |
2872 | - |
2873 | -// Text overflow |
2874 | -// ------------------------- |
2875 | -// Requires inline-block or block for proper styling |
2876 | -.text-overflow() { |
2877 | - overflow: hidden; |
2878 | - text-overflow: ellipsis; |
2879 | - white-space: nowrap; |
2880 | -} |
2881 | - |
2882 | -// CSS image replacement |
2883 | -// ------------------------- |
2884 | -// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 |
2885 | -.hide-text { |
2886 | - font: 0/0 a; |
2887 | - color: transparent; |
2888 | - text-shadow: none; |
2889 | - background-color: transparent; |
2890 | - border: 0; |
2891 | -} |
2892 | - |
2893 | - |
2894 | -// FONTS |
2895 | -// -------------------------------------------------- |
2896 | - |
2897 | -#font { |
2898 | - #family { |
2899 | - .serif() { |
2900 | - font-family: @serifFontFamily; |
2901 | - } |
2902 | - .sans-serif() { |
2903 | - font-family: @sansFontFamily; |
2904 | - } |
2905 | - .monospace() { |
2906 | - font-family: @monoFontFamily; |
2907 | - } |
2908 | - } |
2909 | - .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { |
2910 | - font-size: @size; |
2911 | - font-weight: @weight; |
2912 | - line-height: @lineHeight; |
2913 | - } |
2914 | - .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { |
2915 | - #font > #family > .serif; |
2916 | - #font > .shorthand(@size, @weight, @lineHeight); |
2917 | - } |
2918 | - .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { |
2919 | - #font > #family > .sans-serif; |
2920 | - #font > .shorthand(@size, @weight, @lineHeight); |
2921 | - } |
2922 | - .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { |
2923 | - #font > #family > .monospace; |
2924 | - #font > .shorthand(@size, @weight, @lineHeight); |
2925 | - } |
2926 | -} |
2927 | - |
2928 | - |
2929 | -// FORMS |
2930 | -// -------------------------------------------------- |
2931 | - |
2932 | -// Block level inputs |
2933 | -.input-block-level { |
2934 | - display: block; |
2935 | - width: 100%; |
2936 | - min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border) |
2937 | - .box-sizing(border-box); // Makes inputs behave like true block-level elements |
2938 | -} |
2939 | - |
2940 | - |
2941 | - |
2942 | -// Mixin for form field states |
2943 | -.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { |
2944 | - // Set the text color |
2945 | - .control-label, |
2946 | - .help-block, |
2947 | - .help-inline { |
2948 | - color: @textColor; |
2949 | - } |
2950 | - // Style inputs accordingly |
2951 | - .checkbox, |
2952 | - .radio, |
2953 | - input, |
2954 | - select, |
2955 | - textarea { |
2956 | - color: @textColor; |
2957 | - } |
2958 | - input, |
2959 | - select, |
2960 | - textarea { |
2961 | - border-color: @borderColor; |
2962 | - .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work |
2963 | - &:focus { |
2964 | - border-color: darken(@borderColor, 10%); |
2965 | - @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%); |
2966 | - .box-shadow(@shadow); |
2967 | - } |
2968 | - } |
2969 | - // Give a small background color for input-prepend/-append |
2970 | - .input-prepend .add-on, |
2971 | - .input-append .add-on { |
2972 | - color: @textColor; |
2973 | - background-color: @backgroundColor; |
2974 | - border-color: @textColor; |
2975 | - } |
2976 | -} |
2977 | - |
2978 | - |
2979 | - |
2980 | -// CSS3 PROPERTIES |
2981 | -// -------------------------------------------------- |
2982 | - |
2983 | -// Border Radius |
2984 | -.border-radius(@radius) { |
2985 | - -webkit-border-radius: @radius; |
2986 | - -moz-border-radius: @radius; |
2987 | - border-radius: @radius; |
2988 | -} |
2989 | - |
2990 | -// Single Corner Border Radius |
2991 | -.border-top-left-radius(@radius) { |
2992 | - -webkit-border-top-left-radius: @radius; |
2993 | - -moz-border-radius-topleft: @radius; |
2994 | - border-top-left-radius: @radius; |
2995 | -} |
2996 | -.border-top-right-radius(@radius) { |
2997 | - -webkit-border-top-right-radius: @radius; |
2998 | - -moz-border-radius-topright: @radius; |
2999 | - border-top-right-radius: @radius; |
3000 | -} |
3001 | -.border-bottom-right-radius(@radius) { |
3002 | - -webkit-border-bottom-right-radius: @radius; |
3003 | - -moz-border-radius-bottomright: @radius; |
3004 | - border-bottom-right-radius: @radius; |
3005 | -} |
3006 | -.border-bottom-left-radius(@radius) { |
3007 | - -webkit-border-bottom-left-radius: @radius; |
3008 | - -moz-border-radius-bottomleft: @radius; |
3009 | - border-bottom-left-radius: @radius; |
3010 | -} |
3011 | - |
3012 | -// Single Side Border Radius |
3013 | -.border-top-radius(@radius) { |
3014 | - .border-top-right-radius(@radius); |
3015 | - .border-top-left-radius(@radius); |
3016 | -} |
3017 | -.border-right-radius(@radius) { |
3018 | - .border-top-right-radius(@radius); |
3019 | - .border-bottom-right-radius(@radius); |
3020 | -} |
3021 | -.border-bottom-radius(@radius) { |
3022 | - .border-bottom-right-radius(@radius); |
3023 | - .border-bottom-left-radius(@radius); |
3024 | -} |
3025 | -.border-left-radius(@radius) { |
3026 | - .border-top-left-radius(@radius); |
3027 | - .border-bottom-left-radius(@radius); |
3028 | -} |
3029 | - |
3030 | -// Drop shadows |
3031 | -.box-shadow(@shadow) { |
3032 | - -webkit-box-shadow: @shadow; |
3033 | - -moz-box-shadow: @shadow; |
3034 | - box-shadow: @shadow; |
3035 | -} |
3036 | - |
3037 | -// Transitions |
3038 | -.transition(@transition) { |
3039 | - -webkit-transition: @transition; |
3040 | - -moz-transition: @transition; |
3041 | - -o-transition: @transition; |
3042 | - transition: @transition; |
3043 | -} |
3044 | -.transition-delay(@transition-delay) { |
3045 | - -webkit-transition-delay: @transition-delay; |
3046 | - -moz-transition-delay: @transition-delay; |
3047 | - -o-transition-delay: @transition-delay; |
3048 | - transition-delay: @transition-delay; |
3049 | -} |
3050 | - |
3051 | -// Transformations |
3052 | -.rotate(@degrees) { |
3053 | - -webkit-transform: rotate(@degrees); |
3054 | - -moz-transform: rotate(@degrees); |
3055 | - -ms-transform: rotate(@degrees); |
3056 | - -o-transform: rotate(@degrees); |
3057 | - transform: rotate(@degrees); |
3058 | -} |
3059 | -.scale(@ratio) { |
3060 | - -webkit-transform: scale(@ratio); |
3061 | - -moz-transform: scale(@ratio); |
3062 | - -ms-transform: scale(@ratio); |
3063 | - -o-transform: scale(@ratio); |
3064 | - transform: scale(@ratio); |
3065 | -} |
3066 | -.translate(@x, @y) { |
3067 | - -webkit-transform: translate(@x, @y); |
3068 | - -moz-transform: translate(@x, @y); |
3069 | - -ms-transform: translate(@x, @y); |
3070 | - -o-transform: translate(@x, @y); |
3071 | - transform: translate(@x, @y); |
3072 | -} |
3073 | -.skew(@x, @y) { |
3074 | - -webkit-transform: skew(@x, @y); |
3075 | - -moz-transform: skew(@x, @y); |
3076 | - -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885 |
3077 | - -o-transform: skew(@x, @y); |
3078 | - transform: skew(@x, @y); |
3079 | - -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319 |
3080 | -} |
3081 | -.translate3d(@x, @y, @z) { |
3082 | - -webkit-transform: translate3d(@x, @y, @z); |
3083 | - -moz-transform: translate3d(@x, @y, @z); |
3084 | - -o-transform: translate3d(@x, @y, @z); |
3085 | - transform: translate3d(@x, @y, @z); |
3086 | -} |
3087 | - |
3088 | -// Backface visibility |
3089 | -// Prevent browsers from flickering when using CSS 3D transforms. |
3090 | -// Default value is `visible`, but can be changed to `hidden |
3091 | -// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples |
3092 | -.backface-visibility(@visibility){ |
3093 | - -webkit-backface-visibility: @visibility; |
3094 | - -moz-backface-visibility: @visibility; |
3095 | - backface-visibility: @visibility; |
3096 | -} |
3097 | - |
3098 | -// Background clipping |
3099 | -// Heads up: FF 3.6 and under need "padding" instead of "padding-box" |
3100 | -.background-clip(@clip) { |
3101 | - -webkit-background-clip: @clip; |
3102 | - -moz-background-clip: @clip; |
3103 | - background-clip: @clip; |
3104 | -} |
3105 | - |
3106 | -// Background sizing |
3107 | -.background-size(@size) { |
3108 | - -webkit-background-size: @size; |
3109 | - -moz-background-size: @size; |
3110 | - -o-background-size: @size; |
3111 | - background-size: @size; |
3112 | -} |
3113 | - |
3114 | - |
3115 | -// Box sizing |
3116 | -.box-sizing(@boxmodel) { |
3117 | - -webkit-box-sizing: @boxmodel; |
3118 | - -moz-box-sizing: @boxmodel; |
3119 | - box-sizing: @boxmodel; |
3120 | -} |
3121 | - |
3122 | -// User select |
3123 | -// For selecting text on the page |
3124 | -.user-select(@select) { |
3125 | - -webkit-user-select: @select; |
3126 | - -moz-user-select: @select; |
3127 | - -ms-user-select: @select; |
3128 | - -o-user-select: @select; |
3129 | - user-select: @select; |
3130 | -} |
3131 | - |
3132 | -// Resize anything |
3133 | -.resizable(@direction) { |
3134 | - resize: @direction; // Options: horizontal, vertical, both |
3135 | - overflow: auto; // Safari fix |
3136 | -} |
3137 | - |
3138 | -// CSS3 Content Columns |
3139 | -.content-columns(@columnCount, @columnGap: @gridGutterWidth) { |
3140 | - -webkit-column-count: @columnCount; |
3141 | - -moz-column-count: @columnCount; |
3142 | - column-count: @columnCount; |
3143 | - -webkit-column-gap: @columnGap; |
3144 | - -moz-column-gap: @columnGap; |
3145 | - column-gap: @columnGap; |
3146 | -} |
3147 | - |
3148 | -// Optional hyphenation |
3149 | -.hyphens(@mode: auto) { |
3150 | - word-wrap: break-word; |
3151 | - -webkit-hyphens: @mode; |
3152 | - -moz-hyphens: @mode; |
3153 | - -ms-hyphens: @mode; |
3154 | - -o-hyphens: @mode; |
3155 | - hyphens: @mode; |
3156 | -} |
3157 | - |
3158 | -// Opacity |
3159 | -.opacity(@opacity) { |
3160 | - opacity: @opacity / 100; |
3161 | - filter: ~"alpha(opacity=@{opacity})"; |
3162 | -} |
3163 | - |
3164 | - |
3165 | - |
3166 | -// BACKGROUNDS |
3167 | -// -------------------------------------------------- |
3168 | - |
3169 | -// Add an alphatransparency value to any background or border color (via Elyse Holladay) |
3170 | -#translucent { |
3171 | - .background(@color: @white, @alpha: 1) { |
3172 | - background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); |
3173 | - } |
3174 | - .border(@color: @white, @alpha: 1) { |
3175 | - border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); |
3176 | - .background-clip(padding-box); |
3177 | - } |
3178 | -} |
3179 | - |
3180 | -// Gradient Bar Colors for buttons and alerts |
3181 | -.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { |
3182 | - color: @textColor; |
3183 | - text-shadow: @textShadow; |
3184 | - #gradient > .vertical(@primaryColor, @secondaryColor); |
3185 | - border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); |
3186 | - border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); |
3187 | -} |
3188 | - |
3189 | -// Gradients |
3190 | -#gradient { |
3191 | - .horizontal(@startColor: #555, @endColor: #333) { |
3192 | - background-color: @endColor; |
3193 | - background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ |
3194 | - background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ |
3195 | - background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ |
3196 | - background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 |
3197 | - background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10 |
3198 | - background-repeat: repeat-x; |
3199 | - filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down |
3200 | - } |
3201 | - .vertical(@startColor: #555, @endColor: #333) { |
3202 | - background-color: mix(@startColor, @endColor, 60%); |
3203 | - background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ |
3204 | - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ |
3205 | - background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ |
3206 | - background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 |
3207 | - background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10 |
3208 | - background-repeat: repeat-x; |
3209 | - filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down |
3210 | - } |
3211 | - .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { |
3212 | - background-color: @endColor; |
3213 | - background-repeat: repeat-x; |
3214 | - background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ |
3215 | - background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ |
3216 | - background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 |
3217 | - background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10 |
3218 | - } |
3219 | - .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { |
3220 | - background-color: mix(@midColor, @endColor, 80%); |
3221 | - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); |
3222 | - background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); |
3223 | - background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); |
3224 | - background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); |
3225 | - background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); |
3226 | - background-repeat: no-repeat; |
3227 | - 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 |
3228 | - } |
3229 | - .radial(@innerColor: #555, @outerColor: #333) { |
3230 | - background-color: @outerColor; |
3231 | - background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); |
3232 | - background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); |
3233 | - background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); |
3234 | - background-image: -o-radial-gradient(circle, @innerColor, @outerColor); |
3235 | - background-repeat: no-repeat; |
3236 | - } |
3237 | - .striped(@color: #555, @angle: 45deg) { |
3238 | - background-color: @color; |
3239 | - 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)); |
3240 | - 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); |
3241 | - 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); |
3242 | - 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); |
3243 | - 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); |
3244 | - } |
3245 | -} |
3246 | -// Reset filters for IE |
3247 | -.reset-filter() { |
3248 | - filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); |
3249 | -} |
3250 | - |
3251 | - |
3252 | - |
3253 | -// COMPONENT MIXINS |
3254 | -// -------------------------------------------------- |
3255 | - |
3256 | -// Horizontal dividers |
3257 | -// ------------------------- |
3258 | -// Dividers (basically an hr) within dropdowns and nav lists |
3259 | -.nav-divider(@top: #e5e5e5, @bottom: @white) { |
3260 | - // IE7 needs a set width since we gave a height. Restricting just |
3261 | - // to IE7 to keep the 1px left/right space in other browsers. |
3262 | - // It is unclear where IE is getting the extra space that we need |
3263 | - // to negative-margin away, but so it goes. |
3264 | - *width: 100%; |
3265 | - height: 1px; |
3266 | - margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px |
3267 | - *margin: -5px 0 5px; |
3268 | - overflow: hidden; |
3269 | - background-color: @top; |
3270 | - border-bottom: 1px solid @bottom; |
3271 | -} |
3272 | - |
3273 | -// Button backgrounds |
3274 | -// ------------------ |
3275 | -.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { |
3276 | - // gradientBar will set the background to a pleasing blend of these, to support IE<=9 |
3277 | - .gradientBar(@startColor, @endColor, @textColor, @textShadow); |
3278 | - *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ |
3279 | - .reset-filter(); |
3280 | - |
3281 | - // in these cases the gradient won't cover the background, so we override |
3282 | - &:hover, &:active, &.active, &.disabled, &[disabled] { |
3283 | - color: @textColor; |
3284 | - background-color: @endColor; |
3285 | - *background-color: darken(@endColor, 5%); |
3286 | - } |
3287 | - |
3288 | - // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves |
3289 | - &:active, |
3290 | - &.active { |
3291 | - background-color: darken(@endColor, 10%) e("\9"); |
3292 | - } |
3293 | -} |
3294 | - |
3295 | -// Navbar vertical align |
3296 | -// ------------------------- |
3297 | -// Vertically center elements in the navbar. |
3298 | -// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin. |
3299 | -.navbarVerticalAlign(@elementHeight) { |
3300 | - margin-top: (@navbarHeight - @elementHeight) / 2; |
3301 | -} |
3302 | - |
3303 | - |
3304 | - |
3305 | -// Grid System |
3306 | -// ----------- |
3307 | - |
3308 | -// Centered container element |
3309 | -.container-fixed() { |
3310 | - margin-right: auto; |
3311 | - margin-left: auto; |
3312 | - .clearfix(); |
3313 | -} |
3314 | - |
3315 | -// Table columns |
3316 | -.tableColumns(@columnSpan: 1) { |
3317 | - float: none; // undo default grid column styles |
3318 | - width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells |
3319 | - margin-left: 0; // undo default grid column styles |
3320 | -} |
3321 | - |
3322 | -// Make a Grid |
3323 | -// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior |
3324 | -.makeRow() { |
3325 | - margin-left: @gridGutterWidth * -1; |
3326 | - .clearfix(); |
3327 | -} |
3328 | -.makeColumn(@columns: 1, @offset: 0) { |
3329 | - float: left; |
3330 | - margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2); |
3331 | - width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); |
3332 | -} |
3333 | - |
3334 | -// The Grid |
3335 | -#grid { |
3336 | - |
3337 | - .core (@gridColumnWidth, @gridGutterWidth) { |
3338 | - |
3339 | - .spanX (@index) when (@index > 0) { |
3340 | - (~".span@{index}") { .span(@index); } |
3341 | - .spanX(@index - 1); |
3342 | - } |
3343 | - .spanX (0) {} |
3344 | - |
3345 | - .offsetX (@index) when (@index > 0) { |
3346 | - (~".offset@{index}") { .offset(@index); } |
3347 | - .offsetX(@index - 1); |
3348 | - } |
3349 | - .offsetX (0) {} |
3350 | - |
3351 | - .offset (@columns) { |
3352 | - margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1)); |
3353 | - } |
3354 | - |
3355 | - .span (@columns) { |
3356 | - width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); |
3357 | - } |
3358 | - |
3359 | - .row { |
3360 | - margin-left: @gridGutterWidth * -1; |
3361 | - .clearfix(); |
3362 | - } |
3363 | - |
3364 | - [class*="span"] { |
3365 | - float: left; |
3366 | - min-height: 1px; // prevent collapsing columns |
3367 | - margin-left: @gridGutterWidth; |
3368 | - } |
3369 | - |
3370 | - // Set the container width, and override it for fixed navbars in media queries |
3371 | - .container, |
3372 | - .navbar-static-top .container, |
3373 | - .navbar-fixed-top .container, |
3374 | - .navbar-fixed-bottom .container { .span(@gridColumns); } |
3375 | - |
3376 | - // generate .spanX and .offsetX |
3377 | - .spanX (@gridColumns); |
3378 | - .offsetX (@gridColumns); |
3379 | - |
3380 | - } |
3381 | - |
3382 | - .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) { |
3383 | - |
3384 | - .spanX (@index) when (@index > 0) { |
3385 | - (~".span@{index}") { .span(@index); } |
3386 | - .spanX(@index - 1); |
3387 | - } |
3388 | - .spanX (0) {} |
3389 | - |
3390 | - .offsetX (@index) when (@index > 0) { |
3391 | - (~'.offset@{index}') { .offset(@index); } |
3392 | - (~'.offset@{index}:first-child') { .offsetFirstChild(@index); } |
3393 | - .offsetX(@index - 1); |
3394 | - } |
3395 | - .offsetX (0) {} |
3396 | - |
3397 | - .offset (@columns) { |
3398 | - margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2); |
3399 | - *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%); |
3400 | - } |
3401 | - |
3402 | - .offsetFirstChild (@columns) { |
3403 | - margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth); |
3404 | - *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); |
3405 | - } |
3406 | - |
3407 | - .span (@columns) { |
3408 | - width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); |
3409 | - *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%); |
3410 | - } |
3411 | - |
3412 | - .row-fluid { |
3413 | - width: 100%; |
3414 | - .clearfix(); |
3415 | - [class*="span"] { |
3416 | - .input-block-level(); |
3417 | - float: left; |
3418 | - margin-left: @fluidGridGutterWidth; |
3419 | - *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); |
3420 | - } |
3421 | - [class*="span"]:first-child { |
3422 | - margin-left: 0; |
3423 | - } |
3424 | - |
3425 | - // Space grid-sized controls properly if multiple per line |
3426 | - .controls-row [class*="span"] + [class*="span"] { |
3427 | - margin-left: @fluidGridGutterWidth; |
3428 | - } |
3429 | - |
3430 | - // generate .spanX and .offsetX |
3431 | - .spanX (@gridColumns); |
3432 | - .offsetX (@gridColumns); |
3433 | - } |
3434 | - |
3435 | - } |
3436 | - |
3437 | - .input(@gridColumnWidth, @gridGutterWidth) { |
3438 | - |
3439 | - .spanX (@index) when (@index > 0) { |
3440 | - (~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); } |
3441 | - .spanX(@index - 1); |
3442 | - } |
3443 | - .spanX (0) {} |
3444 | - |
3445 | - .span(@columns) { |
3446 | - width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14; |
3447 | - } |
3448 | - |
3449 | - input, |
3450 | - textarea, |
3451 | - .uneditable-input { |
3452 | - margin-left: 0; // override margin-left from core grid system |
3453 | - } |
3454 | - |
3455 | - // Space grid-sized controls properly if multiple per line |
3456 | - .controls-row [class*="span"] + [class*="span"] { |
3457 | - margin-left: @gridGutterWidth; |
3458 | - } |
3459 | - |
3460 | - // generate .spanX |
3461 | - .spanX (@gridColumns); |
3462 | - |
3463 | - } |
3464 | - |
3465 | -} |
3466 | |
3467 | === removed file 'charmworld/static/css/bootstrap/modals.less' |
3468 | --- charmworld/static/css/bootstrap/modals.less 2013-01-21 13:40:18 +0000 |
3469 | +++ charmworld/static/css/bootstrap/modals.less 1970-01-01 00:00:00 +0000 |
3470 | @@ -1,95 +0,0 @@ |
3471 | -// |
3472 | -// Modals |
3473 | -// -------------------------------------------------- |
3474 | - |
3475 | -// Background |
3476 | -.modal-backdrop { |
3477 | - position: fixed; |
3478 | - top: 0; |
3479 | - right: 0; |
3480 | - bottom: 0; |
3481 | - left: 0; |
3482 | - z-index: @zindexModalBackdrop; |
3483 | - background-color: @black; |
3484 | - // Fade for backdrop |
3485 | - &.fade { opacity: 0; } |
3486 | -} |
3487 | - |
3488 | -.modal-backdrop, |
3489 | -.modal-backdrop.fade.in { |
3490 | - .opacity(80); |
3491 | -} |
3492 | - |
3493 | -// Base modal |
3494 | -.modal { |
3495 | - position: fixed; |
3496 | - top: 10%; |
3497 | - left: 50%; |
3498 | - z-index: @zindexModal; |
3499 | - width: 560px; |
3500 | - margin-left: -280px; |
3501 | - background-color: @white; |
3502 | - border: 1px solid #999; |
3503 | - border: 1px solid rgba(0,0,0,.3); |
3504 | - *border: 1px solid #999; /* IE6-7 */ |
3505 | - .border-radius(6px); |
3506 | - .box-shadow(0 3px 7px rgba(0,0,0,0.3)); |
3507 | - .background-clip(padding-box); |
3508 | - // Remove focus outline from opened modal |
3509 | - outline: none; |
3510 | - |
3511 | - &.fade { |
3512 | - .transition(e('opacity .3s linear, top .3s ease-out')); |
3513 | - top: -25%; |
3514 | - } |
3515 | - &.fade.in { top: 10%; } |
3516 | -} |
3517 | -.modal-header { |
3518 | - padding: 9px 15px; |
3519 | - border-bottom: 1px solid #eee; |
3520 | - // Close icon |
3521 | - .close { margin-top: 2px; } |
3522 | - // Heading |
3523 | - h3 { |
3524 | - margin: 0; |
3525 | - line-height: 30px; |
3526 | - } |
3527 | -} |
3528 | - |
3529 | -// Body (where all modal content resides) |
3530 | -.modal-body { |
3531 | - position: relative; |
3532 | - overflow-y: auto; |
3533 | - max-height: 400px; |
3534 | - padding: 15px; |
3535 | -} |
3536 | -// Remove bottom margin if need be |
3537 | -.modal-form { |
3538 | - margin-bottom: 0; |
3539 | -} |
3540 | - |
3541 | -// Footer (for actions) |
3542 | -.modal-footer { |
3543 | - padding: 14px 15px 15px; |
3544 | - margin-bottom: 0; |
3545 | - text-align: right; // right align buttons |
3546 | - background-color: #f5f5f5; |
3547 | - border-top: 1px solid #ddd; |
3548 | - .border-radius(0 0 6px 6px); |
3549 | - .box-shadow(inset 0 1px 0 @white); |
3550 | - .clearfix(); // clear it in case folks use .pull-* classes on buttons |
3551 | - |
3552 | - // Properly space out buttons |
3553 | - .btn + .btn { |
3554 | - margin-left: 5px; |
3555 | - margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs |
3556 | - } |
3557 | - // but override that for button groups |
3558 | - .btn-group .btn + .btn { |
3559 | - margin-left: -1px; |
3560 | - } |
3561 | - // and override it for block buttons as well |
3562 | - .btn-block + .btn-block { |
3563 | - margin-left: 0; |
3564 | - } |
3565 | -} |
3566 | |
3567 | === removed file 'charmworld/static/css/bootstrap/navbar.less' |
3568 | --- charmworld/static/css/bootstrap/navbar.less 2013-01-21 13:40:18 +0000 |
3569 | +++ charmworld/static/css/bootstrap/navbar.less 1970-01-01 00:00:00 +0000 |
3570 | @@ -1,490 +0,0 @@ |
3571 | -// |
3572 | -// Navbars (Redux) |
3573 | -// -------------------------------------------------- |
3574 | - |
3575 | - |
3576 | -// COMMON STYLES |
3577 | -// ------------- |
3578 | - |
3579 | -// Base class and wrapper |
3580 | -.navbar { |
3581 | - overflow: visible; |
3582 | - margin-bottom: @baseLineHeight; |
3583 | - |
3584 | - // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar |
3585 | - *position: relative; |
3586 | - *z-index: 2; |
3587 | -} |
3588 | - |
3589 | -// Inner for background effects |
3590 | -// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present |
3591 | -.navbar-inner { |
3592 | - min-height: @navbarHeight; |
3593 | - padding-left: 20px; |
3594 | - padding-right: 20px; |
3595 | - #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); |
3596 | - border: 1px solid @navbarBorder; |
3597 | - .border-radius(@baseBorderRadius); |
3598 | - .box-shadow(0 1px 4px rgba(0,0,0,.065)); |
3599 | - |
3600 | - // Prevent floats from breaking the navbar |
3601 | - .clearfix(); |
3602 | -} |
3603 | - |
3604 | -// Set width to auto for default container |
3605 | -// We then reset it for fixed navbars in the #gridSystem mixin |
3606 | -.navbar .container { |
3607 | - width: auto; |
3608 | -} |
3609 | - |
3610 | -// Override the default collapsed state |
3611 | -.nav-collapse.collapse { |
3612 | - height: auto; |
3613 | - overflow: visible; |
3614 | -} |
3615 | - |
3616 | - |
3617 | -// Brand: website or project name |
3618 | -// ------------------------- |
3619 | -.navbar .brand { |
3620 | - float: left; |
3621 | - display: block; |
3622 | - // Vertically center the text given @navbarHeight |
3623 | - padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2); |
3624 | - margin-left: -20px; // negative indent to left-align the text down the page |
3625 | - font-size: 20px; |
3626 | - font-weight: 200; |
3627 | - color: @navbarBrandColor; |
3628 | - text-shadow: 0 1px 0 @navbarBackgroundHighlight; |
3629 | - &:hover { |
3630 | - text-decoration: none; |
3631 | - } |
3632 | -} |
3633 | - |
3634 | -// Plain text in topbar |
3635 | -// ------------------------- |
3636 | -.navbar-text { |
3637 | - margin-bottom: 0; |
3638 | - line-height: @navbarHeight; |
3639 | - color: @navbarText; |
3640 | -} |
3641 | - |
3642 | -// Janky solution for now to account for links outside the .nav |
3643 | -// ------------------------- |
3644 | -.navbar-link { |
3645 | - color: @navbarLinkColor; |
3646 | - &:hover { |
3647 | - color: @navbarLinkColorHover; |
3648 | - } |
3649 | -} |
3650 | - |
3651 | -// Dividers in navbar |
3652 | -// ------------------------- |
3653 | -.navbar .divider-vertical { |
3654 | - height: @navbarHeight; |
3655 | - margin: 0 9px; |
3656 | - border-left: 1px solid @navbarBackground; |
3657 | - border-right: 1px solid @navbarBackgroundHighlight; |
3658 | -} |
3659 | - |
3660 | -// Buttons in navbar |
3661 | -// ------------------------- |
3662 | -.navbar .btn, |
3663 | -.navbar .btn-group { |
3664 | - .navbarVerticalAlign(30px); // Vertically center in navbar |
3665 | -} |
3666 | -.navbar .btn-group .btn, |
3667 | -.navbar .input-prepend .btn, |
3668 | -.navbar .input-append .btn { |
3669 | - margin-top: 0; // then undo the margin here so we don't accidentally double it |
3670 | -} |
3671 | - |
3672 | -// Navbar forms |
3673 | -// ------------------------- |
3674 | -.navbar-form { |
3675 | - margin-bottom: 0; // remove default bottom margin |
3676 | - .clearfix(); |
3677 | - input, |
3678 | - select, |
3679 | - .radio, |
3680 | - .checkbox { |
3681 | - .navbarVerticalAlign(30px); // Vertically center in navbar |
3682 | - } |
3683 | - input, |
3684 | - select, |
3685 | - .btn { |
3686 | - display: inline-block; |
3687 | - margin-bottom: 0; |
3688 | - } |
3689 | - input[type="image"], |
3690 | - input[type="checkbox"], |
3691 | - input[type="radio"] { |
3692 | - margin-top: 3px; |
3693 | - } |
3694 | - .input-append, |
3695 | - .input-prepend { |
3696 | - margin-top: 5px; |
3697 | - white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left |
3698 | - input { |
3699 | - margin-top: 0; // remove the margin on top since it's on the parent |
3700 | - } |
3701 | - } |
3702 | -} |
3703 | - |
3704 | -// Navbar search |
3705 | -// ------------------------- |
3706 | -.navbar-search { |
3707 | - position: relative; |
3708 | - float: left; |
3709 | - .navbarVerticalAlign(30px); // Vertically center in navbar |
3710 | - margin-bottom: 0; |
3711 | - .search-query { |
3712 | - margin-bottom: 0; |
3713 | - padding: 4px 14px; |
3714 | - #font > .sans-serif(13px, normal, 1); |
3715 | - .border-radius(15px); // redeclare because of specificity of the type attribute |
3716 | - } |
3717 | -} |
3718 | - |
3719 | - |
3720 | - |
3721 | -// Static navbar |
3722 | -// ------------------------- |
3723 | - |
3724 | -.navbar-static-top { |
3725 | - position: static; |
3726 | - margin-bottom: 0; // remove 18px margin for default navbar |
3727 | - .navbar-inner { |
3728 | - .border-radius(0); |
3729 | - } |
3730 | -} |
3731 | - |
3732 | - |
3733 | - |
3734 | -// Fixed navbar |
3735 | -// ------------------------- |
3736 | - |
3737 | -// Shared (top/bottom) styles |
3738 | -.navbar-fixed-top, |
3739 | -.navbar-fixed-bottom { |
3740 | - position: fixed; |
3741 | - right: 0; |
3742 | - left: 0; |
3743 | - z-index: @zindexFixedNavbar; |
3744 | - margin-bottom: 0; // remove 18px margin for default navbar |
3745 | -} |
3746 | -.navbar-fixed-top .navbar-inner, |
3747 | -.navbar-static-top .navbar-inner { |
3748 | - border-width: 0 0 1px; |
3749 | -} |
3750 | -.navbar-fixed-bottom .navbar-inner { |
3751 | - border-width: 1px 0 0; |
3752 | -} |
3753 | -.navbar-fixed-top .navbar-inner, |
3754 | -.navbar-fixed-bottom .navbar-inner { |
3755 | - padding-left: 0; |
3756 | - padding-right: 0; |
3757 | - .border-radius(0); |
3758 | -} |
3759 | - |
3760 | -// Reset container width |
3761 | -// Required here as we reset the width earlier on and the grid mixins don't override early enough |
3762 | -.navbar-static-top .container, |
3763 | -.navbar-fixed-top .container, |
3764 | -.navbar-fixed-bottom .container { |
3765 | - #grid > .core > .span(@gridColumns); |
3766 | -} |
3767 | - |
3768 | -// Fixed to top |
3769 | -.navbar-fixed-top { |
3770 | - top: 0; |
3771 | -} |
3772 | -.navbar-fixed-top, |
3773 | -.navbar-static-top { |
3774 | - .navbar-inner { |
3775 | - .box-shadow(~"0 1px 10px rgba(0,0,0,.1)"); |
3776 | - } |
3777 | -} |
3778 | - |
3779 | -// Fixed to bottom |
3780 | -.navbar-fixed-bottom { |
3781 | - bottom: 0; |
3782 | - .navbar-inner { |
3783 | - .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)"); |
3784 | - } |
3785 | -} |
3786 | - |
3787 | - |
3788 | - |
3789 | -// NAVIGATION |
3790 | -// ---------- |
3791 | - |
3792 | -.navbar .nav { |
3793 | - position: relative; |
3794 | - left: 0; |
3795 | - display: block; |
3796 | - float: left; |
3797 | - margin: 0 10px 0 0; |
3798 | -} |
3799 | -.navbar .nav.pull-right { |
3800 | - float: right; // redeclare due to specificity |
3801 | - margin-right: 0; // remove margin on float right nav |
3802 | -} |
3803 | -.navbar .nav > li { |
3804 | - float: left; |
3805 | -} |
3806 | - |
3807 | -// Links |
3808 | -.navbar .nav > li > a { |
3809 | - float: none; |
3810 | - // Vertically center the text given @navbarHeight |
3811 | - padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2); |
3812 | - color: @navbarLinkColor; |
3813 | - text-decoration: none; |
3814 | - text-shadow: 0 1px 0 @navbarBackgroundHighlight; |
3815 | -} |
3816 | -.navbar .nav .dropdown-toggle .caret { |
3817 | - margin-top: 8px; |
3818 | - |
3819 | -} |
3820 | - |
3821 | -// Hover |
3822 | -.navbar .nav > li > a:focus, |
3823 | -.navbar .nav > li > a:hover { |
3824 | - background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active |
3825 | - color: @navbarLinkColorHover; |
3826 | - text-decoration: none; |
3827 | -} |
3828 | - |
3829 | -// Active nav items |
3830 | -.navbar .nav > .active > a, |
3831 | -.navbar .nav > .active > a:hover, |
3832 | -.navbar .nav > .active > a:focus { |
3833 | - color: @navbarLinkColorActive; |
3834 | - text-decoration: none; |
3835 | - background-color: @navbarLinkBackgroundActive; |
3836 | - .box-shadow(inset 0 3px 8px rgba(0,0,0,.125)); |
3837 | -} |
3838 | - |
3839 | -// Navbar button for toggling navbar items in responsive layouts |
3840 | -// These definitions need to come after '.navbar .btn' |
3841 | -.navbar .btn-navbar { |
3842 | - display: none; |
3843 | - float: right; |
3844 | - padding: 7px 10px; |
3845 | - margin-left: 5px; |
3846 | - margin-right: 5px; |
3847 | - .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%)); |
3848 | - .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)"); |
3849 | -} |
3850 | -.navbar .btn-navbar .icon-bar { |
3851 | - display: block; |
3852 | - width: 18px; |
3853 | - height: 2px; |
3854 | - background-color: #f5f5f5; |
3855 | - .border-radius(1px); |
3856 | - .box-shadow(0 1px 0 rgba(0,0,0,.25)); |
3857 | -} |
3858 | -.btn-navbar .icon-bar + .icon-bar { |
3859 | - margin-top: 3px; |
3860 | -} |
3861 | - |
3862 | - |
3863 | - |
3864 | -// Dropdown menus |
3865 | -// -------------- |
3866 | - |
3867 | -// Menu position and menu carets |
3868 | -.navbar .nav > li > .dropdown-menu { |
3869 | - &:before { |
3870 | - content: ''; |
3871 | - display: inline-block; |
3872 | - border-left: 7px solid transparent; |
3873 | - border-right: 7px solid transparent; |
3874 | - border-bottom: 7px solid #ccc; |
3875 | - border-bottom-color: @dropdownBorder; |
3876 | - position: absolute; |
3877 | - top: -7px; |
3878 | - left: 9px; |
3879 | - } |
3880 | - &:after { |
3881 | - content: ''; |
3882 | - display: inline-block; |
3883 | - border-left: 6px solid transparent; |
3884 | - border-right: 6px solid transparent; |
3885 | - border-bottom: 6px solid @dropdownBackground; |
3886 | - position: absolute; |
3887 | - top: -6px; |
3888 | - left: 10px; |
3889 | - } |
3890 | -} |
3891 | -// Menu position and menu caret support for dropups via extra dropup class |
3892 | -.navbar-fixed-bottom .nav > li > .dropdown-menu { |
3893 | - &:before { |
3894 | - border-top: 7px solid #ccc; |
3895 | - border-top-color: @dropdownBorder; |
3896 | - border-bottom: 0; |
3897 | - bottom: -7px; |
3898 | - top: auto; |
3899 | - } |
3900 | - &:after { |
3901 | - border-top: 6px solid @dropdownBackground; |
3902 | - border-bottom: 0; |
3903 | - bottom: -6px; |
3904 | - top: auto; |
3905 | - } |
3906 | -} |
3907 | - |
3908 | -// Caret should match text color on hover |
3909 | -.navbar .nav li.dropdown > a:hover .caret { |
3910 | - border-top-color: @navbarLinkColorActive; |
3911 | - border-bottom-color: @navbarLinkColorActive; |
3912 | -} |
3913 | - |
3914 | -// Remove background color from open dropdown |
3915 | -.navbar .nav li.dropdown.open > .dropdown-toggle, |
3916 | -.navbar .nav li.dropdown.active > .dropdown-toggle, |
3917 | -.navbar .nav li.dropdown.open.active > .dropdown-toggle { |
3918 | - background-color: @navbarLinkBackgroundActive; |
3919 | - color: @navbarLinkColorActive; |
3920 | -} |
3921 | -.navbar .nav li.dropdown > .dropdown-toggle .caret { |
3922 | - border-top-color: @navbarLinkColor; |
3923 | - border-bottom-color: @navbarLinkColor; |
3924 | -} |
3925 | -.navbar .nav li.dropdown.open > .dropdown-toggle .caret, |
3926 | -.navbar .nav li.dropdown.active > .dropdown-toggle .caret, |
3927 | -.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { |
3928 | - border-top-color: @navbarLinkColorActive; |
3929 | - border-bottom-color: @navbarLinkColorActive; |
3930 | -} |
3931 | - |
3932 | -// Right aligned menus need alt position |
3933 | -.navbar .pull-right > li > .dropdown-menu, |
3934 | -.navbar .nav > li > .dropdown-menu.pull-right { |
3935 | - left: auto; |
3936 | - right: 0; |
3937 | - &:before { |
3938 | - left: auto; |
3939 | - right: 12px; |
3940 | - } |
3941 | - &:after { |
3942 | - left: auto; |
3943 | - right: 13px; |
3944 | - } |
3945 | - .dropdown-menu { |
3946 | - left: auto; |
3947 | - right: 100%; |
3948 | - margin-left: 0; |
3949 | - margin-right: -1px; |
3950 | - .border-radius(6px 0 6px 6px); |
3951 | - } |
3952 | -} |
3953 | - |
3954 | - |
3955 | -// Inverted navbar |
3956 | -// ------------------------- |
3957 | - |
3958 | -.navbar-inverse { |
3959 | - |
3960 | - .navbar-inner { |
3961 | - #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground); |
3962 | - border-color: @navbarInverseBorder; |
3963 | - } |
3964 | - |
3965 | - .brand, |
3966 | - .nav > li > a { |
3967 | - color: @navbarInverseLinkColor; |
3968 | - text-shadow: 0 -1px 0 rgba(0,0,0,.25); |
3969 | - &:hover { |
3970 | - color: @navbarInverseLinkColorHover; |
3971 | - } |
3972 | - } |
3973 | - |
3974 | - .brand { |
3975 | - color: @navbarInverseBrandColor; |
3976 | - } |
3977 | - |
3978 | - .navbar-text { |
3979 | - color: @navbarInverseText; |
3980 | - } |
3981 | - |
3982 | - .nav > li > a:focus, |
3983 | - .nav > li > a:hover { |
3984 | - background-color: @navbarInverseLinkBackgroundHover; |
3985 | - color: @navbarInverseLinkColorHover; |
3986 | - } |
3987 | - |
3988 | - .nav .active > a, |
3989 | - .nav .active > a:hover, |
3990 | - .nav .active > a:focus { |
3991 | - color: @navbarInverseLinkColorActive; |
3992 | - background-color: @navbarInverseLinkBackgroundActive; |
3993 | - } |
3994 | - |
3995 | - // Inline text links |
3996 | - .navbar-link { |
3997 | - color: @navbarInverseLinkColor; |
3998 | - &:hover { |
3999 | - color: @navbarInverseLinkColorHover; |
4000 | - } |
4001 | - } |
4002 | - |
4003 | - // Dividers in navbar |
4004 | - .divider-vertical { |
4005 | - border-left-color: @navbarInverseBackground; |
4006 | - border-right-color: @navbarInverseBackgroundHighlight; |
4007 | - } |
4008 | - |
4009 | - // Dropdowns |
4010 | - .nav li.dropdown.open > .dropdown-toggle, |
4011 | - .nav li.dropdown.active > .dropdown-toggle, |
4012 | - .nav li.dropdown.open.active > .dropdown-toggle { |
4013 | - background-color: @navbarInverseLinkBackgroundActive; |
4014 | - color: @navbarInverseLinkColorActive; |
4015 | - } |
4016 | - .nav li.dropdown > a:hover .caret { |
4017 | - border-top-color: @navbarInverseLinkColorActive; |
4018 | - border-bottom-color: @navbarInverseLinkColorActive; |
4019 | - } |
4020 | - .nav li.dropdown > .dropdown-toggle .caret { |
4021 | - border-top-color: @navbarInverseLinkColor; |
4022 | - border-bottom-color: @navbarInverseLinkColor; |
4023 | - } |
4024 | - .nav li.dropdown.open > .dropdown-toggle .caret, |
4025 | - .nav li.dropdown.active > .dropdown-toggle .caret, |
4026 | - .nav li.dropdown.open.active > .dropdown-toggle .caret { |
4027 | - border-top-color: @navbarInverseLinkColorActive; |
4028 | - border-bottom-color: @navbarInverseLinkColorActive; |
4029 | - } |
4030 | - |
4031 | - // Navbar search |
4032 | - .navbar-search { |
4033 | - .search-query { |
4034 | - color: @white; |
4035 | - background-color: @navbarInverseSearchBackground; |
4036 | - border-color: @navbarInverseSearchBorder; |
4037 | - .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)"); |
4038 | - .transition(none); |
4039 | - .placeholder(@navbarInverseSearchPlaceholderColor); |
4040 | - |
4041 | - // Focus states (we use .focused since IE7-8 and down doesn't support :focus) |
4042 | - &:focus, |
4043 | - &.focused { |
4044 | - padding: 5px 15px; |
4045 | - color: @grayDark; |
4046 | - text-shadow: 0 1px 0 @white; |
4047 | - background-color: @navbarInverseSearchBackgroundFocus; |
4048 | - border: 0; |
4049 | - .box-shadow(0 0 3px rgba(0,0,0,.15)); |
4050 | - outline: 0; |
4051 | - } |
4052 | - } |
4053 | - } |
4054 | - |
4055 | - // Navbar collapse button |
4056 | - .btn-navbar { |
4057 | - .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%)); |
4058 | - } |
4059 | - |
4060 | -} |
4061 | |
4062 | === removed file 'charmworld/static/css/bootstrap/navs.less' |
4063 | --- charmworld/static/css/bootstrap/navs.less 2013-01-21 13:40:18 +0000 |
4064 | +++ charmworld/static/css/bootstrap/navs.less 1970-01-01 00:00:00 +0000 |
4065 | @@ -1,391 +0,0 @@ |
4066 | -// |
4067 | -// Navs |
4068 | -// -------------------------------------------------- |
4069 | - |
4070 | - |
4071 | -// BASE CLASS |
4072 | -// ---------- |
4073 | - |
4074 | -.nav { |
4075 | - margin-left: 0; |
4076 | - margin-bottom: @baseLineHeight; |
4077 | - list-style: none; |
4078 | -} |
4079 | - |
4080 | -// Make links block level |
4081 | -.nav > li > a { |
4082 | - display: block; |
4083 | -} |
4084 | -.nav > li > a:hover { |
4085 | - text-decoration: none; |
4086 | - background-color: @grayLighter; |
4087 | -} |
4088 | - |
4089 | -// Prevent IE8 from misplacing imgs |
4090 | -// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 |
4091 | -.nav > li > a > img { |
4092 | - max-width: none; |
4093 | -} |
4094 | - |
4095 | -// Redeclare pull classes because of specifity |
4096 | -.nav > .pull-right { |
4097 | - float: right; |
4098 | -} |
4099 | - |
4100 | -// Nav headers (for dropdowns and lists) |
4101 | -.nav-header { |
4102 | - display: block; |
4103 | - padding: 3px 15px; |
4104 | - font-size: 11px; |
4105 | - font-weight: bold; |
4106 | - line-height: @baseLineHeight; |
4107 | - color: @grayLight; |
4108 | - text-shadow: 0 1px 0 rgba(255,255,255,.5); |
4109 | - text-transform: uppercase; |
4110 | -} |
4111 | -// Space them out when they follow another list item (link) |
4112 | -.nav li + .nav-header { |
4113 | - margin-top: 9px; |
4114 | -} |
4115 | - |
4116 | - |
4117 | - |
4118 | -// NAV LIST |
4119 | -// -------- |
4120 | - |
4121 | -.nav-list { |
4122 | - padding-left: 15px; |
4123 | - padding-right: 15px; |
4124 | - margin-bottom: 0; |
4125 | -} |
4126 | -.nav-list > li > a, |
4127 | -.nav-list .nav-header { |
4128 | - margin-left: -15px; |
4129 | - margin-right: -15px; |
4130 | - text-shadow: 0 1px 0 rgba(255,255,255,.5); |
4131 | -} |
4132 | -.nav-list > li > a { |
4133 | - padding: 3px 15px; |
4134 | -} |
4135 | -.nav-list > .active > a, |
4136 | -.nav-list > .active > a:hover { |
4137 | - color: @white; |
4138 | - text-shadow: 0 -1px 0 rgba(0,0,0,.2); |
4139 | - background-color: @linkColor; |
4140 | -} |
4141 | -.nav-list [class^="icon-"], |
4142 | -.nav-list [class*=" icon-"] { |
4143 | - margin-right: 2px; |
4144 | -} |
4145 | -// Dividers (basically an hr) within the dropdown |
4146 | -.nav-list .divider { |
4147 | - .nav-divider(); |
4148 | -} |
4149 | - |
4150 | - |
4151 | - |
4152 | -// TABS AND PILLS |
4153 | -// ------------- |
4154 | - |
4155 | -// Common styles |
4156 | -.nav-tabs, |
4157 | -.nav-pills { |
4158 | - .clearfix(); |
4159 | -} |
4160 | -.nav-tabs > li, |
4161 | -.nav-pills > li { |
4162 | - float: left; |
4163 | -} |
4164 | -.nav-tabs > li > a, |
4165 | -.nav-pills > li > a { |
4166 | - padding-right: 12px; |
4167 | - padding-left: 12px; |
4168 | - margin-right: 2px; |
4169 | - line-height: 14px; // keeps the overall height an even number |
4170 | -} |
4171 | - |
4172 | -// TABS |
4173 | -// ---- |
4174 | - |
4175 | -// Give the tabs something to sit on |
4176 | -.nav-tabs { |
4177 | - border-bottom: 1px solid #ddd; |
4178 | -} |
4179 | -// Make the list-items overlay the bottom border |
4180 | -.nav-tabs > li { |
4181 | - margin-bottom: -1px; |
4182 | -} |
4183 | -// Actual tabs (as links) |
4184 | -.nav-tabs > li > a { |
4185 | - padding-top: 8px; |
4186 | - padding-bottom: 8px; |
4187 | - line-height: @baseLineHeight; |
4188 | - border: 1px solid transparent; |
4189 | - .border-radius(4px 4px 0 0); |
4190 | - &:hover { |
4191 | - border-color: @grayLighter @grayLighter #ddd; |
4192 | - } |
4193 | -} |
4194 | -// Active state, and it's :hover to override normal :hover |
4195 | -.nav-tabs > .active > a, |
4196 | -.nav-tabs > .active > a:hover { |
4197 | - color: @gray; |
4198 | - background-color: @bodyBackground; |
4199 | - border: 1px solid #ddd; |
4200 | - border-bottom-color: transparent; |
4201 | - cursor: default; |
4202 | -} |
4203 | - |
4204 | - |
4205 | -// PILLS |
4206 | -// ----- |
4207 | - |
4208 | -// Links rendered as pills |
4209 | -.nav-pills > li > a { |
4210 | - padding-top: 8px; |
4211 | - padding-bottom: 8px; |
4212 | - margin-top: 2px; |
4213 | - margin-bottom: 2px; |
4214 | - .border-radius(5px); |
4215 | -} |
4216 | - |
4217 | -// Active state |
4218 | -.nav-pills > .active > a, |
4219 | -.nav-pills > .active > a:hover { |
4220 | - color: @white; |
4221 | - background-color: @linkColor; |
4222 | -} |
4223 | - |
4224 | - |
4225 | - |
4226 | -// STACKED NAV |
4227 | -// ----------- |
4228 | - |
4229 | -// Stacked tabs and pills |
4230 | -.nav-stacked > li { |
4231 | - float: none; |
4232 | -} |
4233 | -.nav-stacked > li > a { |
4234 | - margin-right: 0; // no need for the gap between nav items |
4235 | -} |
4236 | - |
4237 | -// Tabs |
4238 | -.nav-tabs.nav-stacked { |
4239 | - border-bottom: 0; |
4240 | -} |
4241 | -.nav-tabs.nav-stacked > li > a { |
4242 | - border: 1px solid #ddd; |
4243 | - .border-radius(0); |
4244 | -} |
4245 | -.nav-tabs.nav-stacked > li:first-child > a { |
4246 | - .border-top-radius(4px); |
4247 | -} |
4248 | -.nav-tabs.nav-stacked > li:last-child > a { |
4249 | - .border-bottom-radius(4px); |
4250 | -} |
4251 | -.nav-tabs.nav-stacked > li > a:hover { |
4252 | - border-color: #ddd; |
4253 | - z-index: 2; |
4254 | -} |
4255 | - |
4256 | -// Pills |
4257 | -.nav-pills.nav-stacked > li > a { |
4258 | - margin-bottom: 3px; |
4259 | -} |
4260 | -.nav-pills.nav-stacked > li:last-child > a { |
4261 | - margin-bottom: 1px; // decrease margin to match sizing of stacked tabs |
4262 | -} |
4263 | - |
4264 | - |
4265 | - |
4266 | -// DROPDOWNS |
4267 | -// --------- |
4268 | - |
4269 | -.nav-tabs .dropdown-menu { |
4270 | - .border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu |
4271 | -} |
4272 | -.nav-pills .dropdown-menu { |
4273 | - .border-radius(6px); // make rounded corners match the pills |
4274 | -} |
4275 | - |
4276 | -// Default dropdown links |
4277 | -// ------------------------- |
4278 | -// Make carets use linkColor to start |
4279 | -.nav .dropdown-toggle .caret { |
4280 | - border-top-color: @linkColor; |
4281 | - border-bottom-color: @linkColor; |
4282 | - margin-top: 6px; |
4283 | -} |
4284 | -.nav .dropdown-toggle:hover .caret { |
4285 | - border-top-color: @linkColorHover; |
4286 | - border-bottom-color: @linkColorHover; |
4287 | -} |
4288 | -/* move down carets for tabs */ |
4289 | -.nav-tabs .dropdown-toggle .caret { |
4290 | - margin-top: 8px; |
4291 | -} |
4292 | - |
4293 | -// Active dropdown links |
4294 | -// ------------------------- |
4295 | -.nav .active .dropdown-toggle .caret { |
4296 | - border-top-color: #fff; |
4297 | - border-bottom-color: #fff; |
4298 | -} |
4299 | -.nav-tabs .active .dropdown-toggle .caret { |
4300 | - border-top-color: @gray; |
4301 | - border-bottom-color: @gray; |
4302 | -} |
4303 | - |
4304 | -// Active:hover dropdown links |
4305 | -// ------------------------- |
4306 | -.nav > .dropdown.active > a:hover { |
4307 | - cursor: pointer; |
4308 | -} |
4309 | - |
4310 | -// Open dropdowns |
4311 | -// ------------------------- |
4312 | -.nav-tabs .open .dropdown-toggle, |
4313 | -.nav-pills .open .dropdown-toggle, |
4314 | -.nav > li.dropdown.open.active > a:hover { |
4315 | - color: @white; |
4316 | - background-color: @grayLight; |
4317 | - border-color: @grayLight; |
4318 | -} |
4319 | -.nav li.dropdown.open .caret, |
4320 | -.nav li.dropdown.open.active .caret, |
4321 | -.nav li.dropdown.open a:hover .caret { |
4322 | - border-top-color: @white; |
4323 | - border-bottom-color: @white; |
4324 | - .opacity(100); |
4325 | -} |
4326 | - |
4327 | -// Dropdowns in stacked tabs |
4328 | -.tabs-stacked .open > a:hover { |
4329 | - border-color: @grayLight; |
4330 | -} |
4331 | - |
4332 | - |
4333 | - |
4334 | -// TABBABLE |
4335 | -// -------- |
4336 | - |
4337 | - |
4338 | -// COMMON STYLES |
4339 | -// ------------- |
4340 | - |
4341 | -// Clear any floats |
4342 | -.tabbable { |
4343 | - .clearfix(); |
4344 | -} |
4345 | -.tab-content { |
4346 | - overflow: auto; // prevent content from running below tabs |
4347 | -} |
4348 | - |
4349 | -// Remove border on bottom, left, right |
4350 | -.tabs-below > .nav-tabs, |
4351 | -.tabs-right > .nav-tabs, |
4352 | -.tabs-left > .nav-tabs { |
4353 | - border-bottom: 0; |
4354 | -} |
4355 | - |
4356 | -// Show/hide tabbable areas |
4357 | -.tab-content > .tab-pane, |
4358 | -.pill-content > .pill-pane { |
4359 | - display: none; |
4360 | -} |
4361 | -.tab-content > .active, |
4362 | -.pill-content > .active { |
4363 | - display: block; |
4364 | -} |
4365 | - |
4366 | - |
4367 | -// BOTTOM |
4368 | -// ------ |
4369 | - |
4370 | -.tabs-below > .nav-tabs { |
4371 | - border-top: 1px solid #ddd; |
4372 | -} |
4373 | -.tabs-below > .nav-tabs > li { |
4374 | - margin-top: -1px; |
4375 | - margin-bottom: 0; |
4376 | -} |
4377 | -.tabs-below > .nav-tabs > li > a { |
4378 | - .border-radius(0 0 4px 4px); |
4379 | - &:hover { |
4380 | - border-bottom-color: transparent; |
4381 | - border-top-color: #ddd; |
4382 | - } |
4383 | -} |
4384 | -.tabs-below > .nav-tabs > .active > a, |
4385 | -.tabs-below > .nav-tabs > .active > a:hover { |
4386 | - border-color: transparent #ddd #ddd #ddd; |
4387 | -} |
4388 | - |
4389 | -// LEFT & RIGHT |
4390 | -// ------------ |
4391 | - |
4392 | -// Common styles |
4393 | -.tabs-left > .nav-tabs > li, |
4394 | -.tabs-right > .nav-tabs > li { |
4395 | - float: none; |
4396 | -} |
4397 | -.tabs-left > .nav-tabs > li > a, |
4398 | -.tabs-right > .nav-tabs > li > a { |
4399 | - min-width: 74px; |
4400 | - margin-right: 0; |
4401 | - margin-bottom: 3px; |
4402 | -} |
4403 | - |
4404 | -// Tabs on the left |
4405 | -.tabs-left > .nav-tabs { |
4406 | - float: left; |
4407 | - margin-right: 19px; |
4408 | - border-right: 1px solid #ddd; |
4409 | -} |
4410 | -.tabs-left > .nav-tabs > li > a { |
4411 | - margin-right: -1px; |
4412 | - .border-radius(4px 0 0 4px); |
4413 | -} |
4414 | -.tabs-left > .nav-tabs > li > a:hover { |
4415 | - border-color: @grayLighter #ddd @grayLighter @grayLighter; |
4416 | -} |
4417 | -.tabs-left > .nav-tabs .active > a, |
4418 | -.tabs-left > .nav-tabs .active > a:hover { |
4419 | - border-color: #ddd transparent #ddd #ddd; |
4420 | - *border-right-color: @white; |
4421 | -} |
4422 | - |
4423 | -// Tabs on the right |
4424 | -.tabs-right > .nav-tabs { |
4425 | - float: right; |
4426 | - margin-left: 19px; |
4427 | - border-left: 1px solid #ddd; |
4428 | -} |
4429 | -.tabs-right > .nav-tabs > li > a { |
4430 | - margin-left: -1px; |
4431 | - .border-radius(0 4px 4px 0); |
4432 | -} |
4433 | -.tabs-right > .nav-tabs > li > a:hover { |
4434 | - border-color: @grayLighter @grayLighter @grayLighter #ddd; |
4435 | -} |
4436 | -.tabs-right > .nav-tabs .active > a, |
4437 | -.tabs-right > .nav-tabs .active > a:hover { |
4438 | - border-color: #ddd #ddd #ddd transparent; |
4439 | - *border-left-color: @white; |
4440 | -} |
4441 | - |
4442 | - |
4443 | - |
4444 | -// DISABLED STATES |
4445 | -// --------------- |
4446 | - |
4447 | -// Gray out text |
4448 | -.nav > .disabled > a { |
4449 | - color: @grayLight; |
4450 | -} |
4451 | -// Nuke hover effects |
4452 | -.nav > .disabled > a:hover { |
4453 | - text-decoration: none; |
4454 | - background-color: transparent; |
4455 | - cursor: default; |
4456 | -} |
4457 | |
4458 | === removed file 'charmworld/static/css/bootstrap/pager.less' |
4459 | --- charmworld/static/css/bootstrap/pager.less 2013-01-21 13:40:18 +0000 |
4460 | +++ charmworld/static/css/bootstrap/pager.less 1970-01-01 00:00:00 +0000 |
4461 | @@ -1,41 +0,0 @@ |
4462 | -// |
4463 | -// Pager pagination |
4464 | -// -------------------------------------------------- |
4465 | - |
4466 | - |
4467 | -.pager { |
4468 | - margin: @baseLineHeight 0; |
4469 | - list-style: none; |
4470 | - text-align: center; |
4471 | - .clearfix(); |
4472 | -} |
4473 | -.pager li { |
4474 | - display: inline; |
4475 | -} |
4476 | -.pager li > a, |
4477 | -.pager li > span { |
4478 | - display: inline-block; |
4479 | - padding: 5px 14px; |
4480 | - background-color: #fff; |
4481 | - border: 1px solid #ddd; |
4482 | - .border-radius(15px); |
4483 | -} |
4484 | -.pager li > a:hover { |
4485 | - text-decoration: none; |
4486 | - background-color: #f5f5f5; |
4487 | -} |
4488 | -.pager .next > a, |
4489 | -.pager .next > span { |
4490 | - float: right; |
4491 | -} |
4492 | -.pager .previous > a, |
4493 | -.pager .previous > span { |
4494 | - float: left; |
4495 | -} |
4496 | -.pager .disabled > a, |
4497 | -.pager .disabled > a:hover, |
4498 | -.pager .disabled > span { |
4499 | - color: @grayLight; |
4500 | - background-color: #fff; |
4501 | - cursor: default; |
4502 | -} |
4503 | \ No newline at end of file |
4504 | |
4505 | === removed file 'charmworld/static/css/bootstrap/pagination.less' |
4506 | --- charmworld/static/css/bootstrap/pagination.less 2013-01-21 13:40:18 +0000 |
4507 | +++ charmworld/static/css/bootstrap/pagination.less 1970-01-01 00:00:00 +0000 |
4508 | @@ -1,121 +0,0 @@ |
4509 | -// |
4510 | -// Pagination (multiple pages) |
4511 | -// -------------------------------------------------- |
4512 | - |
4513 | -// Space out pagination from surrounding content |
4514 | -.pagination { |
4515 | - margin: @baseLineHeight 0; |
4516 | -} |
4517 | - |
4518 | -.pagination ul { |
4519 | - // Allow for text-based alignment |
4520 | - display: inline-block; |
4521 | - .ie7-inline-block(); |
4522 | - // Reset default ul styles |
4523 | - margin-left: 0; |
4524 | - margin-bottom: 0; |
4525 | - // Visuals |
4526 | - .border-radius(@baseBorderRadius); |
4527 | - .box-shadow(0 1px 2px rgba(0,0,0,.05)); |
4528 | -} |
4529 | -.pagination ul > li { |
4530 | - display: inline; // Remove list-style and block-level defaults |
4531 | -} |
4532 | -.pagination ul > li > a, |
4533 | -.pagination ul > li > span { |
4534 | - float: left; // Collapse white-space |
4535 | - padding: 4px 12px; |
4536 | - line-height: @baseLineHeight; |
4537 | - text-decoration: none; |
4538 | - background-color: @paginationBackground; |
4539 | - border: 1px solid @paginationBorder; |
4540 | - border-left-width: 0; |
4541 | -} |
4542 | -.pagination ul > li > a:hover, |
4543 | -.pagination ul > .active > a, |
4544 | -.pagination ul > .active > span { |
4545 | - background-color: @paginationActiveBackground; |
4546 | -} |
4547 | -.pagination ul > .active > a, |
4548 | -.pagination ul > .active > span { |
4549 | - color: @grayLight; |
4550 | - cursor: default; |
4551 | -} |
4552 | -.pagination ul > .disabled > span, |
4553 | -.pagination ul > .disabled > a, |
4554 | -.pagination ul > .disabled > a:hover { |
4555 | - color: @grayLight; |
4556 | - background-color: transparent; |
4557 | - cursor: default; |
4558 | -} |
4559 | -.pagination ul > li:first-child > a, |
4560 | -.pagination ul > li:first-child > span { |
4561 | - border-left-width: 1px; |
4562 | - .border-left-radius(@baseBorderRadius); |
4563 | -} |
4564 | -.pagination ul > li:last-child > a, |
4565 | -.pagination ul > li:last-child > span { |
4566 | - .border-right-radius(@baseBorderRadius); |
4567 | -} |
4568 | - |
4569 | - |
4570 | -// Alignment |
4571 | -// -------------------------------------------------- |
4572 | - |
4573 | -.pagination-centered { |
4574 | - text-align: center; |
4575 | -} |
4576 | -.pagination-right { |
4577 | - text-align: right; |
4578 | -} |
4579 | - |
4580 | - |
4581 | -// Sizing |
4582 | -// -------------------------------------------------- |
4583 | - |
4584 | -// Large |
4585 | -.pagination-large { |
4586 | - ul > li > a, |
4587 | - ul > li > span { |
4588 | - padding: @paddingLarge; |
4589 | - font-size: @fontSizeLarge; |
4590 | - } |
4591 | - ul > li:first-child > a, |
4592 | - ul > li:first-child > span { |
4593 | - .border-left-radius(@borderRadiusLarge); |
4594 | - } |
4595 | - ul > li:last-child > a, |
4596 | - ul > li:last-child > span { |
4597 | - .border-right-radius(@borderRadiusLarge); |
4598 | - } |
4599 | -} |
4600 | - |
4601 | -// Small and mini |
4602 | -.pagination-mini, |
4603 | -.pagination-small { |
4604 | - ul > li:first-child > a, |
4605 | - ul > li:first-child > span { |
4606 | - .border-left-radius(@borderRadiusSmall); |
4607 | - } |
4608 | - ul > li:last-child > a, |
4609 | - ul > li:last-child > span { |
4610 | - .border-right-radius(@borderRadiusSmall); |
4611 | - } |
4612 | -} |
4613 | - |
4614 | -// Small |
4615 | -.pagination-small { |
4616 | - ul > li > a, |
4617 | - ul > li > span { |
4618 | - padding: @paddingSmall; |
4619 | - font-size: @fontSizeSmall; |
4620 | - } |
4621 | -} |
4622 | -// Mini |
4623 | -.pagination-mini { |
4624 | - ul > li > a, |
4625 | - ul > li > span { |
4626 | - padding: @paddingMini; |
4627 | - font-size: @fontSizeMini; |
4628 | - } |
4629 | -} |
4630 | |
4631 | === removed file 'charmworld/static/css/bootstrap/popovers.less' |
4632 | --- charmworld/static/css/bootstrap/popovers.less 2013-01-21 13:40:18 +0000 |
4633 | +++ charmworld/static/css/bootstrap/popovers.less 1970-01-01 00:00:00 +0000 |
4634 | @@ -1,129 +0,0 @@ |
4635 | -// |
4636 | -// Popovers |
4637 | -// -------------------------------------------------- |
4638 | - |
4639 | - |
4640 | -.popover { |
4641 | - position: absolute; |
4642 | - top: 0; |
4643 | - left: 0; |
4644 | - z-index: @zindexPopover; |
4645 | - display: none; |
4646 | - width: 236px; |
4647 | - padding: 1px; |
4648 | - text-align: left; // Reset given new insertion method |
4649 | - background-color: @popoverBackground; |
4650 | - -webkit-background-clip: padding-box; |
4651 | - -moz-background-clip: padding; |
4652 | - background-clip: padding-box; |
4653 | - border: 1px solid #ccc; |
4654 | - border: 1px solid rgba(0,0,0,.2); |
4655 | - .border-radius(6px); |
4656 | - .box-shadow(0 5px 10px rgba(0,0,0,.2)); |
4657 | - |
4658 | - // Overrides for proper insertion |
4659 | - white-space: normal; |
4660 | - |
4661 | - // Offset the popover to account for the popover arrow |
4662 | - &.top { margin-top: -10px; } |
4663 | - &.right { margin-left: 10px; } |
4664 | - &.bottom { margin-top: 10px; } |
4665 | - &.left { margin-left: -10px; } |
4666 | -} |
4667 | - |
4668 | -.popover-title { |
4669 | - margin: 0; // reset heading margin |
4670 | - padding: 8px 14px; |
4671 | - font-size: 14px; |
4672 | - font-weight: normal; |
4673 | - line-height: 18px; |
4674 | - background-color: @popoverTitleBackground; |
4675 | - border-bottom: 1px solid darken(@popoverTitleBackground, 5%); |
4676 | - .border-radius(5px 5px 0 0); |
4677 | -} |
4678 | - |
4679 | -.popover-content { |
4680 | - padding: 9px 14px; |
4681 | -} |
4682 | - |
4683 | -// Arrows |
4684 | -// |
4685 | -// .arrow is outer, .arrow:after is inner |
4686 | - |
4687 | -.popover .arrow, |
4688 | -.popover .arrow:after { |
4689 | - position: absolute; |
4690 | - display: block; |
4691 | - width: 0; |
4692 | - height: 0; |
4693 | - border-color: transparent; |
4694 | - border-style: solid; |
4695 | -} |
4696 | -.popover .arrow { |
4697 | - border-width: @popoverArrowOuterWidth; |
4698 | -} |
4699 | -.popover .arrow:after { |
4700 | - border-width: @popoverArrowWidth; |
4701 | - content: ""; |
4702 | -} |
4703 | - |
4704 | -.popover { |
4705 | - &.top .arrow { |
4706 | - left: 50%; |
4707 | - margin-left: -@popoverArrowOuterWidth; |
4708 | - border-bottom-width: 0; |
4709 | - border-top-color: #999; // IE8 fallback |
4710 | - border-top-color: @popoverArrowOuterColor; |
4711 | - bottom: -@popoverArrowOuterWidth; |
4712 | - &:after { |
4713 | - bottom: 1px; |
4714 | - margin-left: -@popoverArrowWidth; |
4715 | - border-bottom-width: 0; |
4716 | - border-top-color: @popoverArrowColor; |
4717 | - } |
4718 | - } |
4719 | - &.right .arrow { |
4720 | - top: 50%; |
4721 | - left: -@popoverArrowOuterWidth; |
4722 | - margin-top: -@popoverArrowOuterWidth; |
4723 | - border-left-width: 0; |
4724 | - border-right-color: #999; // IE8 fallback |
4725 | - border-right-color: @popoverArrowOuterColor; |
4726 | - &:after { |
4727 | - left: 1px; |
4728 | - bottom: -@popoverArrowWidth; |
4729 | - border-left-width: 0; |
4730 | - border-right-color: @popoverArrowColor; |
4731 | - } |
4732 | - } |
4733 | - &.bottom .arrow { |
4734 | - left: 50%; |
4735 | - margin-left: -@popoverArrowOuterWidth; |
4736 | - border-top-width: 0; |
4737 | - border-bottom-color: #999; // IE8 fallback |
4738 | - border-bottom-color: @popoverArrowOuterColor; |
4739 | - top: -@popoverArrowOuterWidth; |
4740 | - &:after { |
4741 | - top: 1px; |
4742 | - margin-left: -@popoverArrowWidth; |
4743 | - border-top-width: 0; |
4744 | - border-bottom-color: @popoverArrowColor; |
4745 | - } |
4746 | - } |
4747 | - |
4748 | - &.left .arrow { |
4749 | - top: 50%; |
4750 | - right: -@popoverArrowOuterWidth; |
4751 | - margin-top: -@popoverArrowOuterWidth; |
4752 | - border-right-width: 0; |
4753 | - border-left-color: #999; // IE8 fallback |
4754 | - border-left-color: @popoverArrowOuterColor; |
4755 | - &:after { |
4756 | - right: 1px; |
4757 | - border-right-width: 0; |
4758 | - border-left-color: @popoverArrowColor; |
4759 | - bottom: -@popoverArrowWidth; |
4760 | - } |
4761 | - } |
4762 | - |
4763 | -} |
4764 | |
4765 | === removed file 'charmworld/static/css/bootstrap/progress-bars.less' |
4766 | --- charmworld/static/css/bootstrap/progress-bars.less 2013-01-21 13:40:18 +0000 |
4767 | +++ charmworld/static/css/bootstrap/progress-bars.less 1970-01-01 00:00:00 +0000 |
4768 | @@ -1,122 +0,0 @@ |
4769 | -// |
4770 | -// Progress bars |
4771 | -// -------------------------------------------------- |
4772 | - |
4773 | - |
4774 | -// ANIMATIONS |
4775 | -// ---------- |
4776 | - |
4777 | -// Webkit |
4778 | -@-webkit-keyframes progress-bar-stripes { |
4779 | - from { background-position: 40px 0; } |
4780 | - to { background-position: 0 0; } |
4781 | -} |
4782 | - |
4783 | -// Firefox |
4784 | -@-moz-keyframes progress-bar-stripes { |
4785 | - from { background-position: 40px 0; } |
4786 | - to { background-position: 0 0; } |
4787 | -} |
4788 | - |
4789 | -// IE9 |
4790 | -@-ms-keyframes progress-bar-stripes { |
4791 | - from { background-position: 40px 0; } |
4792 | - to { background-position: 0 0; } |
4793 | -} |
4794 | - |
4795 | -// Opera |
4796 | -@-o-keyframes progress-bar-stripes { |
4797 | - from { background-position: 0 0; } |
4798 | - to { background-position: 40px 0; } |
4799 | -} |
4800 | - |
4801 | -// Spec |
4802 | -@keyframes progress-bar-stripes { |
4803 | - from { background-position: 40px 0; } |
4804 | - to { background-position: 0 0; } |
4805 | -} |
4806 | - |
4807 | - |
4808 | - |
4809 | -// THE BARS |
4810 | -// -------- |
4811 | - |
4812 | -// Outer container |
4813 | -.progress { |
4814 | - overflow: hidden; |
4815 | - height: @baseLineHeight; |
4816 | - margin-bottom: @baseLineHeight; |
4817 | - #gradient > .vertical(#f5f5f5, #f9f9f9); |
4818 | - .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); |
4819 | - .border-radius(@baseBorderRadius); |
4820 | -} |
4821 | - |
4822 | -// Bar of progress |
4823 | -.progress .bar { |
4824 | - width: 0%; |
4825 | - height: 100%; |
4826 | - color: @white; |
4827 | - float: left; |
4828 | - font-size: 12px; |
4829 | - text-align: center; |
4830 | - text-shadow: 0 -1px 0 rgba(0,0,0,.25); |
4831 | - #gradient > .vertical(#149bdf, #0480be); |
4832 | - .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); |
4833 | - .box-sizing(border-box); |
4834 | - .transition(width .6s ease); |
4835 | -} |
4836 | -.progress .bar + .bar { |
4837 | - .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)"); |
4838 | -} |
4839 | - |
4840 | -// Striped bars |
4841 | -.progress-striped .bar { |
4842 | - #gradient > .striped(#149bdf); |
4843 | - .background-size(40px 40px); |
4844 | -} |
4845 | - |
4846 | -// Call animation for the active one |
4847 | -.progress.active .bar { |
4848 | - -webkit-animation: progress-bar-stripes 2s linear infinite; |
4849 | - -moz-animation: progress-bar-stripes 2s linear infinite; |
4850 | - -ms-animation: progress-bar-stripes 2s linear infinite; |
4851 | - -o-animation: progress-bar-stripes 2s linear infinite; |
4852 | - animation: progress-bar-stripes 2s linear infinite; |
4853 | -} |
4854 | - |
4855 | - |
4856 | - |
4857 | -// COLORS |
4858 | -// ------ |
4859 | - |
4860 | -// Danger (red) |
4861 | -.progress-danger .bar, .progress .bar-danger { |
4862 | - #gradient > .vertical(#ee5f5b, #c43c35); |
4863 | -} |
4864 | -.progress-danger.progress-striped .bar, .progress-striped .bar-danger { |
4865 | - #gradient > .striped(#ee5f5b); |
4866 | -} |
4867 | - |
4868 | -// Success (green) |
4869 | -.progress-success .bar, .progress .bar-success { |
4870 | - #gradient > .vertical(#62c462, #57a957); |
4871 | -} |
4872 | -.progress-success.progress-striped .bar, .progress-striped .bar-success { |
4873 | - #gradient > .striped(#62c462); |
4874 | -} |
4875 | - |
4876 | -// Info (teal) |
4877 | -.progress-info .bar, .progress .bar-info { |
4878 | - #gradient > .vertical(#5bc0de, #339bb9); |
4879 | -} |
4880 | -.progress-info.progress-striped .bar, .progress-striped .bar-info { |
4881 | - #gradient > .striped(#5bc0de); |
4882 | -} |
4883 | - |
4884 | -// Warning (orange) |
4885 | -.progress-warning .bar, .progress .bar-warning { |
4886 | - #gradient > .vertical(lighten(@orange, 15%), @orange); |
4887 | -} |
4888 | -.progress-warning.progress-striped .bar, .progress-striped .bar-warning { |
4889 | - #gradient > .striped(lighten(@orange, 15%)); |
4890 | -} |
4891 | |
4892 | === removed file 'charmworld/static/css/bootstrap/reset.less' |
4893 | --- charmworld/static/css/bootstrap/reset.less 2013-01-21 13:40:18 +0000 |
4894 | +++ charmworld/static/css/bootstrap/reset.less 1970-01-01 00:00:00 +0000 |
4895 | @@ -1,216 +0,0 @@ |
4896 | -// |
4897 | -// Reset CSS |
4898 | -// Adapted from http://github.com/necolas/normalize.css |
4899 | -// -------------------------------------------------- |
4900 | - |
4901 | - |
4902 | -// Display in IE6-9 and FF3 |
4903 | -// ------------------------- |
4904 | - |
4905 | -article, |
4906 | -aside, |
4907 | -details, |
4908 | -figcaption, |
4909 | -figure, |
4910 | -footer, |
4911 | -header, |
4912 | -hgroup, |
4913 | -nav, |
4914 | -section { |
4915 | - display: block; |
4916 | -} |
4917 | - |
4918 | -// Display block in IE6-9 and FF3 |
4919 | -// ------------------------- |
4920 | - |
4921 | -audio, |
4922 | -canvas, |
4923 | -video { |
4924 | - display: inline-block; |
4925 | - *display: inline; |
4926 | - *zoom: 1; |
4927 | -} |
4928 | - |
4929 | -// Prevents modern browsers from displaying 'audio' without controls |
4930 | -// ------------------------- |
4931 | - |
4932 | -audio:not([controls]) { |
4933 | - display: none; |
4934 | -} |
4935 | - |
4936 | -// Base settings |
4937 | -// ------------------------- |
4938 | - |
4939 | -html { |
4940 | - font-size: 100%; |
4941 | - -webkit-text-size-adjust: 100%; |
4942 | - -ms-text-size-adjust: 100%; |
4943 | -} |
4944 | -// Focus states |
4945 | -a:focus { |
4946 | - .tab-focus(); |
4947 | -} |
4948 | -// Hover & Active |
4949 | -a:hover, |
4950 | -a:active { |
4951 | - outline: 0; |
4952 | -} |
4953 | - |
4954 | -// Prevents sub and sup affecting line-height in all browsers |
4955 | -// ------------------------- |
4956 | - |
4957 | -sub, |
4958 | -sup { |
4959 | - position: relative; |
4960 | - font-size: 75%; |
4961 | - line-height: 0; |
4962 | - vertical-align: baseline; |
4963 | -} |
4964 | -sup { |
4965 | - top: -0.5em; |
4966 | -} |
4967 | -sub { |
4968 | - bottom: -0.25em; |
4969 | -} |
4970 | - |
4971 | -// Img border in a's and image quality |
4972 | -// ------------------------- |
4973 | - |
4974 | -img { |
4975 | - /* Responsive images (ensure images don't scale beyond their parents) */ |
4976 | - max-width: 100%; /* Part 1: Set a maxium relative to the parent */ |
4977 | - width: auto\9; /* IE7-8 need help adjusting responsive images */ |
4978 | - height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ |
4979 | - |
4980 | - vertical-align: middle; |
4981 | - border: 0; |
4982 | - -ms-interpolation-mode: bicubic; |
4983 | -} |
4984 | - |
4985 | -// Prevent max-width from affecting Google Maps |
4986 | -#map_canvas img, |
4987 | -.google-maps img { |
4988 | - max-width: none; |
4989 | -} |
4990 | - |
4991 | -// Forms |
4992 | -// ------------------------- |
4993 | - |
4994 | -// Font size in all browsers, margin changes, misc consistency |
4995 | -button, |
4996 | -input, |
4997 | -select, |
4998 | -textarea { |
4999 | - margin: 0; |
5000 | - font-size: 100%; |
Self-reviewing as the component branches have both been reviewed and approved.