Uploading and preparing the repository to the dev version.

Original unminified source code (dev folder - js, css, less) (fixes #6)
Grunt build system
Multiple identities correction (fixes #9)
Compose html editor (fixes #12)
New general settings - Loading Description
New warning about default admin password
Split general and login screen settings
This commit is contained in:
RainLoop Team 2013-11-16 02:21:12 +04:00
parent afad45137e
commit 4cc2207513
846 changed files with 99453 additions and 2123 deletions

176
vendors/bootstrap/LICENSE vendored Normal file
View file

@ -0,0 +1,176 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

6
vendors/bootstrap/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

34
vendors/bootstrap/less/accordion.less vendored Normal file
View file

@ -0,0 +1,34 @@
//
// Accordion
// --------------------------------------------------
// Parent container
.accordion {
margin-bottom: @baseLineHeight;
}
// Group == heading + body
.accordion-group {
margin-bottom: 2px;
border: 1px solid #e5e5e5;
.border-radius(4px);
}
.accordion-heading {
border-bottom: 0;
}
.accordion-heading .accordion-toggle {
display: block;
padding: 8px 15px;
}
// General toggle styles
.accordion-toggle {
cursor: pointer;
}
// Inner needs the styles because you can't animate properly with any styles on the element
.accordion-inner {
padding: 9px 15px;
border-top: 1px solid #e5e5e5;
}

65
vendors/bootstrap/less/alerts.less vendored Normal file
View file

@ -0,0 +1,65 @@
//
// Alerts
// --------------------------------------------------
// Base styles
// -------------------------
.alert {
padding: 8px 35px 8px 14px;
margin-bottom: @baseLineHeight;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
background-color: @warningBackground;
border: 1px solid @warningBorder;
.border-radius(4px);
color: @warningText;
}
.alert h4 {
margin: 0;
}
// Adjust close link position
.alert .close {
position: relative;
top: -2px;
right: -21px;
line-height: @baseLineHeight;
}
// Alternate styles
// -------------------------
.alert-success {
background-color: @successBackground;
border-color: @successBorder;
color: @successText;
}
.alert-danger,
.alert-error {
background-color: @errorBackground;
border-color: @errorBorder;
color: @errorText;
}
.alert-info {
background-color: @infoBackground;
border-color: @infoBorder;
color: @infoText;
}
// Block alerts
// -------------------------
.alert-block {
padding-top: 14px;
padding-bottom: 14px;
}
.alert-block > p,
.alert-block > ul {
margin-bottom: 0;
}
.alert-block p + p {
margin-top: 5px;
}

62
vendors/bootstrap/less/bootstrap.less vendored Normal file
View file

@ -0,0 +1,62 @@
/*!
* Bootstrap v2.1.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
// CSS Reset
@import "reset.less";
// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";
// Grid system and page structure
@import "scaffolding.less";
@import "grid.less";
@import "layouts.less";
// Base CSS
@import "type.less";
@import "code.less";
@import "forms.less";
@import "tables.less";
// Components: common
@import "sprites.less";
@import "dropdowns.less";
@import "wells.less";
@import "component-animations.less";
@import "close.less";
// Components: Buttons & Alerts
@import "buttons.less";
@import "button-groups.less";
@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
// Components: Nav
@import "navs.less";
@import "navbar.less";
@import "breadcrumbs.less";
@import "pagination.less";
@import "pager.less";
// Components: Popovers
@import "modals.less";
@import "tooltip.less";
@import "popovers.less";
// Components: Misc
@import "thumbnails.less";
@import "labels-badges.less";
@import "progress-bars.less";
@import "accordion.less";
@import "carousel.less";
@import "hero-unit.less";
// Utility classes
@import "utilities.less"; // Has to be last to override when necessary

24
vendors/bootstrap/less/breadcrumbs.less vendored Normal file
View file

@ -0,0 +1,24 @@
//
// Breadcrumbs
// --------------------------------------------------
.breadcrumb {
padding: 8px 15px;
margin: 0 0 @baseLineHeight;
list-style: none;
background-color: #f5f5f5;
.border-radius(4px);
li {
display: inline-block;
.ie7-inline-block();
text-shadow: 0 1px 0 @white;
}
.divider {
padding: 0 5px;
color: #ccc;
}
.active {
color: @grayLight;
}
}

View file

@ -0,0 +1,244 @@
//
// Button groups
// --------------------------------------------------
// Make the div behave like a button
.btn-group {
position: relative;
font-size: 0; // remove as part 1 of font-size inline-block hack
white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
.ie7-restore-left-whitespace();
}
// Space out series of button groups
.btn-group + .btn-group {
margin-left: 5px;
}
// Optional: Group multiple button groups together for a toolbar
.btn-toolbar {
font-size: 0; // Hack to remove whitespace that results from using inline-block
margin-top: @baseLineHeight / 2;
margin-bottom: @baseLineHeight / 2;
.btn-group {
display: inline-block;
.ie7-inline-block();
}
.btn + .btn,
.btn-group + .btn,
.btn + .btn-group {
margin-left: 5px;
}
}
// Float them, remove border radius, then re-add to first and last elements
.btn-group > .btn {
position: relative;
.border-radius(0);
}
.btn-group > .btn + .btn {
margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu {
font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
}
// Reset fonts for other sizes
.btn-group > .btn-mini {
font-size: 11px;
}
.btn-group > .btn-small {
font-size: 12px;
}
.btn-group > .btn-large {
font-size: 16px;
}
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
}
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
}
// Reset corners for large buttons
.btn-group > .btn.large:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 6px;
-moz-border-radius-topleft: 6px;
border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-left-radius: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topright: 6px;
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomright: 6px;
border-bottom-right-radius: 6px;
}
// On hover/focus/active, bring the proper btn to front
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
z-index: 2;
}
// On active and open, don't show outline
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
// Split button dropdowns
// ----------------------
// Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
.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)");
*padding-top: 5px;
*padding-bottom: 5px;
}
.btn-group > .btn-mini + .dropdown-toggle {
padding-left: 5px;
padding-right: 5px;
*padding-top: 2px;
*padding-bottom: 2px;
}
.btn-group > .btn-small + .dropdown-toggle {
*padding-top: 5px;
*padding-bottom: 4px;
}
.btn-group > .btn-large + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
*padding-top: 7px;
*padding-bottom: 7px;
}
.btn-group.open {
// The clickable button for toggling the menu
// Remove the gradient and set the same inset shadow as the :active state
.dropdown-toggle {
background-image: none;
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
}
// Keep the hover's background when dropdown is open
.btn.dropdown-toggle {
background-color: @btnBackgroundHighlight;
}
.btn-primary.dropdown-toggle {
background-color: @btnPrimaryBackgroundHighlight;
}
.btn-warning.dropdown-toggle {
background-color: @btnWarningBackgroundHighlight;
}
.btn-danger.dropdown-toggle {
background-color: @btnDangerBackgroundHighlight;
}
.btn-success.dropdown-toggle {
background-color: @btnSuccessBackgroundHighlight;
}
.btn-info.dropdown-toggle {
background-color: @btnInfoBackgroundHighlight;
}
.btn-inverse.dropdown-toggle {
background-color: @btnInverseBackgroundHighlight;
}
}
// Reposition the caret
.btn .caret {
margin-top: 8px;
margin-left: 0;
}
// Carets in other button sizes
.btn-mini .caret,
.btn-small .caret,
.btn-large .caret {
margin-top: 6px;
}
.btn-large .caret {
border-left-width: 5px;
border-right-width: 5px;
border-top-width: 5px;
}
// Upside down carets for .dropup
.dropup .btn-large .caret {
border-bottom: 5px solid @black;
border-top: 0;
}
// Account for other colors
.btn-primary,
.btn-warning,
.btn-danger,
.btn-info,
.btn-success,
.btn-inverse {
.caret {
border-top-color: @white;
border-bottom-color: @white;
}
}
// Vertical button groups
// ----------------------
.btn-group-vertical {
display: inline-block; // makes buttons only take up the width they need
.ie7-inline-block();
}
.btn-group-vertical .btn {
display: block;
float: none;
width: 100%;
.border-radius(0);
}
.btn-group-vertical .btn + .btn {
margin-left: 0;
margin-top: -1px;
}
.btn-group-vertical .btn:first-child {
.border-radius(4px 4px 0 0);
}
.btn-group-vertical .btn:last-child {
.border-radius(0 0 4px 4px);
}
.btn-group-vertical .btn-large:first-child {
.border-radius(6px 6px 0 0);
}
.btn-group-vertical .btn-large:last-child {
.border-radius(0 0 6px 6px);
}

211
vendors/bootstrap/less/buttons.less vendored Normal file
View file

@ -0,0 +1,211 @@
//
// Buttons
// --------------------------------------------------
// Base styles
// --------------------------------------------------
// Core
.btn {
display: inline-block;
.ie7-inline-block();
padding: 4px 14px;
margin-bottom: 0; // For input.btn
font-size: @baseFontSize;
line-height: @baseLineHeight;
*line-height: @baseLineHeight;
text-align: center;
vertical-align: middle;
cursor: pointer;
.buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
border: 1px solid @btnBorder;
*border: 0; // Remove the border to prevent IE7's black border on input:focus
border-bottom-color: darken(@btnBorder, 10%);
.border-radius(4px);
.ie7-restore-left-whitespace(); // Give IE7 some love
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
// Hover state
&:hover {
color: @grayDark;
text-decoration: none;
background-color: darken(@white, 10%);
*background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
background-position: 0 -15px;
// transition is only when going to hover, otherwise the background
// behind the gradient (there for IE<=9 fallback) gets mismatched
.transition(background-position .1s linear);
}
// Focus state for keyboard and accessibility
&:focus {
.tab-focus();
}
// Active state
&.active,
&:active {
background-color: darken(@white, 10%);
background-color: darken(@white, 15%) e("\9");
background-image: none;
outline: 0;
.box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
}
// Disabled state
&.disabled,
&[disabled] {
cursor: default;
background-color: darken(@white, 10%);
background-image: none;
.opacity(65);
.box-shadow(none);
}
}
// Button Sizes
// --------------------------------------------------
// Large
.btn-large {
padding: 9px 14px;
font-size: @baseFontSize + 2px;
line-height: normal;
.border-radius(5px);
}
.btn-large [class^="icon-"] {
margin-top: 2px;
}
// Small
.btn-small {
padding: 3px 9px;
font-size: @baseFontSize - 2px;
line-height: @baseLineHeight - 2px;
}
.btn-small [class^="icon-"] {
margin-top: 0;
}
// Mini
.btn-mini {
padding: 2px 6px;
font-size: @baseFontSize - 3px;
line-height: @baseLineHeight - 4px;
}
// Block button
.btn-block {
display: block;
width: 100%;
padding-left: 0;
padding-right: 0;
.box-sizing(border-box);
}
.btn-block + .btn-block {
margin-top: 5px;
}
// Alternate buttons
// --------------------------------------------------
// Provide *some* extra contrast for those who can get it
.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
color: rgba(255,255,255,.75);
}
// Set the backgrounds
// -------------------------
.btn {
// reset here as of 2.0.3 due to Recess property order
border-color: #c5c5c5;
border-color: rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25);
}
.btn-primary {
.buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
}
// Warning appears are orange
.btn-warning {
.buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
}
// Danger and error appear as red
.btn-danger {
.buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
}
// Success appears as green
.btn-success {
.buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
}
// Info appears as a neutral blue
.btn-info {
.buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
}
// Inverse appears as dark gray
.btn-inverse {
.buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
}
// Cross-browser Jank
// --------------------------------------------------
button.btn,
input[type="submit"].btn {
// Firefox 3.6 only I believe
&::-moz-focus-inner {
padding: 0;
border: 0;
}
// IE7 has some default padding on button controls
*padding-top: 3px;
*padding-bottom: 3px;
&.btn-large {
*padding-top: 7px;
*padding-bottom: 7px;
}
&.btn-small {
*padding-top: 3px;
*padding-bottom: 3px;
}
&.btn-mini {
*padding-top: 1px;
*padding-bottom: 1px;
}
}
// Link buttons
// --------------------------------------------------
// Make a button look and behave like a link
.btn-link,
.btn-link:active {
background-color: transparent;
background-image: none;
.box-shadow(none);
}
.btn-link {
border-color: transparent;
cursor: pointer;
color: @linkColor;
.border-radius(0);
}
.btn-link:hover {
color: @linkColorHover;
text-decoration: underline;
background-color: transparent;
}

131
vendors/bootstrap/less/carousel.less vendored Normal file
View file

@ -0,0 +1,131 @@
//
// Carousel
// --------------------------------------------------
.carousel {
position: relative;
margin-bottom: @baseLineHeight;
line-height: 1;
}
.carousel-inner {
overflow: hidden;
width: 100%;
position: relative;
}
.carousel {
.item {
display: none;
position: relative;
.transition(.6s ease-in-out left);
}
// Account for jankitude on images
.item > img {
display: block;
line-height: 1;
}
.active,
.next,
.prev { display: block; }
.active {
left: 0;
}
.next,
.prev {
position: absolute;
top: 0;
width: 100%;
}
.next {
left: 100%;
}
.prev {
left: -100%;
}
.next.left,
.prev.right {
left: 0;
}
.active.left {
left: -100%;
}
.active.right {
left: 100%;
}
}
// Left/right controls for nav
// ---------------------------
.carousel-control {
position: absolute;
top: 40%;
left: 15px;
width: 40px;
height: 40px;
margin-top: -20px;
font-size: 60px;
font-weight: 100;
line-height: 30px;
color: @white;
text-align: center;
background: @grayDarker;
border: 3px solid @white;
.border-radius(23px);
.opacity(50);
// we can't have this transition here
// because webkit cancels the carousel
// animation if you trip this while
// in the middle of another animation
// ;_;
// .transition(opacity .2s linear);
// Reposition the right one
&.right {
left: auto;
right: 15px;
}
// Hover state
&:hover {
color: @white;
text-decoration: none;
.opacity(90);
}
}
// Caption for text below images
// -----------------------------
.carousel-caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 15px;
background: @grayDark;
background: rgba(0,0,0,.75);
}
.carousel-caption h4,
.carousel-caption p {
color: @white;
line-height: @baseLineHeight;
}
.carousel-caption h4 {
margin: 0 0 5px;
}
.carousel-caption p {
margin-bottom: 0;
}

31
vendors/bootstrap/less/close.less vendored Normal file
View file

@ -0,0 +1,31 @@
//
// Close icons
// --------------------------------------------------
.close {
float: right;
font-size: 20px;
font-weight: bold;
line-height: @baseLineHeight;
color: @black;
text-shadow: 0 1px 0 rgba(255,255,255,1);
.opacity(20);
&:hover {
color: @black;
text-decoration: none;
cursor: pointer;
.opacity(40);
}
}
// Additional properties for button version
// iOS requires the button element instead of an anchor tag.
// If you want the anchor version, it requires `href="#"`.
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}

58
vendors/bootstrap/less/code.less vendored Normal file
View file

@ -0,0 +1,58 @@
//
// Code (inline and blocK)
// --------------------------------------------------
// Inline and block code styles
code,
pre {
padding: 0 3px 2px;
#font > #family > .monospace;
font-size: @baseFontSize - 2;
color: @grayDark;
.border-radius(3px);
}
// Inline code
code {
padding: 2px 4px;
color: #d14;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
}
// Blocks of code
pre {
display: block;
padding: (@baseLineHeight - 1) / 2;
margin: 0 0 @baseLineHeight / 2;
font-size: @baseFontSize - 1; // 14px to 13px
line-height: @baseLineHeight;
word-break: break-all;
word-wrap: break-word;
white-space: pre;
white-space: pre-wrap;
background-color: #f5f5f5;
border: 1px solid #ccc; // fallback for IE7-8
border: 1px solid rgba(0,0,0,.15);
.border-radius(4px);
// Make prettyprint styles more spaced out for readability
&.prettyprint {
margin-bottom: @baseLineHeight;
}
// Account for some code outputs that place code tags in pre tags
code {
padding: 0;
color: inherit;
background-color: transparent;
border: 0;
}
}
// Enable scrollable blocks of code
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}

View file

@ -0,0 +1,23 @@
//
// Component animations
// --------------------------------------------------
.fade {
opacity: 0;
.transition(opacity .15s linear);
&.in {
opacity: 1;
}
}
.collapse {
position: relative;
height: 0;
overflow: hidden;
overflow: visible \9;
.transition(height .35s ease);
&.in {
height: auto;
}
}

210
vendors/bootstrap/less/dropdowns.less vendored Normal file
View file

@ -0,0 +1,210 @@
//
// Dropdown menus
// --------------------------------------------------
// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle {
// The caret makes the toggle a bit too tall in IE7
*margin-bottom: -3px;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
outline: 0;
}
// Dropdown arrow/caret
// --------------------
.caret {
display: inline-block;
width: 0;
height: 0;
vertical-align: top;
border-top: 4px solid @black;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
}
// Place the caret
.dropdown .caret {
margin-top: 8px;
margin-left: 2px;
}
// The dropdown menu (ul)
// ----------------------
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: @zindexDropdown;
display: none; // none by default, but block on "open" of the menu
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0; // override default ul
list-style: none;
background-color: @dropdownBackground;
border: 1px solid #ccc; // Fallback for IE7-8
border: 1px solid @dropdownBorder;
*border-right-width: 2px;
*border-bottom-width: 2px;
.border-radius(6px);
.box-shadow(0 5px 10px rgba(0,0,0,.2));
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
// Aligns the dropdown menu to right
&.pull-right {
right: 0;
left: auto;
}
// Dividers (basically an hr) within the dropdown
.divider {
.nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
}
// Links within the dropdown menu
a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: @baseLineHeight;
color: @dropdownLinkColor;
white-space: nowrap;
}
}
// Hover state
// -----------
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-submenu:hover > a {
text-decoration: none;
color: @dropdownLinkColorHover;
background-color: @dropdownLinkBackgroundHover;
#gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
}
// Active state
// ------------
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
color: @dropdownLinkColorHover;
text-decoration: none;
outline: 0;
background-color: @dropdownLinkBackgroundActive;
#gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
}
// Disabled state
// --------------
// Gray out text and ensure the hover state remains gray
.dropdown-menu .disabled > a,
.dropdown-menu .disabled > a:hover {
color: @grayLight;
}
// Nuke hover effects
.dropdown-menu .disabled > a:hover {
text-decoration: none;
background-color: transparent;
cursor: default;
}
// Open state for the dropdown
// ---------------------------
.open {
// IE7's z-index only goes to the nearest positioned ancestor, which would
// make the menu appear below buttons that appeared later on the page
*z-index: @zindexDropdown;
& > .dropdown-menu {
display: block;
}
}
// Right aligned dropdowns
// ---------------------------
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
// Allow for dropdowns to go bottom up (aka, dropup-menu)
// ------------------------------------------------------
// Just add .dropup after the standard .dropdown class and you're set, bro.
// TODO: abstract this so that the navbar fixed styles are not placed here?
.dropup,
.navbar-fixed-bottom .dropdown {
// Reverse the caret
.caret {
border-top: 0;
border-bottom: 4px solid @black;
content: "\2191";
}
// Different positioning for bottom up menu
.dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
}
// Sub menus
// ---------------------------
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px;
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: darken(@dropdownBackground, 20%);
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
border-left-color: @dropdownLinkColorHover;
}
// Tweak nav headers
// -----------------
// Increase padding from 15px to 20px on sides
.dropdown .dropdown-menu .nav-header {
padding-left: 20px;
padding-right: 20px;
}
// Typeahead
// ---------
.typeahead {
margin-top: 2px; // give it some space to breathe
.border-radius(4px);
}

635
vendors/bootstrap/less/forms.less vendored Normal file
View file

@ -0,0 +1,635 @@
//
// Forms
// --------------------------------------------------
// GENERAL STYLES
// --------------
// Make all forms have space below them
form {
margin: 0 0 @baseLineHeight;
}
fieldset {
padding: 0;
margin: 0;
border: 0;
}
// Groups of fields with labels on top (legends)
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: @baseLineHeight;
font-size: @baseFontSize * 1.5;
line-height: @baseLineHeight * 2;
color: @grayDark;
border: 0;
border-bottom: 1px solid #e5e5e5;
// Small
small {
font-size: @baseLineHeight * .75;
color: @grayLight;
}
}
// Set font for forms
label,
input,
button,
select,
textarea {
#font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
}
input,
button,
select,
textarea {
font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
}
// Identify controls by their labels
label {
display: block;
margin-bottom: 5px;
}
// Form controls
// -------------------------
// Shared size and type resets
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
display: inline-block;
height: @baseLineHeight;
padding: 4px 6px;
margin-bottom: 9px;
font-size: @baseFontSize;
line-height: @baseLineHeight;
color: @gray;
.border-radius(@inputBorderRadius);
}
// Reset appearance properties for textual inputs and textarea
// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
input,
textarea {
width: 210px;
}
// Reset height since textareas have rows
textarea {
height: auto;
}
// Everything else
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
background-color: @inputBackground;
border: 1px solid @inputBorder;
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
.transition(~"border linear .2s, box-shadow linear .2s");
// Focus state
&:focus {
border-color: rgba(82,168,236,.8);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
}
}
// Position radios and checkboxes better
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
*margin-top: 0; /* IE7 */
margin-top: 1px \9; /* IE8-9 */
line-height: normal;
cursor: pointer;
}
// Reset width of input images, buttons, radios, checkboxes
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
width: auto; // Override of generic input selector
}
// Set the height of select and file controls to match text inputs
select,
input[type="file"] {
height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
*margin-top: 4px; /* For IE7, add top margin to align select with labels */
line-height: 30px;
}
// Make select elements obey height by applying a border
select {
width: 220px; // default input width + 10px of padding that doesn't get applied
border: 1px solid #bbb;
background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
}
// Make multiple select elements height not fixed
select[multiple],
select[size] {
height: auto;
}
// Focus for select, file, radio, and checkbox
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
.tab-focus();
}
// Uneditable inputs
// -------------------------
// Make uneditable inputs look inactive
.uneditable-input,
.uneditable-textarea {
color: @grayLight;
background-color: darken(@inputBackground, 1%);
border-color: @inputBorder;
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
cursor: not-allowed;
}
// For text that needs to appear as an input but should not be an input
.uneditable-input {
overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
white-space: nowrap;
}
// Make uneditable textareas behave like a textarea
.uneditable-textarea {
width: auto;
height: auto;
}
// Placeholder
// -------------------------
// Placeholder text gets special styles; can't be bundled together though for some reason
input,
textarea {
.placeholder();
}
// CHECKBOXES & RADIOS
// -------------------
// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
min-height: 18px; // clear the floating input if there is no label text
padding-left: 18px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
margin-left: -18px;
}
// Move the options list down to align with labels
.controls > .radio:first-child,
.controls > .checkbox:first-child {
padding-top: 5px; // has to be padding because margin collaspes
}
// Radios and checkboxes on same line
// TODO v3: Convert .inline to .control-inline
.radio.inline,
.checkbox.inline {
display: inline-block;
padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
margin-left: 10px; // space out consecutive inline controls
}
// INPUT SIZES
// -----------
// General classes for quick sizes
.input-mini { width: 60px; }
.input-small { width: 90px; }
.input-medium { width: 150px; }
.input-large { width: 210px; }
.input-xlarge { width: 270px; }
.input-xxlarge { width: 530px; }
// Grid style input sizes
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
// Redeclare since the fluid row class is more specific
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
float: none;
margin-left: 0;
}
// Ensure input-prepend/append never wraps
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
display: inline-block;
}
// GRID SIZING FOR INPUTS
// ----------------------
// Grid sizes
#grid > .input(@gridColumnWidth, @gridGutterWidth);
// Control row for multiple inputs per line
.controls-row {
.clearfix(); // Clear the float from controls
}
.controls-row [class*="span"] {
float: left; // Float to collapse white-space for proper grid alignment
}
// DISABLED STATE
// --------------
// Disabled and read-only inputs
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
cursor: not-allowed;
background-color: @inputDisabledBackground;
}
// Explicitly reset the colors here
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
background-color: transparent;
}
// FORM FIELD FEEDBACK STATES
// --------------------------
// Warning
.control-group.warning {
.formFieldState(@warningText, @warningText, @warningBackground);
}
// Error
.control-group.error {
.formFieldState(@errorText, @errorText, @errorBackground);
}
// Success
.control-group.success {
.formFieldState(@successText, @successText, @successBackground);
}
// HTML5 invalid states
// Shares styles with the .control-group.error above
input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {
color: #b94a48;
border-color: #ee5f5b;
&:focus {
border-color: darken(#ee5f5b, 10%);
.box-shadow(0 0 6px lighten(#ee5f5b, 20%));
}
}
// FORM ACTIONS
// ------------
.form-actions {
padding: (@baseLineHeight - 1) 20px @baseLineHeight;
margin-top: @baseLineHeight;
margin-bottom: @baseLineHeight;
background-color: @formActionsBackground;
border-top: 1px solid #e5e5e5;
.clearfix(); // Adding clearfix to allow for .pull-right button containers
}
// HELP TEXT
// ---------
.help-block,
.help-inline {
color: lighten(@textColor, 15%); // lighten the text some for contrast
}
.help-block {
display: block; // account for any element using help-block
margin-bottom: @baseLineHeight / 2;
}
.help-inline {
display: inline-block;
.ie7-inline-block();
vertical-align: middle;
padding-left: 5px;
}
// INPUT GROUPS
// ------------
// Allow us to put symbols and text within the input field for a cleaner look
.input-append,
.input-prepend {
margin-bottom: 5px;
font-size: 0;
white-space: nowrap; // Prevent span and input from separating
input,
select,
.uneditable-input {
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
margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
*margin-left: 0;
font-size: @baseFontSize;
vertical-align: top;
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
// Make input on top when focused so blue border and shadow always show
&:focus {
z-index: 2;
}
}
.add-on {
display: inline-block;
width: auto;
height: @baseLineHeight;
min-width: 16px;
padding: 4px 5px;
font-size: @baseFontSize;
font-weight: normal;
line-height: @baseLineHeight;
text-align: center;
text-shadow: 0 1px 0 @white;
background-color: @grayLighter;
border: 1px solid #ccc;
}
.add-on,
.btn {
margin-left: -1px;
vertical-align: top;
.border-radius(0);
}
.active {
background-color: lighten(@green, 30);
border-color: @green;
}
}
.input-prepend {
.add-on,
.btn {
margin-right: -1px;
}
.add-on:first-child,
.btn:first-child {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
}
.input-append {
input,
select,
.uneditable-input {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
.add-on:last-child,
.btn:last-child {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
// Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append {
input,
select,
.uneditable-input {
.border-radius(0);
}
.add-on:first-child,
.btn:first-child {
margin-right: -1px;
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
.add-on:last-child,
.btn:last-child {
margin-left: -1px;
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
// SEARCH FORM
// -----------
input.search-query {
padding-right: 14px;
padding-right: 4px \9;
padding-left: 14px;
padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
margin-bottom: 0; // Remove the default margin on all inputs
.border-radius(15px);
}
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
.border-radius(0); // Override due to specificity
}
.form-search .input-append .search-query {
.border-radius(14px 0 0 14px)
}
.form-search .input-append .btn {
.border-radius(0 14px 14px 0)
}
.form-search .input-prepend .search-query {
.border-radius(0 14px 14px 0)
}
.form-search .input-prepend .btn {
.border-radius(14px 0 0 14px)
}
// HORIZONTAL & VERTICAL FORMS
// ---------------------------
// Common properties
// -----------------
.form-search,
.form-inline,
.form-horizontal {
input,
textarea,
select,
.help-inline,
.uneditable-input,
.input-prepend,
.input-append {
display: inline-block;
.ie7-inline-block();
margin-bottom: 0;
vertical-align: middle;
}
// Re-hide hidden elements due to specifity
.hide {
display: none;
}
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
display: inline-block;
}
// Remove margin for input-prepend/-append
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
margin-bottom: 0;
}
// Inline checkbox/radio labels (remove padding on left)
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
// Remove float and margin, set to inline-block
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-right: 3px;
margin-left: 0;
}
// Margin to space out fieldsets
.control-group {
margin-bottom: @baseLineHeight / 2;
}
// Legend collapses margin, so next element is responsible for spacing
legend + .control-group {
margin-top: @baseLineHeight;
-webkit-margin-top-collapse: separate;
}
// Horizontal-specific styles
// --------------------------
.form-horizontal {
// Increase spacing between groups
.control-group {
margin-bottom: @baseLineHeight;
.clearfix();
}
// Float the labels left
.control-label {
float: left;
width: 140px;
padding-top: 5px;
text-align: right;
}
// Move over all input controls and content
.controls {
// Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
// don't inherit the margin of the parent, in this case .controls
*display: inline-block;
*padding-left: 20px;
margin-left: 160px;
*margin-left: 0;
&:first-child {
*padding-left: 160px;
}
}
// Remove bottom margin on block level help text since that's accounted for on .control-group
.help-block {
margin-top: @baseLineHeight / 2;
margin-bottom: 0;
}
// Move over buttons in .form-actions to align with .controls
.form-actions {
padding-left: 160px;
}
}

21
vendors/bootstrap/less/grid.less vendored Normal file
View file

@ -0,0 +1,21 @@
//
// Grid system
// --------------------------------------------------
// Fixed (940px)
#grid > .core(@gridColumnWidth, @gridGutterWidth);
// Fluid (940px)
#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
// Reset utility classes due to specificity
[class*="span"].hide,
.row-fluid [class*="span"].hide {
display: none;
}
[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
float: right;
}

24
vendors/bootstrap/less/hero-unit.less vendored Normal file
View file

@ -0,0 +1,24 @@
//
// Hero unit
// --------------------------------------------------
.hero-unit {
padding: 60px;
margin-bottom: 30px;
background-color: @heroUnitBackground;
.border-radius(6px);
h1 {
margin-bottom: 0;
font-size: 60px;
line-height: 1;
color: @heroUnitHeadingColor;
letter-spacing: -1px;
}
p {
font-size: 18px;
font-weight: 200;
line-height: @baseLineHeight * 1.5;
color: @heroUnitLeadColor;
}
}

View file

@ -0,0 +1,72 @@
//
// Labels and badges
// --------------------------------------------------
// Base classes
.label,
.badge {
font-size: @baseFontSize * .846;
font-weight: bold;
line-height: 14px; // ensure proper line-height if floated
color: @white;
vertical-align: baseline;
white-space: nowrap;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
background-color: @grayLight;
}
// Set unique padding and border-radii
.label {
padding: 1px 4px 2px;
.border-radius(3px);
}
.badge {
padding: 1px 9px 2px;
.border-radius(9px);
}
// Hover state, but only for links
a {
&.label:hover,
&.badge:hover {
color: @white;
text-decoration: none;
cursor: pointer;
}
}
// Colors
// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
.label,
.badge {
// Important (red)
&-important { background-color: @errorText; }
&-important[href] { background-color: darken(@errorText, 10%); }
// Warnings (orange)
&-warning { background-color: @orange; }
&-warning[href] { background-color: darken(@orange, 10%); }
// Success (green)
&-success { background-color: @successText; }
&-success[href] { background-color: darken(@successText, 10%); }
// Info (turquoise)
&-info { background-color: @infoText; }
&-info[href] { background-color: darken(@infoText, 10%); }
// Inverse (black)
&-inverse { background-color: @grayDark; }
&-inverse[href] { background-color: darken(@grayDark, 10%); }
}
// Quick fix for labels/badges in buttons
.btn {
.label,
.badge {
position: relative;
top: -1px;
}
}
.btn-mini {
.label,
.badge {
top: 0;
}
}

16
vendors/bootstrap/less/layouts.less vendored Normal file
View file

@ -0,0 +1,16 @@
//
// Layouts
// --------------------------------------------------
// Container (centered, fixed-width layouts)
.container {
.container-fixed();
}
// Fluid layouts (left aligned, with sidebar, min- & max-width content)
.container-fluid {
padding-right: @gridGutterWidth;
padding-left: @gridGutterWidth;
.clearfix();
}

671
vendors/bootstrap/less/mixins.less vendored Normal file
View file

@ -0,0 +1,671 @@
//
// Mixins
// --------------------------------------------------
// UTILITY MIXINS
// --------------------------------------------------
// Clearfix
// --------
// For clearing floats like a boss h5bp.com/q
.clearfix {
*zoom: 1;
&:before,
&:after {
display: table;
content: "";
// Fixes Opera/contenteditable bug:
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
line-height: 0;
}
&:after {
clear: both;
}
}
// Webkit-style focus
// ------------------
.tab-focus() {
// Default
outline: thin dotted #333;
// Webkit
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
// Center-align a block level element
// ----------------------------------
.center-block() {
display: block;
margin-left: auto;
margin-right: auto;
}
// IE7 inline-block
// ----------------
.ie7-inline-block() {
*display: inline; /* IE7 inline-block hack */
*zoom: 1;
}
// IE7 likes to collapse whitespace on either side of the inline-block elements.
// Ems because we're attempting to match the width of a space character. Left
// version is for form buttons, which typically come after other elements, and
// right version is for icons, which come before. Applying both is ok, but it will
// mean that space between those elements will be .6em (~2 space characters) in IE7,
// instead of the 1 space in other browsers.
.ie7-restore-left-whitespace() {
*margin-left: .3em;
&:first-child {
*margin-left: 0;
}
}
.ie7-restore-right-whitespace() {
*margin-right: .3em;
}
// Sizing shortcuts
// -------------------------
.size(@height, @width) {
width: @width;
height: @height;
}
.square(@size) {
.size(@size, @size);
}
// Placeholder text
// -------------------------
.placeholder(@color: @placeholderText) {
&:-moz-placeholder {
color: @color;
}
&:-ms-input-placeholder {
color: @color;
}
&::-webkit-input-placeholder {
color: @color;
}
}
// Text overflow
// -------------------------
// Requires inline-block or block for proper styling
.text-overflow() {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// CSS image replacement
// -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
// FONTS
// --------------------------------------------------
#font {
#family {
.serif() {
font-family: @serifFontFamily;
}
.sans-serif() {
font-family: @sansFontFamily;
}
.monospace() {
font-family: @monoFontFamily;
}
}
.shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
font-size: @size;
font-weight: @weight;
line-height: @lineHeight;
}
.serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
#font > #family > .serif;
#font > .shorthand(@size, @weight, @lineHeight);
}
.sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
#font > #family > .sans-serif;
#font > .shorthand(@size, @weight, @lineHeight);
}
.monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
#font > #family > .monospace;
#font > .shorthand(@size, @weight, @lineHeight);
}
}
// FORMS
// --------------------------------------------------
// Block level inputs
.input-block-level {
display: block;
width: 100%;
min-height: 30px; // Make inputs at least the height of their button counterpart
.box-sizing(border-box); // Makes inputs behave like true block-level elements
}
// Mixin for form field states
.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
// Set the text color
> label,
.help-block,
.help-inline {
color: @textColor;
}
// Style inputs accordingly
.checkbox,
.radio,
input,
select,
textarea {
color: @textColor;
border-color: @borderColor;
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
&:focus {
border-color: darken(@borderColor, 10%);
// Write out in full since the lighten() function isn't easily escaped
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
}
}
// Give a small background color for input-prepend/-append
.input-prepend .add-on,
.input-append .add-on {
color: @textColor;
background-color: @backgroundColor;
border-color: @textColor;
}
}
// CSS3 PROPERTIES
// --------------------------------------------------
// Border Radius
.border-radius(@radius) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}
// Single Corner Border Radius
.border-top-left-radius(@radius) {
-webkit-border-top-left-radius: @radius;
-moz-border-radius-topleft: @radius;
border-top-left-radius: @radius;
}
.border-top-right-radius(@radius) {
-webkit-border-top-right-radius: @radius;
-moz-border-radius-topright: @radius;
border-top-right-radius: @radius;
}
.border-bottom-right-radius(@radius) {
-webkit-border-bottom-right-radius: @radius;
-moz-border-radius-bottomright: @radius;
border-bottom-right-radius: @radius;
}
.border-bottom-left-radius(@radius) {
-webkit-border-bottom-left-radius: @radius;
-moz-border-radius-bottomleft: @radius;
border-bottom-left-radius: @radius;
}
// Single Side Border Radius
.border-top-radius(@radius) {
.border-top-right-radius(@radius);
.border-top-left-radius(@radius);
}
.border-right-radius(@radius) {
.border-top-right-radius(@radius);
.border-bottom-right-radius(@radius);
}
.border-bottom-radius(@radius) {
.border-bottom-right-radius(@radius);
.border-bottom-left-radius(@radius);
}
.border-left-radius(@radius) {
.border-top-left-radius(@radius);
.border-bottom-left-radius(@radius);
}
// Drop shadows
.box-shadow(@shadow) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
}
// Transitions
.transition(@transition) {
-webkit-transition: @transition;
-moz-transition: @transition;
-o-transition: @transition;
transition: @transition;
}
// Transformations
.rotate(@degrees) {
-webkit-transform: rotate(@degrees);
-moz-transform: rotate(@degrees);
-ms-transform: rotate(@degrees);
-o-transform: rotate(@degrees);
transform: rotate(@degrees);
}
.scale(@ratio) {
-webkit-transform: scale(@ratio);
-moz-transform: scale(@ratio);
-ms-transform: scale(@ratio);
-o-transform: scale(@ratio);
transform: scale(@ratio);
}
.translate(@x, @y) {
-webkit-transform: translate(@x, @y);
-moz-transform: translate(@x, @y);
-ms-transform: translate(@x, @y);
-o-transform: translate(@x, @y);
transform: translate(@x, @y);
}
.skew(@x, @y) {
-webkit-transform: skew(@x, @y);
-moz-transform: skew(@x, @y);
-ms-transform: skew(@x, @y);
-o-transform: skew(@x, @y);
transform: skew(@x, @y);
}
.translate3d(@x, @y, @z) {
-webkit-transform: translate3d(@x, @y, @z);
-moz-transform: translate3d(@x, @y, @z);
-o-transform: translate3d(@x, @y, @z);
transform: translate3d(@x, @y, @z);
}
// Backface visibility
// Prevent browsers from flickering when using CSS 3D transforms.
// Default value is `visible`, but can be changed to `hidden
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
.backface-visibility(@visibility){
-webkit-backface-visibility: @visibility;
-moz-backface-visibility: @visibility;
backface-visibility: @visibility;
}
// Background clipping
// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
.background-clip(@clip) {
-webkit-background-clip: @clip;
-moz-background-clip: @clip;
background-clip: @clip;
}
// Background sizing
.background-size(@size){
-webkit-background-size: @size;
-moz-background-size: @size;
-o-background-size: @size;
background-size: @size;
}
// Box sizing
.box-sizing(@boxmodel) {
-webkit-box-sizing: @boxmodel;
-moz-box-sizing: @boxmodel;
box-sizing: @boxmodel;
}
// User select
// For selecting text on the page
.user-select(@select) {
-webkit-user-select: @select;
-moz-user-select: @select;
-ms-user-select: @select;
-o-user-select: @select;
user-select: @select;
}
// Resize anything
.resizable(@direction) {
resize: @direction; // Options: horizontal, vertical, both
overflow: auto; // Safari fix
}
// CSS3 Content Columns
.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
-webkit-column-count: @columnCount;
-moz-column-count: @columnCount;
column-count: @columnCount;
-webkit-column-gap: @columnGap;
-moz-column-gap: @columnGap;
column-gap: @columnGap;
}
// Optional hyphenation
.hyphens(@mode: auto) {
word-wrap: break-word;
-webkit-hyphens: @mode;
-moz-hyphens: @mode;
-ms-hyphens: @mode;
-o-hyphens: @mode;
hyphens: @mode;
}
// Opacity
.opacity(@opacity) {
opacity: @opacity / 100;
filter: ~"alpha(opacity=@{opacity})";
}
// BACKGROUNDS
// --------------------------------------------------
// Add an alphatransparency value to any background or border color (via Elyse Holladay)
#translucent {
.background(@color: @white, @alpha: 1) {
background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
}
.border(@color: @white, @alpha: 1) {
border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
.background-clip(padding-box);
}
}
// Gradient Bar Colors for buttons and alerts
.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
color: @textColor;
text-shadow: @textShadow;
#gradient > .vertical(@primaryColor, @secondaryColor);
border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
}
// Gradients
#gradient {
.horizontal(@startColor: #555, @endColor: #333) {
background-color: @endColor;
background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
background-repeat: repeat-x;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
}
.vertical(@startColor: #555, @endColor: #333) {
background-color: mix(@startColor, @endColor, 60%);
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
background-repeat: repeat-x;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
}
.directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
background-color: @endColor;
background-repeat: repeat-x;
background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
}
.vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
background-color: mix(@midColor, @endColor, 80%);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop*100%, @endColor);
background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
background-repeat: no-repeat;
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
}
.radial(@innerColor: #555, @outerColor: #333) {
background-color: @outerColor;
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
background-repeat: no-repeat;
}
.striped(@color, @angle: 45deg) {
background-color: @color;
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));
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);
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);
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);
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);
}
}
// Reset filters for IE
.reset-filter() {
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
}
// COMPONENT MIXINS
// --------------------------------------------------
// Horizontal dividers
// -------------------------
// Dividers (basically an hr) within dropdowns and nav lists
.nav-divider(@top: #e5e5e5, @bottom: @white) {
// IE7 needs a set width since we gave a height. Restricting just
// to IE7 to keep the 1px left/right space in other browsers.
// It is unclear where IE is getting the extra space that we need
// to negative-margin away, but so it goes.
*width: 100%;
height: 1px;
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
*margin: -5px 0 5px;
overflow: hidden;
background-color: @top;
border-bottom: 1px solid @bottom;
}
// Button backgrounds
// ------------------
.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
// gradientBar will set the background to a pleasing blend of these, to support IE<=9
.gradientBar(@startColor, @endColor, @textColor, @textShadow);
*background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
.reset-filter();
// in these cases the gradient won't cover the background, so we override
&:hover, &:active, &.active, &.disabled, &[disabled] {
color: @textColor;
background-color: @endColor;
*background-color: darken(@endColor, 5%);
}
// IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
&:active,
&.active {
background-color: darken(@endColor, 10%) e("\9");
}
}
// Navbar vertical align
// -------------------------
// Vertically center elements in the navbar.
// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
.navbarVerticalAlign(@elementHeight) {
margin-top: (@navbarHeight - @elementHeight) / 2;
}
// Grid System
// -----------
// Centered container element
.container-fixed() {
margin-right: auto;
margin-left: auto;
.clearfix();
}
// Table columns
.tableColumns(@columnSpan: 1) {
float: none; // undo default grid column styles
width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
margin-left: 0; // undo default grid column styles
}
// Make a Grid
// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
.makeRow() {
margin-left: @gridGutterWidth * -1;
.clearfix();
}
.makeColumn(@columns: 1, @offset: 0) {
float: left;
margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
// The Grid
#grid {
.core (@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
(~".span@{index}") { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
.offsetX (@index) when (@index > 0) {
(~".offset@{index}") { .offset(@index); }
.offsetX(@index - 1);
}
.offsetX (0) {}
.offset (@columns) {
margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1));
}
.span (@columns) {
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
.row {
margin-left: @gridGutterWidth * -1;
.clearfix();
}
[class*="span"] {
float: left;
margin-left: @gridGutterWidth;
}
// Set the container width, and override it for fixed navbars in media queries
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container { .span(@gridColumns); }
// generate .spanX and .offsetX
.spanX (@gridColumns);
.offsetX (@gridColumns);
}
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
.spanX (@index) when (@index > 0) {
(~".span@{index}") { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
.offsetX (@index) when (@index > 0) {
(~'.offset@{index}') { .offset(@index); }
(~'.offset@{index}:first-child') { .offsetFirstChild(@index); }
.offsetX(@index - 1);
}
.offsetX (0) {}
.offset (@columns) {
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
}
.offsetFirstChild (@columns) {
margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
*margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
}
.span (@columns) {
width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
*width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
}
.row-fluid {
width: 100%;
.clearfix();
[class*="span"] {
.input-block-level();
float: left;
margin-left: @fluidGridGutterWidth;
*margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
}
[class*="span"]:first-child {
margin-left: 0;
}
// generate .spanX and .offsetX
.spanX (@gridColumns);
.offsetX (@gridColumns);
}
}
.input(@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
(~"input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index}") { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
.span(@columns) {
width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14;
}
input,
textarea,
.uneditable-input {
margin-left: 0; // override margin-left from core grid system
}
// Space grid-sized controls properly if multiple per line
.controls-row [class*="span"] + [class*="span"] {
margin-left: @gridGutterWidth;
}
// generate .spanX
.spanX (@gridColumns);
}
}

97
vendors/bootstrap/less/modals.less vendored Normal file
View file

@ -0,0 +1,97 @@
//
// Modals
// --------------------------------------------------
// Recalculate z-index where appropriate
.modal-open {
.dropdown-menu { z-index: @zindexDropdown + @zindexModal; }
.dropdown.open { *z-index: @zindexDropdown + @zindexModal; }
.popover { z-index: @zindexPopover + @zindexModal; }
.tooltip { z-index: @zindexTooltip + @zindexModal; }
}
// Background
.modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: @zindexModalBackdrop;
background-color: @black;
// Fade for backdrop
&.fade { opacity: 0; }
}
.modal-backdrop,
.modal-backdrop.fade.in {
.opacity(80);
}
// Base modal
.modal {
position: fixed;
top: 50%;
left: 50%;
z-index: @zindexModal;
overflow: auto;
width: 560px;
margin: -250px 0 0 -280px;
background-color: @white;
border: 1px solid #999;
border: 1px solid rgba(0,0,0,.3);
*border: 1px solid #999; /* IE6-7 */
.border-radius(6px);
.box-shadow(0 3px 7px rgba(0,0,0,0.3));
.background-clip(padding-box);
&.fade {
.transition(e('opacity .3s linear, top .3s ease-out'));
top: -25%;
}
&.fade.in { top: 50%; }
}
.modal-header {
padding: 9px 15px;
border-bottom: 1px solid #eee;
// Close icon
.close { margin-top: 2px; }
// Heading
h3 {
margin: 0;
line-height: 30px;
}
}
// Body (where all modal content resides)
.modal-body {
overflow-y: auto;
max-height: 400px;
padding: 15px;
}
// Remove bottom margin if need be
.modal-form {
margin-bottom: 0;
}
// Footer (for actions)
.modal-footer {
padding: 14px 15px 15px;
margin-bottom: 0;
text-align: right; // right align buttons
background-color: #f5f5f5;
border-top: 1px solid #ddd;
.border-radius(0 0 6px 6px);
.box-shadow(inset 0 1px 0 @white);
.clearfix(); // clear it in case folks use .pull-* classes on buttons
// Properly space out buttons
.btn + .btn {
margin-left: 5px;
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
}
// but override that for button groups
.btn-group .btn + .btn {
margin-left: -1px;
}
}

469
vendors/bootstrap/less/navbar.less vendored Normal file
View file

@ -0,0 +1,469 @@
//
// Navbars (Redux)
// --------------------------------------------------
// COMMON STYLES
// -------------
// Base class and wrapper
.navbar {
overflow: visible;
margin-bottom: @baseLineHeight;
color: @navbarText;
// Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
*position: relative;
*z-index: 2;
}
// Inner for background effects
// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
.navbar-inner {
min-height: @navbarHeight;
padding-left: 20px;
padding-right: 20px;
#gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
border: 1px solid @navbarBorder;
.border-radius(4px);
.box-shadow(0 1px 4px rgba(0,0,0,.065));
}
// Set width to auto for default container
// We then reset it for fixed navbars in the #gridSystem mixin
.navbar .container {
width: auto;
}
// Override the default collapsed state
.nav-collapse.collapse {
height: auto;
}
// Brand: website or project name
// -------------------------
.navbar .brand {
float: left;
display: block;
// Vertically center the text given @navbarHeight
padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
margin-left: -20px; // negative indent to left-align the text down the page
font-size: 20px;
font-weight: 200;
color: @navbarBrandColor;
text-shadow: 0 1px 0 @navbarBackgroundHighlight;
&:hover {
text-decoration: none;
}
}
// Plain text in topbar
// -------------------------
.navbar-text {
margin-bottom: 0;
line-height: @navbarHeight;
}
// Janky solution for now to account for links outside the .nav
// -------------------------
.navbar-link {
color: @navbarLinkColor;
&:hover {
color: @navbarLinkColorHover;
}
}
// Dividers in navbar
// -------------------------
.navbar .divider-vertical {
height: @navbarHeight;
margin: 0 9px;
border-left: 1px solid @navbarBackground;
border-right: 1px solid @navbarBackgroundHighlight;
}
// Buttons in navbar
// -------------------------
.navbar .btn,
.navbar .btn-group {
.navbarVerticalAlign(28px); // Vertically center in navbar
}
.navbar .btn-group .btn {
margin: 0; // then undo the margin here so we don't accidentally double it
}
// Navbar forms
.navbar-form {
margin-bottom: 0; // remove default bottom margin
.clearfix();
input,
select,
.radio,
.checkbox {
.navbarVerticalAlign(30px); // Vertically center in navbar
}
input,
select,
.btn {
display: inline-block;
margin-bottom: 0;
}
input[type="image"],
input[type="checkbox"],
input[type="radio"] {
margin-top: 3px;
}
.input-append,
.input-prepend {
margin-top: 6px;
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
input {
margin-top: 0; // remove the margin on top since it's on the parent
}
}
}
// Navbar search
.navbar-search {
position: relative;
float: left;
.navbarVerticalAlign(30px); // Vertically center in navbar
margin-bottom: 0;
.search-query {
margin-bottom: 0;
padding: 4px 14px;
#font > .sans-serif(13px, normal, 1);
.border-radius(15px); // redeclare because of specificity of the type attribute
}
}
// Static navbar
// -------------------------
.navbar-static-top {
position: static;
width: 100%;
margin-bottom: 0; // remove 18px margin for default navbar
.navbar-inner {
.border-radius(0);
}
}
// Fixed navbar
// -------------------------
// Shared (top/bottom) styles
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: @zindexFixedNavbar;
margin-bottom: 0; // remove 18px margin for default navbar
}
.navbar-fixed-top,
.navbar-fixed-bottom,
.navbar-static-top {
.navbar-inner {
border: 0;
}
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
padding-left: 0;
padding-right: 0;
.border-radius(0);
}
// Reset container width
// Required here as we reset the width earlier on and the grid mixins don't override early enough
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
#grid > .core > .span(@gridColumns);
}
// Fixed to top
.navbar-fixed-top {
top: 0;
}
.navbar-fixed-top,
.navbar-static-top {
.navbar-inner {
.box-shadow(~"inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1)");
}
}
// Fixed to bottom
.navbar-fixed-bottom {
bottom: 0;
.navbar-inner {
.box-shadow(~"inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1)");
}
}
// NAVIGATION
// ----------
.navbar .nav {
position: relative;
left: 0;
display: block;
float: left;
margin: 0 10px 0 0;
}
.navbar .nav.pull-right {
float: right; // redeclare due to specificity
}
.navbar .nav > li {
float: left;
}
// Links
.navbar .nav > li > a {
float: none;
// Vertically center the text given @navbarHeight
padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
color: @navbarLinkColor;
text-decoration: none;
text-shadow: 0 1px 0 @navbarBackgroundHighlight;
}
.navbar .nav .dropdown-toggle .caret {
margin-top: 8px;
}
// Hover
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
color: @navbarLinkColorHover;
text-decoration: none;
}
// Active nav items
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
color: @navbarLinkColorActive;
text-decoration: none;
background-color: @navbarLinkBackgroundActive;
-webkit-box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
-moz-box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
box-shadow: inset 0 3px 8px rgba(0,0,0,.125);
}
// Navbar button for toggling navbar items in responsive layouts
// These definitions need to come after '.navbar .btn'
.navbar .btn-navbar {
display: none;
float: right;
padding: 7px 10px;
margin-left: 5px;
margin-right: 5px;
.buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
}
.navbar .btn-navbar .icon-bar {
display: block;
width: 18px;
height: 2px;
background-color: #f5f5f5;
.border-radius(1px);
.box-shadow(0 1px 0 rgba(0,0,0,.25));
}
.btn-navbar .icon-bar + .icon-bar {
margin-top: 3px;
}
// Dropdown menus
// --------------
// Menu position and menu carets
.navbar .nav > li > .dropdown-menu {
&:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: @dropdownBorder;
position: absolute;
top: -7px;
left: 9px;
}
&:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid @dropdownBackground;
position: absolute;
top: -6px;
left: 10px;
}
}
// Menu position and menu caret support for dropups via extra dropup class
.navbar-fixed-bottom .nav > li > .dropdown-menu {
&:before {
border-top: 7px solid #ccc;
border-top-color: @dropdownBorder;
border-bottom: 0;
bottom: -7px;
top: auto;
}
&:after {
border-top: 6px solid @dropdownBackground;
border-bottom: 0;
bottom: -6px;
top: auto;
}
}
// Remove background color from open dropdown
.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
background-color: @navbarLinkBackgroundActive;
color: @navbarLinkColorActive;
}
.navbar .nav li.dropdown > .dropdown-toggle .caret {
border-top-color: @navbarLinkColor;
border-bottom-color: @navbarLinkColor;
}
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
border-top-color: @navbarLinkColorActive;
border-bottom-color: @navbarLinkColorActive;
}
// Right aligned menus need alt position
.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
left: auto;
right: 0;
&:before {
left: auto;
right: 12px;
}
&:after {
left: auto;
right: 13px;
}
.dropdown-menu {
left: auto;
right: 100%;
margin-left: 0;
margin-right: -1px;
.border-radius(6px 0 6px 6px);
}
}
// Inverted navbar
// -------------------------
.navbar-inverse {
color: @navbarInverseText;
.navbar-inner {
#gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
border-color: @navbarInverseBorder;
}
.brand,
.nav > li > a {
color: @navbarInverseLinkColor;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
&:hover {
color: @navbarInverseLinkColorHover;
}
}
.nav > li > a:focus,
.nav > li > a:hover {
background-color: @navbarInverseLinkBackgroundHover;
color: @navbarInverseLinkColorHover;
}
.nav .active > a,
.nav .active > a:hover,
.nav .active > a:focus {
color: @navbarInverseLinkColorActive;
background-color: @navbarInverseLinkBackgroundActive;
}
// Inline text links
.navbar-link {
color: @navbarInverseLinkColor;
&:hover {
color: @navbarInverseLinkColorHover;
}
}
// Dividers in navbar
.divider-vertical {
border-left-color: @navbarInverseBackground;
border-right-color: @navbarInverseBackgroundHighlight;
}
// Dropdowns
.nav li.dropdown.open > .dropdown-toggle,
.nav li.dropdown.active > .dropdown-toggle,
.nav li.dropdown.open.active > .dropdown-toggle {
background-color: @navbarInverseLinkBackgroundActive;
color: @navbarInverseLinkColorActive;
}
.nav li.dropdown > .dropdown-toggle .caret {
border-top-color: @navbarInverseLinkColor;
border-bottom-color: @navbarInverseLinkColor;
}
.nav li.dropdown.open > .dropdown-toggle .caret,
.nav li.dropdown.active > .dropdown-toggle .caret,
.nav li.dropdown.open.active > .dropdown-toggle .caret {
border-top-color: @navbarInverseLinkColorActive;
border-bottom-color: @navbarInverseLinkColorActive;
}
// Navbar search
.navbar-search {
.search-query {
color: @white;
background-color: @navbarInverseSearchBackground;
border-color: @navbarInverseSearchBorder;
.box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
.transition(none);
.placeholder(@navbarInverseSearchPlaceholderColor);
// Focus states (we use .focused since IE7-8 and down doesn't support :focus)
&:focus,
&.focused {
padding: 5px 15px;
color: @grayDark;
text-shadow: 0 1px 0 @white;
background-color: @navbarInverseSearchBackgroundFocus;
border: 0;
.box-shadow(0 0 3px rgba(0,0,0,.15));
outline: 0;
}
}
}
// Navbar collapse button
.btn-navbar {
.buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%));
}
}

384
vendors/bootstrap/less/navs.less vendored Normal file
View file

@ -0,0 +1,384 @@
//
// Navs
// --------------------------------------------------
// BASE CLASS
// ----------
.nav {
margin-left: 0;
margin-bottom: @baseLineHeight;
list-style: none;
}
// Make links block level
.nav > li > a {
display: block;
}
.nav > li > a:hover {
text-decoration: none;
background-color: @grayLighter;
}
// Redeclare pull classes because of specifity
.nav > .pull-right {
float: right;
}
// Nav headers (for dropdowns and lists)
.nav-header {
display: block;
padding: 3px 15px;
font-size: 11px;
font-weight: bold;
line-height: @baseLineHeight;
color: @grayLight;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
text-transform: uppercase;
}
// Space them out when they follow another list item (link)
.nav li + .nav-header {
margin-top: 9px;
}
// NAV LIST
// --------
.nav-list {
padding-left: 15px;
padding-right: 15px;
margin-bottom: 0;
}
.nav-list > li > a,
.nav-list .nav-header {
margin-left: -15px;
margin-right: -15px;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.nav-list > li > a {
padding: 3px 15px;
}
.nav-list > .active > a,
.nav-list > .active > a:hover {
color: @white;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
background-color: @linkColor;
}
.nav-list [class^="icon-"] {
margin-right: 2px;
}
// Dividers (basically an hr) within the dropdown
.nav-list .divider {
.nav-divider();
}
// TABS AND PILLS
// -------------
// Common styles
.nav-tabs,
.nav-pills {
.clearfix();
}
.nav-tabs > li,
.nav-pills > li {
float: left;
}
.nav-tabs > li > a,
.nav-pills > li > a {
padding-right: 12px;
padding-left: 12px;
margin-right: 2px;
line-height: 14px; // keeps the overall height an even number
}
// TABS
// ----
// Give the tabs something to sit on
.nav-tabs {
border-bottom: 1px solid #ddd;
}
// Make the list-items overlay the bottom border
.nav-tabs > li {
margin-bottom: -1px;
}
// Actual tabs (as links)
.nav-tabs > li > a {
padding-top: 8px;
padding-bottom: 8px;
line-height: @baseLineHeight;
border: 1px solid transparent;
.border-radius(4px 4px 0 0);
&:hover {
border-color: @grayLighter @grayLighter #ddd;
}
}
// Active state, and it's :hover to override normal :hover
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover {
color: @gray;
background-color: @white;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
// PILLS
// -----
// Links rendered as pills
.nav-pills > li > a {
padding-top: 8px;
padding-bottom: 8px;
margin-top: 2px;
margin-bottom: 2px;
.border-radius(5px);
}
// Active state
.nav-pills > .active > a,
.nav-pills > .active > a:hover {
color: @white;
background-color: @linkColor;
}
// STACKED NAV
// -----------
// Stacked tabs and pills
.nav-stacked > li {
float: none;
}
.nav-stacked > li > a {
margin-right: 0; // no need for the gap between nav items
}
// Tabs
.nav-tabs.nav-stacked {
border-bottom: 0;
}
.nav-tabs.nav-stacked > li > a {
border: 1px solid #ddd;
.border-radius(0);
}
.nav-tabs.nav-stacked > li:first-child > a {
.border-top-radius(4px);
}
.nav-tabs.nav-stacked > li:last-child > a {
.border-bottom-radius(4px);
}
.nav-tabs.nav-stacked > li > a:hover {
border-color: #ddd;
z-index: 2;
}
// Pills
.nav-pills.nav-stacked > li > a {
margin-bottom: 3px;
}
.nav-pills.nav-stacked > li:last-child > a {
margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
}
// DROPDOWNS
// ---------
.nav-tabs .dropdown-menu {
.border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
}
.nav-pills .dropdown-menu {
.border-radius(6px); // make rounded corners match the pills
}
// Default dropdown links
// -------------------------
// Make carets use linkColor to start
.nav .dropdown-toggle .caret {
border-top-color: @linkColor;
border-bottom-color: @linkColor;
margin-top: 6px;
}
.nav .dropdown-toggle:hover .caret {
border-top-color: @linkColorHover;
border-bottom-color: @linkColorHover;
}
/* move down carets for tabs */
.nav-tabs .dropdown-toggle .caret {
margin-top: 8px;
}
// Active dropdown links
// -------------------------
.nav .active .dropdown-toggle .caret {
border-top-color: #fff;
border-bottom-color: #fff;
}
.nav-tabs .active .dropdown-toggle .caret {
border-top-color: @gray;
border-bottom-color: @gray;
}
// Active:hover dropdown links
// -------------------------
.nav > .dropdown.active > a:hover {
cursor: pointer;
}
// Open dropdowns
// -------------------------
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover {
color: @white;
background-color: @grayLight;
border-color: @grayLight;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret {
border-top-color: @white;
border-bottom-color: @white;
.opacity(100);
}
// Dropdowns in stacked tabs
.tabs-stacked .open > a:hover {
border-color: @grayLight;
}
// TABBABLE
// --------
// COMMON STYLES
// -------------
// Clear any floats
.tabbable {
.clearfix();
}
.tab-content {
overflow: auto; // prevent content from running below tabs
}
// Remove border on bottom, left, right
.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
border-bottom: 0;
}
// Show/hide tabbable areas
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: none;
}
.tab-content > .active,
.pill-content > .active {
display: block;
}
// BOTTOM
// ------
.tabs-below > .nav-tabs {
border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
margin-top: -1px;
margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
.border-radius(0 0 4px 4px);
&:hover {
border-bottom-color: transparent;
border-top-color: #ddd;
}
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover {
border-color: transparent #ddd #ddd #ddd;
}
// LEFT & RIGHT
// ------------
// Common styles
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
float: none;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
min-width: 74px;
margin-right: 0;
margin-bottom: 3px;
}
// Tabs on the left
.tabs-left > .nav-tabs {
float: left;
margin-right: 19px;
border-right: 1px solid #ddd;
}
.tabs-left > .nav-tabs > li > a {
margin-right: -1px;
.border-radius(4px 0 0 4px);
}
.tabs-left > .nav-tabs > li > a:hover {
border-color: @grayLighter #ddd @grayLighter @grayLighter;
}
.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover {
border-color: #ddd transparent #ddd #ddd;
*border-right-color: @white;
}
// Tabs on the right
.tabs-right > .nav-tabs {
float: right;
margin-left: 19px;
border-left: 1px solid #ddd;
}
.tabs-right > .nav-tabs > li > a {
margin-left: -1px;
.border-radius(0 4px 4px 0);
}
.tabs-right > .nav-tabs > li > a:hover {
border-color: @grayLighter @grayLighter @grayLighter #ddd;
}
.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover {
border-color: #ddd #ddd #ddd transparent;
*border-left-color: @white;
}
// DISABLED STATES
// ---------------
// Gray out text
.nav > .disabled > a {
color: @grayLight;
}
// Nuke hover effects
.nav > .disabled > a:hover {
text-decoration: none;
background-color: transparent;
cursor: default;
}

37
vendors/bootstrap/less/pager.less vendored Normal file
View file

@ -0,0 +1,37 @@
//
// Pager pagination
// --------------------------------------------------
.pager {
margin: @baseLineHeight 0;
list-style: none;
text-align: center;
.clearfix();
}
.pager li {
display: inline;
}
.pager a {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #ddd;
.border-radius(15px);
}
.pager a:hover {
text-decoration: none;
background-color: #f5f5f5;
}
.pager .next a {
float: right;
}
.pager .previous a {
float: left;
}
.pager .disabled a,
.pager .disabled a:hover {
color: @grayLight;
background-color: #fff;
cursor: default;
}

64
vendors/bootstrap/less/pagination.less vendored Normal file
View file

@ -0,0 +1,64 @@
//
// Pagination (multiple pages)
// --------------------------------------------------
.pagination {
height: @baseLineHeight * 2;
margin: @baseLineHeight 0;
}
.pagination ul {
display: inline-block;
.ie7-inline-block();
margin-left: 0;
margin-bottom: 0;
.border-radius(3px);
.box-shadow(0 1px 2px rgba(0,0,0,.05));
}
.pagination li {
display: inline;
}
.pagination a,
.pagination span {
float: left;
padding: 0 14px;
line-height: (@baseLineHeight * 2) - 2;
text-decoration: none;
background-color: @paginationBackground;
border: 1px solid @paginationBorder;
border-left-width: 0;
}
.pagination a:hover,
.pagination .active a,
.pagination .active span {
background-color: #f5f5f5;
}
.pagination .active a,
.pagination .active span {
color: @grayLight;
cursor: default;
}
.pagination .disabled span,
.pagination .disabled a,
.pagination .disabled a:hover {
color: @grayLight;
background-color: transparent;
cursor: default;
}
.pagination li:first-child a,
.pagination li:first-child span {
border-left-width: 1px;
.border-radius(3px 0 0 3px);
}
.pagination li:last-child a,
.pagination li:last-child span {
.border-radius(0 3px 3px 0);
}
// Centered
.pagination-centered {
text-align: center;
}
.pagination-right {
text-align: right;
}

117
vendors/bootstrap/less/popovers.less vendored Normal file
View file

@ -0,0 +1,117 @@
//
// Popovers
// --------------------------------------------------
.popover {
position: absolute;
top: 0;
left: 0;
z-index: @zindexPopover;
display: none;
width: 236px;
padding: 1px;
background-color: @popoverBackground;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0,0,0,.2);
.border-radius(6px);
.box-shadow(0 5px 10px rgba(0,0,0,.2));
// Offset the popover to account for the popover arrow
&.top { margin-bottom: 10px; }
&.right { margin-left: 10px; }
&.bottom { margin-top: 10px; }
&.left { margin-right: 10px; }
}
.popover-title {
margin: 0; // reset heading margin
padding: 8px 14px;
font-size: 14px;
font-weight: normal;
line-height: 18px;
background-color: @popoverTitleBackground;
border-bottom: 1px solid darken(@popoverTitleBackground, 5%);
.border-radius(5px 5px 0 0);
}
.popover-content {
padding: 9px 14px;
p, ul, ol {
margin-bottom: 0;
}
}
// Arrows
.popover .arrow,
.popover .arrow:after {
position: absolute;
display: inline-block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover .arrow:after {
content: "";
z-index: -1;
}
.popover {
&.top .arrow {
bottom: -@popoverArrowWidth;
left: 50%;
margin-left: -@popoverArrowWidth;
border-width: @popoverArrowWidth @popoverArrowWidth 0;
border-top-color: @popoverArrowColor;
&:after {
border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth 0;
border-top-color: @popoverArrowOuterColor;
bottom: -1px;
left: -@popoverArrowOuterWidth;
}
}
&.right .arrow {
top: 50%;
left: -@popoverArrowWidth;
margin-top: -@popoverArrowWidth;
border-width: @popoverArrowWidth @popoverArrowWidth @popoverArrowWidth 0;
border-right-color: @popoverArrowColor;
&:after {
border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth @popoverArrowOuterWidth 0;
border-right-color: @popoverArrowOuterColor;
bottom: -@popoverArrowOuterWidth;
left: -1px;
}
}
&.bottom .arrow {
top: -@popoverArrowWidth;
left: 50%;
margin-left: -@popoverArrowWidth;
border-width: 0 @popoverArrowWidth @popoverArrowWidth;
border-bottom-color: @popoverArrowColor;
&:after {
border-width: 0 @popoverArrowOuterWidth @popoverArrowOuterWidth;
border-bottom-color: @popoverArrowOuterColor;
top: -1px;
left: -@popoverArrowOuterWidth;
}
}
&.left .arrow {
top: 50%;
right: -@popoverArrowWidth;
margin-top: -@popoverArrowWidth;
border-width: @popoverArrowWidth 0 @popoverArrowWidth @popoverArrowWidth;
border-left-color: @popoverArrowColor;
&:after {
border-width: @popoverArrowOuterWidth 0 @popoverArrowOuterWidth @popoverArrowOuterWidth;
border-left-color: @popoverArrowOuterColor;
bottom: -@popoverArrowOuterWidth;
right: -1px;
}
}
}

View file

@ -0,0 +1,122 @@
//
// Progress bars
// --------------------------------------------------
// ANIMATIONS
// ----------
// Webkit
@-webkit-keyframes progress-bar-stripes {
from { background-position: 40px 0; }
to { background-position: 0 0; }
}
// Firefox
@-moz-keyframes progress-bar-stripes {
from { background-position: 40px 0; }
to { background-position: 0 0; }
}
// IE9
@-ms-keyframes progress-bar-stripes {
from { background-position: 40px 0; }
to { background-position: 0 0; }
}
// Opera
@-o-keyframes progress-bar-stripes {
from { background-position: 0 0; }
to { background-position: 40px 0; }
}
// Spec
@keyframes progress-bar-stripes {
from { background-position: 40px 0; }
to { background-position: 0 0; }
}
// THE BARS
// --------
// Outer container
.progress {
overflow: hidden;
height: @baseLineHeight;
margin-bottom: @baseLineHeight;
#gradient > .vertical(#f5f5f5, #f9f9f9);
.box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
.border-radius(4px);
}
// Bar of progress
.progress .bar {
width: 0%;
height: 100%;
color: @white;
float: left;
font-size: 12px;
text-align: center;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
#gradient > .vertical(#149bdf, #0480be);
.box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
.box-sizing(border-box);
.transition(width .6s ease);
}
.progress .bar + .bar {
.box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)");
}
// Striped bars
.progress-striped .bar {
#gradient > .striped(#149bdf);
.background-size(40px 40px);
}
// Call animation for the active one
.progress.active .bar {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-moz-animation: progress-bar-stripes 2s linear infinite;
-ms-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
// COLORS
// ------
// Danger (red)
.progress-danger .bar, .progress .bar-danger {
#gradient > .vertical(#ee5f5b, #c43c35);
}
.progress-danger.progress-striped .bar, .progress-striped .bar-danger {
#gradient > .striped(#ee5f5b);
}
// Success (green)
.progress-success .bar, .progress .bar-success {
#gradient > .vertical(#62c462, #57a957);
}
.progress-success.progress-striped .bar, .progress-striped .bar-success {
#gradient > .striped(#62c462);
}
// Info (teal)
.progress-info .bar, .progress .bar-info {
#gradient > .vertical(#5bc0de, #339bb9);
}
.progress-info.progress-striped .bar, .progress-striped .bar-info {
#gradient > .striped(#5bc0de);
}
// Warning (orange)
.progress-warning .bar, .progress .bar-warning {
#gradient > .vertical(lighten(@orange, 15%), @orange);
}
.progress-warning.progress-striped .bar, .progress-striped .bar-warning {
#gradient > .striped(lighten(@orange, 15%));
}

134
vendors/bootstrap/less/reset.less vendored Normal file
View file

@ -0,0 +1,134 @@
//
// Modals
// Adapted from http://github.com/necolas/normalize.css
// --------------------------------------------------
// Display in IE6-9 and FF3
// -------------------------
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
display: block;
}
// Display block in IE6-9 and FF3
// -------------------------
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
// Prevents modern browsers from displaying 'audio' without controls
// -------------------------
audio:not([controls]) {
display: none;
}
// Base settings
// -------------------------
html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
// Focus states
a:focus {
.tab-focus();
}
// Hover & Active
a:hover,
a:active {
outline: 0;
}
// Prevents sub and sup affecting line-height in all browsers
// -------------------------
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
// Img border in a's and image quality
// -------------------------
img {
max-width: 100%; // Make images inherently responsive
height: auto; // Make images inherently responsive
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}
// Prevent max-width from affecting Google Maps
#map_canvas img {
max-width: none;
}
// Forms
// -------------------------
// Font size in all browsers, margin changes, misc consistency
button,
input,
select,
textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
}
button,
input {
*overflow: visible; // Inner spacing ie IE6/7
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
}
button::-moz-focus-inner,
input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
padding: 0;
border: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
cursor: pointer; // Cursors on all buttons applied consistently
-webkit-appearance: button; // Style clickable inputs in iOS
}
input[type="search"] { // Appearance in Safari/Chrome
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
}
textarea {
overflow: auto; // Remove vertical scrollbar in IE6-9
vertical-align: top; // Readability and alignment cross-browser
}

View file

@ -0,0 +1,28 @@
//
// Responsive: Large desktop and up
// --------------------------------------------------
@media (min-width: 1200px) {
// Fixed grid
#grid > .core(@gridColumnWidth1200, @gridGutterWidth1200);
// Fluid grid
#grid > .fluid(@fluidGridColumnWidth1200, @fluidGridGutterWidth1200);
// Input grid
#grid > .input(@gridColumnWidth1200, @gridGutterWidth1200);
// Thumbnails
.thumbnails {
margin-left: -@gridGutterWidth1200;
}
.thumbnails > li {
margin-left: @gridGutterWidth1200;
}
.row-fluid .thumbnails {
margin-left: 0;
}
}

View file

@ -0,0 +1,167 @@
//
// Responsive: Landscape phone to desktop/tablet
// --------------------------------------------------
@media (max-width: 767px) {
// Padding to set content in a bit
body {
padding-left: 20px;
padding-right: 20px;
}
// Negative indent the now static "fixed" navbar
.navbar-fixed-top,
.navbar-fixed-bottom {
margin-left: -20px;
margin-right: -20px;
}
// Remove padding on container given explicit padding set on body
.container-fluid {
padding: 0;
}
// TYPOGRAPHY
// ----------
// Reset horizontal dl
.dl-horizontal {
dt {
float: none;
clear: none;
width: auto;
text-align: left;
}
dd {
margin-left: 0;
}
}
// GRID & CONTAINERS
// -----------------
// Remove width from containers
.container {
width: auto;
}
// Fluid rows
.row-fluid {
width: 100%;
}
// Undo negative margin on rows and thumbnails
.row,
.thumbnails {
margin-left: 0;
}
.thumbnails > li {
float: none;
margin-left: 0; // Reset the default margin for all li elements when no .span* classes are present
}
// Make all grid-sized elements block level again
[class*="span"],
.row-fluid [class*="span"] {
float: none;
display: block;
width: auto;
margin-left: 0;
}
.span12,
.row-fluid .span12 {
width: 100%;
.box-sizing(border-box);
}
// FORM FIELDS
// -----------
// Make span* classes full width
.input-large,
.input-xlarge,
.input-xxlarge,
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input {
.input-block-level();
}
// But don't let it screw up prepend/append inputs
.input-prepend input,
.input-append input,
.input-prepend input[class*="span"],
.input-append input[class*="span"] {
display: inline-block; // redeclare so they don't wrap to new lines
width: auto;
}
// Modals
.modal {
position: fixed;
top: 20px;
left: 20px;
right: 20px;
width: auto;
margin: 0;
&.fade.in { top: auto; }
}
}
// UP TO LANDSCAPE PHONE
// ---------------------
@media (max-width: 480px) {
// Smooth out the collapsing/expanding nav
.nav-collapse {
-webkit-transform: translate3d(0, 0, 0); // activate the GPU
}
// Block level the page header small tag for readability
.page-header h1 small {
display: block;
line-height: @baseLineHeight;
}
// Update checkboxes for iOS
input[type="checkbox"],
input[type="radio"] {
border: 1px solid #ccc;
}
// Remove the horizontal form styles
.form-horizontal .control-group > label {
float: none;
width: auto;
padding-top: 0;
text-align: left;
}
// Move over all input controls and content
.form-horizontal .controls {
margin-left: 0;
}
// Move the options list down to align with labels
.form-horizontal .control-list {
padding-top: 0; // has to be padding because margin collaspes
}
// Move over buttons in .form-actions to align with .controls
.form-horizontal .form-actions {
padding-left: 10px;
padding-right: 10px;
}
// Modals
.modal {
top: 10px;
left: 10px;
right: 10px;
}
.modal-header .close {
padding: 10px;
margin: -10px;
}
// Carousel
.carousel-caption {
position: static;
}
}

View file

@ -0,0 +1,19 @@
//
// Responsive: Tablet to desktop
// --------------------------------------------------
@media (min-width: 768px) and (max-width: 979px) {
// Fixed grid
#grid > .core(@gridColumnWidth768, @gridGutterWidth768);
// Fluid grid
#grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768);
// Input grid
#grid > .input(@gridColumnWidth768, @gridGutterWidth768);
// No need to reset .thumbnails here since it's the same @gridGutterWidth
}

View file

@ -0,0 +1,166 @@
//
// Responsive: Navbar
// --------------------------------------------------
// TABLETS AND BELOW
// -----------------
@media (max-width: @navbarCollapseWidth) {
// UNFIX THE TOPBAR
// ----------------
// Remove any padding from the body
body {
padding-top: 0;
}
// Unfix the navbars
.navbar-fixed-top,
.navbar-fixed-bottom {
position: static;
}
.navbar-fixed-top {
margin-bottom: @baseLineHeight;
}
.navbar-fixed-bottom {
margin-top: @baseLineHeight;
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
padding: 5px;
}
.navbar .container {
width: auto;
padding: 0;
}
// Account for brand name
.navbar .brand {
padding-left: 10px;
padding-right: 10px;
margin: 0 0 0 -5px;
}
// COLLAPSIBLE NAVBAR
// ------------------
// Nav collapse clears brand
.nav-collapse {
clear: both;
}
// Block-level the nav
.nav-collapse .nav {
float: none;
margin: 0 0 (@baseLineHeight / 2);
}
.nav-collapse .nav > li {
float: none;
}
.nav-collapse .nav > li > a {
margin-bottom: 2px;
}
.nav-collapse .nav > .divider-vertical {
display: none;
}
.nav-collapse .nav .nav-header {
color: @navbarText;
text-shadow: none;
}
// Nav and dropdown links in navbar
.nav-collapse .nav > li > a,
.nav-collapse .dropdown-menu a {
padding: 9px 15px;
font-weight: bold;
color: @navbarLinkColor;
.border-radius(3px);
}
// Buttons
.nav-collapse .btn {
padding: 4px 10px 4px;
font-weight: normal;
.border-radius(4px);
}
.nav-collapse .dropdown-menu li + li a {
margin-bottom: 2px;
}
.nav-collapse .nav > li > a:hover,
.nav-collapse .dropdown-menu a:hover {
background-color: @navbarBackground;
}
.navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover {
background-color: @navbarInverseBackground;
}
// Buttons in the navbar
.nav-collapse.in .btn-group {
margin-top: 5px;
padding: 0;
}
// Dropdowns in the navbar
.nav-collapse .dropdown-menu {
position: static;
top: auto;
left: auto;
float: none;
display: block;
max-width: none;
margin: 0 15px;
padding: 0;
background-color: transparent;
border: none;
.border-radius(0);
.box-shadow(none);
}
.nav-collapse .dropdown-menu:before,
.nav-collapse .dropdown-menu:after {
display: none;
}
.nav-collapse .dropdown-menu .divider {
display: none;
}
// Forms in navbar
.nav-collapse .navbar-form,
.nav-collapse .navbar-search {
float: none;
padding: (@baseLineHeight / 2) 15px;
margin: (@baseLineHeight / 2) 0;
border-top: 1px solid @navbarBackground;
border-bottom: 1px solid @navbarBackground;
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
}
// Pull right (secondary) nav content
.navbar .nav-collapse .nav.pull-right {
float: none;
margin-left: 0;
}
// Hide everything in the navbar save .brand and toggle button */
.nav-collapse,
.nav-collapse.collapse {
overflow: hidden;
height: 0;
}
// Navbar button
.navbar .btn-navbar {
display: block;
}
// STATIC NAVBAR
// -------------
.navbar-static .navbar-inner {
padding-left: 10px;
padding-right: 10px;
}
}
// DEFAULT DESKTOP
// ---------------
@media (min-width: 980px) {
// Required to make the collapsing navbar work on regular desktops
.nav-collapse.collapse {
height: auto !important;
overflow: visible !important;
}
}

View file

@ -0,0 +1,43 @@
//
// Responsive: Utility classes
// --------------------------------------------------
// Hide from screenreaders and browsers
// Credit: HTML5 Boilerplate
.hidden {
display: none;
visibility: hidden;
}
// Visibility utilities
// For desktops
.visible-phone { display: none !important; }
.visible-tablet { display: none !important; }
.hidden-phone { }
.hidden-tablet { }
.hidden-desktop { display: none !important; }
.visible-desktop { display: inherit !important; }
// Tablets & small desktops only
@media (min-width: 768px) and (max-width: 979px) {
// Hide everything else
.hidden-desktop { display: inherit !important; }
.visible-desktop { display: none !important ; }
// Show
.visible-tablet { display: inherit !important; }
// Hide
.hidden-tablet { display: none !important; }
}
// Phones only
@media (max-width: 767px) {
// Hide everything else
.hidden-desktop { display: inherit !important; }
.visible-desktop { display: none !important; }
// Show
.visible-phone { display: inherit !important; } // Use inherit to restore previous behavior
// Hide
.hidden-phone { display: none !important; }
}

48
vendors/bootstrap/less/responsive.less vendored Normal file
View file

@ -0,0 +1,48 @@
/*!
* Bootstrap Responsive v2.1.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
// Responsive.less
// For phone and tablet devices
// -------------------------------------------------------------
// REPEAT VARIABLES & MIXINS
// -------------------------
// Required since we compile the responsive stuff separately
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";
// RESPONSIVE CLASSES
// ------------------
@import "responsive-utilities.less";
// MEDIA QUERIES
// ------------------
// Large desktops
@import "responsive-1200px-min.less";
// Tablets to regular desktops
@import "responsive-768px-979px.less";
// Phones to portrait tablets and narrow desktops
@import "responsive-767px-max.less";
// RESPONSIVE NAVBAR
// ------------------
// From 979px and below, show a button to toggle navbar contents
@import "responsive-navbar.less";

51
vendors/bootstrap/less/scaffolding.less vendored Normal file
View file

@ -0,0 +1,51 @@
//
// Scaffolding
// --------------------------------------------------
// Body reset
// -------------------------
body {
margin: 0;
font-family: @baseFontFamily;
font-size: @baseFontSize;
line-height: @baseLineHeight;
color: @textColor;
background-color: @bodyBackground;
}
// Links
// -------------------------
a {
color: @linkColor;
text-decoration: none;
}
a:hover {
color: @linkColorHover;
text-decoration: underline;
}
// Images
// -------------------------
.img-rounded {
.border-radius(6px);
}
.img-polaroid {
padding: 4px;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0,0,0,.2);
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.1);
-moz-box-shadow: 0 1px 3px rgba(0,0,0,.1);
box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
.img-circle {
.border-radius(500px);
}

189
vendors/bootstrap/less/sprites.less vendored Normal file
View file

@ -0,0 +1,189 @@
//
// Sprites
// --------------------------------------------------
// ICONS
// -----
// All icons receive the styles of the <i> tag with a base class
// of .i and are then given a unique class to add width, height,
// and background-position. Your resulting HTML will look like
// <i class="icon-inbox"></i>.
// For the white version of the icons, just add the .icon-white class:
// <i class="icon-inbox icon-white"></i>
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
width: 14px;
height: 14px;
.ie7-restore-right-whitespace();
line-height: 14px;
vertical-align: text-top;
background-image: url("@{iconSpritePath}");
background-position: 14px 14px;
background-repeat: no-repeat;
margin-top: 1px;
}
/* White icons with optional class, or on hover/active states of certain elements */
.icon-white,
.nav > .active > a > [class^="icon-"],
.nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"] {
background-image: url("@{iconWhiteSpritePath}");
}
/*
.icon-glass { background-position: 0 0; }
.icon-music { background-position: -24px 0; }
.icon-search { background-position: -48px 0; }
.icon-envelope { background-position: -72px 0; }
.icon-heart { background-position: -96px 0; }
.icon-star { background-position: -120px 0; }
.icon-star-empty { background-position: -144px 0; }
.icon-user { background-position: -168px 0; }
.icon-film { background-position: -192px 0; }
.icon-th-large { background-position: -216px 0; }
.icon-th { background-position: -240px 0; }
.icon-th-list { background-position: -264px 0; }
.icon-ok { background-position: -288px 0; }
.icon-remove { background-position: -312px 0; }
.icon-zoom-in { background-position: -336px 0; }
.icon-zoom-out { background-position: -360px 0; }
.icon-off { background-position: -384px 0; }
.icon-signal { background-position: -408px 0; }
.icon-cog { background-position: -432px 0; }
.icon-trash { background-position: -456px 0; }
.icon-home { background-position: 0 -24px; }
.icon-file { background-position: -24px -24px; }
.icon-time { background-position: -48px -24px; }
.icon-road { background-position: -72px -24px; }
.icon-download-alt { background-position: -96px -24px; }
.icon-download { background-position: -120px -24px; }
.icon-upload { background-position: -144px -24px; }
.icon-inbox { background-position: -168px -24px; }
.icon-play-circle { background-position: -192px -24px; }
.icon-repeat { background-position: -216px -24px; }
.icon-refresh { background-position: -240px -24px; }
.icon-list-alt { background-position: -264px -24px; }
.icon-lock { background-position: -287px -24px; } // 1px off
.icon-flag { background-position: -312px -24px; }
.icon-headphones { background-position: -336px -24px; }
.icon-volume-off { background-position: -360px -24px; }
.icon-volume-down { background-position: -384px -24px; }
.icon-volume-up { background-position: -408px -24px; }
.icon-qrcode { background-position: -432px -24px; }
.icon-barcode { background-position: -456px -24px; }
.icon-tag { background-position: 0 -48px; }
.icon-tags { background-position: -25px -48px; } // 1px off
.icon-book { background-position: -48px -48px; }
.icon-bookmark { background-position: -72px -48px; }
.icon-print { background-position: -96px -48px; }
.icon-camera { background-position: -120px -48px; }
.icon-font { background-position: -144px -48px; }
.icon-bold { background-position: -167px -48px; } // 1px off
.icon-italic { background-position: -192px -48px; }
.icon-text-height { background-position: -216px -48px; }
.icon-text-width { background-position: -240px -48px; }
.icon-align-left { background-position: -264px -48px; }
.icon-align-center { background-position: -288px -48px; }
.icon-align-right { background-position: -312px -48px; }
.icon-align-justify { background-position: -336px -48px; }
.icon-list { background-position: -360px -48px; }
.icon-indent-left { background-position: -384px -48px; }
.icon-indent-right { background-position: -408px -48px; }
.icon-facetime-video { background-position: -432px -48px; }
.icon-picture { background-position: -456px -48px; }
.icon-pencil { background-position: 0 -72px; }
.icon-map-marker { background-position: -24px -72px; }
.icon-adjust { background-position: -48px -72px; }
.icon-tint { background-position: -72px -72px; }
.icon-edit { background-position: -96px -72px; }
.icon-share { background-position: -120px -72px; }
.icon-check { background-position: -144px -72px; }
.icon-move { background-position: -168px -72px; }
.icon-step-backward { background-position: -192px -72px; }
.icon-fast-backward { background-position: -216px -72px; }
.icon-backward { background-position: -240px -72px; }
.icon-play { background-position: -264px -72px; }
.icon-pause { background-position: -288px -72px; }
.icon-stop { background-position: -312px -72px; }
.icon-forward { background-position: -336px -72px; }
.icon-fast-forward { background-position: -360px -72px; }
.icon-step-forward { background-position: -384px -72px; }
.icon-eject { background-position: -408px -72px; }
.icon-chevron-left { background-position: -432px -72px; }
.icon-chevron-right { background-position: -456px -72px; }
.icon-plus-sign { background-position: 0 -96px; }
.icon-minus-sign { background-position: -24px -96px; }
.icon-remove-sign { background-position: -48px -96px; }
.icon-ok-sign { background-position: -72px -96px; }
.icon-question-sign { background-position: -96px -96px; }
.icon-info-sign { background-position: -120px -96px; }
.icon-screenshot { background-position: -144px -96px; }
.icon-remove-circle { background-position: -168px -96px; }
.icon-ok-circle { background-position: -192px -96px; }
.icon-ban-circle { background-position: -216px -96px; }
.icon-arrow-left { background-position: -240px -96px; }
.icon-arrow-right { background-position: -264px -96px; }
.icon-arrow-up { background-position: -289px -96px; } // 1px off
.icon-arrow-down { background-position: -312px -96px; }
.icon-share-alt { background-position: -336px -96px; }
.icon-resize-full { background-position: -360px -96px; }
.icon-resize-small { background-position: -384px -96px; }
.icon-plus { background-position: -408px -96px; }
.icon-minus { background-position: -433px -96px; }
.icon-asterisk { background-position: -456px -96px; }
.icon-exclamation-sign { background-position: 0 -120px; }
.icon-gift { background-position: -24px -120px; }
.icon-leaf { background-position: -48px -120px; }
.icon-fire { background-position: -72px -120px; }
.icon-eye-open { background-position: -96px -120px; }
.icon-eye-close { background-position: -120px -120px; }
.icon-warning-sign { background-position: -144px -120px; }
.icon-plane { background-position: -168px -120px; }
.icon-calendar { background-position: -192px -120px; }
.icon-random { background-position: -216px -120px; width: 16px; }
.icon-comment { background-position: -240px -120px; }
.icon-magnet { background-position: -264px -120px; }
.icon-chevron-up { background-position: -288px -120px; }
.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off
.icon-retweet { background-position: -336px -120px; }
.icon-shopping-cart { background-position: -360px -120px; }
.icon-folder-close { background-position: -384px -120px; }
.icon-folder-open { background-position: -408px -120px; width: 16px; }
.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off
.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off
.icon-hdd { background-position: 0 -144px; }
.icon-bullhorn { background-position: -24px -144px; }
.icon-bell { background-position: -48px -144px; }
.icon-certificate { background-position: -72px -144px; }
.icon-thumbs-up { background-position: -96px -144px; }
.icon-thumbs-down { background-position: -120px -144px; }
.icon-hand-right { background-position: -144px -144px; }
.icon-hand-left { background-position: -168px -144px; }
.icon-hand-up { background-position: -192px -144px; }
.icon-hand-down { background-position: -216px -144px; }
.icon-circle-arrow-right { background-position: -240px -144px; }
.icon-circle-arrow-left { background-position: -264px -144px; }
.icon-circle-arrow-up { background-position: -288px -144px; }
.icon-circle-arrow-down { background-position: -312px -144px; }
.icon-globe { background-position: -336px -144px; }
.icon-wrench { background-position: -360px -144px; }
.icon-tasks { background-position: -384px -144px; }
.icon-filter { background-position: -408px -144px; }
.icon-briefcase { background-position: -432px -144px; }
.icon-fullscreen { background-position: -456px -144px; }
*/

225
vendors/bootstrap/less/tables.less vendored Normal file
View file

@ -0,0 +1,225 @@
//
// Tables
// --------------------------------------------------
// BASE TABLES
// -----------------
table {
max-width: 100%;
background-color: @tableBackground;
border-collapse: collapse;
border-spacing: 0;
}
// BASELINE STYLES
// ---------------
.table {
width: 100%;
margin-bottom: @baseLineHeight;
// Cells
th,
td {
padding: 8px;
line-height: @baseLineHeight;
text-align: left;
vertical-align: top;
border-top: 1px solid @tableBorder;
}
th {
font-weight: bold;
}
// Bottom align for column headings
thead th {
vertical-align: bottom;
}
// Remove top border from thead by default
caption + thead tr:first-child th,
caption + thead tr:first-child td,
colgroup + thead tr:first-child th,
colgroup + thead tr:first-child td,
thead:first-child tr:first-child th,
thead:first-child tr:first-child td {
border-top: 0;
}
// Account for multiple tbody instances
tbody + tbody {
border-top: 2px solid @tableBorder;
}
}
// CONDENSED TABLE W/ HALF PADDING
// -------------------------------
.table-condensed {
th,
td {
padding: 4px 5px;
}
}
// BORDERED VERSION
// ----------------
.table-bordered {
border: 1px solid @tableBorder;
border-collapse: separate; // Done so we can round those corners!
*border-collapse: collapse; // IE7 can't round corners anyway
border-left: 0;
.border-radius(4px);
th,
td {
border-left: 1px solid @tableBorder;
}
// Prevent a double border
caption + thead tr:first-child th,
caption + tbody tr:first-child th,
caption + tbody tr:first-child td,
colgroup + thead tr:first-child th,
colgroup + tbody tr:first-child th,
colgroup + tbody tr:first-child td,
thead:first-child tr:first-child th,
tbody:first-child tr:first-child th,
tbody:first-child tr:first-child td {
border-top: 0;
}
// For first th or td in the first row in the first thead or tbody
thead:first-child tr:first-child th:first-child,
tbody:first-child tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
thead:first-child tr:first-child th:last-child,
tbody:first-child tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
}
// For first th or td in the first row in the first thead or tbody
thead:last-child tr:last-child th:first-child,
tbody:last-child tr:last-child td:first-child,
tfoot:last-child tr:last-child td:first-child {
.border-radius(0 0 0 4px);
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
}
thead:last-child tr:last-child th:last-child,
tbody:last-child tr:last-child td:last-child,
tfoot:last-child tr:last-child td:last-child {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
}
// Special fixes to round the left border on the first td/th
caption + thead tr:first-child th:first-child,
caption + tbody tr:first-child td:first-child,
colgroup + thead tr:first-child th:first-child,
colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
caption + thead tr:first-child th:last-child,
caption + tbody tr:first-child td:last-child,
colgroup + thead tr:first-child th:last-child,
colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-right-topleft: 4px;
}
}
// ZEBRA-STRIPING
// --------------
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped {
tbody {
tr:nth-child(odd) td,
tr:nth-child(odd) th {
background-color: @tableBackgroundAccent;
}
}
}
// HOVER EFFECT
// ------------
// Placed here since it has to come after the potential zebra striping
.table-hover {
tbody {
tr:hover td,
tr:hover th {
background-color: @tableBackgroundHover;
}
}
}
// TABLE CELL SIZING
// -----------------
// Reset default grid behavior
table [class*=span],
.row-fluid table [class*=span] {
display: table-cell;
float: none; // undo default grid column styles
margin-left: 0; // undo default grid column styles
}
// Change the column widths to account for td/th padding
table {
.span1 { .tableColumns(1); }
.span2 { .tableColumns(2); }
.span3 { .tableColumns(3); }
.span4 { .tableColumns(4); }
.span5 { .tableColumns(5); }
.span6 { .tableColumns(6); }
.span7 { .tableColumns(7); }
.span8 { .tableColumns(8); }
.span9 { .tableColumns(9); }
.span10 { .tableColumns(10); }
.span11 { .tableColumns(11); }
.span12 { .tableColumns(12); }
.span13 { .tableColumns(13); }
.span14 { .tableColumns(14); }
.span15 { .tableColumns(15); }
.span16 { .tableColumns(16); }
.span17 { .tableColumns(17); }
.span18 { .tableColumns(18); }
.span19 { .tableColumns(19); }
.span20 { .tableColumns(20); }
.span21 { .tableColumns(21); }
.span22 { .tableColumns(22); }
.span23 { .tableColumns(23); }
.span24 { .tableColumns(24); }
}
// TABLE BACKGROUNDS
// -----------------
// Exact selectors below required to override .table-striped
.table {
tbody tr.success td {
background-color: @successBackground;
}
tbody tr.error td {
background-color: @errorBackground;
}
tbody tr.info td {
background-color: @infoBackground;
}
}

52
vendors/bootstrap/less/thumbnails.less vendored Normal file
View file

@ -0,0 +1,52 @@
//
// Thumbnails
// --------------------------------------------------
// Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files
// Make wrapper ul behave like the grid
.thumbnails {
margin-left: -@gridGutterWidth;
list-style: none;
.clearfix();
}
// Fluid rows have no left margin
.row-fluid .thumbnails {
margin-left: 0;
}
// Float li to make thumbnails appear in a row
.thumbnails > li {
float: left; // Explicity set the float since we don't require .span* classes
margin-bottom: @baseLineHeight;
margin-left: @gridGutterWidth;
}
// The actual thumbnail (can be `a` or `div`)
.thumbnail {
display: block;
padding: 4px;
line-height: @baseLineHeight;
border: 1px solid #ddd;
.border-radius(4px);
.box-shadow(0 1px 3px rgba(0,0,0,.055));
.transition(all .2s ease-in-out);
}
// Add a hover state for linked versions only
a.thumbnail:hover {
border-color: @linkColor;
.box-shadow(0 1px 4px rgba(0,105,214,.25));
}
// Images and captions
.thumbnail > img {
display: block;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
.thumbnail .caption {
padding: 9px;
color: @gray;
}

70
vendors/bootstrap/less/tooltip.less vendored Normal file
View file

@ -0,0 +1,70 @@
//
// Tooltips
// --------------------------------------------------
// Base class
.tooltip {
position: absolute;
z-index: @zindexTooltip;
display: block;
visibility: visible;
padding: 5px;
font-size: 11px;
.opacity(0);
&.in { .opacity(80); }
&.top { margin-top: -3px; }
&.right { margin-left: 3px; }
&.bottom { margin-top: 3px; }
&.left { margin-left: -3px; }
}
// Wrapper for the tooltip content
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: @tooltipColor;
text-align: center;
text-decoration: none;
background-color: @tooltipBackground;
.border-radius(4px);
}
// Arrows
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip {
&.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -@tooltipArrowWidth;
border-width: @tooltipArrowWidth @tooltipArrowWidth 0;
border-top-color: @tooltipArrowColor;
}
&.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -@tooltipArrowWidth;
border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0;
border-right-color: @tooltipArrowColor;
}
&.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -@tooltipArrowWidth;
border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth;
border-left-color: @tooltipArrowColor;
}
&.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -@tooltipArrowWidth;
border-width: 0 @tooltipArrowWidth @tooltipArrowWidth;
border-bottom-color: @tooltipArrowColor;
}
}

206
vendors/bootstrap/less/type.less vendored Normal file
View file

@ -0,0 +1,206 @@
//
// Typography
// --------------------------------------------------
// Body text
// -------------------------
p {
margin: 0 0 @baseLineHeight / 2;
}
.lead {
margin-bottom: @baseLineHeight;
font-size: 20px;
font-weight: 200;
line-height: @baseLineHeight * 1.5;
}
// Emphasis & misc
// -------------------------
small {
font-size: 85%; // Ex: 14px base font * 85% = about 12px
}
strong {
font-weight: bold;
}
em {
font-style: italic;
}
cite {
font-style: normal;
}
.muted {
color: @grayLight;
}
// Headings
// -------------------------
h1, h2, h3, h4, h5, h6 {
margin: (@baseLineHeight / 2) 0;
font-family: @headingsFontFamily;
font-weight: @headingsFontWeight;
line-height: 1;
color: @headingsColor;
text-rendering: optimizelegibility; // Fix the character spacing for headings
small {
font-weight: normal;
line-height: 1;
color: @grayLight;
}
}
h1 { font-size: 36px; line-height: 40px; }
h2 { font-size: 30px; line-height: 40px; }
h3 { font-size: 24px; line-height: 40px; }
h4 { font-size: 18px; line-height: 20px; }
h5 { font-size: 14px; line-height: 20px; }
h6 { font-size: 12px; line-height: 20px; }
h1 small { font-size: 24px; }
h2 small { font-size: 18px; }
h3 small { font-size: 14px; }
h4 small { font-size: 14px; }
// Page header
// -------------------------
.page-header {
padding-bottom: (@baseLineHeight / 2) - 1;
margin: @baseLineHeight 0 (@baseLineHeight * 1.5);
border-bottom: 1px solid @grayLighter;
}
// Lists
// --------------------------------------------------
// Unordered and Ordered lists
ul, ol {
padding: 0;
margin: 0 0 @baseLineHeight / 2 25px;
}
ul ul,
ul ol,
ol ol,
ol ul {
margin-bottom: 0;
}
li {
line-height: @baseLineHeight;
}
ul.unstyled,
ol.unstyled {
margin-left: 0;
list-style: none;
}
// Description Lists
dl {
margin-bottom: @baseLineHeight;
}
dt,
dd {
line-height: @baseLineHeight;
}
dt {
font-weight: bold;
}
dd {
margin-left: @baseLineHeight / 2;
}
// Horizontal layout (like forms)
.dl-horizontal {
dt {
float: left;
width: 120px;
clear: left;
text-align: right;
.text-overflow();
}
dd {
margin-left: 130px;
}
}
// MISC
// ----
// Horizontal rules
hr {
margin: @baseLineHeight 0;
border: 0;
border-top: 1px solid @hrBorder;
border-bottom: 1px solid @white;
}
// Abbreviations and acronyms
abbr[title] {
cursor: help;
border-bottom: 1px dotted @grayLight;
}
abbr.initialism {
font-size: 90%;
text-transform: uppercase;
}
// Blockquotes
blockquote {
padding: 0 0 0 15px;
margin: 0 0 @baseLineHeight;
border-left: 5px solid @grayLighter;
p {
margin-bottom: 0;
#font > .shorthand(16px,300,@baseLineHeight * 1.25);
}
small {
display: block;
line-height: @baseLineHeight;
color: @grayLight;
&:before {
content: '\2014 \00A0';
}
}
// Float right with text-align: right
&.pull-right {
float: right;
padding-right: 15px;
padding-left: 0;
border-right: 5px solid @grayLighter;
border-left: 0;
p,
small {
text-align: right;
}
small {
&:before {
content: '';
}
&:after {
content: '\00A0 \2014';
}
}
}
}
// Quotes
q:before,
q:after,
blockquote:before,
blockquote:after {
content: "";
}
// Addresses
address {
display: block;
margin-bottom: @baseLineHeight;
font-style: normal;
line-height: @baseLineHeight;
}

30
vendors/bootstrap/less/utilities.less vendored Normal file
View file

@ -0,0 +1,30 @@
//
// Utility classes
// --------------------------------------------------
// Quick floats
.pull-right {
float: right;
}
.pull-left {
float: left;
}
// Toggling content
.hide {
display: none;
}
.show {
display: block;
}
// Visibility
.invisible {
visibility: hidden;
}
// For Affix plugin
.affix {
position: fixed;
}

277
vendors/bootstrap/less/variables.less vendored Normal file
View file

@ -0,0 +1,277 @@
//
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #222;
@grayDark: #333;
@gray: #555;
@grayLight: #999;
@grayLighter: #eee;
@white: #fff;
// Accent colors
// -------------------------
@blue: #049cdb;
@blueDark: #0064cd;
@green: #46a546;
@red: #9d261d;
@yellow: #ffc40d;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
// Scaffolding
// -------------------------
@bodyBackground: @white;
@textColor: @grayDark;
// Links
// -------------------------
@linkColor: #08c;
@linkColorHover: darken(@linkColor, 15%);
// Typography
// -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 20px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover
@tableBorder: #ddd; // table and cell border
// Buttons
// -------------------------
@btnBackground: @white;
@btnBackgroundHighlight: darken(@white, 10%);
@btnBorder: #bbb;
@btnPrimaryBackground: @linkColor;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%);
@btnInfoBackground: #5bc0de;
@btnInfoBackgroundHighlight: #2f96b4;
@btnSuccessBackground: #62c462;
@btnSuccessBackgroundHighlight: #51a351;
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: #ee5f5b;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: #444;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms
// -------------------------
@inputBackground: @white;
@inputBorder: #ccc;
@inputBorderRadius: 3px;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5;
// Dropdowns
// -------------------------
@dropdownBackground: @white;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: #e5e5e5;
@dropdownDividerBottom: @white;
@dropdownLinkColor: @grayDark;
@dropdownLinkColorHover: @white;
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
@dropdownLinkColorActive: @dropdownLinkColor;
@dropdownLinkBackgroundActive: @linkColor;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: @grayLighter;
// Wells
// -------------------------
@wellBackground: #f5f5f5;
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarHeight: 40px;
@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
@navbarBackgroundHighlight: #ffffff;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @gray;
@navbarLinkColor: @gray;
@navbarLinkColorHover: @grayDark;
@navbarLinkColorActive: @gray;
@navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
@navbarBrandColor: @navbarLinkColor;
// Inverted navbar
@navbarInverseBackground: #111111;
@navbarInverseBackgroundHighlight: #222222;
@navbarInverseBorder: #252525;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
// Hero unit
// -------------------------
@heroUnitBackground: @grayLighter;
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: #000;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: #fff;
@popoverArrowWidth: 10px;
@popoverArrowColor: #fff;
@popoverTitleBackground: darken(@popoverBackground, 3%);
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);

29
vendors/bootstrap/less/wells.less vendored Normal file
View file

@ -0,0 +1,29 @@
//
// Wells
// --------------------------------------------------
// Base class
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: @wellBackground;
border: 1px solid darken(@wellBackground, 7%);
.border-radius(4px);
.box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
blockquote {
border-color: #ddd;
border-color: rgba(0,0,0,.15);
}
}
// Sizes
.well-large {
padding: 24px;
.border-radius(6px);
}
.well-small {
padding: 9px;
.border-radius(3px);
}

32
vendors/flags/flags-fixed.css vendored Normal file
View file

@ -0,0 +1,32 @@
.flag-wrapper {
width: 24px;
height: 16px;
display: inline-block;
}
.flag {
width: 16px;
height: 11px;
display: inline-block;
background: url(flags.png) no-repeat;
}
.flag.flag-en {background-position: -144px -154px}
.flag.flag-en-us {background-position: -144px -154px}
.flag.flag-en-gb {background-position: -240px -33px}
.flag.flag-en-ca {background-position: -48px -22px}
.flag.flag-nl, .flag.flag-nl-nl {background-position: -80px -110px}
.flag.flag-ru, .flag.flag-ru-ru {background-position: -224px -121px}
.flag.flag-de, .flag.flag-de-de {background-position: -80px -33px}
.flag.flag-it, .flag.flag-it-it {background-position: -208px -66px}
.flag.flag-is, .flag.flag-is-is {background-position: -192px -66px}
.flag.flag-lv, .flag.flag-lv-lv {background-position: -112px -88px}
.flag.flag-fr, .flag.flag-fr-fr, .flag.flag-fr-ca {background-position: -144px -44px}
.flag.flag-es, .flag.flag-es-es, .flag.flag-es-la {background-position: -16px -44px}
.flag.flag-ja, .flag.flag-jp, .flag.flag-ja-jp {background-position: -16px -77px}
.flag.flag-pt, .flag.flag-pt-pt {background-position: -112px -121px}
.flag.flag-pt-br {background-position: -192px -11px}

257
vendors/flags/flags.css vendored Normal file
View file

@ -0,0 +1,257 @@
.flag {
width: 16px;
height: 11px;
background:url(flags.png) no-repeat
}
.flag.flag-ad {background-position: -16px 0}
.flag.flag-ae {background-position: -32px 0}
.flag.flag-af {background-position: -48px 0}
.flag.flag-ag {background-position: -64px 0}
.flag.flag-ai {background-position: -80px 0}
.flag.flag-al {background-position: -96px 0}
.flag.flag-am {background-position: -112px 0}
.flag.flag-an {background-position: -128px 0}
.flag.flag-ao {background-position: -144px 0}
.flag.flag-ar {background-position: -160px 0}
.flag.flag-as {background-position: -176px 0}
.flag.flag-at {background-position: -192px 0}
.flag.flag-au {background-position: -208px 0}
.flag.flag-aw {background-position: -224px 0}
.flag.flag-az {background-position: -240px 0}
.flag.flag-ba {background-position: 0 -11px}
.flag.flag-bb {background-position: -16px -11px}
.flag.flag-bd {background-position: -32px -11px}
.flag.flag-be {background-position: -48px -11px}
.flag.flag-bf {background-position: -64px -11px}
.flag.flag-bg {background-position: -80px -11px}
.flag.flag-bh {background-position: -96px -11px}
.flag.flag-bi {background-position: -112px -11px}
.flag.flag-bj {background-position: -128px -11px}
.flag.flag-bm {background-position: -144px -11px}
.flag.flag-bn {background-position: -160px -11px}
.flag.flag-bo {background-position: -176px -11px}
.flag.flag-br {background-position: -192px -11px}
.flag.flag-bs {background-position: -208px -11px}
.flag.flag-bt {background-position: -224px -11px}
.flag.flag-bv {background-position: -240px -11px}
.flag.flag-bw {background-position: 0 -22px}
.flag.flag-by {background-position: -16px -22px}
.flag.flag-bz {background-position: -32px -22px}
.flag.flag-ca {background-position: -48px -22px}
.flag.flag-catalonia {background-position: -64px -22px}
.flag.flag-cd {background-position: -80px -22px}
.flag.flag-cf {background-position: -96px -22px}
.flag.flag-cg {background-position: -112px -22px}
.flag.flag-ch {background-position: -128px -22px}
.flag.flag-ci {background-position: -144px -22px}
.flag.flag-ck {background-position: -160px -22px}
.flag.flag-cl {background-position: -176px -22px}
.flag.flag-cm {background-position: -192px -22px}
.flag.flag-cn {background-position: -208px -22px}
.flag.flag-co {background-position: -224px -22px}
.flag.flag-cr {background-position: -240px -22px}
.flag.flag-cu {background-position: 0 -33px}
.flag.flag-cv {background-position: -16px -33px}
.flag.flag-cw {background-position: -32px -33px}
.flag.flag-cy {background-position: -48px -33px}
.flag.flag-cz {background-position: -64px -33px}
.flag.flag-de {background-position: -80px -33px}
.flag.flag-dj {background-position: -96px -33px}
.flag.flag-dk {background-position: -112px -33px}
.flag.flag-dm {background-position: -128px -33px}
.flag.flag-do {background-position: -144px -33px}
.flag.flag-dz {background-position: -160px -33px}
.flag.flag-ec {background-position: -176px -33px}
.flag.flag-ee {background-position: -192px -33px}
.flag.flag-eg {background-position: -208px -33px}
.flag.flag-eh {background-position: -224px -33px}
.flag.flag-england {background-position: -240px -33px}
.flag.flag-er {background-position: 0 -44px}
.flag.flag-es {background-position: -16px -44px}
.flag.flag-et {background-position: -32px -44px}
.flag.flag-eu {background-position: -48px -44px}
.flag.flag-fi {background-position: -64px -44px}
.flag.flag-fj {background-position: -80px -44px}
.flag.flag-fk {background-position: -96px -44px}
.flag.flag-fm {background-position: -112px -44px}
.flag.flag-fo {background-position: -128px -44px}
.flag.flag-fr {background-position: -144px -44px}
.flag.flag-ga {background-position: -160px -44px}
.flag.flag-gb {background-position: -176px -44px}
.flag.flag-gd {background-position: -192px -44px}
.flag.flag-ge {background-position: -208px -44px}
.flag.flag-gf {background-position: -224px -44px}
.flag.flag-gg {background-position: -240px -44px}
.flag.flag-gh {background-position: 0 -55px}
.flag.flag-gi {background-position: -16px -55px}
.flag.flag-gl {background-position: -32px -55px}
.flag.flag-gm {background-position: -48px -55px}
.flag.flag-gn {background-position: -64px -55px}
.flag.flag-gp {background-position: -80px -55px}
.flag.flag-gq {background-position: -96px -55px}
.flag.flag-gr {background-position: -112px -55px}
.flag.flag-gs {background-position: -128px -55px}
.flag.flag-gt {background-position: -144px -55px}
.flag.flag-gu {background-position: -160px -55px}
.flag.flag-gw {background-position: -176px -55px}
.flag.flag-gy {background-position: -192px -55px}
.flag.flag-hk {background-position: -208px -55px}
.flag.flag-hm {background-position: -224px -55px}
.flag.flag-hn {background-position: -240px -55px}
.flag.flag-hr {background-position: 0 -66px}
.flag.flag-ht {background-position: -16px -66px}
.flag.flag-hu {background-position: -32px -66px}
.flag.flag-ic {background-position: -48px -66px}
.flag.flag-id {background-position: -64px -66px}
.flag.flag-ie {background-position: -80px -66px}
.flag.flag-il {background-position: -96px -66px}
.flag.flag-im {background-position: -112px -66px}
.flag.flag-in {background-position: -128px -66px}
.flag.flag-io {background-position: -144px -66px}
.flag.flag-iq {background-position: -160px -66px}
.flag.flag-ir {background-position: -176px -66px}
.flag.flag-is {background-position: -192px -66px}
.flag.flag-it {background-position: -208px -66px}
.flag.flag-je {background-position: -224px -66px}
.flag.flag-jm {background-position: -240px -66px}
.flag.flag-jo {background-position: 0 -77px}
.flag.flag-jp {background-position: -16px -77px}
.flag.flag-ke {background-position: -32px -77px}
.flag.flag-kg {background-position: -48px -77px}
.flag.flag-kh {background-position: -64px -77px}
.flag.flag-ki {background-position: -80px -77px}
.flag.flag-km {background-position: -96px -77px}
.flag.flag-kn {background-position: -112px -77px}
.flag.flag-kp {background-position: -128px -77px}
.flag.flag-kr {background-position: -144px -77px}
.flag.flag-kurdistan {background-position: -160px -77px}
.flag.flag-kw {background-position: -176px -77px}
.flag.flag-ky {background-position: -192px -77px}
.flag.flag-kz {background-position: -208px -77px}
.flag.flag-la {background-position: -224px -77px}
.flag.flag-lb {background-position: -240px -77px}
.flag.flag-lc {background-position: 0 -88px}
.flag.flag-li {background-position: -16px -88px}
.flag.flag-lk {background-position: -32px -88px}
.flag.flag-lr {background-position: -48px -88px}
.flag.flag-ls {background-position: -64px -88px}
.flag.flag-lt {background-position: -80px -88px}
.flag.flag-lu {background-position: -96px -88px}
.flag.flag-lv {background-position: -112px -88px}
.flag.flag-ly {background-position: -128px -88px}
.flag.flag-ma {background-position: -144px -88px}
.flag.flag-mc {background-position: -160px -88px}
.flag.flag-md {background-position: -176px -88px}
.flag.flag-me {background-position: -192px -88px}
.flag.flag-mg {background-position: -208px -88px}
.flag.flag-mh {background-position: -224px -88px}
.flag.flag-mk {background-position: -240px -88px}
.flag.flag-ml {background-position: 0 -99px}
.flag.flag-mm {background-position: -16px -99px}
.flag.flag-mn {background-position: -32px -99px}
.flag.flag-mo {background-position: -48px -99px}
.flag.flag-mp {background-position: -64px -99px}
.flag.flag-mq {background-position: -80px -99px}
.flag.flag-mr {background-position: -96px -99px}
.flag.flag-ms {background-position: -112px -99px}
.flag.flag-mt {background-position: -128px -99px}
.flag.flag-mu {background-position: -144px -99px}
.flag.flag-mv {background-position: -160px -99px}
.flag.flag-mw {background-position: -176px -99px}
.flag.flag-mx {background-position: -192px -99px}
.flag.flag-my {background-position: -208px -99px}
.flag.flag-mz {background-position: -224px -99px}
.flag.flag-na {background-position: -240px -99px}
.flag.flag-nc {background-position: 0 -110px}
.flag.flag-ne {background-position: -16px -110px}
.flag.flag-nf {background-position: -32px -110px}
.flag.flag-ng {background-position: -48px -110px}
.flag.flag-ni {background-position: -64px -110px}
.flag.flag-nl {background-position: -80px -110px}
.flag.flag-no {background-position: -96px -110px}
.flag.flag-np {background-position: -112px -110px}
.flag.flag-nr {background-position: -128px -110px}
.flag.flag-nu {background-position: -144px -110px}
.flag.flag-nz {background-position: -160px -110px}
.flag.flag-om {background-position: -176px -110px}
.flag.flag-pa {background-position: -192px -110px}
.flag.flag-pe {background-position: -208px -110px}
.flag.flag-pf {background-position: -224px -110px}
.flag.flag-pg {background-position: -240px -110px}
.flag.flag-ph {background-position: 0 -121px}
.flag.flag-pk {background-position: -16px -121px}
.flag.flag-pl {background-position: -32px -121px}
.flag.flag-pm {background-position: -48px -121px}
.flag.flag-pn {background-position: -64px -121px}
.flag.flag-pr {background-position: -80px -121px}
.flag.flag-ps {background-position: -96px -121px}
.flag.flag-pt {background-position: -112px -121px}
.flag.flag-pw {background-position: -128px -121px}
.flag.flag-py {background-position: -144px -121px}
.flag.flag-qa {background-position: -160px -121px}
.flag.flag-re {background-position: -176px -121px}
.flag.flag-ro {background-position: -192px -121px}
.flag.flag-rs {background-position: -208px -121px}
.flag.flag-ru {background-position: -224px -121px}
.flag.flag-rw {background-position: -240px -121px}
.flag.flag-sa {background-position: 0 -132px}
.flag.flag-sb {background-position: -16px -132px}
.flag.flag-sc {background-position: -32px -132px}
.flag.flag-scotland {background-position: -48px -132px}
.flag.flag-sd {background-position: -64px -132px}
.flag.flag-se {background-position: -80px -132px}
.flag.flag-sg {background-position: -96px -132px}
.flag.flag-sh {background-position: -112px -132px}
.flag.flag-si {background-position: -128px -132px}
.flag.flag-sk {background-position: -144px -132px}
.flag.flag-sl {background-position: -160px -132px}
.flag.flag-sm {background-position: -176px -132px}
.flag.flag-sn {background-position: -192px -132px}
.flag.flag-so {background-position: -208px -132px}
.flag.flag-somaliland {background-position: -224px -132px}
.flag.flag-sr {background-position: -240px -132px}
.flag.flag-ss {background-position: 0 -143px}
.flag.flag-st {background-position: -16px -143px}
.flag.flag-sv {background-position: -32px -143px}
.flag.flag-sx {background-position: -48px -143px}
.flag.flag-sy {background-position: -64px -143px}
.flag.flag-sz {background-position: -80px -143px}
.flag.flag-tc {background-position: -96px -143px}
.flag.flag-td {background-position: -112px -143px}
.flag.flag-tf {background-position: -128px -143px}
.flag.flag-tg {background-position: -144px -143px}
.flag.flag-th {background-position: -160px -143px}
.flag.flag-tj {background-position: -176px -143px}
.flag.flag-tk {background-position: -192px -143px}
.flag.flag-tl {background-position: -208px -143px}
.flag.flag-tm {background-position: -224px -143px}
.flag.flag-tn {background-position: -240px -143px}
.flag.flag-to {background-position: 0 -154px}
.flag.flag-tr {background-position: -16px -154px}
.flag.flag-tt {background-position: -32px -154px}
.flag.flag-tv {background-position: -48px -154px}
.flag.flag-tw {background-position: -64px -154px}
.flag.flag-tz {background-position: -80px -154px}
.flag.flag-ua {background-position: -96px -154px}
.flag.flag-ug {background-position: -112px -154px}
.flag.flag-um {background-position: -128px -154px}
.flag.flag-us {background-position: -144px -154px}
.flag.flag-uy {background-position: -160px -154px}
.flag.flag-uz {background-position: -176px -154px}
.flag.flag-va {background-position: -192px -154px}
.flag.flag-vc {background-position: -208px -154px}
.flag.flag-ve {background-position: -224px -154px}
.flag.flag-vg {background-position: -240px -154px}
.flag.flag-vi {background-position: 0 -165px}
.flag.flag-vn {background-position: -16px -165px}
.flag.flag-vu {background-position: -32px -165px}
.flag.flag-wales {background-position: -48px -165px}
.flag.flag-wf {background-position: -64px -165px}
.flag.flag-ws {background-position: -80px -165px}
.flag.flag-ye {background-position: -96px -165px}
.flag.flag-yt {background-position: -112px -165px}
.flag.flag-za {background-position: -128px -165px}
.flag.flag-zanzibar {background-position: -144px -165px}
.flag.flag-zm {background-position: -160px -165px}
.flag.flag-zw {background-position: -176px -165px}

BIN
vendors/flags/flags.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

3
vendors/icomoon/Read Me.txt vendored Normal file
View file

@ -0,0 +1,3 @@
To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file.
See the documentation for more info on how to use this package: http://icomoon.io/#docs/font-face

308
vendors/icomoon/fonts/icomoon.dev.svg vendored Normal file
View file

@ -0,0 +1,308 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset grid="16"></iconset>
</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512" >
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
<glyph unicode="&#xe000;" d="M 478.566,412.544C 469.786,409.446, 35.149,256.307, 26.598,253.286c-7.27-2.56-8.909-8.832-0.256-12.262
c 10.266-4.122, 97.178-38.938, 97.178-38.938L 123.494,202.086 l 57.626-23.091c0,0, 277.427,203.75, 281.19,206.49c 3.763,2.765, 8.141-2.432, 5.402-5.402
c-2.739-2.995-201.498-217.958-201.498-217.958c-0.026,0-0.026,0-0.026,0l-11.571-12.902l 15.334-8.243l0,0c0,0, 119.040-64.077, 127.514-68.659
c 7.424-3.994, 17.101-0.666, 19.251,8.576c 2.534,10.906, 72.832,313.907, 74.394,320.614C 493.158,410.291, 487.373,415.642, 478.566,412.544z M 180.608,40.653
c0-6.323, 3.558-8.064, 8.474-3.61c 6.4,5.837, 72.934,65.536, 72.934,65.536l-81.408,42.138L 180.608,40.653 z" data-tags="paperplane, travel, plane, airplane" />
<glyph unicode="&#xe001;" d="M 486.4,49.92c0,0-51.2,249.165-275.84,249.165L 210.56,398.080 L 25.6,232.832l 184.96-171.29l0,111.565 C 332.493,173.107, 422.835,162.304, 486.4,49.92z" data-tags="reply, undo, arrow, left, back, previous" />
<glyph unicode="&#xe002;" d="M 184.96,329.472L 184.96,398.080 L0,232.832l 184.96-171.29l0,71.142 L 76.8,232.832L 184.96,329.472z M 312.96,299.11L 312.96,398.080 L 128,232.832l 184.96-171.29l0,111.565
c 84.301,0, 135.475-10.803, 199.040-123.187C 512,49.92, 502.605,299.11, 312.96,299.11z" data-tags="reply-all, first, arrow, left" />
<glyph unicode="&#xe003;" d="M 301.44,173.107l0-111.539 L 486.4,232.832L 301.44,398.080l0-98.97 C 76.8,299.11, 25.6,49.92, 25.6,49.92C 89.165,162.304, 179.507,173.107, 301.44,173.107z" data-tags="forward, arrow, right" />
<glyph unicode="&#xe004;" d="M 449.152,84.019l-96.742,96.742c 14.592,23.987, 22.989,52.096, 22.989,82.227c0,87.45-75.802,163.251-163.277,163.251
C 124.672,426.24, 53.76,355.328, 53.76,267.878c0-87.475, 75.776-163.277, 163.251-163.277c 29.082,0, 56.32,7.885, 79.744,21.581l 97.254-97.28
c 9.549-9.523, 24.96-9.523, 34.458,0l 24.141,24.115C 462.106,62.541, 458.65,74.522, 449.152,84.019z M 102.502,267.878
c0,60.544, 49.075,109.645, 109.619,109.645c 60.57,0, 114.534-53.965, 114.534-114.534s-49.075-109.645-109.645-109.645S 102.502,207.309, 102.502,267.878z" data-tags="search, magnifier, lookup, find" />
<glyph unicode="&#xe005;" d="M 179.2,249.6L 25.6,249.6 c-14.131,0-25.6-11.469-25.6-25.6s 11.469-25.6, 25.6-25.6l 153.6,0 c 14.131,0, 25.6,11.469, 25.6,25.6S 193.331,249.6, 179.2,249.6z M 179.2,147.2L 25.6,147.2 c-14.131,0-25.6-11.443-25.6-25.6s 11.469-25.6, 25.6-25.6l 153.6,0
c 14.131,0, 25.6,11.443, 25.6,25.6S 193.331,147.2, 179.2,147.2z M 496.64,249.6L 409.6,249.6 L 409.6,336.64 C 409.6,350.771, 398.157,352, 384,352s-25.6-1.229-25.6-15.36L 358.4,249.6 l-84.48,0 C 259.763,249.6, 258.56,238.131, 258.56,224
s 1.229-25.6, 15.386-25.6L 358.4,198.4 l0-87.040 c0-14.131, 11.443-15.36, 25.6-15.36s 25.6,1.229, 25.6,15.36L 409.6,198.4 l 87.040,0 c 14.131,0, 15.36,11.469, 15.36,25.6S 510.771,249.6, 496.64,249.6z M 179.2,352L 25.6,352
C 11.469,352,0,340.531,0,326.4s 11.469-25.6, 25.6-25.6l 153.6,0 c 14.131,0, 25.6,11.469, 25.6,25.6S 193.331,352, 179.2,352z" data-tags="add-to-list, plus, list" />
<glyph unicode="&#xe006;" d="M 318.259,480c 34.304,0, 51.456-23.398, 51.456-50.125c0-33.382-29.798-64.282-68.557-64.282c-32.512,0-51.456,19.2-50.56,50.918
C 250.598,443.264, 273.126,480, 318.259,480z M 212.71-32c-27.085,0-46.925,16.691-27.981,90.189l 31.078,130.33c 5.402,20.864, 6.298,29.235,0,29.235
c-8.141,0-43.264-14.413-64.051-28.621L 138.24,211.686c 65.869,55.962, 141.619,88.755, 174.106,88.755c 27.059,0, 31.539-32.563, 18.048-82.662l-35.61-137.011
c-6.298-24.218-3.61-32.563, 2.688-32.563c 8.141,0, 34.739,10.061, 60.902,30.925l 15.36-20.864C 309.709-6.912, 239.77-32, 212.71-32z" data-tags="info, about" />
<glyph unicode="&#xe007;" d="M 153.626,341.76L 153.6,106.24L 358.4,224 z" data-tags="arrow-right, triangle, right, next" />
<glyph unicode="&#xe008;" d="M 373.76,326.374L 138.24,326.4L 256,121.6 z" data-tags="arrow-down, triangle, down, bottom" />
<glyph unicode="&#xe009;" d="M 76.8,280.32c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.32,25.216, 56.32,56.32C 133.12,255.104, 107.904,280.32, 76.8,280.32z M 256,280.32
c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.294,25.216, 56.294,56.32C 312.294,255.104, 287.104,280.32, 256,280.32z M 435.2,280.32
c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.32,25.216, 56.32,56.32C 491.52,255.104, 466.304,280.32, 435.2,280.32z" data-tags="ellipsis, dots, circles" />
<glyph unicode="&#xe00a;" d="M 432,480 C 476.182,480 512,444.183 512,400 C 512,381.99 506.045,365.371 496,352 L 464,320 L 352,432 L 384,464 C 397.371,474.045 413.989,480 432,480 ZM 32,112L0-32l 144,32l 296,296L 328,408L 32,112z M 357.789,298.211l-224-224l-27.578,27.578l 224,224L 357.789,298.211z" data-tags="pencil, write, edit, blog, note" />
<glyph unicode="&#xe00b;" d="M0,416l0-416 l 512,0 L 512,416 L0,416 z M 480,32L 32,32 L 32,384 l 448,0 L 480,32 zM 352,304A48,48 2700 1 1 448,304A48,48 2700 1 1 352,304zM 448,64 L 64,64 L 160,320 L 288,160 L 352,208 Z" data-tags="image, picture, photo, graphic" />
<glyph unicode="&#xe00c;" d="M 160,384 L 512,480 L 512,448 L 512,384 L 512,112 C 512,67.817 461.855,32 400,32 C 338.145,32 288,67.817 288,112 C 288,156.183 338.145,192 400,192 C 417.179,192 433.451,189.234 448,184.297 L 448,349.091 L 224,288 L 224,48 C 224,3.817 173.856-32 112-32 C 50.144-32 0,3.817 0,48 C 0,92.183 50.144,128 112,128 C 129.179,128 145.451,125.234 160,120.297 L 160,288 L 160,384 Z" data-tags="music, song, audio, sound" />
<glyph unicode="&#xe00d;" d="M0,416l0-384 l 512,0 L 512,416 L0,416 z M 96,64L 32,64 l0,64 l 64,0 L 96,64 z M 96,192L 32,192 l0,64 l 64,0 L 96,192 z M 96,320L 32,320 L 32,384 l 64,0 L 96,320 z M 384,64L 128,64 L 128,384 l 256,0 L 384,64 z
M 480,64l-64,0 l0,64 l 64,0 L 480,64 z M 480,192l-64,0 l0,64 l 64,0 L 480,192 z M 480,320l-64,0 L 416,384 l 64,0 L 480,320 zM 192,320L 192,128L 320,224 z" data-tags="film, video, movie, tape, play" />
<glyph unicode="&#xe00e;" d="M 128,448L 384,448L 384,384L 128,384zM 480,352L 32,352 C 14.4,352,0,337.6,0,320l0-160 c0-17.6, 14.398-32, 32-32l 96,0 l0-128 l 256,0 L 384,128 l 96,0 c 17.6,0, 32,14.4, 32,32L 512,320
C 512,337.6, 497.6,352, 480,352z M 352,32L 160,32 L 160,192 l 192,0 L 352,32 z M 487.2,304c0-12.813-10.387-23.2-23.199-23.2
c-12.813,0-23.201,10.387-23.201,23.2s 10.388,23.2, 23.201,23.2C 476.814,327.2, 487.2,316.813, 487.2,304z" data-tags="print, printer" />
<glyph unicode="&#xe00f;" d="M 160,288L 224,288L 224,224L 160,224zM 256,288L 320,288L 320,224L 256,224zM 352,288L 416,288L 416,224L 352,224zM 64,96L 128,96L 128,32L 64,32zM 160,96L 224,96L 224,32L 160,32zM 256,96L 320,96L 320,32L 256,32zM 160,192L 224,192L 224,128L 160,128zM 256,192L 320,192L 320,128L 256,128zM 352,192L 416,192L 416,128L 352,128zM 64,192L 128,192L 128,128L 64,128zM 416,480l0-32 l-64,0 L 352,480 L 128,480 l0-32 L 64,448 L 64,480 L0,480 l0-512 l 480,0 L 480,480 L 416,480 z M 448,0L 32,0 L 32,352 l 416,0 L 448,0 z" data-tags="calendar, schedule, date, time, day" />
<glyph unicode="&#xe010;" d="M 352,480c-88.365,0-160-71.634-160-160c0-10.013, 0.929-19.808, 2.688-29.312L0,96l0-96 c0-17.673, 14.327-32, 32-32
l 32,0 l0,32 l 64,0 l0,64 l 64,0 l0,64 l 64,0 l 41.521,41.521C 314.526,163.363, 332.869,160, 352,160c 88.365,0, 160,71.634, 160,160S 440.365,480, 352,480z
M 399.937,319.937c-26.51,0-48,21.49-48,48s 21.49,48, 48,48s 48-21.49, 48-48S 426.447,319.937, 399.937,319.937z" data-tags="key, password, login, log in, signin, sign in" />
<glyph unicode="&#xe011;" d="M 466.895,174.875c-26.863,46.527-10.708,106.152, 36.076,133.244l-50.313,87.146c-14.375-8.427-31.088-13.259-48.923-13.259
c-53.768,0-97.354,43.873-97.354,97.995L 205.752,480.001 c 0.133-16.705-4.037-33.641-12.979-49.126
c-26.862-46.528-86.578-62.351-133.431-35.379L 9.030,308.35c 14.485-8.236, 27.025-20.294, 35.943-35.739
c 26.819-46.454, 10.756-105.96-35.854-133.112l 50.313-87.146c 14.325,8.348, 30.958,13.127, 48.7,13.127
c 53.598,0, 97.072-43.596, 97.35-97.479l 100.627,0 c-0.043,16.537, 4.136,33.285, 12.983,48.609
c 26.818,46.453, 86.388,62.297, 133.207,35.506l 50.313,87.145C 488.222,147.494, 475.766,159.51, 466.895,174.875z M 256,120.334
c-57.254,0-103.668,46.412-103.668,103.667c0,57.254, 46.413,103.667, 103.668,103.667c 57.254,0, 103.666-46.413, 103.666-103.667
C 359.665,166.746, 313.254,120.334, 256,120.334z" data-tags="cog, preferences, settings, gear, generate, control, options" />
<glyph unicode="&#xe012;" d="M 160.504-32 C 126.381,39.004 144.553,79.689 170.779,118.022 C 199.499,160 206.901,201.555 206.901,201.555 C 206.901,201.555 229.478,172.205 220.447,126.301 C 260.333,170.701 267.859,241.441 261.838,268.533 C 351.995,205.527 390.526,69.105 338.599-32 C 614.785,124.266 407.298,358.086 371.176,384.425 C 383.217,358.087 385.5,313.5 361.176,291.862 C 320,448 218.19,480 218.19,480 C 230.231,399.478 174.542,311.428 120.842,245.635 C 118.955,277.743 116.951,299.899 100.067,330.625 C 96.277,272.297 51.701,224.751 39.63,166.311 C 23.279,87.168 51.878,29.221 160.504-32 Z" data-tags="fire, flame, hot, popular" />
<glyph unicode="&#xe013;" d="M 352,448L 192,288L 96,288 L0,160c0,0, 101.708,28.326, 161.033,15.042L0-32l 210.951,164.072C 240.37,64.745, 192-32, 192-32l 128,96
l0,96 l 160,160L 512,480L 352,448z" data-tags="rocket, speed, jet, spaceship, fast" />
<glyph unicode="&#xe014;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 z M 384,368L 224,208l-96,96l-64-64l 160-160l 224,224L 384,368z" data-tags="checkbox-checked, tick, checked, selected" />
<glyph unicode="&#xe015;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 z" data-tags="checkbox-unchecked, unchecked, square" />
<glyph unicode="&#xe016;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 zM 128,352L 384,352L 384,96L 128,96z" data-tags="checkbox-partial, partial" />
<glyph unicode="&#xe017;" d="M 256,480C 114.615,480,0,365.385,0,224s 114.615-256, 256-256s 256,114.615, 256,256S 397.385,480, 256,480z M 256,32
c-106.039,0-192,85.961-192,192c0,106.039, 85.961,192, 192,192c 106.039,0, 192-85.961, 192-192C 448,117.961, 362.039,32, 256,32zM 160,224A96,96 12780 1 1 352,224A96,96 12780 1 1 160,224z" data-tags="radio-checked" />
<glyph unicode="&#xe018;" d="M 256,480C 114.615,480,0,365.385,0,224s 114.615-256, 256-256s 256,114.615, 256,256S 397.385,480, 256,480z M 256,32
c-106.039,0-192,85.961-192,192c0,106.039, 85.961,192, 192,192c 106.039,0, 192-85.961, 192-192C 448,117.961, 362.039,32, 256,32z" data-tags="radio-unchecked, circle" />
<glyph unicode="&#xe019;" d="M 394.767,448c0,0-100.478,0-133.97,0c-60.061,0-116.585-45.503-116.585-98.211c0-53.863, 40.941-97.333, 102.044-97.333
c 4.249,0, 8.378,0.085, 12.42,0.376c-3.964-7.593-6.8-16.144-6.8-25.021c0-14.969, 8.052-27.105, 18.234-37.012
c-7.693,0-15.121-0.224-23.226-0.224c-74.391,0.001-131.65-47.38-131.65-96.511c0-48.389, 62.771-78.656, 137.167-78.656
c 84.812,0, 131.653,48.122, 131.653,96.514c0,38.801-11.448,62.036-46.843,87.067c-12.108,8.571-35.266,29.418-35.266,41.672
c0,14.36, 4.098,21.434, 25.714,38.323c 22.156,17.312, 37.837,41.651, 37.837,69.958c0,33.703-15.011,66.549-43.187,77.386l 42.478,0
L 394.767,448z M 347.974,120.271c 1.063-4.486, 1.642-9.104, 1.642-13.814c0-39.1-25.195-69.655-97.487-69.655
c-51.421,0-88.558,32.552-88.558,71.65c0,38.321, 46.063,70.222, 97.482,69.666c 12-0.127, 23.184-2.058, 33.334-5.345
C 322.301,153.359, 342.325,142.393, 347.974,120.271z M 265.643,266.112c-34.519,1.032-67.318,38.613-73.276,83.93
c-5.958,45.333, 17.185,80.021, 51.694,78.995C 278.565,428, 311.379,391.63, 317.34,346.308
C 323.293,300.978, 300.145,265.079, 265.643,266.112z" data-tags="google" />
<glyph unicode="&#xe01a;" d="M 0.403,45.168c-0.122,1.266-0.226,2.535-0.292,3.815C 0.176,47.703, 0.281,46.434, 0.403,45.168zM 117.954,197.426c 46.005-1.369, 76.867,46.349, 68.931,106.599c-7.947,60.24-51.698,108.584-97.704,109.961
c-46.013,1.365-76.87-44.741-68.926-105C 28.196,248.752, 71.931,198.799, 117.954,197.426zM 512,352L 512,394.655 C 512,441.595, 473.609,480, 426.671,480L 85.343,480 C 39.205,480, 1.337,442.884, 0.061,397.037
c 29.181,25.693, 69.662,47.158, 111.437,47.158c 44.652,0, 178.622,0, 178.622,0l-39.974-33.809l-56.634,0
c 37.565-14.402, 57.578-58.062, 57.578-102.861c0-37.624-20.905-69.977-50.444-92.984c-28.822-22.451-34.286-31.854-34.286-50.939
c0-16.289, 30.873-44, 47.016-55.394c 47.191-33.269, 62.458-64.156, 62.458-115.728c0-8.214-1.021-16.415-3.033-24.48l 153.871,0
C 473.609-32, 512,6.375, 512,53.345L 512,319.999 l-96,0 L 416,224 l-32,0 l0,96 l-95.999,0 l0,32 L 384,352 L 384,448 l 32,0 l0-96 L 512,352 zM 92.943,97.032c 10.807,0, 20.711,0.295, 30.968,0.295c-13.573,13.167-24.313,29.3-24.313,49.19
c0,11.804, 3.782,23.168, 9.067,33.26c-5.391-0.385-10.895-0.497-16.563-0.497c-37.178,0-68.753,12.038-92.102,31.927l0-33.621
l 0.003-100.865C 26.723,89.408, 58.447,97.032, 92.943,97.032zM 1.71,36.371c-0.556,2.729-0.983,5.503-1.271,8.317C 0.726,41.874, 1.154,39.1, 1.71,36.371zM 227.725,3.577c-7.529,29.403-34.227,43.982-71.444,69.784c-13.536,4.366-28.447,6.937-44.447,7.104
c-44.809,0.482-86.554-17.471-110.108-44.186C 9.686-2.574, 44.243-32, 85.343-32l 143.222,0 c 0.908,5.564, 1.348,11.316, 1.348,17.216
C 229.913-8.517, 229.146-2.388, 227.725,3.577z" data-tags="google plus, social" />
<glyph unicode="&#xe01b;" d="M 426.672,480L 85.342,480 C 38.406,480,0,441.593,0,394.656l0-341.313 C0,6.374, 38.406-32, 85.342-32l 341.33,0.001
c 46.938,0, 85.328,38.373, 85.328,85.344L 512,394.656 C 512,441.593, 473.609,480, 426.672,480z M 435.296,224L 352,224 l0-224 l-96,0 L 256,224 l-46.263,0 l0,73.282 L 256,297.282
l0,47.593 C 256,409.546, 283.896,448, 359.935,448l 87.622,0 l0-79.285 l-71.565,0 c-21.241,0.035-23.876-11.076-23.876-31.756L 352,297.282l 96,0
L 435.296,224z" data-tags="facebook, social" />
<glyph unicode="&#xe01c;" d="M 512,382.791c-18.838-8.354-39.082-14.001-60.33-16.54c 21.686,13, 38.343,33.585, 46.186,58.115
c-20.298-12.039-42.778-20.78-66.705-25.49c-19.16,20.415-46.461,33.17-76.673,33.17c-58.011,0-105.044-47.029-105.044-105.039
c0-8.233, 0.929-16.25, 2.72-23.939c-87.3,4.382-164.701,46.2-216.509,109.753c-9.042-15.514-14.223-33.558-14.223-52.809
c0-36.444, 18.544-68.596, 46.73-87.433c-17.219,0.546-33.416,5.271-47.577,13.139c-0.010-0.438-0.010-0.878-0.010-1.321
c0-50.894, 36.209-93.348, 84.261-103c-8.813-2.4-18.094-3.686-27.674-3.686c-6.769,0-13.349,0.66-19.764,1.886
c 13.368-41.73, 52.16-72.103, 98.126-72.948c-35.95-28.175-81.243-44.967-130.458-44.967c-8.479,0-16.84,0.497-25.058,1.47
c 46.486-29.805, 101.701-47.197, 161.021-47.197c 193.211,0, 298.868,160.062, 298.868,298.872c0,4.554-0.103,9.084-0.305,13.59
C 480.11,343.227, 497.918,361.727, 512,382.791z" data-tags="twitter, tweet, social" />
<glyph unicode="&#xe01d;" d="M 416,416L 96,416 c-52.8,0-96-43.2-96-96l0-192 c0-52.8, 43.2-96, 96-96l 320,0 c 52.8,0, 96,43.2, 96,96L 512,320 C 512,372.8, 468.8,416, 416,416z
M 192,96L 192,352 l 160-128L 192,96z" data-tags="youtube, social" />
<glyph unicode="&#xe01e;" d="M 421.006,185.26c-6.824,6.723-21.957,10.283-44.986,10.586c-15.589,0.172-34.351-1.201-54.085-3.964
c-8.837,5.099-17.946,10.647-25.094,17.329c-19.231,17.958-35.284,42.886-45.288,70.297c 0.652,2.56, 1.207,4.81, 1.724,7.106
c0,0, 10.833,61.53, 7.965,82.333c-0.395,2.853-0.637,3.681-1.404,5.898l-0.941,2.417c-2.948,6.796-8.724,13.997-17.783,13.604
l-5.312,0.169l-0.146,0.003c-10.1,0-18.332-5.166-20.493-12.887c-6.569-24.217, 0.209-60.446, 12.491-107.369l-3.144-7.643
c-8.794-21.438-19.815-43.030-29.539-62.079l-1.264-2.476c-10.23-20.019-19.512-37.013-27.927-51.411l-8.688-4.594
c-0.632-0.334-15.522-8.209-19.014-10.322c-29.628-17.691-49.261-37.77-52.518-53.708c-1.036-5.085-0.265-11.593, 5.007-14.607
l 8.403-4.229c 3.645-1.826, 7.489-2.751, 11.427-2.751c 21.102,0, 45.6,26.286, 79.348,85.183
c 38.965,12.684, 83.327,23.228, 122.207,29.045c 29.629-16.684, 66.071-28.273, 89.071-28.273c 4.084,0, 7.606,0.389, 10.466,1.148
c 4.411,1.168, 8.129,3.683, 10.396,7.096c 4.463,6.716, 5.367,15.966, 4.156,25.438C 425.68,179.411, 423.435,182.887, 421.006,185.26z
M 105.823,72.976c 3.848,10.521, 19.080,31.322, 41.602,49.778c 1.416,1.148, 4.904,4.416, 8.097,7.451
C 131.971,92.643, 116.199,77.672, 105.823,72.976z M 239.217,380.157c 6.783,0, 10.642-17.097, 10.962-33.127
c 0.32-16.030-3.429-27.28-8.079-35.604c-3.851,12.324-5.713,31.75-5.713,44.452C 236.387,355.878, 236.104,380.157, 239.217,380.157z
M 199.426,161.253c 4.725,8.458, 9.641,17.378, 14.665,26.839c 12.246,23.158, 19.979,41.278, 25.739,56.173
c 11.455-20.842, 25.722-38.56, 42.493-52.756c 2.092-1.771, 4.309-3.551, 6.637-5.325C 254.855,179.436, 225.378,171.229, 199.426,161.253z
M 414.452,163.174c-2.077-1.299-8.027-2.050-11.854-2.050c-12.353,0-27.636,5.647-49.063,14.833
c 8.234,0.609, 15.781,0.919, 22.55,0.919c 12.391,0, 16.060,0.054, 28.175-3.036S 416.529,164.473, 414.452,163.174zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-pdf, file, format, pdf" />
<glyph unicode="&#xe01f;" d="M 319.889,242.054L 341.995,242.054L 316.489,128.965L 283.326,287.97L 230.051,287.97L 191.494,128.965L 162.586,287.97L 106.889,287.97L 163.435,32.029L 217.854,32.029L 256.001,183.383L 290.129,32.029L 340.297,32.029L 405.112,287.97L 319.889,287.97
zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-word, file, format, word, docx" />
<glyph unicode="&#xe020;" d="M 371.514,288L 303.867,288L 256.001,217.484L 208.131,288L 140.487,288L 221.568,166.768L 130.081,32L 261.201,32L 261.201,77.788L 230.923,77.788L 256.001,115.285L 311.699,32L 381.92,32L 290.432,166.768 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-excel, file, format, excel, xlc" />
<glyph unicode="&#xe021;" d="M 96,224l 96,0 l0-32 L 96,192 L 96,224 z M 96,160l 96,0 l0-32 L 96,128 L 96,160 z M 96,96l 96,0 l0-32 L 96,64 L 96,96 z M 451.716,380.285l-71.432,71.431
C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0 c 22,0, 40,18, 40,40L 480,312
C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440 c0,4.336, 3.664,8, 8,8
l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 zM 288,128 L 382.396,128 C 374.983,91.484 342.703,64 304,64 C 259.817,64 224,99.817 224,144 C 224,182.703 251.485,214.983 288,222.396 L 288,128 ZM 336,256 C 380.183,256 416,220.183 416,176 C 416,170.521 415.446,165.17 414.396,160 L 320,160 L 320,254.396 C 325.17,255.446 330.521,256 336,256 Z" data-tags="file-powerpoint" />
<glyph unicode="&#xe022;" d="M 224,192L 192,224L 96,128L 192,32L 224,64L 160,128 zM 288,64L 320,32L 416,128L 320,224L 288,192L 352,128 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-xml, file, format, code, html, xml" />
<glyph unicode="&#xe023;" d="M 192,174.277L 192,231.39 c0,7.564, 3.348,14.718, 9.427,20.143c 6.080,5.424, 14.096,8.413, 22.573,8.413l0,28.555
c-35.2,0-64-25.7-64-57.111l0-42.833 c0-7.886-7.164-14.279-16-14.279l-16,0 l0-28.555 l 16,0 c 8.837,0, 16-6.395, 16-14.279l0-42.838
c0-31.407, 28.8-57.107, 64-57.107l0,28.556 c-8.477,0-16.494,2.988-22.573,8.413c-6.079,5.426-9.427,12.577-9.427,20.139l0,57.117
c0,7.885-7.164,14.277-16,14.277C 184.837,160, 192,166.395, 192,174.277zM 320,145.723l0-57.117 c0-7.562-3.348-14.713-9.427-20.139c-6.079-5.425-14.095-8.413-22.573-8.413l0-28.556
c 35.201,0, 64,25.7, 64,57.107l0,42.838 c0,7.886, 7.164,14.279, 16,14.279l 16,0 l0,28.555 l-16,0 c-8.836,0-16,6.395-16,14.279L 352,231.39
c0,31.412-28.799,57.111-64,57.111l0-28.555 c 8.479,0, 16.494-2.989, 22.573-8.415c 6.080-5.424, 9.427-12.578, 9.427-20.142l0-57.114
c0-7.883, 7.164-14.276, 16-14.276C 327.164,160, 320,153.605, 320,145.723zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-css, file, format, code, css" />
<glyph unicode="&#xe024;" d="M 505.216,60.624l-191.984,384C 302.4,466.304, 280.256,480, 256,480s-46.4-13.696-57.232-35.376
l-191.984-384c-9.92-19.84-8.864-43.408, 2.8-62.288C 21.248-20.512, 41.84-32, 64.016-32l 383.952,0 c 22.192,0, 42.784,11.488, 54.432,30.336
C 514.064,17.216, 515.12,40.784, 505.216,60.624z M 287.968,48c0-8.848-7.152-16-16-16l-32,0 c-8.848,0-16,7.152-16,16l0,32 c0,8.848, 7.152,16, 16,16l 32,0
c 8.848,0, 16-7.152, 16-16L 287.968,48 z M 287.968,176c0-8.848-7.152-16-16-16l-32,0 c-8.848,0-16,7.152-16,16L 223.968,336 c0,8.832, 7.152,16, 16,16l 32,0 c 8.848,0, 16-7.168, 16-16
L 287.968,176 z" data-tags="warning, alert" />
<glyph unicode="&#xe025;" d="M 480,224c0-123.712-100.288-224-224-224S 32,100.288, 32,224c0,54.528, 19.616,104.368, 52,143.2
c 2.464,4.544, 5.888,8.496, 10.16,11.36c 0.72,0.752, 1.36,1.6, 2.096,2.336c 0.016-0.368, 0.176-0.72, 0.208-1.088C 101.088,382.4, 106.336,384, 112,384
c 17.664,0, 32-14.336, 32-32c0-11.136-5.68-20.928-14.32-26.656C 130.24,324.928, 130.64,324.416, 131.216,324C 109.216,296.608, 96,261.872, 96,224
c0-88.368, 71.632-160, 160-160s 160,71.632, 160,160c0,37.872-13.216,72.608-35.216,100c 0.576,0.416, 0.992,0.928, 1.536,1.344
C 373.68,331.072, 368,340.864, 368,352c0,17.664, 14.336,32, 32,32c 5.664,0, 10.912-1.6, 15.536-4.192c 0.032,0.368, 0.192,0.72, 0.224,1.088
c 0.72-0.736, 1.36-1.584, 2.096-2.336c 4.272-2.864, 7.68-6.816, 10.16-11.36C 460.368,328.368, 480,278.528, 480,224z M 272,192l-32,0
c-8.848,0-16,7.152-16,16L 224,432 c0,8.832, 7.152,16, 16,16l 32,0 c 8.848,0, 16-7.168, 16-16l0-224 C 288,199.152, 280.848,192, 272,192z" data-tags="switch, power" />
<glyph unicode="&#xe026;" d="M 399.712,324.512c 5.968-5.968, 15.648-5.968, 21.6,0l 84.528,66.544
c 14.064-44.224, 4.128-94.432-30.96-129.52c-33.472-33.488-80.736-44.032-123.424-32.768l-100.256-100.256c 11.264-42.704, 0.704-89.952-32.752-123.424
c-35.088-35.088-85.312-45.024-129.536-30.96l 66.576,84.512c 5.968,5.984, 5.968,15.648,0,21.616l-43.2,43.184c-5.968,5.968-15.648,5.968-21.6,0
l-84.528-66.544c-14.064,44.224-4.128,94.416, 30.944,129.504c 33.488,33.488, 80.736,44.048, 123.44,32.768l 100.272,100.272
c-11.28,42.688-0.72,89.952, 32.736,123.424c 35.088,35.088, 85.312,45.024, 129.552,30.976l-66.576-84.544c-5.952-5.952-5.952-15.632,0-21.584
L 399.712,324.512z" data-tags="wrench, settings, options, preferences" />
<glyph unicode="&#xe027;" d="M 370.857,102.286q0-11.429 -8-19.429l-38.857-38.857q-8-8 -19.429-8t-19.429,8l-84,84l-84-84q-8-8 -19.429-8t-19.429,8l-38.857,38.857q-8,8 -8,19.429t 8,19.429l 84,84l-84,84q-8,8 -8,19.429t 8,19.429l 38.857,38.857q 8,8 19.429,8t 19.429-8l 84-84l 84,84q 8,8 19.429,8t 19.429-8l 38.857-38.857q 8-8 8-19.429 t-8-19.429l-84-84l 84-84q 8-8 8-19.429z" horiz-adv-x="402.286" data-tags="remove, cancel, close, delete, mutiply" />
<glyph unicode="&#xe028;" d="M 477.429,318.286q0-11.429 -8-19.429l-206.857-206.857l-38.857-38.857q-8-8 -19.429-8t-19.429,8l-38.857,38.857l-103.429,103.429q-8,8 -8,19.429t 8,19.429l 38.857,38.857q 8,8 19.429,8t 19.429-8l 84-84.286l 187.429,187.714q 8,8 19.429,8t 19.429-8l 38.857-38.857q 8-8 8-19.429z" data-tags="ok, checkmark, tick, correct" />
<glyph unicode="&#xe029;" d="M 402.286,269.714l0-54.857 q0-11.429 -8-19.429t-19.429-8l-118.857,0 l0-118.857 q0-11.429 -8-19.429t-19.429-8l-54.857,0 q-11.429,0 -19.429,8t-8,19.429l0,118.857 l-118.857,0 q-11.429,0 -19.429,8t-8,19.429l0,54.857 q0,11.429 8,19.429t 19.429,8l 118.857,0 l0,118.857 q0,11.429 8,19.429t 19.429,8l 54.857,0 q 11.429,0 19.429-8t 8-19.429l0-118.857 l 118.857,0 q 11.429,0 19.429-8t 8-19.429z" horiz-adv-x="402.286" data-tags="plus, add, sum" />
<glyph unicode="&#xe02a;" d="M 402.286,269.714l0-54.857 q0-11.429 -8-19.429t-19.429-8l-347.429,0 q-11.429,0 -19.429,8t-8,19.429l0,54.857 q0,11.429 8,19.429t 19.429,8l 347.429,0 q 11.429,0 19.429-8t 8-19.429z" horiz-adv-x="402.286" data-tags="minus, remove, delete, subtract" />
<glyph unicode="&#xe02b;" d="M 348.916,316.476l-32.476,32.461L 154.035,186.566c-26.907-26.896-26.907-70.524,0-97.422
c 26.902-26.896, 70.53-26.896, 97.437,0l 194.886,194.854c 44.857,44.831, 44.857,117.531,0,162.363
c-44.833,44.852-117.556,44.852-162.391,0L 79.335,241.788l 0.017-0.016c-0.145-0.152-0.306-0.288-0.438-0.423
c-62.551-62.548-62.551-163.928,0-226.453c 62.527-62.528, 163.934-62.528, 226.494,0c 0.137,0.137, 0.258,0.284, 0.41,0.438l 0.016-0.017
l 139.666,139.646l-32.493,32.46L 273.35,47.792l-0.008,0 c-0.148-0.134-0.282-0.285-0.423-0.422
c-44.537-44.529-116.99-44.529-161.538,0c-44.531,44.521-44.531,116.961,0,161.489c 0.152,0.152, 0.302,0.291, 0.444,0.423l-0.023,0.030
l 204.64,204.583c 26.856,26.869, 70.572,26.869, 97.443,0c 26.856-26.867, 26.856-70.574,0-97.42L 218.999,121.625
c-8.968-8.961-23.527-8.961-32.486,0c-8.947,8.943-8.947,23.516,0,32.46L 348.916,316.476z" data-tags="attachment, paperclip" />
<glyph unicode="&#xe02c;" d="M 255.616,418.56L 255.616,320.563L 435.251,320.589L 435.251,127.258L 255.616,127.258L 255.616,29.44L 61.491,224 z" data-tags="arrow-left, left, previous" />
<glyph unicode="&#xe02d;" d="M 450.56,224.384L 352.563,224.358L 352.589,44.749L 159.258,44.749L 159.258,224.384L 61.44,224.358L 256.026,418.509 z" data-tags="arrow-up- upload, top" />
<glyph unicode="&#xe02e;" d="M 256.384,418.56L 256.384,320.563L 76.749,320.589L 76.749,127.258L 256.384,127.258L 256.384,29.44L 450.509,224 z" data-tags="arrow-right, right, next" />
<glyph unicode="&#xe02f;" d="M 450.56,223.616L 352.563,223.642L 352.589,403.251L 159.258,403.251L 159.258,223.616L 61.44,223.642L 256,29.491 z" data-tags="arrow-down, download, bottom" />
<glyph unicode="&#xe030;" d="M 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0 c 22,0, 40,18, 40,40
L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440 c0,4.336, 3.664,8, 8,8
l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file, paper, page, new, empty, blank, document" />
<glyph unicode="&#xe031;" d="M 208,416L 256,416L 256,384L 208,384zM 160,384L 208,384L 208,352L 160,352zM 208,352L 256,352L 256,320L 208,320zM 160,320L 208,320L 208,288L 160,288zM 208,288L 256,288L 256,256L 208,256zM 160,256L 208,256L 208,224L 160,224zM 208,224l0-32 l-48,0 l0-112 c0-8.837, 7.163-16, 16-16l 64,0 c 8.837,0, 16,7.163, 16,16L 256,224 L 208,224 z M 240,96l-64,0 l0,32 l 64,0 L 240,96 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-zip, zip" />
<glyph unicode="&#xe032;" d="M0,448l0-448 l 512,0 L 512,448 L0,448 z M 480,32L 32,32 L 32,416 l 448,0 L 480,32 zM 448,384L 64,384 l0-320 l 384,0 L 448,384 z M 224,224l-32,0 l0-32 l-32,0 l0-32 l-32,0 l0,32 l 32,0 l0,32 l 32,0 l0,32 l-32,0 l0,32 l-32,0 l0,32 l 32,0 l0-32 l 32,0 l0-32 l 32,0 L 224,224 z M 352,160l-96,0
l0,32 l 96,0 L 352,160 z" data-tags="console, command line, terminal" />
<glyph unicode="&#xe033;" d="M 480-32L 32-32 c-17.664,0-32,14.336-32,32L0,448 c0,17.664, 14.336,32, 32,32l 384,0 l 96-96l0-384
C 512-17.664, 497.664-32, 480-32z M 128,48c0-8.848, 7.168-16, 16-16l 224,0 c 8.848,0, 16,7.152, 16,16l0,128 c0,8.848-7.152,16-16,16L 144,192 c-8.832,0-16-7.152-16-16L 128,48 z
M 352,400c0,8.848-7.152,16-16,16s-16-7.152-16-16l0-48 c0-8.848, 7.152-16, 16-16s 16,7.152, 16,16L 352,400 z M 448,368l-48,48l-16,0 l0-112 c0-8.848-7.152-16-16-16L 144,288
c-8.832,0-16,7.152-16,16L 128,416 L 80,416 C 71.168,416, 64,408.848, 64,400l0-352 c0-8.848, 7.168-16, 16-16l 16,0 L 96,208 c0,8.848, 7.168,16, 16,16l 288,0 c 8.848,0, 16-7.152, 16-16l0-176 l 16,0
c 8.848,0, 16,7.152, 16,16L 448,368 z" data-tags="floppy, disk, save, store" />
<glyph unicode="&#xe034;" d="M 379.392,110.131c-63.104,22.989-83.277,42.394-83.277,83.942c0,24.934, 19.277,16.794, 27.725,62.464c 3.507,18.944, 20.531,0.307, 23.808,43.546
c0,17.229-9.293,21.53-9.293,21.53s 4.736,25.523, 6.579,45.133C 347.187,391.219, 330.803,454.4, 243.2,454.4C 155.622,454.4, 139.187,391.219, 141.491,366.746
C 143.334,347.136, 148.070,321.613, 148.070,321.613S 138.752,317.338, 138.752,300.083c 3.251-43.238, 20.275-24.602, 23.782-43.546
c 8.474-45.67, 27.75-37.53, 27.75-62.464c0-41.549-20.173-60.954-83.277-83.942c-63.334-23.040-104.448-46.566-104.448-62.618c0-16.026,0-53.888,0-53.888
l 240.64,0 l 240.64,0 c0,0,0,37.862,0,53.888C 483.84,63.539, 442.701,87.066, 379.392,110.131z" data-tags="user, group, profile, avatar, persona" />
<glyph unicode="&#xe035;" d="M 464,416L 48,416 C 21.488,416,0,394.512,0,368l0-288 c0-26.496, 21.488-48, 48-48l 416,0 c 26.512,0, 48,21.504, 48,48L 512,368 C 512,394.512, 490.512,416, 464,416z M 43.856,64.16
L 32.16,75.872l 131.984,131.968l 11.696-11.712L 43.856,64.16z M 468.144,64.16l-131.984,131.968l 11.696,11.712l 131.984-131.968L 468.144,64.16z M 272,170.8
L 272,160 l-32,0 l0,10.8 L 32.048,363.6l 20.352,20.352L 256,195.184L 459.6,383.952l 20.352-20.352L 272,170.8z" data-tags="envelope, mail, email, contact" />
<glyph unicode="&#xe036;" d="M 316.851,110.131C 253.082,133.12, 232.704,152.525, 232.704,194.074c0,24.934, 19.482,16.794, 28.032,62.464c 3.558,18.944, 20.762,0.307, 24.013,43.546
c0,17.229-9.37,21.53-9.37,21.53s 4.787,25.523, 6.63,45.133C 284.314,391.219, 267.725,454.4, 179.2,454.4S 74.086,391.219, 76.39,366.746
c 1.869-19.635, 6.656-45.133, 6.656-45.133S 73.651,317.338, 73.651,300.083c 3.302-43.238, 20.506-24.602, 24.013-43.546
c 8.576-45.67, 28.058-37.53, 28.058-62.464c0-41.549-20.403-60.954-84.173-83.942c-7.68-2.739-25.984-7.040-41.549-13.773L0-6.4 l 409.6,0
c0,0,0,37.862,0,53.888S 380.851,87.066, 316.851,110.131z M 435.2,249.6L 435.2,326.4 l-51.2,0 l0-76.8 l-76.8,0 l0-51.2 l 76.8,0 l0-76.8 l 51.2,0 l0,76.8 l 76.8,0 L 512,249.6 L 435.2,249.6 z" data-tags="user-add" />
<glyph unicode="&#xe037;" d="M 256,384C 144.341,384, 47.559,318.979,0,224c 47.559-94.979, 144.341-160, 256-160c 111.657,0, 208.439,65.021, 256,160
C 464.442,318.979, 367.657,384, 256,384z M 382.225,299.148c 30.081-19.187, 55.571-44.887, 74.717-75.148
c-19.146-30.261-44.637-55.961-74.718-75.149C 344.427,124.743, 300.779,112, 256,112c-44.78,0-88.428,12.743-126.225,36.852
C 99.695,168.038, 74.205,193.738, 55.058,224c 19.146,30.262, 44.637,55.962, 74.717,75.148c 1.959,1.25, 3.938,2.461, 5.929,3.65
C 130.725,289.134, 128,274.387, 128,259c0-70.692, 57.308-128, 128-128s 128,57.308, 128,128c0,15.387-2.725,30.134-7.704,43.799
C 378.286,301.61, 380.265,300.398, 382.225,299.148z M 256,275c0-26.51-21.49-48-48-48s-48,21.49-48,48s 21.49,48, 48,48
S 256,301.51, 256,275z" data-tags="eye, views, vision, visit" />
<glyph unicode="&#xe038;" d="M 194.586,136.499c-6.861-6.938-6.861-18.15,0-25.062c 6.835-6.938, 17.946-6.938, 24.806,0l 98.048,100.019
c 6.861,6.938, 6.861,18.15,0,25.062l-98.048,100.045c-6.861,6.938-17.946,6.938-24.806,0S 187.725,318.438, 194.56,311.526L 274.97,224L 194.586,136.499z" data-tags="arrow-right, right, next" />
<glyph unicode="&#xe039;" d="M 343.501,285.414c 6.938,6.861, 18.15,6.861, 25.062,0c 6.938-6.861, 6.938-17.946,0-24.806l-100.019-98.048
c-6.938-6.861-18.15-6.861-25.062,0l-100.045,98.048c-6.912,6.861-6.912,17.946,0,24.806c 6.938,6.861, 18.125,6.861, 25.062,0L 256,205.030
L 343.501,285.414z" data-tags="arrow-down, down, bottom" />
<glyph unicode="&#xe03a;" d="M 287.935-32L 192-32 L 192,224 l-64,0 l0,88.225 l 64,0.029l-0.104,51.976C 191.896,436.206, 211.413,480, 296.195,480l 70.588,0 l0-88.242 l-44.115,0
c-33.016,0-34.603-12.328-34.603-35.342l-0.131-44.162l 79.345,0 l-9.352-88.225L 288,224L 287.935-32z" data-tags="facebook, social" />
<glyph unicode="&#xe03b;" d="M 96,224c0,6.090, 0.352,12.098, 1.015,18.011l-92.49,30.052C 1.567,256.493,0,240.431,0,224
c0-73.615, 31.083-139.961, 80.827-186.662l 57.142,78.648C 111.907,144.449, 96,182.365, 96,224zM 416,224c0-41.634-15.906-79.551-41.969-108.014l 57.142-78.648C 480.917,84.039, 512,150.385, 512,224
c0,16.431-1.566,32.493-4.524,48.063l-92.49-30.052C 415.648,236.097, 416,230.090, 416,224zM 288,380.796c 45.967-9.331, 84.772-38.371, 107.225-77.913l 92.489,30.051C 451.116,410.644, 376.594,466.964, 288,478.012L 288,380.796 zM 116.775,302.884c 22.453,39.542, 61.258,68.582, 107.225,77.913L 224,478.012 C 135.406,466.964, 60.885,410.644, 24.287,332.935
L 116.775,302.884zM 322.278,78.336C 302.083,69.132, 279.642,64, 256,64s-46.083,5.132-66.277,14.335l-57.146-78.655
C 169.18-20.503, 211.245-32, 256-32s 86.82,11.497, 123.424,31.68L 322.278,78.336z" data-tags="spinner, loading, busy, wait, wheel" />
<glyph unicode="&#xe03c;" d="M 192,480L0,224L 192,224L 64-32L 512,288L 256,288L 448,480 z" data-tags="lightning, power" />
<glyph unicode="&#xe03d;" d="M 480,384l-9,0 l-430,0 l-9,0 q-13,0 -22.5,9.25t-9.5,22.5t 9.25,22.75t 22.75,9.5l 160,0 q0,13 9.25,22.5t 22.75,9.5l 64,0 q 13.5,0 22.75-9.5t 9.25-22.5l 160,0 q 13,0 22.5-9.5t 9.5-22.75t-9.5-22.5t-22.5-9.25zM 480,32q0-26.5 -18.75-45.25t-45.25-18.75l-320,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,320 l 448,0 l0-320 zM 160,256
q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192 q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 zM 288,256q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192 q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 zM 416,256q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192
q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 z" data-tags="trash" />
<glyph unicode="&#xe03e;" d="M 448-32l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,48 q0,13 9.25,22.5t 22.5,9.5t 22.75-9.5t 9.5-22.5l0-16 q0-13.5 9.25-22.75t 22.75-9.25l 320,0 q 13,0 22.5,9.25t 9.5,22.75l0,16 q0,13 9.25,22.5t 22.5,9.5t 22.75-9.5t 9.5-22.5l0-48 q0-26.5 -18.75-45.25t-45.25-18.75zM 272.5,103q-7-7 -16.5-7t-16.5,7l-170.5,172.5
q-6,6.5 -4.25,9.5t 9.25,3l 118,0 l0,160 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-160 l 117.5,0 q 7.5,0 9.5-3t-4-9.5z" data-tags="download" />
<glyph unicode="&#xe03f;" d="M 448-32l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,48 q0,13 9.5,22.5t 22.5,9.5t 22.5-9.5t 9.5-22.5l0-16 q0-13.5 9.25-22.75t 22.75-9.25l 320,0 q 13.5,0 22.75,9.25t 9.25,22.75l0,16 q0,13 9.5,22.5t 22.5,9.5t 22.5-9.5t 9.5-22.5l0-48 q0-26.5 -18.75-45.25t-45.25-18.75zM 437.5,288l-117.5,0 l0-160 q0-13.5 -9.25-22.75t-22.75-9.25
l-64,0 q-13.5,0 -22.75,9.25t-9.25,22.75l0,160 l-118,0 q-7.5,0 -9.25,3t 4.25,9.5l 170.5,172.5q 7,7 16.5,7t 16.5-7l 170.5-172.5q 6-6.5 4-9.5t-9.5-3z" data-tags="upload" />
<glyph unicode="&#xe040;" d="M 480,192l-160,0 q0-13 -9.5-22.5t-22.5-9.5l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-160,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25l 160,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l 160,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.25-22.75t-22.75-9.5zM 288,256l-64,0 l0-64 l 64,0 l0,64
zM 480,384l-32,0 q0-13 -9.5-22.5t-22.5-9.5l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-288,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25l 288,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l 32,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.25-22.75t-22.75-9.5zM 416,448l-64,0 l0-64 l 64,0 l0,64 z
M 32,64l 32,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13,0 22.5-9.25t 9.5-22.75l 288,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.5-22.75t-22.5-9.5l-288,0 q0-13.5 -9.5-22.75t-22.5-9.25l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-32,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25zM 96,0l 64,0 l0,64 l-64,0 l0-64 z" data-tags="settings5" />
<glyph unicode="&#xe041;" d="M 512,192l0,32 l-96.645,0 c-2.931,36.343-15.893,69.513-35.835,96.125l 80.972,0 l 35.030,140.12l-31.045,7.761l-28.97-115.88l-87.34,0
c-0.446,0.347-0.898,0.687-1.349,1.028c 3.355,9.751, 5.181,20.211, 5.181,31.097C 352,437.131, 309.020,480, 256,480s-96-42.869-96-95.75
c0-10.886, 1.825-21.346, 5.181-31.097c-0.45-0.342-0.902-0.681-1.349-1.028l-87.34,0 l-28.97,115.88l-31.045-7.761l 35.030-140.12l 80.972,0
C 112.537,293.513, 99.576,260.343, 96.645,224L0,224 l0-32 l 96.685,0 c 1.901-22.832, 7.754-44.406, 16.819-63.875L 51.508,128.125 l-35.030-140.119
l 31.045-7.762l 28.97,115.881l 56.177,0 C 162.016,57.109, 206.368,32.25, 256,32.25s 93.983,24.859, 123.331,63.875l 56.177,0 l 28.97-115.881
l 31.045,7.762l-35.030,140.119l-61.996,0 c 9.065,19.469, 14.918,41.043, 16.818,63.875L 512,192 z" data-tags="bug, virus, error" />
<glyph unicode="&#xe042;" d="M 267.313,468.686C 261.091,474.908, 248.8,480, 240,480L 48,480 c-8.8,0-16-7.2-16-16l0-480 c0-8.8, 7.2-16, 16-16l 384,0 c 8.8,0, 16,7.2, 16,16L 448,272
c0,8.8-5.091,21.091-11.313,27.313L 267.313,468.686z M 416,0L 64,0 L 64,448 l 175.579,0 c 1.458-0.24, 4.204-1.377, 5.405-2.239l 168.778-168.777
c 0.861-1.201, 1.998-3.947, 2.238-5.405L 416,0 zM 432,480l-96,0 c-8.8,0-10.909-5.091-4.687-11.313l 105.373-105.373C 442.909,357.091, 448,359.2, 448,368L 448,464 C 448,472.8, 440.8,480, 432,480
z" data-tags="libreoffice, file" />
<glyph unicode="&#xe043;" d="M 345.11,244.159c-30.334,14.326-68.986,17.21-97.417-3.024c 34.57,3.302, 72.479-2.419, 97.553-28.562
c 24,27.54, 62.057,32.703, 96.479,29.866C 412.981,261.511, 375.115,258.951, 345.11,244.159zM 332.824,177.125c-34.189,0.789-67.217-11.586-95.55-30.052c-53.588,22.794-121.368,18.562-167.001-19.491
c 13.165,0.467, 26.003,3.723, 39.028,5.396c 47.591,4.744, 98.294-7.071, 134.256-39.912c 14.886,21.771, 35.822,39.121, 59.826,49.961
c 31.537,15.26, 67.080,16.842, 101.41,17.26C 383.949,174.611, 357.485,177.264, 332.824,177.125zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" data-tags="file-openoffice, file, format, openoffice, open office" />
<glyph unicode="&#xe044;" d="M 229.665,150.084L 144.338,2.25L 426.665,2.25L 512,150.084 zM 487.806,192L 341.339,445.75L 170.665,445.75L 317.143,192 zM 146.418,403.743L0,150.084L 85.338,2.25L 231.754,255.912 z" data-tags="google-drive, drive" />
<glyph unicode="&#xe045;" d="M 480-32l-384,0 q-13,0 -22.5,9.25t-9.5,22.75l0,180 l 139.5-139q 9-9.5 23-8.5l 61.5,0 q 13,0 22.5,9.25t 9.5,22.75l0,63.5 q0,11.5 -9.5,20.5l-246.5,246.5l0,52.5 q0,13.5 9.5,22.75t 22.5,9.25l 224,0 l0-176 q0-6.5 4.5-11.25t 11.5-4.75l 175.5,0 l0-0.5 l0-287 q0-13.5 -9.25-22.75t-22.25-9.25zM 352,480q 13,0 22-9l 128-128.5
q 9.5-9.5 9.5-23l-159.5,0 l0,160.5 zM 39.5,258l-34,33.5q-5.5,6 -5.5,14t 5.5,13.5l 27.5,27.5q 5.5,5.5 13.75,5.5t 13.75-5.5l 33.5-33.5zM 288,112.5l0-32 q0-7 -4.75-11.5t-11.25-4.5l-32,0 q-7,0 -13,5.5l-162,162l 55,55l 162-162q 6-6 6-12.5z" data-tags="edit2" />
<glyph unicode="&#xe046;" d="M 480,0l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25zM 480,160l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25zM 480,320l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25z
M 416,0q0-13 -9.25-22.5t-22.75-9.5l-352,0 q-13,0 -22.5,9.5t-9.5,22.5l0,448 q0,13.5 9.5,22.75t 22.5,9.25l 352,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-448 zM 240,173l0,9 q 48,19.5 48,106q0,31.5 -22.25,47.75t-57.5,16.25t-57.75-16.25t-22.5-47.75q0-84 48-105.5l0-9.5 q-34.5-6 -57-22.5t-23-37.5q0-6 10.75-9.75
t 31.5-5.25t 34.25-1.75t 35.5-0.25t 35.5,0.25t 34.25,1.75t 31.5,5.25t 10.75,9.75q-0.5,21 -23,37.5t-57,22.5z" data-tags="phonebook" />
<glyph unicode="&#xe047;" d="M 448,416l0-416 L 112,0 c-26.511,0-48,21.49-48,48c0,26.509, 21.489,48, 48,48l 304,0 L 416,480 L 96,480 C 60.801,480, 32,451.2, 32,416l0-384
c0-35.2, 28.801-64, 64-64l 384,0 L 480,416 L 448,416 zM 128,64L 416,64L 416,32L 128,32z" data-tags="book, reading" />
<glyph unicode="&#xe048;" d="M 256,480 C 116.626,480 3.271,368.619 0.076,230.013 C 3.036,350.945 94.992,448 208,448 C 322.875,448 416,347.712 416,224 C 416,197.49 437.49,176 464,176 C 490.51,176 512,197.49 512,224 C 512,365.385 397.385,480 256,480 ZM 256-32 C 395.374-32 508.729,79.381 511.924,217.987 C 508.964,97.055 417.008,0 304,0 C 189.125,0 96,100.288 96,224 C 96,250.51 74.51,272 48,272 C 21.49,272 0,250.51 0,224 C 0,82.615 114.615-32 256-32 Z" data-tags="spinner, loading, busy, wait, wheel" />
<glyph unicode="&#xe049;" d="M 242.286-4.571q0,4.571 -4.571,4.571q-16.857,0 -29,12.143t-12.143,29q0,4.571 -4.571,4.571t-4.571-4.571q0-20.857 14.714-35.571t 35.571-14.714q 4.571,0 4.571,4.571zM 52.286,77.714l 370.857,0 q-46.857,51.714 -70.429,117.571t-23.571,138.429q0,73.143 -91.429,73.143t-91.429-73.143q0-72.571 -23.571-138.429t-70.429-117.571zM 475.429,77.714q0-14.857 -10.857-25.714t-25.714-10.857 l-128,0 q0-30.286 -21.429-51.714t-51.714-21.429t-51.714,21.429t-21.429,51.714l-128,0 q-14.857,0 -25.714,10.857t-10.857,25.714q 54.286,46 82,113.571t 27.714,142.429q0,47.143 27.429,74.857t 75.429,33.429q-2.286,5.143 -2.286,10.571q0,11.429 8,19.429t 19.429,8t 19.429-8t 8-19.429q0-5.429 -2.286-10.571q 48-5.714 75.429-33.429t 27.429-74.857q0-74.857 27.714-142.429t 82-113.571z" horiz-adv-x="475.429" data-tags="bell, alarm, notification" />
<glyph unicode="&#xe04a;" d="M 488.791,382.769c-16.992,4.854-34.705-4.985-39.56-21.978L 446.72,352L 148.249,352 l-4.496,35.969
C 141.751,403.983, 128.138,416, 112,416L 32,416 C 14.327,416,0,401.673,0,384s 14.327-32, 32-32l 51.751,0 l 28.496-227.969
C 114.249,108.018, 127.862,96, 144,96l 272,0 c 14.287,0, 26.844,9.472, 30.769,23.209l 64,224
C 515.624,360.202, 505.784,377.914, 488.791,382.769z M 256,224l0,32 l 63.998,0 l0-32 L 256,224 z M 319.998,192l0-32 L 256,160 l0,32 L 319.998,192 z M 256,288l0,32
l 63.998,0 l0-32 L 256,288 z M 152.249,320L 224,320 l0-32 l-67.751,0 L 152.249,320z M 160.249,256L 224,256 l0-32 l-59.751,0 L 160.249,256z M 168.249,192L 224,192 l0-32 l-51.751,0
L 168.249,192z M 391.862,160l-39.864,0 l0,32 l 49.007,0 L 391.862,160z M 410.148,224l-58.15,0 l0,32 l 67.293,0 L 410.148,224z M 428.434,288l-76.436,0
l0,32 l 85.579,0 L 428.434,288zM 128,16A48,48 2700 1 1 224,16A48,48 2700 1 1 128,16zM 320,16A48,48 2700 1 1 416,16A48,48 2700 1 1 320,16z" data-tags="cart, ecommerce, shopping, products, purchase, buy, store" />
<glyph unicode="&#xe04b;" d="M 512,175.953l0,96.094 l-73.387,12.231c-2.979,9.066-6.611,17.834-10.847,26.25l 43.227,60.517l-67.948,67.949l-60.413-43.152
c-8.455,4.277-17.269,7.944-26.384,10.951L 304.047,480l-96.094,0 l-12.201-73.208c-9.115-3.007-17.929-6.674-26.383-10.951
l-60.414,43.152l-67.949-67.949l 43.227-60.518c-4.235-8.415-7.867-17.183-10.846-26.249L0,272.047l0-96.094 l 73.559-12.26
c 2.98-8.984, 6.605-17.674, 10.821-26.015l-43.374-60.724l 67.949-67.948l 60.827,43.447c 8.301-4.175, 16.945-7.764, 25.882-10.717
L 207.953-32l 96.094,0 l 12.289,73.737c 8.937,2.953, 17.581,6.542, 25.883,10.716l 60.826-43.446l 67.948,67.948l-43.372,60.723
c 4.216,8.341, 7.839,17.031, 10.82,26.016L 512,175.953z M 256,160c-35.346,0-64,28.653-64,64c0,35.346, 28.654,64, 64,64
c 35.347,0, 64-28.654, 64-64C 320,188.653, 291.347,160, 256,160z" data-tags="cog, preferences, settings, gear, generate, control, options" />
<glyph unicode="&#xe04c;" d="M 448,0l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,256 q0,13 9.25,22.5t 22.75,9.5l 240,0 l 23,42.5q 3.5,9 14,15.25t 22,6.25l 120,0 q 12,0 22.5-6.25t 14-15.25l 24.5-42.5l0-288 q0-26.5 -18.75-45.25t-45.25-18.75zM 448,320q0,13 -9.5,22.5t-22.5,9.5l-64,0 q-13.5,0 -22.75-9.5t-9.25-22.75t-14-22.5t-34-9.25l-192,0
q-6.5,0 -11.25-4.75t-4.75-11.25l0-192 q0-6.5 4.75-11.25t 11.25-4.75l 352,0 q 6.5,0 11.25,4.75t 4.75,11.25l0,240 zM 23,426q 3.5,9.5 14,15.75t 22,6.25l 120,0 q 12,0 22.5-6.25t 14.5-15.75l 24-42l-240,0 z" data-tags="legacyfilemanager" />
<glyph unicode="&#xe04d;" d="M 512.5,248.5l-101-112l 14.5-148.5q-1.5-10 -9.5-15.75t-18-3.75l-139.5,59.5l-139.5-59.5q-10-2 -18,4t-9.5,15.5l 14.5,148.5l-101,112q-4.5,8.5 -1.25,18t 11.75,14l 149,32l 77,129q 7,7 17,7t 17-7l 77-129l 149-32q 8.5-4.5 11.75-14t-1.25-18z" data-tags="favorite" />
<glyph unicode="&#xe04e;" d="M 512.5,248.5l-101-112l 14.5-148.5q-1.5-10 -9.5-15.75t-18-3.75l-139.5,59.5l-139.5-59.5q-10-2 -18,3.75t-9.5,15.75l 14.5,148.5l-101,112q-4.5,8.5 -1.25,18t 11.75,14l 149,32l 77,129q 7,7 17,7t 17-7l 77-129l 149-32q 8.5-4.5 11.75-14t-1.25-18zM 425.5,251l-102,22.5l-53,90q-5,5 -11.75,5
t-11.75-5l-53-90l-102.5-22.5q-6-3.5 -8-10t 1-12.5l 70.5-80l-8-100q 1-7.5 5.25-12.5t 10.25-4l 96,42l 96-42q 6.5-1 10.75,4t 5.25,12.5l-8,100.5l 70.5,79.5q 3,6 0.75,12.5t-8.25,10z" data-tags="favorite2" />
<glyph unicode="&#xe04f;" d="M 402.5,118l-146.5-150l-147,150q-59.5,61 -84.25,115.5t-24.75,118.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0-63.5 -24.75-118.25t-84.75-115.75z" data-tags="loved" />
<glyph unicode="&#xe050;" d="M 402.5,118l-146.5-150l-147,150q-59.5,61 -84.25,115.5t-24.75,118.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0-63.5 -24.75-118.25t-84.75-115.75zM 448,352q0,26.5 -18.75,45.25t-45.25,18.75t-45.25-18.75t-18.75-45.25l0-0.5 q0-8.5 -20-20t-44-11.5
q-25,0 -44.5,11t-19.5,21l0,0 q0,26.5 -18.75,45.25t-45.25,18.75t-45.25-18.75t-18.75-45.25l0-0.5 q0-53 18-95.25t 63.5-95.25l 110.5-113l 110,113q 46,53.5 64,95.5t 18,95.5l0,0 z" data-tags="love" />
<glyph unicode="&#xe051;" d="M 480-32l-191.5,0 q-13.5,0 -22.75,9.25t-9.25,22.75l 67.5,67.5l-74.5,72.5q-9,9.5 -9,22.75t 9,22.75l 46,45.5q 9,9 22.5,9t 23-9l 73.5-72.5l 65.5,65q 13.5,0 22.75-9.25t 9.25-22.75l0-191.5 q0-13.5 -9.25-22.75t-22.75-9.25zM 217,217q-9.5-9.5 -22.75-9.5t-22.75,9.5l-74,72.5l-65.5-65.5
q-13,0 -22.5,9.5t-9.5,22.5l0,192 q0,13.5 9.5,22.75t 22.5,9.25l 192,0 q 13.5,0 22.75-9.25t 9.25-22.75l-67.5-67.5l 74.5-73q 9.5-9 9.5-22.5t-9.5-22.5z" data-tags="scaleup" />
<glyph unicode="&#xe052;" d="M 502.5,69.5q 9.5-9.5 9.5-23t-9.5-23l-45.5-46q-9.5-9.5 -22.75-9.5t-22.75,9.5l-57,57l-66.5-66.5q-13.5,0 -22.75,9.5t-9.25,22.5l0,192.5 q0,13 9.25,22.5t 22.75,9.5l 192,0 q 13,0 22.5-9.5t 9.5-22.5l-66.5-66.5zM 224,224.5l-191.5,0 q-13.5,0 -22.75,9.25t-9.25,22.75l 66,66l-57,56.5q-9.5,9.5 -9.5,23t 9.5,23
l 45.5,46q 9.5,9.5 23,9.5t 23-9.5l 57-57l 66,66q 13.5,0 22.75-9.25t 9.25-22.75l0-191.5 q0-13.5 -9.5-22.75t-22.5-9.25z" data-tags="scaledown" />
<glyph unicode="&#xe053;" d="M 448,96l-256,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,256 q0,26.5 18.75,45.25t 45.25,18.75l 256,0 q 26.5,0 45.25-18.75t 18.75-45.25l0-256 q0-26.5 -18.75-45.25t-45.25-18.75zM 448,384q0,13.5 -9.25,22.75t-22.75,9.25l-192,0 q-13.5,0 -22.75-9.25t-9.25-22.5t 9.25-22.75t 22.75-9.5l 116,0 l-139.5-139.5
q-9-9 -9-21.75t 9-21.75t 21.75-9t 21.75,9l 140,140l0-117 q0-13.5 9.5-22.75t 22.75-9.25t 22.5,9.25t 9.25,22.75l0,192 zM 416-0.25q0-13.25 -9.25-22.5t-22.75-9.25l-320,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,320 q0,13.5 9.25,22.75t 22.5,9.25t 22.75-9.25t 9.5-22.75l0-288 q0-13.5 9.25-22.75
t 22.75-9.25l 288,0 q 13,0 22.5-9.5t 9.5-22.75z" data-tags="opennewwindow" />
<glyph unicode="&#xe054;" d="M 438.857,406.857l0-128 q0-7.429 -5.429-12.857t-12.857-5.429l-128,0 q-12,0 -16.857,11.429q-4.857,11.143 4,19.714l 39.429,39.429q-42.286,39.143 -99.714,39.143q-29.714,0 -56.714-11.571t-46.714-31.286t-31.286-46.714t-11.571-56.714t 11.571-56.714t 31.286-46.714t 46.714-31.286t 56.714-11.571q 48.286,0 86.857,28.429t 52.857,74.714q 2,6.571 8.571,6.571l 56.857,0 q 4.571,0 7.143-3.429q 2.857-3.714 2-7.714q-11.143-50 -42.143-89.143t-76-60.857t-96.143-21.714q-44.571,0 -85.143,17.429t-70,46.857t-46.857,70t-17.429,85.143t 17.429,85.143t 46.857,70t 70,46.857t 85.143,17.429q 42,0 81.286-15.857t 69.857-44.714l 37.143,36.857q 8.286,8.857 20,4q 11.143-4.857 11.143-16.857z" horiz-adv-x="438.857" data-tags="repeat, loop, reload, refresh, synchronize" />
<glyph unicode="&#xe055;" d="M 438.857,96l0-36.571 q0-7.429 -5.429-12.857t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857zM 438.857,242.286l0-36.571 q0-7.429 -5.429-12.857t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857zM 438.857,388.571l0-36.571 q0-7.429 -5.429-12.857 t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857z" horiz-adv-x="438.857" data-tags="reorder, list, menu" />
<glyph unicode="&#xe056;" d="M 512,96q0-53 -37.5-90.5t-90.5-37.5q-51.5,0 -88.5,35.5q-20.5-3.5 -39.5-3.5q-45.5,0 -87,17.75t-71.5,47.75t-47.75,71.5t-17.75,87q0,18.5 3.5,39.5q-35.5,37 -35.5,88.5q0,53 37.5,90.5t 90.5,37.5q 51.5,0 88.5-35.5q 20.5,3.5 39.5,3.5q 45.5,0 87-17.75t 71.5-47.75t 47.75-71.5t 17.75-87q0-19 -3.5-39.5q 35.5-37 35.5-88.5
zM 256,320q 26.5,0 45.25-9.25t 18.75-22.5t 9.5-22.75t 22.75-9.5t 22.5,9.5t 9.25,22.5q0,40 -37.5,68t-90.5,28t-90.5-28t-37.5-68t 37.5-68t 90.5-28q 26.5,0 45.25-9.25t 18.75-22.75t-18.75-22.75t-45.25-9.25t-45.25,9.5t-18.75,22.75t-9.25,22.5t-22.5,9.25t-22.75-9.25t-9.5-22.75q0-40 37.5-68t 90.5-28
t 90.5,28t 37.5,68t-37.5,68t-90.5,28q-26.5,0 -45.25,9.5t-18.75,22.75t 18.75,22.5t 45.25,9.25z" data-tags="skype" />
<glyph unicode="&#xe057;" d="M 156.39,456.909L 10.24,365.875l 100.122-83.942L 256,376.525L 156.39,456.909z M 344.371,70.554c-2.611,0-5.197,0.896-7.296,2.662L 256,140.442
l-81.075-67.251c-2.099-1.741-4.71-2.662-7.296-2.662c-2.176,0-4.352,0.589-6.246,1.843l-60.058,39.296l0-23.194 L 256-8.909l 154.675,97.408
l0,23.194 l-60.058-39.296C 348.723,71.142, 346.547,70.554, 344.371,70.554z M 501.76,365.875l-146.15,91.034L 256,376.525l 145.613-94.566L 501.76,365.875z
M 256,190.95l 90.291-74.957l 144.435,94.413l-89.088,71.526L 256,190.95z M 165.709,115.994L 256,190.95L 110.387,281.958l-89.088-71.552L 165.709,115.994z" data-tags="dropbox, social" />
<glyph unicode="&#x20;" horiz-adv-x="256" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 52 KiB

BIN
vendors/icomoon/fonts/icomoon.eot vendored Normal file

Binary file not shown.

308
vendors/icomoon/fonts/icomoon.svg vendored Normal file
View file

@ -0,0 +1,308 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset grid="16"></iconset>
</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512" >
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
<glyph unicode="&#xe000;" d="M 478.566,412.544C 469.786,409.446, 35.149,256.307, 26.598,253.286c-7.27-2.56-8.909-8.832-0.256-12.262
c 10.266-4.122, 97.178-38.938, 97.178-38.938L 123.494,202.086 l 57.626-23.091c0,0, 277.427,203.75, 281.19,206.49c 3.763,2.765, 8.141-2.432, 5.402-5.402
c-2.739-2.995-201.498-217.958-201.498-217.958c-0.026,0-0.026,0-0.026,0l-11.571-12.902l 15.334-8.243l0,0c0,0, 119.040-64.077, 127.514-68.659
c 7.424-3.994, 17.101-0.666, 19.251,8.576c 2.534,10.906, 72.832,313.907, 74.394,320.614C 493.158,410.291, 487.373,415.642, 478.566,412.544z M 180.608,40.653
c0-6.323, 3.558-8.064, 8.474-3.61c 6.4,5.837, 72.934,65.536, 72.934,65.536l-81.408,42.138L 180.608,40.653 z" />
<glyph unicode="&#xe001;" d="M 486.4,49.92c0,0-51.2,249.165-275.84,249.165L 210.56,398.080 L 25.6,232.832l 184.96-171.29l0,111.565 C 332.493,173.107, 422.835,162.304, 486.4,49.92z" />
<glyph unicode="&#xe002;" d="M 184.96,329.472L 184.96,398.080 L0,232.832l 184.96-171.29l0,71.142 L 76.8,232.832L 184.96,329.472z M 312.96,299.11L 312.96,398.080 L 128,232.832l 184.96-171.29l0,111.565
c 84.301,0, 135.475-10.803, 199.040-123.187C 512,49.92, 502.605,299.11, 312.96,299.11z" />
<glyph unicode="&#xe003;" d="M 301.44,173.107l0-111.539 L 486.4,232.832L 301.44,398.080l0-98.97 C 76.8,299.11, 25.6,49.92, 25.6,49.92C 89.165,162.304, 179.507,173.107, 301.44,173.107z" />
<glyph unicode="&#xe004;" d="M 449.152,84.019l-96.742,96.742c 14.592,23.987, 22.989,52.096, 22.989,82.227c0,87.45-75.802,163.251-163.277,163.251
C 124.672,426.24, 53.76,355.328, 53.76,267.878c0-87.475, 75.776-163.277, 163.251-163.277c 29.082,0, 56.32,7.885, 79.744,21.581l 97.254-97.28
c 9.549-9.523, 24.96-9.523, 34.458,0l 24.141,24.115C 462.106,62.541, 458.65,74.522, 449.152,84.019z M 102.502,267.878
c0,60.544, 49.075,109.645, 109.619,109.645c 60.57,0, 114.534-53.965, 114.534-114.534s-49.075-109.645-109.645-109.645S 102.502,207.309, 102.502,267.878z" />
<glyph unicode="&#xe005;" d="M 179.2,249.6L 25.6,249.6 c-14.131,0-25.6-11.469-25.6-25.6s 11.469-25.6, 25.6-25.6l 153.6,0 c 14.131,0, 25.6,11.469, 25.6,25.6S 193.331,249.6, 179.2,249.6z M 179.2,147.2L 25.6,147.2 c-14.131,0-25.6-11.443-25.6-25.6s 11.469-25.6, 25.6-25.6l 153.6,0
c 14.131,0, 25.6,11.443, 25.6,25.6S 193.331,147.2, 179.2,147.2z M 496.64,249.6L 409.6,249.6 L 409.6,336.64 C 409.6,350.771, 398.157,352, 384,352s-25.6-1.229-25.6-15.36L 358.4,249.6 l-84.48,0 C 259.763,249.6, 258.56,238.131, 258.56,224
s 1.229-25.6, 15.386-25.6L 358.4,198.4 l0-87.040 c0-14.131, 11.443-15.36, 25.6-15.36s 25.6,1.229, 25.6,15.36L 409.6,198.4 l 87.040,0 c 14.131,0, 15.36,11.469, 15.36,25.6S 510.771,249.6, 496.64,249.6z M 179.2,352L 25.6,352
C 11.469,352,0,340.531,0,326.4s 11.469-25.6, 25.6-25.6l 153.6,0 c 14.131,0, 25.6,11.469, 25.6,25.6S 193.331,352, 179.2,352z" />
<glyph unicode="&#xe006;" d="M 318.259,480c 34.304,0, 51.456-23.398, 51.456-50.125c0-33.382-29.798-64.282-68.557-64.282c-32.512,0-51.456,19.2-50.56,50.918
C 250.598,443.264, 273.126,480, 318.259,480z M 212.71-32c-27.085,0-46.925,16.691-27.981,90.189l 31.078,130.33c 5.402,20.864, 6.298,29.235,0,29.235
c-8.141,0-43.264-14.413-64.051-28.621L 138.24,211.686c 65.869,55.962, 141.619,88.755, 174.106,88.755c 27.059,0, 31.539-32.563, 18.048-82.662l-35.61-137.011
c-6.298-24.218-3.61-32.563, 2.688-32.563c 8.141,0, 34.739,10.061, 60.902,30.925l 15.36-20.864C 309.709-6.912, 239.77-32, 212.71-32z" />
<glyph unicode="&#xe007;" d="M 153.626,341.76L 153.6,106.24L 358.4,224 z" />
<glyph unicode="&#xe008;" d="M 373.76,326.374L 138.24,326.4L 256,121.6 z" />
<glyph unicode="&#xe009;" d="M 76.8,280.32c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.32,25.216, 56.32,56.32C 133.12,255.104, 107.904,280.32, 76.8,280.32z M 256,280.32
c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.294,25.216, 56.294,56.32C 312.294,255.104, 287.104,280.32, 256,280.32z M 435.2,280.32
c-31.104,0-56.32-25.216-56.32-56.32c0-31.104, 25.216-56.32, 56.32-56.32s 56.32,25.216, 56.32,56.32C 491.52,255.104, 466.304,280.32, 435.2,280.32z" />
<glyph unicode="&#xe00a;" d="M 432,480 C 476.182,480 512,444.183 512,400 C 512,381.99 506.045,365.371 496,352 L 464,320 L 352,432 L 384,464 C 397.371,474.045 413.989,480 432,480 ZM 32,112L0-32l 144,32l 296,296L 328,408L 32,112z M 357.789,298.211l-224-224l-27.578,27.578l 224,224L 357.789,298.211z" />
<glyph unicode="&#xe00b;" d="M0,416l0-416 l 512,0 L 512,416 L0,416 z M 480,32L 32,32 L 32,384 l 448,0 L 480,32 zM 352,304A48,48 2700 1 1 448,304A48,48 2700 1 1 352,304zM 448,64 L 64,64 L 160,320 L 288,160 L 352,208 Z" />
<glyph unicode="&#xe00c;" d="M 160,384 L 512,480 L 512,448 L 512,384 L 512,112 C 512,67.817 461.855,32 400,32 C 338.145,32 288,67.817 288,112 C 288,156.183 338.145,192 400,192 C 417.179,192 433.451,189.234 448,184.297 L 448,349.091 L 224,288 L 224,48 C 224,3.817 173.856-32 112-32 C 50.144-32 0,3.817 0,48 C 0,92.183 50.144,128 112,128 C 129.179,128 145.451,125.234 160,120.297 L 160,288 L 160,384 Z" />
<glyph unicode="&#xe00d;" d="M0,416l0-384 l 512,0 L 512,416 L0,416 z M 96,64L 32,64 l0,64 l 64,0 L 96,64 z M 96,192L 32,192 l0,64 l 64,0 L 96,192 z M 96,320L 32,320 L 32,384 l 64,0 L 96,320 z M 384,64L 128,64 L 128,384 l 256,0 L 384,64 z
M 480,64l-64,0 l0,64 l 64,0 L 480,64 z M 480,192l-64,0 l0,64 l 64,0 L 480,192 z M 480,320l-64,0 L 416,384 l 64,0 L 480,320 zM 192,320L 192,128L 320,224 z" />
<glyph unicode="&#xe00e;" d="M 128,448L 384,448L 384,384L 128,384zM 480,352L 32,352 C 14.4,352,0,337.6,0,320l0-160 c0-17.6, 14.398-32, 32-32l 96,0 l0-128 l 256,0 L 384,128 l 96,0 c 17.6,0, 32,14.4, 32,32L 512,320
C 512,337.6, 497.6,352, 480,352z M 352,32L 160,32 L 160,192 l 192,0 L 352,32 z M 487.2,304c0-12.813-10.387-23.2-23.199-23.2
c-12.813,0-23.201,10.387-23.201,23.2s 10.388,23.2, 23.201,23.2C 476.814,327.2, 487.2,316.813, 487.2,304z" />
<glyph unicode="&#xe00f;" d="M 160,288L 224,288L 224,224L 160,224zM 256,288L 320,288L 320,224L 256,224zM 352,288L 416,288L 416,224L 352,224zM 64,96L 128,96L 128,32L 64,32zM 160,96L 224,96L 224,32L 160,32zM 256,96L 320,96L 320,32L 256,32zM 160,192L 224,192L 224,128L 160,128zM 256,192L 320,192L 320,128L 256,128zM 352,192L 416,192L 416,128L 352,128zM 64,192L 128,192L 128,128L 64,128zM 416,480l0-32 l-64,0 L 352,480 L 128,480 l0-32 L 64,448 L 64,480 L0,480 l0-512 l 480,0 L 480,480 L 416,480 z M 448,0L 32,0 L 32,352 l 416,0 L 448,0 z" />
<glyph unicode="&#xe010;" d="M 352,480c-88.365,0-160-71.634-160-160c0-10.013, 0.929-19.808, 2.688-29.312L0,96l0-96 c0-17.673, 14.327-32, 32-32
l 32,0 l0,32 l 64,0 l0,64 l 64,0 l0,64 l 64,0 l 41.521,41.521C 314.526,163.363, 332.869,160, 352,160c 88.365,0, 160,71.634, 160,160S 440.365,480, 352,480z
M 399.937,319.937c-26.51,0-48,21.49-48,48s 21.49,48, 48,48s 48-21.49, 48-48S 426.447,319.937, 399.937,319.937z" />
<glyph unicode="&#xe011;" d="M 466.895,174.875c-26.863,46.527-10.708,106.152, 36.076,133.244l-50.313,87.146c-14.375-8.427-31.088-13.259-48.923-13.259
c-53.768,0-97.354,43.873-97.354,97.995L 205.752,480.001 c 0.133-16.705-4.037-33.641-12.979-49.126
c-26.862-46.528-86.578-62.351-133.431-35.379L 9.030,308.35c 14.485-8.236, 27.025-20.294, 35.943-35.739
c 26.819-46.454, 10.756-105.96-35.854-133.112l 50.313-87.146c 14.325,8.348, 30.958,13.127, 48.7,13.127
c 53.598,0, 97.072-43.596, 97.35-97.479l 100.627,0 c-0.043,16.537, 4.136,33.285, 12.983,48.609
c 26.818,46.453, 86.388,62.297, 133.207,35.506l 50.313,87.145C 488.222,147.494, 475.766,159.51, 466.895,174.875z M 256,120.334
c-57.254,0-103.668,46.412-103.668,103.667c0,57.254, 46.413,103.667, 103.668,103.667c 57.254,0, 103.666-46.413, 103.666-103.667
C 359.665,166.746, 313.254,120.334, 256,120.334z" />
<glyph unicode="&#xe012;" d="M 160.504-32 C 126.381,39.004 144.553,79.689 170.779,118.022 C 199.499,160 206.901,201.555 206.901,201.555 C 206.901,201.555 229.478,172.205 220.447,126.301 C 260.333,170.701 267.859,241.441 261.838,268.533 C 351.995,205.527 390.526,69.105 338.599-32 C 614.785,124.266 407.298,358.086 371.176,384.425 C 383.217,358.087 385.5,313.5 361.176,291.862 C 320,448 218.19,480 218.19,480 C 230.231,399.478 174.542,311.428 120.842,245.635 C 118.955,277.743 116.951,299.899 100.067,330.625 C 96.277,272.297 51.701,224.751 39.63,166.311 C 23.279,87.168 51.878,29.221 160.504-32 Z" />
<glyph unicode="&#xe013;" d="M 352,448L 192,288L 96,288 L0,160c0,0, 101.708,28.326, 161.033,15.042L0-32l 210.951,164.072C 240.37,64.745, 192-32, 192-32l 128,96
l0,96 l 160,160L 512,480L 352,448z" />
<glyph unicode="&#xe014;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 z M 384,368L 224,208l-96,96l-64-64l 160-160l 224,224L 384,368z" />
<glyph unicode="&#xe015;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 z" />
<glyph unicode="&#xe016;" d="M0,480l0-512 l 512,0 L 512,480 L0,480 z M 480,0L 32,0 L 32,448 l 448,0 L 480,0 zM 128,352L 384,352L 384,96L 128,96z" />
<glyph unicode="&#xe017;" d="M 256,480C 114.615,480,0,365.385,0,224s 114.615-256, 256-256s 256,114.615, 256,256S 397.385,480, 256,480z M 256,32
c-106.039,0-192,85.961-192,192c0,106.039, 85.961,192, 192,192c 106.039,0, 192-85.961, 192-192C 448,117.961, 362.039,32, 256,32zM 160,224A96,96 12780 1 1 352,224A96,96 12780 1 1 160,224z" />
<glyph unicode="&#xe018;" d="M 256,480C 114.615,480,0,365.385,0,224s 114.615-256, 256-256s 256,114.615, 256,256S 397.385,480, 256,480z M 256,32
c-106.039,0-192,85.961-192,192c0,106.039, 85.961,192, 192,192c 106.039,0, 192-85.961, 192-192C 448,117.961, 362.039,32, 256,32z" />
<glyph unicode="&#xe019;" d="M 394.767,448c0,0-100.478,0-133.97,0c-60.061,0-116.585-45.503-116.585-98.211c0-53.863, 40.941-97.333, 102.044-97.333
c 4.249,0, 8.378,0.085, 12.42,0.376c-3.964-7.593-6.8-16.144-6.8-25.021c0-14.969, 8.052-27.105, 18.234-37.012
c-7.693,0-15.121-0.224-23.226-0.224c-74.391,0.001-131.65-47.38-131.65-96.511c0-48.389, 62.771-78.656, 137.167-78.656
c 84.812,0, 131.653,48.122, 131.653,96.514c0,38.801-11.448,62.036-46.843,87.067c-12.108,8.571-35.266,29.418-35.266,41.672
c0,14.36, 4.098,21.434, 25.714,38.323c 22.156,17.312, 37.837,41.651, 37.837,69.958c0,33.703-15.011,66.549-43.187,77.386l 42.478,0
L 394.767,448z M 347.974,120.271c 1.063-4.486, 1.642-9.104, 1.642-13.814c0-39.1-25.195-69.655-97.487-69.655
c-51.421,0-88.558,32.552-88.558,71.65c0,38.321, 46.063,70.222, 97.482,69.666c 12-0.127, 23.184-2.058, 33.334-5.345
C 322.301,153.359, 342.325,142.393, 347.974,120.271z M 265.643,266.112c-34.519,1.032-67.318,38.613-73.276,83.93
c-5.958,45.333, 17.185,80.021, 51.694,78.995C 278.565,428, 311.379,391.63, 317.34,346.308
C 323.293,300.978, 300.145,265.079, 265.643,266.112z" />
<glyph unicode="&#xe01a;" d="M 0.403,45.168c-0.122,1.266-0.226,2.535-0.292,3.815C 0.176,47.703, 0.281,46.434, 0.403,45.168zM 117.954,197.426c 46.005-1.369, 76.867,46.349, 68.931,106.599c-7.947,60.24-51.698,108.584-97.704,109.961
c-46.013,1.365-76.87-44.741-68.926-105C 28.196,248.752, 71.931,198.799, 117.954,197.426zM 512,352L 512,394.655 C 512,441.595, 473.609,480, 426.671,480L 85.343,480 C 39.205,480, 1.337,442.884, 0.061,397.037
c 29.181,25.693, 69.662,47.158, 111.437,47.158c 44.652,0, 178.622,0, 178.622,0l-39.974-33.809l-56.634,0
c 37.565-14.402, 57.578-58.062, 57.578-102.861c0-37.624-20.905-69.977-50.444-92.984c-28.822-22.451-34.286-31.854-34.286-50.939
c0-16.289, 30.873-44, 47.016-55.394c 47.191-33.269, 62.458-64.156, 62.458-115.728c0-8.214-1.021-16.415-3.033-24.48l 153.871,0
C 473.609-32, 512,6.375, 512,53.345L 512,319.999 l-96,0 L 416,224 l-32,0 l0,96 l-95.999,0 l0,32 L 384,352 L 384,448 l 32,0 l0-96 L 512,352 zM 92.943,97.032c 10.807,0, 20.711,0.295, 30.968,0.295c-13.573,13.167-24.313,29.3-24.313,49.19
c0,11.804, 3.782,23.168, 9.067,33.26c-5.391-0.385-10.895-0.497-16.563-0.497c-37.178,0-68.753,12.038-92.102,31.927l0-33.621
l 0.003-100.865C 26.723,89.408, 58.447,97.032, 92.943,97.032zM 1.71,36.371c-0.556,2.729-0.983,5.503-1.271,8.317C 0.726,41.874, 1.154,39.1, 1.71,36.371zM 227.725,3.577c-7.529,29.403-34.227,43.982-71.444,69.784c-13.536,4.366-28.447,6.937-44.447,7.104
c-44.809,0.482-86.554-17.471-110.108-44.186C 9.686-2.574, 44.243-32, 85.343-32l 143.222,0 c 0.908,5.564, 1.348,11.316, 1.348,17.216
C 229.913-8.517, 229.146-2.388, 227.725,3.577z" />
<glyph unicode="&#xe01b;" d="M 426.672,480L 85.342,480 C 38.406,480,0,441.593,0,394.656l0-341.313 C0,6.374, 38.406-32, 85.342-32l 341.33,0.001
c 46.938,0, 85.328,38.373, 85.328,85.344L 512,394.656 C 512,441.593, 473.609,480, 426.672,480z M 435.296,224L 352,224 l0-224 l-96,0 L 256,224 l-46.263,0 l0,73.282 L 256,297.282
l0,47.593 C 256,409.546, 283.896,448, 359.935,448l 87.622,0 l0-79.285 l-71.565,0 c-21.241,0.035-23.876-11.076-23.876-31.756L 352,297.282l 96,0
L 435.296,224z" />
<glyph unicode="&#xe01c;" d="M 512,382.791c-18.838-8.354-39.082-14.001-60.33-16.54c 21.686,13, 38.343,33.585, 46.186,58.115
c-20.298-12.039-42.778-20.78-66.705-25.49c-19.16,20.415-46.461,33.17-76.673,33.17c-58.011,0-105.044-47.029-105.044-105.039
c0-8.233, 0.929-16.25, 2.72-23.939c-87.3,4.382-164.701,46.2-216.509,109.753c-9.042-15.514-14.223-33.558-14.223-52.809
c0-36.444, 18.544-68.596, 46.73-87.433c-17.219,0.546-33.416,5.271-47.577,13.139c-0.010-0.438-0.010-0.878-0.010-1.321
c0-50.894, 36.209-93.348, 84.261-103c-8.813-2.4-18.094-3.686-27.674-3.686c-6.769,0-13.349,0.66-19.764,1.886
c 13.368-41.73, 52.16-72.103, 98.126-72.948c-35.95-28.175-81.243-44.967-130.458-44.967c-8.479,0-16.84,0.497-25.058,1.47
c 46.486-29.805, 101.701-47.197, 161.021-47.197c 193.211,0, 298.868,160.062, 298.868,298.872c0,4.554-0.103,9.084-0.305,13.59
C 480.11,343.227, 497.918,361.727, 512,382.791z" />
<glyph unicode="&#xe01d;" d="M 416,416L 96,416 c-52.8,0-96-43.2-96-96l0-192 c0-52.8, 43.2-96, 96-96l 320,0 c 52.8,0, 96,43.2, 96,96L 512,320 C 512,372.8, 468.8,416, 416,416z
M 192,96L 192,352 l 160-128L 192,96z" />
<glyph unicode="&#xe01e;" d="M 421.006,185.26c-6.824,6.723-21.957,10.283-44.986,10.586c-15.589,0.172-34.351-1.201-54.085-3.964
c-8.837,5.099-17.946,10.647-25.094,17.329c-19.231,17.958-35.284,42.886-45.288,70.297c 0.652,2.56, 1.207,4.81, 1.724,7.106
c0,0, 10.833,61.53, 7.965,82.333c-0.395,2.853-0.637,3.681-1.404,5.898l-0.941,2.417c-2.948,6.796-8.724,13.997-17.783,13.604
l-5.312,0.169l-0.146,0.003c-10.1,0-18.332-5.166-20.493-12.887c-6.569-24.217, 0.209-60.446, 12.491-107.369l-3.144-7.643
c-8.794-21.438-19.815-43.030-29.539-62.079l-1.264-2.476c-10.23-20.019-19.512-37.013-27.927-51.411l-8.688-4.594
c-0.632-0.334-15.522-8.209-19.014-10.322c-29.628-17.691-49.261-37.77-52.518-53.708c-1.036-5.085-0.265-11.593, 5.007-14.607
l 8.403-4.229c 3.645-1.826, 7.489-2.751, 11.427-2.751c 21.102,0, 45.6,26.286, 79.348,85.183
c 38.965,12.684, 83.327,23.228, 122.207,29.045c 29.629-16.684, 66.071-28.273, 89.071-28.273c 4.084,0, 7.606,0.389, 10.466,1.148
c 4.411,1.168, 8.129,3.683, 10.396,7.096c 4.463,6.716, 5.367,15.966, 4.156,25.438C 425.68,179.411, 423.435,182.887, 421.006,185.26z
M 105.823,72.976c 3.848,10.521, 19.080,31.322, 41.602,49.778c 1.416,1.148, 4.904,4.416, 8.097,7.451
C 131.971,92.643, 116.199,77.672, 105.823,72.976z M 239.217,380.157c 6.783,0, 10.642-17.097, 10.962-33.127
c 0.32-16.030-3.429-27.28-8.079-35.604c-3.851,12.324-5.713,31.75-5.713,44.452C 236.387,355.878, 236.104,380.157, 239.217,380.157z
M 199.426,161.253c 4.725,8.458, 9.641,17.378, 14.665,26.839c 12.246,23.158, 19.979,41.278, 25.739,56.173
c 11.455-20.842, 25.722-38.56, 42.493-52.756c 2.092-1.771, 4.309-3.551, 6.637-5.325C 254.855,179.436, 225.378,171.229, 199.426,161.253z
M 414.452,163.174c-2.077-1.299-8.027-2.050-11.854-2.050c-12.353,0-27.636,5.647-49.063,14.833
c 8.234,0.609, 15.781,0.919, 22.55,0.919c 12.391,0, 16.060,0.054, 28.175-3.036S 416.529,164.473, 414.452,163.174zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe01f;" d="M 319.889,242.054L 341.995,242.054L 316.489,128.965L 283.326,287.97L 230.051,287.97L 191.494,128.965L 162.586,287.97L 106.889,287.97L 163.435,32.029L 217.854,32.029L 256.001,183.383L 290.129,32.029L 340.297,32.029L 405.112,287.97L 319.889,287.97
zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe020;" d="M 371.514,288L 303.867,288L 256.001,217.484L 208.131,288L 140.487,288L 221.568,166.768L 130.081,32L 261.201,32L 261.201,77.788L 230.923,77.788L 256.001,115.285L 311.699,32L 381.92,32L 290.432,166.768 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe021;" d="M 96,224l 96,0 l0-32 L 96,192 L 96,224 z M 96,160l 96,0 l0-32 L 96,128 L 96,160 z M 96,96l 96,0 l0-32 L 96,64 L 96,96 z M 451.716,380.285l-71.432,71.431
C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0 c 22,0, 40,18, 40,40L 480,312
C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440 c0,4.336, 3.664,8, 8,8
l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 zM 288,128 L 382.396,128 C 374.983,91.484 342.703,64 304,64 C 259.817,64 224,99.817 224,144 C 224,182.703 251.485,214.983 288,222.396 L 288,128 ZM 336,256 C 380.183,256 416,220.183 416,176 C 416,170.521 415.446,165.17 414.396,160 L 320,160 L 320,254.396 C 325.17,255.446 330.521,256 336,256 Z" />
<glyph unicode="&#xe022;" d="M 224,192L 192,224L 96,128L 192,32L 224,64L 160,128 zM 288,64L 320,32L 416,128L 320,224L 288,192L 352,128 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe023;" d="M 192,174.277L 192,231.39 c0,7.564, 3.348,14.718, 9.427,20.143c 6.080,5.424, 14.096,8.413, 22.573,8.413l0,28.555
c-35.2,0-64-25.7-64-57.111l0-42.833 c0-7.886-7.164-14.279-16-14.279l-16,0 l0-28.555 l 16,0 c 8.837,0, 16-6.395, 16-14.279l0-42.838
c0-31.407, 28.8-57.107, 64-57.107l0,28.556 c-8.477,0-16.494,2.988-22.573,8.413c-6.079,5.426-9.427,12.577-9.427,20.139l0,57.117
c0,7.885-7.164,14.277-16,14.277C 184.837,160, 192,166.395, 192,174.277zM 320,145.723l0-57.117 c0-7.562-3.348-14.713-9.427-20.139c-6.079-5.425-14.095-8.413-22.573-8.413l0-28.556
c 35.201,0, 64,25.7, 64,57.107l0,42.838 c0,7.886, 7.164,14.279, 16,14.279l 16,0 l0,28.555 l-16,0 c-8.836,0-16,6.395-16,14.279L 352,231.39
c0,31.412-28.799,57.111-64,57.111l0-28.555 c 8.479,0, 16.494-2.989, 22.573-8.415c 6.080-5.424, 9.427-12.578, 9.427-20.142l0-57.114
c0-7.883, 7.164-14.276, 16-14.276C 327.164,160, 320,153.605, 320,145.723zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe024;" d="M 505.216,60.624l-191.984,384C 302.4,466.304, 280.256,480, 256,480s-46.4-13.696-57.232-35.376
l-191.984-384c-9.92-19.84-8.864-43.408, 2.8-62.288C 21.248-20.512, 41.84-32, 64.016-32l 383.952,0 c 22.192,0, 42.784,11.488, 54.432,30.336
C 514.064,17.216, 515.12,40.784, 505.216,60.624z M 287.968,48c0-8.848-7.152-16-16-16l-32,0 c-8.848,0-16,7.152-16,16l0,32 c0,8.848, 7.152,16, 16,16l 32,0
c 8.848,0, 16-7.152, 16-16L 287.968,48 z M 287.968,176c0-8.848-7.152-16-16-16l-32,0 c-8.848,0-16,7.152-16,16L 223.968,336 c0,8.832, 7.152,16, 16,16l 32,0 c 8.848,0, 16-7.168, 16-16
L 287.968,176 z" />
<glyph unicode="&#xe025;" d="M 480,224c0-123.712-100.288-224-224-224S 32,100.288, 32,224c0,54.528, 19.616,104.368, 52,143.2
c 2.464,4.544, 5.888,8.496, 10.16,11.36c 0.72,0.752, 1.36,1.6, 2.096,2.336c 0.016-0.368, 0.176-0.72, 0.208-1.088C 101.088,382.4, 106.336,384, 112,384
c 17.664,0, 32-14.336, 32-32c0-11.136-5.68-20.928-14.32-26.656C 130.24,324.928, 130.64,324.416, 131.216,324C 109.216,296.608, 96,261.872, 96,224
c0-88.368, 71.632-160, 160-160s 160,71.632, 160,160c0,37.872-13.216,72.608-35.216,100c 0.576,0.416, 0.992,0.928, 1.536,1.344
C 373.68,331.072, 368,340.864, 368,352c0,17.664, 14.336,32, 32,32c 5.664,0, 10.912-1.6, 15.536-4.192c 0.032,0.368, 0.192,0.72, 0.224,1.088
c 0.72-0.736, 1.36-1.584, 2.096-2.336c 4.272-2.864, 7.68-6.816, 10.16-11.36C 460.368,328.368, 480,278.528, 480,224z M 272,192l-32,0
c-8.848,0-16,7.152-16,16L 224,432 c0,8.832, 7.152,16, 16,16l 32,0 c 8.848,0, 16-7.168, 16-16l0-224 C 288,199.152, 280.848,192, 272,192z" />
<glyph unicode="&#xe026;" d="M 399.712,324.512c 5.968-5.968, 15.648-5.968, 21.6,0l 84.528,66.544
c 14.064-44.224, 4.128-94.432-30.96-129.52c-33.472-33.488-80.736-44.032-123.424-32.768l-100.256-100.256c 11.264-42.704, 0.704-89.952-32.752-123.424
c-35.088-35.088-85.312-45.024-129.536-30.96l 66.576,84.512c 5.968,5.984, 5.968,15.648,0,21.616l-43.2,43.184c-5.968,5.968-15.648,5.968-21.6,0
l-84.528-66.544c-14.064,44.224-4.128,94.416, 30.944,129.504c 33.488,33.488, 80.736,44.048, 123.44,32.768l 100.272,100.272
c-11.28,42.688-0.72,89.952, 32.736,123.424c 35.088,35.088, 85.312,45.024, 129.552,30.976l-66.576-84.544c-5.952-5.952-5.952-15.632,0-21.584
L 399.712,324.512z" />
<glyph unicode="&#xe027;" d="M 370.857,102.286q0-11.429 -8-19.429l-38.857-38.857q-8-8 -19.429-8t-19.429,8l-84,84l-84-84q-8-8 -19.429-8t-19.429,8l-38.857,38.857q-8,8 -8,19.429t 8,19.429l 84,84l-84,84q-8,8 -8,19.429t 8,19.429l 38.857,38.857q 8,8 19.429,8t 19.429-8l 84-84l 84,84q 8,8 19.429,8t 19.429-8l 38.857-38.857q 8-8 8-19.429 t-8-19.429l-84-84l 84-84q 8-8 8-19.429z" horiz-adv-x="402.286" />
<glyph unicode="&#xe028;" d="M 477.429,318.286q0-11.429 -8-19.429l-206.857-206.857l-38.857-38.857q-8-8 -19.429-8t-19.429,8l-38.857,38.857l-103.429,103.429q-8,8 -8,19.429t 8,19.429l 38.857,38.857q 8,8 19.429,8t 19.429-8l 84-84.286l 187.429,187.714q 8,8 19.429,8t 19.429-8l 38.857-38.857q 8-8 8-19.429z" />
<glyph unicode="&#xe029;" d="M 402.286,269.714l0-54.857 q0-11.429 -8-19.429t-19.429-8l-118.857,0 l0-118.857 q0-11.429 -8-19.429t-19.429-8l-54.857,0 q-11.429,0 -19.429,8t-8,19.429l0,118.857 l-118.857,0 q-11.429,0 -19.429,8t-8,19.429l0,54.857 q0,11.429 8,19.429t 19.429,8l 118.857,0 l0,118.857 q0,11.429 8,19.429t 19.429,8l 54.857,0 q 11.429,0 19.429-8t 8-19.429l0-118.857 l 118.857,0 q 11.429,0 19.429-8t 8-19.429z" horiz-adv-x="402.286" />
<glyph unicode="&#xe02a;" d="M 402.286,269.714l0-54.857 q0-11.429 -8-19.429t-19.429-8l-347.429,0 q-11.429,0 -19.429,8t-8,19.429l0,54.857 q0,11.429 8,19.429t 19.429,8l 347.429,0 q 11.429,0 19.429-8t 8-19.429z" horiz-adv-x="402.286" />
<glyph unicode="&#xe02b;" d="M 348.916,316.476l-32.476,32.461L 154.035,186.566c-26.907-26.896-26.907-70.524,0-97.422
c 26.902-26.896, 70.53-26.896, 97.437,0l 194.886,194.854c 44.857,44.831, 44.857,117.531,0,162.363
c-44.833,44.852-117.556,44.852-162.391,0L 79.335,241.788l 0.017-0.016c-0.145-0.152-0.306-0.288-0.438-0.423
c-62.551-62.548-62.551-163.928,0-226.453c 62.527-62.528, 163.934-62.528, 226.494,0c 0.137,0.137, 0.258,0.284, 0.41,0.438l 0.016-0.017
l 139.666,139.646l-32.493,32.46L 273.35,47.792l-0.008,0 c-0.148-0.134-0.282-0.285-0.423-0.422
c-44.537-44.529-116.99-44.529-161.538,0c-44.531,44.521-44.531,116.961,0,161.489c 0.152,0.152, 0.302,0.291, 0.444,0.423l-0.023,0.030
l 204.64,204.583c 26.856,26.869, 70.572,26.869, 97.443,0c 26.856-26.867, 26.856-70.574,0-97.42L 218.999,121.625
c-8.968-8.961-23.527-8.961-32.486,0c-8.947,8.943-8.947,23.516,0,32.46L 348.916,316.476z" />
<glyph unicode="&#xe02c;" d="M 255.616,418.56L 255.616,320.563L 435.251,320.589L 435.251,127.258L 255.616,127.258L 255.616,29.44L 61.491,224 z" />
<glyph unicode="&#xe02d;" d="M 450.56,224.384L 352.563,224.358L 352.589,44.749L 159.258,44.749L 159.258,224.384L 61.44,224.358L 256.026,418.509 z" />
<glyph unicode="&#xe02e;" d="M 256.384,418.56L 256.384,320.563L 76.749,320.589L 76.749,127.258L 256.384,127.258L 256.384,29.44L 450.509,224 z" />
<glyph unicode="&#xe02f;" d="M 450.56,223.616L 352.563,223.642L 352.589,403.251L 159.258,403.251L 159.258,223.616L 61.44,223.642L 256,29.491 z" />
<glyph unicode="&#xe030;" d="M 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0 c 22,0, 40,18, 40,40
L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440 c0,4.336, 3.664,8, 8,8
l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe031;" d="M 208,416L 256,416L 256,384L 208,384zM 160,384L 208,384L 208,352L 160,352zM 208,352L 256,352L 256,320L 208,320zM 160,320L 208,320L 208,288L 160,288zM 208,288L 256,288L 256,256L 208,256zM 160,256L 208,256L 208,224L 160,224zM 208,224l0-32 l-48,0 l0-112 c0-8.837, 7.163-16, 16-16l 64,0 c 8.837,0, 16,7.163, 16,16L 256,224 L 208,224 z M 240,96l-64,0 l0,32 l 64,0 L 240,96 zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe032;" d="M0,448l0-448 l 512,0 L 512,448 L0,448 z M 480,32L 32,32 L 32,416 l 448,0 L 480,32 zM 448,384L 64,384 l0-320 l 384,0 L 448,384 z M 224,224l-32,0 l0-32 l-32,0 l0-32 l-32,0 l0,32 l 32,0 l0,32 l 32,0 l0,32 l-32,0 l0,32 l-32,0 l0,32 l 32,0 l0-32 l 32,0 l0-32 l 32,0 L 224,224 z M 352,160l-96,0
l0,32 l 96,0 L 352,160 z" />
<glyph unicode="&#xe033;" d="M 480-32L 32-32 c-17.664,0-32,14.336-32,32L0,448 c0,17.664, 14.336,32, 32,32l 384,0 l 96-96l0-384
C 512-17.664, 497.664-32, 480-32z M 128,48c0-8.848, 7.168-16, 16-16l 224,0 c 8.848,0, 16,7.152, 16,16l0,128 c0,8.848-7.152,16-16,16L 144,192 c-8.832,0-16-7.152-16-16L 128,48 z
M 352,400c0,8.848-7.152,16-16,16s-16-7.152-16-16l0-48 c0-8.848, 7.152-16, 16-16s 16,7.152, 16,16L 352,400 z M 448,368l-48,48l-16,0 l0-112 c0-8.848-7.152-16-16-16L 144,288
c-8.832,0-16,7.152-16,16L 128,416 L 80,416 C 71.168,416, 64,408.848, 64,400l0-352 c0-8.848, 7.168-16, 16-16l 16,0 L 96,208 c0,8.848, 7.168,16, 16,16l 288,0 c 8.848,0, 16-7.152, 16-16l0-176 l 16,0
c 8.848,0, 16,7.152, 16,16L 448,368 z" />
<glyph unicode="&#xe034;" d="M 379.392,110.131c-63.104,22.989-83.277,42.394-83.277,83.942c0,24.934, 19.277,16.794, 27.725,62.464c 3.507,18.944, 20.531,0.307, 23.808,43.546
c0,17.229-9.293,21.53-9.293,21.53s 4.736,25.523, 6.579,45.133C 347.187,391.219, 330.803,454.4, 243.2,454.4C 155.622,454.4, 139.187,391.219, 141.491,366.746
C 143.334,347.136, 148.070,321.613, 148.070,321.613S 138.752,317.338, 138.752,300.083c 3.251-43.238, 20.275-24.602, 23.782-43.546
c 8.474-45.67, 27.75-37.53, 27.75-62.464c0-41.549-20.173-60.954-83.277-83.942c-63.334-23.040-104.448-46.566-104.448-62.618c0-16.026,0-53.888,0-53.888
l 240.64,0 l 240.64,0 c0,0,0,37.862,0,53.888C 483.84,63.539, 442.701,87.066, 379.392,110.131z" />
<glyph unicode="&#xe035;" d="M 464,416L 48,416 C 21.488,416,0,394.512,0,368l0-288 c0-26.496, 21.488-48, 48-48l 416,0 c 26.512,0, 48,21.504, 48,48L 512,368 C 512,394.512, 490.512,416, 464,416z M 43.856,64.16
L 32.16,75.872l 131.984,131.968l 11.696-11.712L 43.856,64.16z M 468.144,64.16l-131.984,131.968l 11.696,11.712l 131.984-131.968L 468.144,64.16z M 272,170.8
L 272,160 l-32,0 l0,10.8 L 32.048,363.6l 20.352,20.352L 256,195.184L 459.6,383.952l 20.352-20.352L 272,170.8z" />
<glyph unicode="&#xe036;" d="M 316.851,110.131C 253.082,133.12, 232.704,152.525, 232.704,194.074c0,24.934, 19.482,16.794, 28.032,62.464c 3.558,18.944, 20.762,0.307, 24.013,43.546
c0,17.229-9.37,21.53-9.37,21.53s 4.787,25.523, 6.63,45.133C 284.314,391.219, 267.725,454.4, 179.2,454.4S 74.086,391.219, 76.39,366.746
c 1.869-19.635, 6.656-45.133, 6.656-45.133S 73.651,317.338, 73.651,300.083c 3.302-43.238, 20.506-24.602, 24.013-43.546
c 8.576-45.67, 28.058-37.53, 28.058-62.464c0-41.549-20.403-60.954-84.173-83.942c-7.68-2.739-25.984-7.040-41.549-13.773L0-6.4 l 409.6,0
c0,0,0,37.862,0,53.888S 380.851,87.066, 316.851,110.131z M 435.2,249.6L 435.2,326.4 l-51.2,0 l0-76.8 l-76.8,0 l0-51.2 l 76.8,0 l0-76.8 l 51.2,0 l0,76.8 l 76.8,0 L 512,249.6 L 435.2,249.6 z" />
<glyph unicode="&#xe037;" d="M 256,384C 144.341,384, 47.559,318.979,0,224c 47.559-94.979, 144.341-160, 256-160c 111.657,0, 208.439,65.021, 256,160
C 464.442,318.979, 367.657,384, 256,384z M 382.225,299.148c 30.081-19.187, 55.571-44.887, 74.717-75.148
c-19.146-30.261-44.637-55.961-74.718-75.149C 344.427,124.743, 300.779,112, 256,112c-44.78,0-88.428,12.743-126.225,36.852
C 99.695,168.038, 74.205,193.738, 55.058,224c 19.146,30.262, 44.637,55.962, 74.717,75.148c 1.959,1.25, 3.938,2.461, 5.929,3.65
C 130.725,289.134, 128,274.387, 128,259c0-70.692, 57.308-128, 128-128s 128,57.308, 128,128c0,15.387-2.725,30.134-7.704,43.799
C 378.286,301.61, 380.265,300.398, 382.225,299.148z M 256,275c0-26.51-21.49-48-48-48s-48,21.49-48,48s 21.49,48, 48,48
S 256,301.51, 256,275z" />
<glyph unicode="&#xe038;" d="M 194.586,136.499c-6.861-6.938-6.861-18.15,0-25.062c 6.835-6.938, 17.946-6.938, 24.806,0l 98.048,100.019
c 6.861,6.938, 6.861,18.15,0,25.062l-98.048,100.045c-6.861,6.938-17.946,6.938-24.806,0S 187.725,318.438, 194.56,311.526L 274.97,224L 194.586,136.499z" />
<glyph unicode="&#xe039;" d="M 343.501,285.414c 6.938,6.861, 18.15,6.861, 25.062,0c 6.938-6.861, 6.938-17.946,0-24.806l-100.019-98.048
c-6.938-6.861-18.15-6.861-25.062,0l-100.045,98.048c-6.912,6.861-6.912,17.946,0,24.806c 6.938,6.861, 18.125,6.861, 25.062,0L 256,205.030
L 343.501,285.414z" />
<glyph unicode="&#xe03a;" d="M 287.935-32L 192-32 L 192,224 l-64,0 l0,88.225 l 64,0.029l-0.104,51.976C 191.896,436.206, 211.413,480, 296.195,480l 70.588,0 l0-88.242 l-44.115,0
c-33.016,0-34.603-12.328-34.603-35.342l-0.131-44.162l 79.345,0 l-9.352-88.225L 288,224L 287.935-32z" />
<glyph unicode="&#xe03b;" d="M 96,224c0,6.090, 0.352,12.098, 1.015,18.011l-92.49,30.052C 1.567,256.493,0,240.431,0,224
c0-73.615, 31.083-139.961, 80.827-186.662l 57.142,78.648C 111.907,144.449, 96,182.365, 96,224zM 416,224c0-41.634-15.906-79.551-41.969-108.014l 57.142-78.648C 480.917,84.039, 512,150.385, 512,224
c0,16.431-1.566,32.493-4.524,48.063l-92.49-30.052C 415.648,236.097, 416,230.090, 416,224zM 288,380.796c 45.967-9.331, 84.772-38.371, 107.225-77.913l 92.489,30.051C 451.116,410.644, 376.594,466.964, 288,478.012L 288,380.796 zM 116.775,302.884c 22.453,39.542, 61.258,68.582, 107.225,77.913L 224,478.012 C 135.406,466.964, 60.885,410.644, 24.287,332.935
L 116.775,302.884zM 322.278,78.336C 302.083,69.132, 279.642,64, 256,64s-46.083,5.132-66.277,14.335l-57.146-78.655
C 169.18-20.503, 211.245-32, 256-32s 86.82,11.497, 123.424,31.68L 322.278,78.336z" />
<glyph unicode="&#xe03c;" d="M 192,480L0,224L 192,224L 64-32L 512,288L 256,288L 448,480 z" />
<glyph unicode="&#xe03d;" d="M 480,384l-9,0 l-430,0 l-9,0 q-13,0 -22.5,9.25t-9.5,22.5t 9.25,22.75t 22.75,9.5l 160,0 q0,13 9.25,22.5t 22.75,9.5l 64,0 q 13.5,0 22.75-9.5t 9.25-22.5l 160,0 q 13,0 22.5-9.5t 9.5-22.75t-9.5-22.5t-22.5-9.25zM 480,32q0-26.5 -18.75-45.25t-45.25-18.75l-320,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,320 l 448,0 l0-320 zM 160,256
q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192 q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 zM 288,256q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192 q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 zM 416,256q0,13 -9.5,22.5t-22.75,9.5t-22.5-9.5t-9.25-22.5l0-192
q0-13.5 9.25-22.75t 22.5-9.25t 22.75,9.25t 9.5,22.75l0,192 z" />
<glyph unicode="&#xe03e;" d="M 448-32l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,48 q0,13 9.25,22.5t 22.5,9.5t 22.75-9.5t 9.5-22.5l0-16 q0-13.5 9.25-22.75t 22.75-9.25l 320,0 q 13,0 22.5,9.25t 9.5,22.75l0,16 q0,13 9.25,22.5t 22.5,9.5t 22.75-9.5t 9.5-22.5l0-48 q0-26.5 -18.75-45.25t-45.25-18.75zM 272.5,103q-7-7 -16.5-7t-16.5,7l-170.5,172.5
q-6,6.5 -4.25,9.5t 9.25,3l 118,0 l0,160 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-160 l 117.5,0 q 7.5,0 9.5-3t-4-9.5z" />
<glyph unicode="&#xe03f;" d="M 448-32l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,48 q0,13 9.5,22.5t 22.5,9.5t 22.5-9.5t 9.5-22.5l0-16 q0-13.5 9.25-22.75t 22.75-9.25l 320,0 q 13.5,0 22.75,9.25t 9.25,22.75l0,16 q0,13 9.5,22.5t 22.5,9.5t 22.5-9.5t 9.5-22.5l0-48 q0-26.5 -18.75-45.25t-45.25-18.75zM 437.5,288l-117.5,0 l0-160 q0-13.5 -9.25-22.75t-22.75-9.25
l-64,0 q-13.5,0 -22.75,9.25t-9.25,22.75l0,160 l-118,0 q-7.5,0 -9.25,3t 4.25,9.5l 170.5,172.5q 7,7 16.5,7t 16.5-7l 170.5-172.5q 6-6.5 4-9.5t-9.5-3z" />
<glyph unicode="&#xe040;" d="M 480,192l-160,0 q0-13 -9.5-22.5t-22.5-9.5l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-160,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25l 160,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l 160,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.25-22.75t-22.75-9.5zM 288,256l-64,0 l0-64 l 64,0 l0,64
zM 480,384l-32,0 q0-13 -9.5-22.5t-22.5-9.5l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-288,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25l 288,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13.5,0 22.75-9.25t 9.25-22.75l 32,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.25-22.75t-22.75-9.5zM 416,448l-64,0 l0-64 l 64,0 l0,64 z
M 32,64l 32,0 q0,13.5 9.25,22.75t 22.75,9.25l 64,0 q 13,0 22.5-9.25t 9.5-22.75l 288,0 q 13.5,0 22.75-9.25t 9.25-22.5t-9.5-22.75t-22.5-9.5l-288,0 q0-13.5 -9.5-22.75t-22.5-9.25l-64,0 q-13.5,0 -22.75,9.5t-9.25,22.5l-32,0 q-13.5,0 -22.75,9.5t-9.25,22.75t 9.25,22.5t 22.75,9.25zM 96,0l 64,0 l0,64 l-64,0 l0-64 z" />
<glyph unicode="&#xe041;" d="M 512,192l0,32 l-96.645,0 c-2.931,36.343-15.893,69.513-35.835,96.125l 80.972,0 l 35.030,140.12l-31.045,7.761l-28.97-115.88l-87.34,0
c-0.446,0.347-0.898,0.687-1.349,1.028c 3.355,9.751, 5.181,20.211, 5.181,31.097C 352,437.131, 309.020,480, 256,480s-96-42.869-96-95.75
c0-10.886, 1.825-21.346, 5.181-31.097c-0.45-0.342-0.902-0.681-1.349-1.028l-87.34,0 l-28.97,115.88l-31.045-7.761l 35.030-140.12l 80.972,0
C 112.537,293.513, 99.576,260.343, 96.645,224L0,224 l0-32 l 96.685,0 c 1.901-22.832, 7.754-44.406, 16.819-63.875L 51.508,128.125 l-35.030-140.119
l 31.045-7.762l 28.97,115.881l 56.177,0 C 162.016,57.109, 206.368,32.25, 256,32.25s 93.983,24.859, 123.331,63.875l 56.177,0 l 28.97-115.881
l 31.045,7.762l-35.030,140.119l-61.996,0 c 9.065,19.469, 14.918,41.043, 16.818,63.875L 512,192 z" />
<glyph unicode="&#xe042;" d="M 267.313,468.686C 261.091,474.908, 248.8,480, 240,480L 48,480 c-8.8,0-16-7.2-16-16l0-480 c0-8.8, 7.2-16, 16-16l 384,0 c 8.8,0, 16,7.2, 16,16L 448,272
c0,8.8-5.091,21.091-11.313,27.313L 267.313,468.686z M 416,0L 64,0 L 64,448 l 175.579,0 c 1.458-0.24, 4.204-1.377, 5.405-2.239l 168.778-168.777
c 0.861-1.201, 1.998-3.947, 2.238-5.405L 416,0 zM 432,480l-96,0 c-8.8,0-10.909-5.091-4.687-11.313l 105.373-105.373C 442.909,357.091, 448,359.2, 448,368L 448,464 C 448,472.8, 440.8,480, 432,480
z" />
<glyph unicode="&#xe043;" d="M 345.11,244.159c-30.334,14.326-68.986,17.21-97.417-3.024c 34.57,3.302, 72.479-2.419, 97.553-28.562
c 24,27.54, 62.057,32.703, 96.479,29.866C 412.981,261.511, 375.115,258.951, 345.11,244.159zM 332.824,177.125c-34.189,0.789-67.217-11.586-95.55-30.052c-53.588,22.794-121.368,18.562-167.001-19.491
c 13.165,0.467, 26.003,3.723, 39.028,5.396c 47.591,4.744, 98.294-7.071, 134.256-39.912c 14.886,21.771, 35.822,39.121, 59.826,49.961
c 31.537,15.26, 67.080,16.842, 101.41,17.26C 383.949,174.611, 357.485,177.264, 332.824,177.125zM 451.716,380.285l-71.432,71.431C 364.728,467.272, 334,480, 312,480L 72,480 C 50,480, 32,462, 32,440l0-432 c0-22, 18-40, 40-40l 368,0
c 22,0, 40,18, 40,40L 480,312 C 480,334, 467.272,364.729, 451.716,380.285z M 429.089,357.657c 1.565-1.565, 3.125-3.487, 4.64-5.657L 352,352 L 352,433.728
c 2.17-1.515, 4.092-3.075, 5.657-4.64L 429.089,357.657z M 448,8c0-4.336-3.664-8-8-8L 72,0 c-4.336,0-8,3.664-8,8L 64,440
c0,4.336, 3.664,8, 8,8l 240,0 c 2.416,0, 5.127-0.305, 8-0.852L 320,320 l 127.148,0 c 0.547-2.873, 0.852-5.583, 0.852-8L 448,8 z" />
<glyph unicode="&#xe044;" d="M 229.665,150.084L 144.338,2.25L 426.665,2.25L 512,150.084 zM 487.806,192L 341.339,445.75L 170.665,445.75L 317.143,192 zM 146.418,403.743L0,150.084L 85.338,2.25L 231.754,255.912 z" />
<glyph unicode="&#xe045;" d="M 480-32l-384,0 q-13,0 -22.5,9.25t-9.5,22.75l0,180 l 139.5-139q 9-9.5 23-8.5l 61.5,0 q 13,0 22.5,9.25t 9.5,22.75l0,63.5 q0,11.5 -9.5,20.5l-246.5,246.5l0,52.5 q0,13.5 9.5,22.75t 22.5,9.25l 224,0 l0-176 q0-6.5 4.5-11.25t 11.5-4.75l 175.5,0 l0-0.5 l0-287 q0-13.5 -9.25-22.75t-22.25-9.25zM 352,480q 13,0 22-9l 128-128.5
q 9.5-9.5 9.5-23l-159.5,0 l0,160.5 zM 39.5,258l-34,33.5q-5.5,6 -5.5,14t 5.5,13.5l 27.5,27.5q 5.5,5.5 13.75,5.5t 13.75-5.5l 33.5-33.5zM 288,112.5l0-32 q0-7 -4.75-11.5t-11.25-4.5l-32,0 q-7,0 -13,5.5l-162,162l 55,55l 162-162q 6-6 6-12.5z" />
<glyph unicode="&#xe046;" d="M 480,0l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25zM 480,160l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25zM 480,320l-32,0 l0,128 l 32,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-64 q0-13.5 -9.25-22.75t-22.75-9.25z
M 416,0q0-13 -9.25-22.5t-22.75-9.5l-352,0 q-13,0 -22.5,9.5t-9.5,22.5l0,448 q0,13.5 9.5,22.75t 22.5,9.25l 352,0 q 13.5,0 22.75-9.25t 9.25-22.75l0-448 zM 240,173l0,9 q 48,19.5 48,106q0,31.5 -22.25,47.75t-57.5,16.25t-57.75-16.25t-22.5-47.75q0-84 48-105.5l0-9.5 q-34.5-6 -57-22.5t-23-37.5q0-6 10.75-9.75
t 31.5-5.25t 34.25-1.75t 35.5-0.25t 35.5,0.25t 34.25,1.75t 31.5,5.25t 10.75,9.75q-0.5,21 -23,37.5t-57,22.5z" />
<glyph unicode="&#xe047;" d="M 448,416l0-416 L 112,0 c-26.511,0-48,21.49-48,48c0,26.509, 21.489,48, 48,48l 304,0 L 416,480 L 96,480 C 60.801,480, 32,451.2, 32,416l0-384
c0-35.2, 28.801-64, 64-64l 384,0 L 480,416 L 448,416 zM 128,64L 416,64L 416,32L 128,32z" />
<glyph unicode="&#xe048;" d="M 256,480 C 116.626,480 3.271,368.619 0.076,230.013 C 3.036,350.945 94.992,448 208,448 C 322.875,448 416,347.712 416,224 C 416,197.49 437.49,176 464,176 C 490.51,176 512,197.49 512,224 C 512,365.385 397.385,480 256,480 ZM 256-32 C 395.374-32 508.729,79.381 511.924,217.987 C 508.964,97.055 417.008,0 304,0 C 189.125,0 96,100.288 96,224 C 96,250.51 74.51,272 48,272 C 21.49,272 0,250.51 0,224 C 0,82.615 114.615-32 256-32 Z" />
<glyph unicode="&#xe049;" d="M 242.286-4.571q0,4.571 -4.571,4.571q-16.857,0 -29,12.143t-12.143,29q0,4.571 -4.571,4.571t-4.571-4.571q0-20.857 14.714-35.571t 35.571-14.714q 4.571,0 4.571,4.571zM 52.286,77.714l 370.857,0 q-46.857,51.714 -70.429,117.571t-23.571,138.429q0,73.143 -91.429,73.143t-91.429-73.143q0-72.571 -23.571-138.429t-70.429-117.571zM 475.429,77.714q0-14.857 -10.857-25.714t-25.714-10.857 l-128,0 q0-30.286 -21.429-51.714t-51.714-21.429t-51.714,21.429t-21.429,51.714l-128,0 q-14.857,0 -25.714,10.857t-10.857,25.714q 54.286,46 82,113.571t 27.714,142.429q0,47.143 27.429,74.857t 75.429,33.429q-2.286,5.143 -2.286,10.571q0,11.429 8,19.429t 19.429,8t 19.429-8t 8-19.429q0-5.429 -2.286-10.571q 48-5.714 75.429-33.429t 27.429-74.857q0-74.857 27.714-142.429t 82-113.571z" horiz-adv-x="475.429" />
<glyph unicode="&#xe04a;" d="M 488.791,382.769c-16.992,4.854-34.705-4.985-39.56-21.978L 446.72,352L 148.249,352 l-4.496,35.969
C 141.751,403.983, 128.138,416, 112,416L 32,416 C 14.327,416,0,401.673,0,384s 14.327-32, 32-32l 51.751,0 l 28.496-227.969
C 114.249,108.018, 127.862,96, 144,96l 272,0 c 14.287,0, 26.844,9.472, 30.769,23.209l 64,224
C 515.624,360.202, 505.784,377.914, 488.791,382.769z M 256,224l0,32 l 63.998,0 l0-32 L 256,224 z M 319.998,192l0-32 L 256,160 l0,32 L 319.998,192 z M 256,288l0,32
l 63.998,0 l0-32 L 256,288 z M 152.249,320L 224,320 l0-32 l-67.751,0 L 152.249,320z M 160.249,256L 224,256 l0-32 l-59.751,0 L 160.249,256z M 168.249,192L 224,192 l0-32 l-51.751,0
L 168.249,192z M 391.862,160l-39.864,0 l0,32 l 49.007,0 L 391.862,160z M 410.148,224l-58.15,0 l0,32 l 67.293,0 L 410.148,224z M 428.434,288l-76.436,0
l0,32 l 85.579,0 L 428.434,288zM 128,16A48,48 2700 1 1 224,16A48,48 2700 1 1 128,16zM 320,16A48,48 2700 1 1 416,16A48,48 2700 1 1 320,16z" />
<glyph unicode="&#xe04b;" d="M 512,175.953l0,96.094 l-73.387,12.231c-2.979,9.066-6.611,17.834-10.847,26.25l 43.227,60.517l-67.948,67.949l-60.413-43.152
c-8.455,4.277-17.269,7.944-26.384,10.951L 304.047,480l-96.094,0 l-12.201-73.208c-9.115-3.007-17.929-6.674-26.383-10.951
l-60.414,43.152l-67.949-67.949l 43.227-60.518c-4.235-8.415-7.867-17.183-10.846-26.249L0,272.047l0-96.094 l 73.559-12.26
c 2.98-8.984, 6.605-17.674, 10.821-26.015l-43.374-60.724l 67.949-67.948l 60.827,43.447c 8.301-4.175, 16.945-7.764, 25.882-10.717
L 207.953-32l 96.094,0 l 12.289,73.737c 8.937,2.953, 17.581,6.542, 25.883,10.716l 60.826-43.446l 67.948,67.948l-43.372,60.723
c 4.216,8.341, 7.839,17.031, 10.82,26.016L 512,175.953z M 256,160c-35.346,0-64,28.653-64,64c0,35.346, 28.654,64, 64,64
c 35.347,0, 64-28.654, 64-64C 320,188.653, 291.347,160, 256,160z" />
<glyph unicode="&#xe04c;" d="M 448,0l-384,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,256 q0,13 9.25,22.5t 22.75,9.5l 240,0 l 23,42.5q 3.5,9 14,15.25t 22,6.25l 120,0 q 12,0 22.5-6.25t 14-15.25l 24.5-42.5l0-288 q0-26.5 -18.75-45.25t-45.25-18.75zM 448,320q0,13 -9.5,22.5t-22.5,9.5l-64,0 q-13.5,0 -22.75-9.5t-9.25-22.75t-14-22.5t-34-9.25l-192,0
q-6.5,0 -11.25-4.75t-4.75-11.25l0-192 q0-6.5 4.75-11.25t 11.25-4.75l 352,0 q 6.5,0 11.25,4.75t 4.75,11.25l0,240 zM 23,426q 3.5,9.5 14,15.75t 22,6.25l 120,0 q 12,0 22.5-6.25t 14.5-15.75l 24-42l-240,0 z" />
<glyph unicode="&#xe04d;" d="M 512.5,248.5l-101-112l 14.5-148.5q-1.5-10 -9.5-15.75t-18-3.75l-139.5,59.5l-139.5-59.5q-10-2 -18,4t-9.5,15.5l 14.5,148.5l-101,112q-4.5,8.5 -1.25,18t 11.75,14l 149,32l 77,129q 7,7 17,7t 17-7l 77-129l 149-32q 8.5-4.5 11.75-14t-1.25-18z" />
<glyph unicode="&#xe04e;" d="M 512.5,248.5l-101-112l 14.5-148.5q-1.5-10 -9.5-15.75t-18-3.75l-139.5,59.5l-139.5-59.5q-10-2 -18,3.75t-9.5,15.75l 14.5,148.5l-101,112q-4.5,8.5 -1.25,18t 11.75,14l 149,32l 77,129q 7,7 17,7t 17-7l 77-129l 149-32q 8.5-4.5 11.75-14t-1.25-18zM 425.5,251l-102,22.5l-53,90q-5,5 -11.75,5
t-11.75-5l-53-90l-102.5-22.5q-6-3.5 -8-10t 1-12.5l 70.5-80l-8-100q 1-7.5 5.25-12.5t 10.25-4l 96,42l 96-42q 6.5-1 10.75,4t 5.25,12.5l-8,100.5l 70.5,79.5q 3,6 0.75,12.5t-8.25,10z" />
<glyph unicode="&#xe04f;" d="M 402.5,118l-146.5-150l-147,150q-59.5,61 -84.25,115.5t-24.75,118.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0-63.5 -24.75-118.25t-84.75-115.75z" />
<glyph unicode="&#xe050;" d="M 402.5,118l-146.5-150l-147,150q-59.5,61 -84.25,115.5t-24.75,118.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0,53 37.5,90.5t 90.5,37.5t 90.5-37.5t 37.5-90.5q0-63.5 -24.75-118.25t-84.75-115.75zM 448,352q0,26.5 -18.75,45.25t-45.25,18.75t-45.25-18.75t-18.75-45.25l0-0.5 q0-8.5 -20-20t-44-11.5
q-25,0 -44.5,11t-19.5,21l0,0 q0,26.5 -18.75,45.25t-45.25,18.75t-45.25-18.75t-18.75-45.25l0-0.5 q0-53 18-95.25t 63.5-95.25l 110.5-113l 110,113q 46,53.5 64,95.5t 18,95.5l0,0 z" />
<glyph unicode="&#xe051;" d="M 480-32l-191.5,0 q-13.5,0 -22.75,9.25t-9.25,22.75l 67.5,67.5l-74.5,72.5q-9,9.5 -9,22.75t 9,22.75l 46,45.5q 9,9 22.5,9t 23-9l 73.5-72.5l 65.5,65q 13.5,0 22.75-9.25t 9.25-22.75l0-191.5 q0-13.5 -9.25-22.75t-22.75-9.25zM 217,217q-9.5-9.5 -22.75-9.5t-22.75,9.5l-74,72.5l-65.5-65.5
q-13,0 -22.5,9.5t-9.5,22.5l0,192 q0,13.5 9.5,22.75t 22.5,9.25l 192,0 q 13.5,0 22.75-9.25t 9.25-22.75l-67.5-67.5l 74.5-73q 9.5-9 9.5-22.5t-9.5-22.5z" />
<glyph unicode="&#xe052;" d="M 502.5,69.5q 9.5-9.5 9.5-23t-9.5-23l-45.5-46q-9.5-9.5 -22.75-9.5t-22.75,9.5l-57,57l-66.5-66.5q-13.5,0 -22.75,9.5t-9.25,22.5l0,192.5 q0,13 9.25,22.5t 22.75,9.5l 192,0 q 13,0 22.5-9.5t 9.5-22.5l-66.5-66.5zM 224,224.5l-191.5,0 q-13.5,0 -22.75,9.25t-9.25,22.75l 66,66l-57,56.5q-9.5,9.5 -9.5,23t 9.5,23
l 45.5,46q 9.5,9.5 23,9.5t 23-9.5l 57-57l 66,66q 13.5,0 22.75-9.25t 9.25-22.75l0-191.5 q0-13.5 -9.5-22.75t-22.5-9.25z" />
<glyph unicode="&#xe053;" d="M 448,96l-256,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,256 q0,26.5 18.75,45.25t 45.25,18.75l 256,0 q 26.5,0 45.25-18.75t 18.75-45.25l0-256 q0-26.5 -18.75-45.25t-45.25-18.75zM 448,384q0,13.5 -9.25,22.75t-22.75,9.25l-192,0 q-13.5,0 -22.75-9.25t-9.25-22.5t 9.25-22.75t 22.75-9.5l 116,0 l-139.5-139.5
q-9-9 -9-21.75t 9-21.75t 21.75-9t 21.75,9l 140,140l0-117 q0-13.5 9.5-22.75t 22.75-9.25t 22.5,9.25t 9.25,22.75l0,192 zM 416-0.25q0-13.25 -9.25-22.5t-22.75-9.25l-320,0 q-26.5,0 -45.25,18.75t-18.75,45.25l0,320 q0,13.5 9.25,22.75t 22.5,9.25t 22.75-9.25t 9.5-22.75l0-288 q0-13.5 9.25-22.75
t 22.75-9.25l 288,0 q 13,0 22.5-9.5t 9.5-22.75z" />
<glyph unicode="&#xe054;" d="M 438.857,406.857l0-128 q0-7.429 -5.429-12.857t-12.857-5.429l-128,0 q-12,0 -16.857,11.429q-4.857,11.143 4,19.714l 39.429,39.429q-42.286,39.143 -99.714,39.143q-29.714,0 -56.714-11.571t-46.714-31.286t-31.286-46.714t-11.571-56.714t 11.571-56.714t 31.286-46.714t 46.714-31.286t 56.714-11.571q 48.286,0 86.857,28.429t 52.857,74.714q 2,6.571 8.571,6.571l 56.857,0 q 4.571,0 7.143-3.429q 2.857-3.714 2-7.714q-11.143-50 -42.143-89.143t-76-60.857t-96.143-21.714q-44.571,0 -85.143,17.429t-70,46.857t-46.857,70t-17.429,85.143t 17.429,85.143t 46.857,70t 70,46.857t 85.143,17.429q 42,0 81.286-15.857t 69.857-44.714l 37.143,36.857q 8.286,8.857 20,4q 11.143-4.857 11.143-16.857z" horiz-adv-x="438.857" />
<glyph unicode="&#xe055;" d="M 438.857,96l0-36.571 q0-7.429 -5.429-12.857t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857zM 438.857,242.286l0-36.571 q0-7.429 -5.429-12.857t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857zM 438.857,388.571l0-36.571 q0-7.429 -5.429-12.857 t-12.857-5.429l-402.286,0 q-7.429,0 -12.857,5.429t-5.429,12.857l0,36.571 q0,7.429 5.429,12.857t 12.857,5.429l 402.286,0 q 7.429,0 12.857-5.429t 5.429-12.857z" horiz-adv-x="438.857" />
<glyph unicode="&#xe056;" d="M 512,96q0-53 -37.5-90.5t-90.5-37.5q-51.5,0 -88.5,35.5q-20.5-3.5 -39.5-3.5q-45.5,0 -87,17.75t-71.5,47.75t-47.75,71.5t-17.75,87q0,18.5 3.5,39.5q-35.5,37 -35.5,88.5q0,53 37.5,90.5t 90.5,37.5q 51.5,0 88.5-35.5q 20.5,3.5 39.5,3.5q 45.5,0 87-17.75t 71.5-47.75t 47.75-71.5t 17.75-87q0-19 -3.5-39.5q 35.5-37 35.5-88.5
zM 256,320q 26.5,0 45.25-9.25t 18.75-22.5t 9.5-22.75t 22.75-9.5t 22.5,9.5t 9.25,22.5q0,40 -37.5,68t-90.5,28t-90.5-28t-37.5-68t 37.5-68t 90.5-28q 26.5,0 45.25-9.25t 18.75-22.75t-18.75-22.75t-45.25-9.25t-45.25,9.5t-18.75,22.75t-9.25,22.5t-22.5,9.25t-22.75-9.25t-9.5-22.75q0-40 37.5-68t 90.5-28
t 90.5,28t 37.5,68t-37.5,68t-90.5,28q-26.5,0 -45.25,9.5t-18.75,22.75t 18.75,22.5t 45.25,9.25z" />
<glyph unicode="&#xe057;" d="M 156.39,456.909L 10.24,365.875l 100.122-83.942L 256,376.525L 156.39,456.909z M 344.371,70.554c-2.611,0-5.197,0.896-7.296,2.662L 256,140.442
l-81.075-67.251c-2.099-1.741-4.71-2.662-7.296-2.662c-2.176,0-4.352,0.589-6.246,1.843l-60.058,39.296l0-23.194 L 256-8.909l 154.675,97.408
l0,23.194 l-60.058-39.296C 348.723,71.142, 346.547,70.554, 344.371,70.554z M 501.76,365.875l-146.15,91.034L 256,376.525l 145.613-94.566L 501.76,365.875z
M 256,190.95l 90.291-74.957l 144.435,94.413l-89.088,71.526L 256,190.95z M 165.709,115.994L 256,190.95L 110.387,281.958l-89.088-71.552L 165.709,115.994z" />
<glyph unicode="&#x20;" horiz-adv-x="256" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 49 KiB

BIN
vendors/icomoon/fonts/icomoon.ttf vendored Normal file

Binary file not shown.

BIN
vendors/icomoon/fonts/icomoon.woff vendored Normal file

Binary file not shown.

815
vendors/icomoon/index.html vendored Normal file
View file

@ -0,0 +1,815 @@
<!doctype html>
<html>
<head>
<title>Your Font/Glyphs</title>
<link rel="stylesheet" href="style.css" />
<!--[if lte IE 7]><script src="lte-ie7.js"></script><![endif]-->
<style>
section, header, footer {display: block;}
body {
font-family: sans-serif;
color: #444;
line-height: 1.5;
font-size: 1em;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
.glyph {
font-size: 16px;
float: left;
text-align: center;
background: #eee;
padding: .75em;
margin: .75em 1.5em .75em 0;
width: 7.5em;
border-radius: .25em;
box-shadow: inset 0 0 0 1px #f8f8f8, 0 0 0 1px #CCC;
}
.glyph input {
font-family: consolas, monospace;
font-size: 13px;
width: 100%;
text-align: center;
border: 0;
box-shadow: 0 0 0 1px #ccc;
padding: .125em;
}
.w-main {
width: 80%;
}
.centered {
margin-left: auto;
margin-right: auto;
}
.fs1 {
font-size: 2em;
}
header {
margin: 2em 0;
padding-bottom: .5em;
color: #666;
box-shadow: 0 2px #eee;
}
header h1 {
font-size: 2em;
font-weight: normal;
}
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after, .clear { clear: both; }
footer {
margin-top: 2em;
padding: .5em 0;
box-shadow: 0 -2px #eee;
}
a, a:visited {
color: #B35047;
text-decoration: none;
}
a:hover, a:focus {color: #000;}
.box1 {
font-size: 16px;
display: inline-block;
width: 15em;
padding: .25em .5em;
background: #eee;
margin: .5em 1em .5em 0;
}
</style>
</head>
<body>
<div class="w-main centered">
<section class="mtm clearfix" id="glyphs">
<header>
<h1>Your font contains the following glyphs</h1>
<p>The generated SVG font can be imported back to <a href="http://icomoon.io/app">IcoMoon</a> for modification.</p>
</header>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe000;"></div>
<input type="text" readonly="readonly" value="&amp;#xe000;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe001;"></div>
<input type="text" readonly="readonly" value="&amp;#xe001;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe002;"></div>
<input type="text" readonly="readonly" value="&amp;#xe002;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe003;"></div>
<input type="text" readonly="readonly" value="&amp;#xe003;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe004;"></div>
<input type="text" readonly="readonly" value="&amp;#xe004;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe005;"></div>
<input type="text" readonly="readonly" value="&amp;#xe005;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe006;"></div>
<input type="text" readonly="readonly" value="&amp;#xe006;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe007;"></div>
<input type="text" readonly="readonly" value="&amp;#xe007;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe008;"></div>
<input type="text" readonly="readonly" value="&amp;#xe008;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe009;"></div>
<input type="text" readonly="readonly" value="&amp;#xe009;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00a;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00a;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00b;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00b;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00c;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00c;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00d;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00d;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00e;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00e;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe00f;"></div>
<input type="text" readonly="readonly" value="&amp;#xe00f;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe010;"></div>
<input type="text" readonly="readonly" value="&amp;#xe010;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe011;"></div>
<input type="text" readonly="readonly" value="&amp;#xe011;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe012;"></div>
<input type="text" readonly="readonly" value="&amp;#xe012;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe013;"></div>
<input type="text" readonly="readonly" value="&amp;#xe013;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe014;"></div>
<input type="text" readonly="readonly" value="&amp;#xe014;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe015;"></div>
<input type="text" readonly="readonly" value="&amp;#xe015;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe016;"></div>
<input type="text" readonly="readonly" value="&amp;#xe016;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe017;"></div>
<input type="text" readonly="readonly" value="&amp;#xe017;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe018;"></div>
<input type="text" readonly="readonly" value="&amp;#xe018;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe019;"></div>
<input type="text" readonly="readonly" value="&amp;#xe019;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01a;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01a;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01b;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01b;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01c;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01c;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01d;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01d;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01e;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01e;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe01f;"></div>
<input type="text" readonly="readonly" value="&amp;#xe01f;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe020;"></div>
<input type="text" readonly="readonly" value="&amp;#xe020;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe021;"></div>
<input type="text" readonly="readonly" value="&amp;#xe021;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe022;"></div>
<input type="text" readonly="readonly" value="&amp;#xe022;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe023;"></div>
<input type="text" readonly="readonly" value="&amp;#xe023;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe024;"></div>
<input type="text" readonly="readonly" value="&amp;#xe024;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe025;"></div>
<input type="text" readonly="readonly" value="&amp;#xe025;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe026;"></div>
<input type="text" readonly="readonly" value="&amp;#xe026;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe027;"></div>
<input type="text" readonly="readonly" value="&amp;#xe027;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe028;"></div>
<input type="text" readonly="readonly" value="&amp;#xe028;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe029;"></div>
<input type="text" readonly="readonly" value="&amp;#xe029;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02a;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02a;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02b;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02b;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02c;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02c;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02d;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02d;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02e;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02e;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe02f;"></div>
<input type="text" readonly="readonly" value="&amp;#xe02f;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe030;"></div>
<input type="text" readonly="readonly" value="&amp;#xe030;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe031;"></div>
<input type="text" readonly="readonly" value="&amp;#xe031;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe032;"></div>
<input type="text" readonly="readonly" value="&amp;#xe032;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe033;"></div>
<input type="text" readonly="readonly" value="&amp;#xe033;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe034;"></div>
<input type="text" readonly="readonly" value="&amp;#xe034;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe035;"></div>
<input type="text" readonly="readonly" value="&amp;#xe035;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe036;"></div>
<input type="text" readonly="readonly" value="&amp;#xe036;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe037;"></div>
<input type="text" readonly="readonly" value="&amp;#xe037;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe038;"></div>
<input type="text" readonly="readonly" value="&amp;#xe038;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe039;"></div>
<input type="text" readonly="readonly" value="&amp;#xe039;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03a;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03a;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03b;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03b;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03c;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03c;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03d;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03d;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03e;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03e;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe03f;"></div>
<input type="text" readonly="readonly" value="&amp;#xe03f;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe040;"></div>
<input type="text" readonly="readonly" value="&amp;#xe040;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe041;"></div>
<input type="text" readonly="readonly" value="&amp;#xe041;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe042;"></div>
<input type="text" readonly="readonly" value="&amp;#xe042;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe043;"></div>
<input type="text" readonly="readonly" value="&amp;#xe043;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe044;"></div>
<input type="text" readonly="readonly" value="&amp;#xe044;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe045;"></div>
<input type="text" readonly="readonly" value="&amp;#xe045;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe046;"></div>
<input type="text" readonly="readonly" value="&amp;#xe046;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe047;"></div>
<input type="text" readonly="readonly" value="&amp;#xe047;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe048;"></div>
<input type="text" readonly="readonly" value="&amp;#xe048;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe049;"></div>
<input type="text" readonly="readonly" value="&amp;#xe049;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04a;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04a;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04b;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04b;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04c;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04c;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04d;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04d;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04e;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04e;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe04f;"></div>
<input type="text" readonly="readonly" value="&amp;#xe04f;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe050;"></div>
<input type="text" readonly="readonly" value="&amp;#xe050;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe051;"></div>
<input type="text" readonly="readonly" value="&amp;#xe051;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe052;"></div>
<input type="text" readonly="readonly" value="&amp;#xe052;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe053;"></div>
<input type="text" readonly="readonly" value="&amp;#xe053;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe054;"></div>
<input type="text" readonly="readonly" value="&amp;#xe054;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe055;"></div>
<input type="text" readonly="readonly" value="&amp;#xe055;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe056;"></div>
<input type="text" readonly="readonly" value="&amp;#xe056;" />
</div>
<div class="glyph">
<div class="fs1" aria-hidden="true" data-icon="&#xe057;"></div>
<input type="text" readonly="readonly" value="&amp;#xe057;" />
</div>
</section>
<div class="clear"></div>
<section class="mtm clearfix" id="glyphs">
<header>
<h1>Class Names</h1>
</header>
<span class="box1">
<span aria-hidden="true" class="icon-paperplane"></span>
&nbsp;icon-paperplane
</span>
<span class="box1">
<span aria-hidden="true" class="icon-reply"></span>
&nbsp;icon-reply
</span>
<span class="box1">
<span aria-hidden="true" class="icon-reply-all"></span>
&nbsp;icon-reply-all
</span>
<span class="box1">
<span aria-hidden="true" class="icon-forward"></span>
&nbsp;icon-forward
</span>
<span class="box1">
<span aria-hidden="true" class="icon-search"></span>
&nbsp;icon-search
</span>
<span class="box1">
<span aria-hidden="true" class="icon-add-to-list"></span>
&nbsp;icon-add-to-list
</span>
<span class="box1">
<span aria-hidden="true" class="icon-info"></span>
&nbsp;icon-info
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-right"></span>
&nbsp;icon-arrow-right
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-down"></span>
&nbsp;icon-arrow-down
</span>
<span class="box1">
<span aria-hidden="true" class="icon-ellipsis"></span>
&nbsp;icon-ellipsis
</span>
<span class="box1">
<span aria-hidden="true" class="icon-pencil"></span>
&nbsp;icon-pencil
</span>
<span class="box1">
<span aria-hidden="true" class="icon-image"></span>
&nbsp;icon-image
</span>
<span class="box1">
<span aria-hidden="true" class="icon-music"></span>
&nbsp;icon-music
</span>
<span class="box1">
<span aria-hidden="true" class="icon-film"></span>
&nbsp;icon-film
</span>
<span class="box1">
<span aria-hidden="true" class="icon-print"></span>
&nbsp;icon-print
</span>
<span class="box1">
<span aria-hidden="true" class="icon-calendar"></span>
&nbsp;icon-calendar
</span>
<span class="box1">
<span aria-hidden="true" class="icon-key"></span>
&nbsp;icon-key
</span>
<span class="box1">
<span aria-hidden="true" class="icon-cog"></span>
&nbsp;icon-cog
</span>
<span class="box1">
<span aria-hidden="true" class="icon-fire"></span>
&nbsp;icon-fire
</span>
<span class="box1">
<span aria-hidden="true" class="icon-rocket"></span>
&nbsp;icon-rocket
</span>
<span class="box1">
<span aria-hidden="true" class="icon-checkbox-checked"></span>
&nbsp;icon-checkbox-checked
</span>
<span class="box1">
<span aria-hidden="true" class="icon-checkbox-unchecked"></span>
&nbsp;icon-checkbox-unchecked
</span>
<span class="box1">
<span aria-hidden="true" class="icon-checkbox-partial"></span>
&nbsp;icon-checkbox-partial
</span>
<span class="box1">
<span aria-hidden="true" class="icon-radio-checked"></span>
&nbsp;icon-radio-checked
</span>
<span class="box1">
<span aria-hidden="true" class="icon-radio-unchecked"></span>
&nbsp;icon-radio-unchecked
</span>
<span class="box1">
<span aria-hidden="true" class="icon-google"></span>
&nbsp;icon-google
</span>
<span class="box1">
<span aria-hidden="true" class="icon-google-plus"></span>
&nbsp;icon-google-plus
</span>
<span class="box1">
<span aria-hidden="true" class="icon-facebook"></span>
&nbsp;icon-facebook
</span>
<span class="box1">
<span aria-hidden="true" class="icon-twitter"></span>
&nbsp;icon-twitter
</span>
<span class="box1">
<span aria-hidden="true" class="icon-youtube"></span>
&nbsp;icon-youtube
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-pdf"></span>
&nbsp;icon-file-pdf
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-word"></span>
&nbsp;icon-file-word
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-excel"></span>
&nbsp;icon-file-excel
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-powerpoint"></span>
&nbsp;icon-file-powerpoint
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-xml"></span>
&nbsp;icon-file-xml
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-css"></span>
&nbsp;icon-file-css
</span>
<span class="box1">
<span aria-hidden="true" class="icon-warning"></span>
&nbsp;icon-warning
</span>
<span class="box1">
<span aria-hidden="true" class="icon-switch"></span>
&nbsp;icon-switch
</span>
<span class="box1">
<span aria-hidden="true" class="icon-wrench"></span>
&nbsp;icon-wrench
</span>
<span class="box1">
<span aria-hidden="true" class="icon-remove"></span>
&nbsp;icon-remove
</span>
<span class="box1">
<span aria-hidden="true" class="icon-ok"></span>
&nbsp;icon-ok
</span>
<span class="box1">
<span aria-hidden="true" class="icon-plus"></span>
&nbsp;icon-plus
</span>
<span class="box1">
<span aria-hidden="true" class="icon-minus"></span>
&nbsp;icon-minus
</span>
<span class="box1">
<span aria-hidden="true" class="icon-attachment"></span>
&nbsp;icon-attachment
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-left"></span>
&nbsp;icon-arrow-left
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-up--upload"></span>
&nbsp;icon-arrow-up--upload
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-right-2"></span>
&nbsp;icon-arrow-right-2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-down-2"></span>
&nbsp;icon-arrow-down-2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file"></span>
&nbsp;icon-file
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-zip"></span>
&nbsp;icon-file-zip
</span>
<span class="box1">
<span aria-hidden="true" class="icon-console"></span>
&nbsp;icon-console
</span>
<span class="box1">
<span aria-hidden="true" class="icon-floppy"></span>
&nbsp;icon-floppy
</span>
<span class="box1">
<span aria-hidden="true" class="icon-user"></span>
&nbsp;icon-user
</span>
<span class="box1">
<span aria-hidden="true" class="icon-envelope"></span>
&nbsp;icon-envelope
</span>
<span class="box1">
<span aria-hidden="true" class="icon-user-add"></span>
&nbsp;icon-user-add
</span>
<span class="box1">
<span aria-hidden="true" class="icon-eye"></span>
&nbsp;icon-eye
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-right-3"></span>
&nbsp;icon-arrow-right-3
</span>
<span class="box1">
<span aria-hidden="true" class="icon-arrow-down-3"></span>
&nbsp;icon-arrow-down-3
</span>
<span class="box1">
<span aria-hidden="true" class="icon-facebook-2"></span>
&nbsp;icon-facebook-2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-spinner"></span>
&nbsp;icon-spinner
</span>
<span class="box1">
<span aria-hidden="true" class="icon-lightning"></span>
&nbsp;icon-lightning
</span>
<span class="box1">
<span aria-hidden="true" class="icon-trash"></span>
&nbsp;icon-trash
</span>
<span class="box1">
<span aria-hidden="true" class="icon-download"></span>
&nbsp;icon-download
</span>
<span class="box1">
<span aria-hidden="true" class="icon-upload"></span>
&nbsp;icon-upload
</span>
<span class="box1">
<span aria-hidden="true" class="icon-settings5"></span>
&nbsp;icon-settings5
</span>
<span class="box1">
<span aria-hidden="true" class="icon-bug"></span>
&nbsp;icon-bug
</span>
<span class="box1">
<span aria-hidden="true" class="icon-libreoffice"></span>
&nbsp;icon-libreoffice
</span>
<span class="box1">
<span aria-hidden="true" class="icon-file-openoffice"></span>
&nbsp;icon-file-openoffice
</span>
<span class="box1">
<span aria-hidden="true" class="icon-google-drive"></span>
&nbsp;icon-google-drive
</span>
<span class="box1">
<span aria-hidden="true" class="icon-edit2"></span>
&nbsp;icon-edit2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-phonebook"></span>
&nbsp;icon-phonebook
</span>
<span class="box1">
<span aria-hidden="true" class="icon-book"></span>
&nbsp;icon-book
</span>
<span class="box1">
<span aria-hidden="true" class="icon-spinner-2"></span>
&nbsp;icon-spinner-2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-bell"></span>
&nbsp;icon-bell
</span>
<span class="box1">
<span aria-hidden="true" class="icon-cart"></span>
&nbsp;icon-cart
</span>
<span class="box1">
<span aria-hidden="true" class="icon-cog-2"></span>
&nbsp;icon-cog-2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-legacyfilemanager"></span>
&nbsp;icon-legacyfilemanager
</span>
<span class="box1">
<span aria-hidden="true" class="icon-favorite"></span>
&nbsp;icon-favorite
</span>
<span class="box1">
<span aria-hidden="true" class="icon-favorite2"></span>
&nbsp;icon-favorite2
</span>
<span class="box1">
<span aria-hidden="true" class="icon-loved"></span>
&nbsp;icon-loved
</span>
<span class="box1">
<span aria-hidden="true" class="icon-love"></span>
&nbsp;icon-love
</span>
<span class="box1">
<span aria-hidden="true" class="icon-scaleup"></span>
&nbsp;icon-scaleup
</span>
<span class="box1">
<span aria-hidden="true" class="icon-scaledown"></span>
&nbsp;icon-scaledown
</span>
<span class="box1">
<span aria-hidden="true" class="icon-opennewwindow"></span>
&nbsp;icon-opennewwindow
</span>
<span class="box1">
<span aria-hidden="true" class="icon-repeat"></span>
&nbsp;icon-repeat
</span>
<span class="box1">
<span aria-hidden="true" class="icon-reorder"></span>
&nbsp;icon-reorder
</span>
<span class="box1">
<span aria-hidden="true" class="icon-skype"></span>
&nbsp;icon-skype
</span>
<span class="box1">
<span aria-hidden="true" class="icon-dropbox"></span>
&nbsp;icon-dropbox
</span>
</section>
<footer>
<p>Generated by <a href="http://icomoon.io">IcoMoon.io</a></p>
</footer>
</div>
<script>
document.getElementById("glyphs").addEventListener("click", function(e) {
var target = e.target;
if (target.tagName === "INPUT") {
target.select();
}
});
</script>
</body>
</html>

18
vendors/icomoon/license.txt vendored Normal file
View file

@ -0,0 +1,18 @@
Icon Set: WebHostingHub Glyphs -- http://www.webhostinghub.com/glyphs/
License: CC BY 3.0 -- http://creativecommons.org/licenses/by/3.0/
Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/
License: CC BY 3.0 -- http://creativecommons.org/licenses/by/3.0/
Icon Set: Entypo -- http://www.entypo.com/
License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/
Icon Set: IcoMoon - Free -- http://keyamoon.com/icomoon/
License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/
Icon Set: Broccolidry -- http://dribbble.com/shots/587469-Free-16px-Broccolidryiconsaniconsetitisfullof-icons
License: Aribitrary -- http://licence.visualidiot.com/

115
vendors/icomoon/lte-ie7.js vendored Normal file
View file

@ -0,0 +1,115 @@
/* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */
window.onload = function() {
function addIcon(el, entity) {
var html = el.innerHTML;
el.innerHTML = '<span style="font-family: \'icomoon\'">' + entity + '</span>' + html;
}
var icons = {
'icon-paperplane' : '&#xe000;',
'icon-reply' : '&#xe001;',
'icon-reply-all' : '&#xe002;',
'icon-forward' : '&#xe003;',
'icon-search' : '&#xe004;',
'icon-add-to-list' : '&#xe005;',
'icon-info' : '&#xe006;',
'icon-arrow-right' : '&#xe007;',
'icon-arrow-down' : '&#xe008;',
'icon-ellipsis' : '&#xe009;',
'icon-pencil' : '&#xe00a;',
'icon-image' : '&#xe00b;',
'icon-music' : '&#xe00c;',
'icon-film' : '&#xe00d;',
'icon-print' : '&#xe00e;',
'icon-calendar' : '&#xe00f;',
'icon-key' : '&#xe010;',
'icon-cog' : '&#xe011;',
'icon-fire' : '&#xe012;',
'icon-rocket' : '&#xe013;',
'icon-checkbox-checked' : '&#xe014;',
'icon-checkbox-unchecked' : '&#xe015;',
'icon-checkbox-partial' : '&#xe016;',
'icon-radio-checked' : '&#xe017;',
'icon-radio-unchecked' : '&#xe018;',
'icon-google' : '&#xe019;',
'icon-google-plus' : '&#xe01a;',
'icon-facebook' : '&#xe01b;',
'icon-twitter' : '&#xe01c;',
'icon-youtube' : '&#xe01d;',
'icon-file-pdf' : '&#xe01e;',
'icon-file-word' : '&#xe01f;',
'icon-file-excel' : '&#xe020;',
'icon-file-powerpoint' : '&#xe021;',
'icon-file-xml' : '&#xe022;',
'icon-file-css' : '&#xe023;',
'icon-warning' : '&#xe024;',
'icon-switch' : '&#xe025;',
'icon-wrench' : '&#xe026;',
'icon-remove' : '&#xe027;',
'icon-ok' : '&#xe028;',
'icon-plus' : '&#xe029;',
'icon-minus' : '&#xe02a;',
'icon-attachment' : '&#xe02b;',
'icon-arrow-left' : '&#xe02c;',
'icon-arrow-up--upload' : '&#xe02d;',
'icon-arrow-right-2' : '&#xe02e;',
'icon-arrow-down-2' : '&#xe02f;',
'icon-file' : '&#xe030;',
'icon-file-zip' : '&#xe031;',
'icon-console' : '&#xe032;',
'icon-floppy' : '&#xe033;',
'icon-user' : '&#xe034;',
'icon-envelope' : '&#xe035;',
'icon-user-add' : '&#xe036;',
'icon-eye' : '&#xe037;',
'icon-arrow-right-3' : '&#xe038;',
'icon-arrow-down-3' : '&#xe039;',
'icon-facebook-2' : '&#xe03a;',
'icon-spinner' : '&#xe03b;',
'icon-lightning' : '&#xe03c;',
'icon-trash' : '&#xe03d;',
'icon-download' : '&#xe03e;',
'icon-upload' : '&#xe03f;',
'icon-settings5' : '&#xe040;',
'icon-bug' : '&#xe041;',
'icon-libreoffice' : '&#xe042;',
'icon-file-openoffice' : '&#xe043;',
'icon-google-drive' : '&#xe044;',
'icon-edit2' : '&#xe045;',
'icon-phonebook' : '&#xe046;',
'icon-book' : '&#xe047;',
'icon-spinner-2' : '&#xe048;',
'icon-bell' : '&#xe049;',
'icon-cart' : '&#xe04a;',
'icon-cog-2' : '&#xe04b;',
'icon-legacyfilemanager' : '&#xe04c;',
'icon-favorite' : '&#xe04d;',
'icon-favorite2' : '&#xe04e;',
'icon-loved' : '&#xe04f;',
'icon-love' : '&#xe050;',
'icon-scaleup' : '&#xe051;',
'icon-scaledown' : '&#xe052;',
'icon-opennewwindow' : '&#xe053;',
'icon-repeat' : '&#xe054;',
'icon-reorder' : '&#xe055;',
'icon-skype' : '&#xe056;',
'icon-dropbox' : '&#xe057;'
},
els = document.getElementsByTagName('*'),
i, attr, html, c, el;
for (i = 0; ; i += 1) {
el = els[i];
if(!el) {
break;
}
attr = el.getAttribute('data-icon');
if (attr) {
addIcon(el, attr);
}
c = el.className;
c = c.match(/icon-[^\s'"]+/);
if (c && icons[c[0]]) {
addIcon(el, icons[c[0]]);
}
}
};

303
vendors/icomoon/style.css vendored Normal file
View file

@ -0,0 +1,303 @@
@font-face {
font-family: 'icomoon';
src:url('fonts/icomoon.eot');
src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),
url('fonts/icomoon.woff') format('woff'),
url('fonts/icomoon.ttf') format('truetype'),
url('fonts/icomoon.svg#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
font-family: 'icomoon';
content: attr(data-icon);
speak: none;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
}
/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="icon-"] {
*/
.icon-paperplane, .icon-reply, .icon-reply-all, .icon-forward, .icon-search, .icon-add-to-list, .icon-info, .icon-arrow-right, .icon-arrow-down, .icon-ellipsis, .icon-pencil, .icon-image, .icon-music, .icon-film, .icon-print, .icon-calendar, .icon-key, .icon-cog, .icon-fire, .icon-rocket, .icon-checkbox-checked, .icon-checkbox-unchecked, .icon-checkbox-partial, .icon-radio-checked, .icon-radio-unchecked, .icon-google, .icon-google-plus, .icon-facebook, .icon-twitter, .icon-youtube, .icon-file-pdf, .icon-file-word, .icon-file-excel, .icon-file-powerpoint, .icon-file-xml, .icon-file-css, .icon-warning, .icon-switch, .icon-wrench, .icon-remove, .icon-ok, .icon-plus, .icon-minus, .icon-attachment, .icon-arrow-left, .icon-arrow-up--upload, .icon-arrow-right-2, .icon-arrow-down-2, .icon-file, .icon-file-zip, .icon-console, .icon-floppy, .icon-user, .icon-envelope, .icon-user-add, .icon-eye, .icon-arrow-right-3, .icon-arrow-down-3, .icon-facebook-2, .icon-spinner, .icon-lightning, .icon-trash, .icon-download, .icon-upload, .icon-settings5, .icon-bug, .icon-libreoffice, .icon-file-openoffice, .icon-google-drive, .icon-edit2, .icon-phonebook, .icon-book, .icon-spinner-2, .icon-bell, .icon-cart, .icon-cog-2, .icon-legacyfilemanager, .icon-favorite, .icon-favorite2, .icon-loved, .icon-love, .icon-scaleup, .icon-scaledown, .icon-opennewwindow, .icon-repeat, .icon-reorder, .icon-skype, .icon-dropbox {
font-family: 'icomoon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
}
.icon-paperplane:before {
content: "\e000";
}
.icon-reply:before {
content: "\e001";
}
.icon-reply-all:before {
content: "\e002";
}
.icon-forward:before {
content: "\e003";
}
.icon-search:before {
content: "\e004";
}
.icon-add-to-list:before {
content: "\e005";
}
.icon-info:before {
content: "\e006";
}
.icon-arrow-right:before {
content: "\e007";
}
.icon-arrow-down:before {
content: "\e008";
}
.icon-ellipsis:before {
content: "\e009";
}
.icon-pencil:before {
content: "\e00a";
}
.icon-image:before {
content: "\e00b";
}
.icon-music:before {
content: "\e00c";
}
.icon-film:before {
content: "\e00d";
}
.icon-print:before {
content: "\e00e";
}
.icon-calendar:before {
content: "\e00f";
}
.icon-key:before {
content: "\e010";
}
.icon-cog:before {
content: "\e011";
}
.icon-fire:before {
content: "\e012";
}
.icon-rocket:before {
content: "\e013";
}
.icon-checkbox-checked:before {
content: "\e014";
}
.icon-checkbox-unchecked:before {
content: "\e015";
}
.icon-checkbox-partial:before {
content: "\e016";
}
.icon-radio-checked:before {
content: "\e017";
}
.icon-radio-unchecked:before {
content: "\e018";
}
.icon-google:before {
content: "\e019";
}
.icon-google-plus:before {
content: "\e01a";
}
.icon-facebook:before {
content: "\e01b";
}
.icon-twitter:before {
content: "\e01c";
}
.icon-youtube:before {
content: "\e01d";
}
.icon-file-pdf:before {
content: "\e01e";
}
.icon-file-word:before {
content: "\e01f";
}
.icon-file-excel:before {
content: "\e020";
}
.icon-file-powerpoint:before {
content: "\e021";
}
.icon-file-xml:before {
content: "\e022";
}
.icon-file-css:before {
content: "\e023";
}
.icon-warning:before {
content: "\e024";
}
.icon-switch:before {
content: "\e025";
}
.icon-wrench:before {
content: "\e026";
}
.icon-remove:before {
content: "\e027";
}
.icon-ok:before {
content: "\e028";
}
.icon-plus:before {
content: "\e029";
}
.icon-minus:before {
content: "\e02a";
}
.icon-attachment:before {
content: "\e02b";
}
.icon-arrow-left:before {
content: "\e02c";
}
.icon-arrow-up--upload:before {
content: "\e02d";
}
.icon-arrow-right-2:before {
content: "\e02e";
}
.icon-arrow-down-2:before {
content: "\e02f";
}
.icon-file:before {
content: "\e030";
}
.icon-file-zip:before {
content: "\e031";
}
.icon-console:before {
content: "\e032";
}
.icon-floppy:before {
content: "\e033";
}
.icon-user:before {
content: "\e034";
}
.icon-envelope:before {
content: "\e035";
}
.icon-user-add:before {
content: "\e036";
}
.icon-eye:before {
content: "\e037";
}
.icon-arrow-right-3:before {
content: "\e038";
}
.icon-arrow-down-3:before {
content: "\e039";
}
.icon-facebook-2:before {
content: "\e03a";
}
.icon-spinner:before {
content: "\e03b";
}
.icon-lightning:before {
content: "\e03c";
}
.icon-trash:before {
content: "\e03d";
}
.icon-download:before {
content: "\e03e";
}
.icon-upload:before {
content: "\e03f";
}
.icon-settings5:before {
content: "\e040";
}
.icon-bug:before {
content: "\e041";
}
.icon-libreoffice:before {
content: "\e042";
}
.icon-file-openoffice:before {
content: "\e043";
}
.icon-google-drive:before {
content: "\e044";
}
.icon-edit2:before {
content: "\e045";
}
.icon-phonebook:before {
content: "\e046";
}
.icon-book:before {
content: "\e047";
}
.icon-spinner-2:before {
content: "\e048";
}
.icon-bell:before {
content: "\e049";
}
.icon-cart:before {
content: "\e04a";
}
.icon-cog-2:before {
content: "\e04b";
}
.icon-legacyfilemanager:before {
content: "\e04c";
}
.icon-favorite:before {
content: "\e04d";
}
.icon-favorite2:before {
content: "\e04e";
}
.icon-loved:before {
content: "\e04f";
}
.icon-love:before {
content: "\e050";
}
.icon-scaleup:before {
content: "\e051";
}
.icon-scaledown:before {
content: "\e052";
}
.icon-opennewwindow:before {
content: "\e053";
}
.icon-repeat:before {
content: "\e054";
}
.icon-reorder:before {
content: "\e055";
}
.icon-skype:before {
content: "\e056";
}
.icon-dropbox:before {
content: "\e057";
}

4
vendors/jquery-1.10.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

65
vendors/jquery-cookie/CHANGELOG.md vendored Normal file
View file

@ -0,0 +1,65 @@
HEAD
-----
1.4.0
-----
- Support for AMD.
- Removed deprecated method `$.cookie('name', null)` for deleting a cookie,
use `$.removeCookie('name')`.
- `$.cookie('name')` now returns `undefined` in case such cookie does not exist
(was `null`). Because the return value is still falsy, testing for existence
of a cookie like `if ( $.cookie('foo') )` keeps working without change.
- Renamed bower package definition (component.json -> bower.json) for usage
with up-to-date bower.
- Badly encoded cookies no longer throw exception upon reading but do return
undefined (similar to how we handle JSON parse errors with json = true).
- Added conversion function as optional last argument for reading,
so that values can be changed to a different representation easily on the fly.
Useful for parsing numbers for instance:
```javascript
$.cookie('foo', '42');
$.cookie('foo', Number); // => 42
```
1.3.1
-----
- Fixed issue where it was no longer possible to check for an arbitrary cookie,
while json is set to true, there was a SyntaxError thrown from JSON.parse.
- Fixed issue where RFC 2068 decoded cookies were not properly read.
1.3.0
-----
- Configuration options: `raw`, `json`. Replaces raw option, becomes config:
```javascript
$.cookie.raw = true; // bypass encoding/decoding the cookie value
$.cookie.json = true; // automatically JSON stringify/parse value
```
Thus the default options now cleanly contain cookie attributes only.
- Removing licensing under GPL Version 2, the plugin is now released under MIT License only
(keeping it simple and following the jQuery library itself here).
- Bugfix: Properly handle RFC 2068 quoted cookie values.
- Added component.json for bower.
- Added jQuery plugin package manifest.
- `$.cookie()` returns all available cookies.
1.2.0
-----
- Adding `$.removeCookie('foo')` for deleting a cookie, using `$.cookie('foo', null)` is now deprecated.
1.1
---
- Adding default options.

53
vendors/jquery-cookie/CONTRIBUTING.md vendored Normal file
View file

@ -0,0 +1,53 @@
##Issues
- Report issues or feature requests on [GitHub Issues](https://github.com/carhartl/jquery-cookie/issues).
- If reporting a bug, please add a [simplified example](http://sscce.org/).
##Pull requests
- Create a new topic branch for every separate change you make.
- Create a test case if you are fixing a bug or implementing an important feature.
- Make sure the build runs successfully.
## Development
###Tools
We use the following tools for development:
- [Qunit](http://qunitjs.com/) for tests.
- [NodeJS](http://nodejs.org/download/) required to run grunt and the test server only.
- [Grunt](http://gruntjs.com/getting-started) for task management.
###Getting started
Install [NodeJS](http://nodejs.org/).
Install globally grunt-cli using the following command:
$ npm install -g grunt-cli
Browse to the project root directory and install the dev dependencies:
$ npm install -d
To execute the build and tests run the following command in the root of the project:
$ grunt
You should see a green message in the console:
Done, without errors.
###Tests
You can also run the tests in the browser.
Start a test server from the project root:
$ node test/server.js
Open the following URL in a browser:
$ open http://0.0.0.0:8124/test/index.html
_Note: we recommend cleaning all the browser cookies before running the tests, that can avoid false positive failures._
###Automatic build
You can build automatically after a file change using the following command:
$ grunt watch

20
vendors/jquery-cookie/MIT-LICENSE.txt vendored Normal file
View file

@ -0,0 +1,20 @@
Copyright 2013 Klaus Hartl
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

148
vendors/jquery-cookie/README.md vendored Normal file
View file

@ -0,0 +1,148 @@
# jquery.cookie [![Build Status](https://travis-ci.org/carhartl/jquery-cookie.png?branch=master)](https://travis-ci.org/carhartl/jquery-cookie) [![Code Climate](https://codeclimate.com/github/carhartl/jquery-cookie.png)](https://codeclimate.com/github/carhartl/jquery-cookie)
A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
## Build Status Matrix
[![Selenium Test Status](https://saucelabs.com/browser-matrix/jquery-cookie.svg)](https://saucelabs.com/u/jquery-cookie)
## Installation
Include script *after* the jQuery library (unless you are packaging scripts somehow else):
```html
<script src="/path/to/jquery.cookie.js"></script>
```
**Do not include the script directly from GitHub (http://raw.github.com/...).** The file is being served as text/plain and as such being blocked
in Internet Explorer on Windows 7 for instance (because of the wrong MIME type). Bottom line: GitHub is not a CDN.
The plugin can also be loaded as AMD module.
## Usage
Create session cookie:
```javascript
$.cookie('the_cookie', 'the_value');
```
Create expiring cookie, 7 days from then:
```javascript
$.cookie('the_cookie', 'the_value', { expires: 7 });
```
Create expiring cookie, valid across entire site:
```javascript
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
```
Read cookie:
```javascript
$.cookie('the_cookie'); // => "the_value"
$.cookie('not_existing'); // => undefined
```
Read all available cookies:
```javascript
$.cookie(); // => { "the_cookie": "the_value", "...remaining": "cookies" }
```
Delete cookie:
```javascript
// Returns true when cookie was found, false when no cookie was found...
$.removeCookie('the_cookie');
// Same path as when the cookie was written...
$.removeCookie('the_cookie', { path: '/' });
```
*Note: when deleting a cookie, you must pass the exact same path, domain and secure options that were used to set the cookie, unless you're relying on the default options that is.*
## Configuration
### raw
By default the cookie value is encoded/decoded when writing/reading, using `encodeURIComponent`/`decodeURIComponent`. Bypass this by setting raw to true:
```javascript
$.cookie.raw = true;
```
### json
Turn on automatic storage of JSON objects passed as the cookie value. Assumes `JSON.stringify` and `JSON.parse`:
```javascript
$.cookie.json = true;
```
## Cookie Options
Cookie attributes can be set globally by setting properties of the `$.cookie.defaults` object or individually for each call to `$.cookie()` by passing a plain object to the options argument. Per-call options override the default options.
### expires
expires: 365
Define lifetime of the cookie. Value can be a `Number` which will be interpreted as days from time of creation or a `Date` object. If omitted, the cookie becomes a session cookie.
### path
path: '/'
Define the path where the cookie is valid. *By default the path of the cookie is the path of the page where the cookie was created (standard browser behavior).* If you want to make it available for instance across the entire domain use `path: '/'`. Default: path of page where the cookie was created.
**Note regarding Internet Explorer:**
> Due to an obscure bug in the underlying WinINET InternetGetCookie implementation, IEs document.cookie will not return a cookie if it was set with a path attribute containing a filename.
(From [Internet Explorer Cookie Internals (FAQ)](http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx))
This means one cannot set a path using `path: window.location.pathname` in case such pathname contains a filename like so: `/check.html` (or at least, such cookie cannot be read correctly).
### domain
domain: 'example.com'
Define the domain where the cookie is valid. Default: domain of page where the cookie was created.
### secure
secure: true
If true, the cookie transmission requires a secure protocol (https). Default: `false`.
## Converters
Provide a conversion function as optional last argument for reading, in order to change the cookie's value
to a different representation on the fly.
Example for parsing a value into a number:
```javascript
$.cookie('foo', '42');
$.cookie('foo', Number); // => 42
```
Dealing with cookies that have been encoded using `escape` (3rd party cookies):
```javascript
$.cookie.raw = true;
$.cookie('foo', unescape);
```
You can pass an arbitrary conversion function.
## Contributing
Check out the [Contributing Guidelines](CONTRIBUTING.md)
## Authors
[Klaus Hartl](https://github.com/carhartl)

18
vendors/jquery-cookie/bower.json vendored Normal file
View file

@ -0,0 +1,18 @@
{
"name": "jquery.cookie",
"version": "1.4.0",
"main": [
"./jquery.cookie.js"
],
"dependencies": {
"jquery": ">=1.2"
},
"ignore": [
"test",
".*",
"*.json",
"*.md",
"*.txt",
"Gruntfile.js"
]
}

View file

@ -0,0 +1,32 @@
{
"name": "cookie",
"version": "1.4.0",
"title": "jQuery Cookie",
"description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.",
"author": {
"name": "Klaus Hartl",
"url": "https://github.com/carhartl"
},
"maintainers": [
{
"name": "Klaus Hartl",
"url": "https://github.com/carhartl"
},
{
"name": "Fagner Martins",
"url": "https://github.com/FagnerMartinsBrack"
}
],
"licenses": [
{
"type": "MIT",
"url": "https://raw.github.com/carhartl/jquery-cookie/master/MIT-LICENSE.txt"
}
],
"dependencies": {
"jquery": ">=1.2"
},
"bugs": "https://github.com/carhartl/jquery-cookie/issues",
"homepage": "https://github.com/carhartl/jquery-cookie",
"docs": "https://github.com/carhartl/jquery-cookie#readme"
}

View file

@ -0,0 +1,2 @@
/*! jquery.cookie v1.4.0 (c) 2013 Klaus Hartl | MIT */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setDate(k.getDate()+j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}});

113
vendors/jquery-cookie/jquery.cookie.js vendored Normal file
View file

@ -0,0 +1,113 @@
/*!
* jQuery Cookie Plugin v1.4.0
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as anonymous module.
define(['jquery'], factory);
} else {
// Browser globals.
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
// If we can't parse the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
return config.json ? JSON.parse(s) : s;
} catch(e) {}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
var config = $.cookie = function (key, value, options) {
// Write
if (value !== undefined && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = parts.join('=');
if (key && key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) === undefined) {
return false;
}
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return !$.cookie(key);
};
}));

31
vendors/jquery-cookie/package.json vendored Normal file
View file

@ -0,0 +1,31 @@
{
"name": "jquery.cookie",
"version": "1.4.0",
"description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.",
"main": "Gruntfile.js",
"directories": {
"test": "test"
},
"scripts": {
"test": "grunt"
},
"repository": {
"type": "git",
"url": "git://github.com/carhartl/jquery-cookie.git"
},
"author": "Klaus Hartl",
"license": "MIT",
"gitHead": "bd3c9713222bace68d25fe2128c0f8633cad1269",
"readmeFilename": "README.md",
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.4.0",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-qunit": "~0.2.0",
"grunt-contrib-watch": "~0.3.0",
"grunt-compare-size": "~0.4.0",
"grunt-saucelabs": "~4.1.1",
"grunt-contrib-connect": "~0.5.0",
"gzip-js": "~0.3.0"
}
}

View file

@ -0,0 +1,239 @@
/*
* Lazy Load - jQuery plugin for lazy loading images
*
* Copyright (c) 2007-2013 Mika Tuupola
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
* Project home:
* http://www.appelsiini.net/projects/lazyload
*
* Version: 1.9.0
*
*/
(function($, window, document, undefined) {
var $window = $(window);
$.fn.lazyload = function(options) {
var elements = this;
var $container;
var settings = {
threshold : 0,
failure_limit : 0,
event : "scroll",
effect : "show",
container : window,
data_attribute : "original",
skip_invisible : true,
appear : null,
load : null,
placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"
};
function update() {
var counter = 0;
elements.each(function() {
var $this = $(this);
if (settings.skip_invisible && !$this.is(":visible")) {
return;
}
if ($.abovethetop(this, settings) ||
$.leftofbegin(this, settings)) {
/* Nothing. */
} else if (!$.belowthefold(this, settings) &&
!$.rightoffold(this, settings)) {
$this.trigger("appear");
/* if we found an image we'll load, reset the counter */
counter = 0;
} else {
if (++counter > settings.failure_limit) {
return false;
}
}
});
}
if(options) {
/* Maintain BC for a couple of versions. */
if (undefined !== options.failurelimit) {
options.failure_limit = options.failurelimit;
delete options.failurelimit;
}
if (undefined !== options.effectspeed) {
options.effect_speed = options.effectspeed;
delete options.effectspeed;
}
$.extend(settings, options);
}
/* Cache container as jQuery as object. */
$container = (settings.container === undefined ||
settings.container === window) ? $window : $(settings.container);
/* Fire one scroll event per scroll. Not one scroll event per image. */
if (0 === settings.event.indexOf("scroll")) {
$container.bind(settings.event, function() {
return update();
});
}
this.each(function() {
var self = this;
var $self = $(self);
self.loaded = false;
/* If no src attribute given use data:uri. */
if ($self.attr("src") === undefined || $self.attr("src") === false) {
$self.attr("src", settings.placeholder);
}
/* When appear is triggered load original image. */
$self.one("appear", function() {
if (!this.loaded) {
if (settings.appear) {
var elements_left = elements.length;
settings.appear.call(self, elements_left, settings);
}
$("<img />")
.bind("load", function() {
var original = $self.data(settings.data_attribute);
$self.hide();
if ($self.is("img")) {
$self.attr("src", original);
} else {
$self.css("background-image", "url('" + original + "')");
}
$self[settings.effect](settings.effect_speed);
self.loaded = true;
/* Remove image from array so it is not looped next time. */
var temp = $.grep(elements, function(element) {
return !element.loaded;
});
elements = $(temp);
if (settings.load) {
var elements_left = elements.length;
settings.load.call(self, elements_left, settings);
}
})
.attr("src", $self.data(settings.data_attribute));
}
});
/* When wanted event is triggered load original image */
/* by triggering appear. */
if (0 !== settings.event.indexOf("scroll")) {
$self.bind(settings.event, function() {
if (!self.loaded) {
$self.trigger("appear");
}
});
}
});
/* Check if something appears when window is resized. */
$window.bind("resize", function() {
update();
});
/* With IOS5 force loading images when navigating with back button. */
/* Non optimal workaround. */
if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
$window.bind("pageshow", function(event) {
if (event.originalEvent && event.originalEvent.persisted) {
elements.each(function() {
$(this).trigger("appear");
});
}
});
}
/* Force initial check if images should appear. */
$(document).ready(function() {
update();
});
return this;
};
/* Convenience methods in jQuery namespace. */
/* Use as $.belowthefold(element, {threshold : 100, container : window}) */
$.belowthefold = function(element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();
} else {
fold = $(settings.container).offset().top + $(settings.container).height();
}
return fold <= $(element).offset().top - settings.threshold;
};
$.rightoffold = function(element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.width() + $window.scrollLeft();
} else {
fold = $(settings.container).offset().left + $(settings.container).width();
}
return fold <= $(element).offset().left - settings.threshold;
};
$.abovethetop = function(element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.scrollTop();
} else {
fold = $(settings.container).offset().top;
}
return fold >= $(element).offset().top + settings.threshold + $(element).height();
};
$.leftofbegin = function(element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.scrollLeft();
} else {
fold = $(settings.container).offset().left;
}
return fold >= $(element).offset().left + settings.threshold + $(element).width();
};
$.inviewport = function(element, settings) {
return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&
!$.belowthefold(element, settings) && !$.abovethetop(element, settings);
};
/* Custom selectors for your convenience. */
/* Use as $("img:below-the-fold").something() or */
/* $("img").filter(":below-the-fold").something() which is faster */
$.extend($.expr[":"], {
"below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); },
"above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
"right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); },
"left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); },
"in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); },
/* Maintain BC for couple of versions. */
"above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); },
"right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); },
"left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); }
});
})(jQuery, window, document);

View file

@ -0,0 +1,2 @@
/*! RainLoop Top Driver v1.0; Mika Tuupola; Licensed under MIT */
!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("<img />").bind("load",function(){var d=c.data(j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.data(j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/iphone|ipod|ipad.*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document);

183
vendors/jquery-magnific-popup/README.md vendored Normal file
View file

@ -0,0 +1,183 @@
# Magnific Popup Repository
[![Build Status](https://travis-ci.org/dimsemenov/Magnific-Popup.png)](https://travis-ci.org/dimsemenov/Magnific-Popup)
Fast, light and responsive lightbox plugin, for jQuery and Zepto.js.
- [Documentation and getting started guide](http://dimsemenov.com/plugins/magnific-popup/documentation.html).
- [Examples and plugin home page](http://dimsemenov.com/plugins/magnific-popup/).
- More examples in [CodePen collection](http://codepen.io/collection/nLcqo).
Optionally, install via Bower: `bower install magnific-popup`.
## Extensions
- WordPress plugin - [under development](http://dimsemenov.com/plugins/magnific-popup/wordpress.html).
- [Drupal module](https://drupal.org/project/magnific_popup).
- [Ruby gem](https://rubygems.org/gems/magnific-popup-rails), `gem install magnific-popup-rails`.
If you created a popup extension for something, email me and I'll add it to this list.
## Location of stuff
- Generated popup JS and CSS files are in folder [dist/](https://github.com/dimsemenov/Magnific-Popup/tree/master/dist). (Online build tool is on [documentation page](http://dimsemenov.com/plugins/magnific-popup/documentation.html)).
- Source files are in folder [src/](https://github.com/dimsemenov/Magnific-Popup/tree/master/src). They include [Sass CSS file](https://github.com/dimsemenov/Magnific-Popup/blob/master/src/css/main.scss) and js parts (edit them if you wish to submit commit).
- Website (examples & documentation) is in folder [website/](https://github.com/dimsemenov/Magnific-Popup/tree/master/website).
- Documentation page itself is in [website/documentation.md](https://github.com/dimsemenov/Magnific-Popup/blob/master/website/documentation.md) (contributions to it are very welcome).
## Build
To compile Magnific Popup by yourself, first of make sure that you have [Node.js](http://nodejs.org/), [Grunt.js](https://github.com/cowboy/grunt), [Ruby](http://www.ruby-lang.org/) and [Jekyll](https://github.com/mojombo/jekyll/) installed, then:
1) Copy repository
git clone https://github.com/dimsemenov/Magnific-Popup.git
2) Go inside Magnific Popup folder that you fetched and install Node dependencies
cd Magnific-Popup && npm install
3) Now simply run `grunt` to generate JS and CSS in folder `dist` and site in folder `_site/`.
grunt
Optionally:
- Run `grunt watch` to automatically rebuild script when you change files in `src/` or in `website/`.
- If you don't have and don't want to install Jekyll, run `grunt nosite` to just build JS and CSS files related to popup in `dist/`.
## Changelog
### 0.9.8 (Oct 26, 2013)
- Added figure and figcaption elements to image markup (#233, thanks to @pjackson28).
- To avoid "jump" of content background, gap from right side (that "replaces" the scrollbar) is added with help of `margin`, instead of `padding`, (closes #125, thanks to @chodorowicz).
- Function that checks if the clicked element should close popup or not is now public (so it <a href="http://dimsemenov.com/plugins/magnific-popup/documentation.html#how_to_override_some_function_without_modifying_the_source_files">can be overridden with your own logic</a>).
- Working on a new module: the exact copy of native fullscreen Android/iOS gallery, with touch/zoom/pan e.t.c., will publish branch soon (&copy;Blizzard).
### 0.9.7 (Oct 10, 2013)
- CSS: removed outline on buttons (thanks to @OriginalEXE).
- Allow multiple string tokens to be passed in gallery variables like `%curr% of %total%` and `%title%` (#234, thanks to Petr Marek).
- A few small changes to Grunt build, `grunt-contrib-sass` > `grunt-sass`. (thanks to @nschonni).
### 0.9.6 (Sep 29, 2013)
- Fixed bug: options object that you pass to popup gets modified after the initialization (#217, #203).
- Fixed bug: zoom module creates global variable (#226).
- Fixed bug: gallery from AJAX popups stacks content if it's switched before loading has finished.
- Indented and combined SCSS classes (thanks to @nschonni).
- `$.magnificPopup.close()` now doesn't throw an exception if there's no instance (#221, thanks to @mjlescano).
### 0.9.5 (Aug 21, 2013)
- Fixed bug: built-in tab focus in popup works incorrectly (caused by 0.9.3 update).
### 0.9.4 (Aug 7, 2013)
- Fixed bug: error in IE7 when minified version of script is used with some versions of jQuery, #156.
- Fixed bug: DOM exception in Chrome when using gallery mode with some versions of jQuery, #177.
### 0.9.3 (Jul 16, 2013)
- Fixed blurry arrows in FF (#142)
- Added `lazyLoadError` callback.
- Popup now prevents closing if the clicked element is remvoved from DOM.
- `overflow:hidden` is now applied to `html` instead of `body`.
- Increased default z-index to from 500 to 1040.
### 0.9.2 (Jul 5, 2013)
- Fixed bug in new zoom module, that could cause incorrect calculation of image height, when jQuery is used instead of Zepto.
### 0.9.1 (Jul 4, 2013)
- Added zoom module effect for images, go to Magnific Popup [website](http://dimsemenov.com/plugins/magnific-popup/) to view demos. More info in [docs](http://dimsemenov.com/plugins/magnific-popup/documentation.html#zoom_effect).
- `removalDelay` now applies only when browser supports CSS transitions.
- Fix: removed tiny blink when switching between gallery images, or opening images that are already cached.
- Changed the default appearance of gallery arrows (now its white triangle with black border, was vice-versa).
- Added solid background to the image when its loading.
### 0.9.0 (Jul 3, 2013)
- Added `modal` option which disables all default ways to close the popup, learn more in [docs](http://dimsemenov.com/plugins/magnific-popup/documentation.html#modal). Thanks to [Julen Ruiz Aizpuru](https://github.com/julen).
- Added `beforeClose` event.
- Added `imageLoadComplete` event.
- Removed jQuery event alias calls. Thanks to [Albert Casademont](https://github.com/acasademont).
- Cleaned some duplicate styles in CSS. Thanks to [Yann Abgrall](https://github.com/yannabgrall).
### 0.8.9 (Jun 4, 2013)
- Fix: inline element that is created dynamically causes exception in jQuery 1.8.x.
- Fix: incorrect detection of `_hasScrollBar` if body has defined height style.
- Fix: body styles are kept after popup is closed.
- Fix: close icon is aligned incorrectly with iframe type.
- **responseText is deprected**. Argument of callback `parseAjax` - `obj.responseText` is now deprected, but you can still access it via `obj.xhr.responseText`. Instead of it, please use `obj.data` to modify your output.
- Sass: changed variables to be default declarations to support front-loaded settings. i.e. You can override options by adding `_settings.scss` file near `main.scss` with your new options.
- Added: `afterClose` event.
- Added: `ajaxContentLoaded` event.
- Added: [Bower](https://github.com/bower/bower) support.
### 0.8.8 (May 24, 2013)
- Fix: you can now put link inside popup that will open another popup - http://codepen.io/dimsemenov/pen/hwIng
- Fix: incorrect index when opening popup that is already opened from multiple DOM elements.
### 0.8.7 (May 19, 2013)
- Fixed #62 - IE9 HTML5 YouTube player playing audio after pop up closed
### 0.8.6 (May 18, 2013)
- Controls are now removed when there is only one element in gallery.
- Fixed issue that could cause incorrect main event element.
- Public property `items` is now always an array (previously it could be jQuery object collection).
- Added `word-break: break-word` to caption.
### 0.8.5 (May 15, 2013)
- Fix #43 - In IE8 whole window becomes black when YouTube iframe is
closed.
- Fix #51 - In IE9 YouTube HTML5 video keeps playing after iframe is
removed from page.
- Bugfix - box-sizing on IMG in low IE behaves incorrectly.
- Fix #57 - padding on body is not added with overflowY:'scroll'.
- removalDelay option is now ignored in IE.
- Added an option closeOnBgClick.
- Added BeforeChange callback.
- Added AfterChange callback.
### 0.8.4 (May 13, 2013)
- You can now call any public method directly from jQuery DOM element, e.g.: `$('.some-el-with-popup').magnificPopup('methodName', /*, arguments */)`.
- Optimized inline module. Now target element is replaced with placeholder only when it has a defined parent node.
- `inline` type is now set as a default, so you may skip it.
- Now content is just replaced when you call `open()` on popup that is already opened.
### 0.8.3 (May 9, 2013)
- Added: `goTo` public method.
- Custom events that are added to popup are now not lost when navigating through gallery.
- If `delegate` option is used, events are now dispatched on main element instead of children.
### 0.8.2 (May 5, 2013)
- Added !important to mfp-hide class.
- Fix gallery rendering issue in Opera.
- Fix padding to body with overflow:scroll.
## License
Script is MIT licensed and free and will always be kept this way. But has a small restriction from me - please do not create public WordPress plugin based on it(or at least contact me before creating it), because I will make it and it'll be open source too ([want to get notified?](http://dimsemenov.com/subscribe.html)).
Created by [@dimsemenov](http://twitter.com/dimsemenov) & [contributors](https://github.com/dimsemenov/Magnific-Popup/contributors).

View file

@ -0,0 +1,17 @@
{
"name": "magnific-popup",
"version": "0.9.8",
"main": [
"dist/jquery.magnific-popup.js",
"dist/magnific-popup.css"
],
"dependencies": {
"jquery": ">=1.8.0"
},
"ignore": [
"node_modules/",
"components/",
"website/",
"libs/"
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,45 @@
/* overlay at start */
.mfp-fade.mfp-bg {
opacity: 0;
-webkit-transition: all 0.2s ease-out;
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
opacity: 0;
}
/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
opacity: 0;
-webkit-transition: all 0.15s ease-out;
-moz-transition: all 0.15s ease-out;
transition: all 0.15s ease-out;
-webkit-transform: translateX(-50px);
-moz-transform: translateX(-50px);
transform: translateX(-50px);
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
opacity: 1;
-webkit-transform: translateX(0);
-moz-transform: translateX(0);
transform: translateX(0);
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
opacity: 0;
-webkit-transform: translateX(50px);
-moz-transform: translateX(50px);
transform: translateX(50px);
}

View file

@ -0,0 +1,364 @@
/* Magnific Popup CSS */
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8;
filter: alpha(opacity=80); }
.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden; }
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle; }
.mfp-align-top .mfp-container:before {
display: none; }
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045; }
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto; }
.mfp-ajax-cur {
cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out; }
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in; }
.mfp-auto-cursor .mfp-content {
cursor: auto; }
.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none; }
.mfp-loading.mfp-figure {
display: none; }
.mfp-hide {
display: none !important; }
.mfp-preloader {
color: #cccccc;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044; }
.mfp-preloader a {
color: #cccccc; }
.mfp-preloader a:hover {
color: white; }
.mfp-s-ready .mfp-preloader {
display: none; }
.mfp-s-error .mfp-content {
display: none; }
button.mfp-close, button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
-webkit-box-shadow: none;
box-shadow: none; }
button::-moz-focus-inner {
padding: 0;
border: 0; }
.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: white;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace; }
.mfp-close:hover, .mfp-close:focus {
opacity: 1; }
.mfp-close:active {
top: 1px; }
.mfp-close-btn-in .mfp-close {
color: #333333; }
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
color: white;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%; }
.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #cccccc;
font-size: 12px;
line-height: 18px; }
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
.mfp-arrow:active {
margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus {
opacity: 1; }
.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent; }
.mfp-arrow:after, .mfp-arrow .mfp-a {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px; }
.mfp-arrow:before, .mfp-arrow .mfp-b {
border-top-width: 21px;
border-bottom-width: 21px; }
.mfp-arrow-left {
left: 0; }
.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
border-right: 17px solid white;
margin-left: 31px; }
.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
margin-left: 25px;
border-right: 27px solid #3f3f3f; }
.mfp-arrow-right {
right: 0; }
.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
border-left: 17px solid white;
margin-left: 39px; }
.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
border-left: 27px solid #3f3f3f; }
.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px; }
.mfp-iframe-holder .mfp-close {
top: -40px; }
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%; }
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: black; }
/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto; }
/* The shadow behind the image */
.mfp-figure {
line-height: 0; }
.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444444; }
.mfp-figure small {
color: #bdbdbd;
display: block;
font-size: 12px;
line-height: 14px; }
.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto; }
.mfp-title {
text-align: left;
line-height: 18px;
color: #f3f3f3;
word-wrap: break-word;
padding-right: 36px; }
.mfp-image-holder .mfp-content {
max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer; }
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0; }
.mfp-img-mobile img.mfp-img {
padding: 0; }
.mfp-img-mobile .mfp-figure {
/* The shadow behind the image */ }
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0; }
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px; }
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.6);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0; }
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px; }
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.6);
position: fixed;
text-align: center;
padding: 0; } }
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75); }
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0; }
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%; }
.mfp-container {
padding-left: 6px;
padding-right: 6px; } }
.mfp-ie7 .mfp-img {
padding: 0; }
.mfp-ie7 .mfp-bottom-bar {
width: 600px;
left: 50%;
margin-left: -300px;
margin-top: 5px;
padding-bottom: 5px; }
.mfp-ie7 .mfp-container {
padding: 0; }
.mfp-ie7 .mfp-content {
padding-top: 44px; }
.mfp-ie7 .mfp-close {
top: 0;
right: 0;
padding-top: 0; }

View file

@ -0,0 +1,29 @@
{
"name": "magnific-popup",
"title": "Magnific Popup",
"description": "Fast, light, mobile-friendly and responsive lightbox and modal dialog plugin. Open inline HTML, ajax loaded content, image, form, iframe (YouTube video, Vimeo, Google Maps), photo gallery. Animation effects added with CSS3 transitions. For jQuery or Zepto.",
"version": "0.9.8",
"homepage": "http://dimsemenov.com/plugins/magnific-popup/",
"demo": "http://dimsemenov.com/plugins/magnific-popup/",
"docs": "http://dimsemenov.com/plugins/magnific-popup/documentation.html",
"author": {
"name": "Dmitry Semenov",
"email": "diiiimaaaa@gmail.com",
"url": "http://dimsemenov.com"
},
"repository": {
"type": "git",
"url": "https://github.com/dimsemenov/Magnific-Popup.git"
},
"bugs": "https://github.com/dimsemenov/Magnific-Popup/issues",
"dependencies": {
"jquery": ">=1.7.2"
},
"keywords": ["lightbox","popup","modal","window","dialog","ui","gallery","slideshow","video","image","ajax","html5","animation","jquery","photo","responsive","mobile"],
"licenses": [
{
"type": "MIT",
"url": "http://www.opensource.org/licenses/mit-license.php"
}
]
}

View file

@ -0,0 +1,26 @@
{
"name": "magnific-popup",
"version": "0.0.0-ignored",
"engines": {
"node": ">= 0.8.0"
},
"scripts": {
"test": "grunt jshint"
},
"devDependencies": {
"grunt-contrib-jshint": "~0.1.1",
"grunt-contrib-concat": "~0.1.2",
"grunt-contrib-uglify": "~0.1.1",
"grunt-contrib-watch": "~0.2.0",
"grunt-contrib-clean": "~0.4.0",
"grunt": "~0.4.0",
"grunt-contrib-cssmin": "~0.4.1",
"grunt-contrib-copy": "~0.4.0",
"grunt-jekyll": "~0.3.9",
"grunt-sass": "~0.6.1"
},
"repository": {
"type": "git",
"url": "https://github.com/nschonni/Magnific-Popup.git"
}
}

View file

@ -0,0 +1,96 @@
# Mouse Wheel ChangeLog
## 3.1.4
* Always set the deltaY
* Add back in the deltaX and deltaY support for older Firefox versions
## 3.1.3
* Include `MozMousePixelScroll` in the to fix list to avoid inconsistent behavior in older Firefox
## 3.1.2
* Include grunt utilities for development purposes (jshint and uglify)
* Include support for browserify
* Some basic cleaning up
## 3.1.1
* Fix rounding issue with deltas less than zero
## 3.1.0
* Fix Firefox 17+ issues by using new wheel event
* Normalize delta values
* Adds horizontal support for IE 9+ by using new wheel event
* Support AMD loaders
## 3.0.6
* Fix issue with delta being 0 in Firefox
## 3.0.5
* jQuery 1.7 compatibility
## 3.0.4
* Fix IE issue
## 3.0.3
* Added `deltaX` and `deltaY` for horizontal scrolling support (Thanks to Seamus Leahy)
## 3.0.2
* Fixed delta being opposite value in latest Opera
* No longer fix `pageX`, `pageY` for older Mozilla browsers
* Removed browser detection
* Cleaned up the code
## 3.0.1
* Bad release... creating a new release due to plugins.jquery.com issue :(
## 3.0
* Uses new special events API in jQuery 1.2.2+
* You can now treat `mousewheel` as a normal event and use `.bind`, `.unbind` and `.trigger`
* Using jQuery.data API for expandos
## 2.2
* Fixed `pageX`, `pageY`, `clientX` and `clientY` event properties for Mozilla based browsers
## 2.1.1
* Updated to work with jQuery 1.1.3
* Used one instead of bind to do unload event for clean up
## 2.1
* Fixed an issue with the unload handler
## 2.0
* Major reduction in code size and complexity (internals have change a whole lot)
## 1.0
* Fixed Opera issue
* Fixed an issue with children elements that also have a mousewheel handler
* Added ability to handle multiple handlers

20
vendors/jquery-mousewheel/LICENSE.txt vendored Normal file
View file

@ -0,0 +1,20 @@
Copyright (c) 2013, Brandon Aaron (http://brandonaaron.net/)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -0,0 +1,58 @@
# jQuery Mouse Wheel Plugin
A [jQuery](http://jquery.com/) plugin that adds cross-browser mouse wheel support.
In order to use the plugin, simply bind the `mousewheel` event to an element.
It also provides two helper methods called `mousewheel` and `unmousewheel`
that act just like other event helper methods in jQuery. The event callback
receives three extra arguments which are the normalized "deltas" of the mouse wheel.
Here is an example of using both the bind and helper method syntax:
```js
// using bind
$('#my_elem').on('mousewheel', function(event, delta, deltaX, deltaY) {
console.log(delta, deltaX, deltaY);
});
// using the event helper
$('#my_elem').mousewheel(function(event, delta, deltaX, deltaY) {
console.log(delta, deltaX, deltaY);
});
```
## See it in action
[See the tests on Github](http://brandonaaron.github.io/jquery-mousewheel/test).
## Using with [Browserify](http://browserify.org)
Support for browserify is baked in.
```bash
npm install jquery-mousewheel
npm install jquery-browserify
```
In your server-side node.js code:
```js
var express = require('express');
var app = express.createServer();
app.use(require('browserify')({
require : [ 'jquery-browserify', 'jquery-mousewheel' ]
}));
```
In your browser-side javascript:
```js
var $ = require('jquery-browserify');
require('jquery-mousewheel')($);
```
## License
This plugin is licensed under the [MIT License](LICENSE.txt).
Copyright (c) 2013 [Brandon Aaron](http://brandon.aaron.sh)

View file

@ -0,0 +1,2 @@
/*! jquery.mousewheel v3.1.4 (c) 2013 Brandon Aaron (http://brandon.aaron.sh) | MIT */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var e,f=b||window.event,g=[].slice.call(arguments,1),h=0,i=0,j=0,k=0,l=0;return b=a.event.fix(f),b.type="mousewheel",f.wheelDelta&&(h=f.wheelDelta),f.detail&&(h=-1*f.detail),j=h,void 0!==f.axis&&f.axis===f.HORIZONTAL_AXIS&&(j=0,i=-1*h),f.deltaY&&(j=-1*f.deltaY,h=j),f.deltaX&&(i=f.deltaX,h=-1*i),void 0!==f.wheelDeltaY&&(j=f.wheelDeltaY),void 0!==f.wheelDeltaX&&(i=-1*f.wheelDeltaX),k=Math.abs(h),(!c||c>k)&&(c=k),l=Math.max(Math.abs(j),Math.abs(i)),(!d||d>l)&&(d=l),e=h>0?"floor":"ceil",h=Math[e](h/c),i=Math[e](i/d),j=Math[e](j/d),g.unshift(b,h,i,j),(a.event.dispatch||a.event.handle).apply(this,g)}var c,d,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],f="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"];if(a.event.fixHooks)for(var g=e.length;g;)a.event.fixHooks[e[--g]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=f.length;a;)this.addEventListener(f[--a],b,!1);else this.onmousewheel=b},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],b,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});

View file

@ -0,0 +1,122 @@
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
* Licensed under the MIT License (LICENSE.txt).
*
* Version: 3.1.4
*
* Requires: 1.2.2+
*/
(function (factory) {
if ( typeof define === 'function' && define.amd ) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node/CommonJS style for Browserify
module.exports = factory;
} else {
// Browser globals
factory(jQuery);
}
}(function ($) {
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'];
var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
var lowestDelta, lowestDeltaXY;
if ( $.event.fixHooks ) {
for ( var i = toFix.length; i; ) {
$.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
}
}
$.event.special.mousewheel = {
setup: function() {
if ( this.addEventListener ) {
for ( var i = toBind.length; i; ) {
this.addEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = handler;
}
},
teardown: function() {
if ( this.removeEventListener ) {
for ( var i = toBind.length; i; ) {
this.removeEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = null;
}
}
};
$.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
},
unmousewheel: function(fn) {
return this.unbind('mousewheel', fn);
}
});
function handler(event) {
var orgEvent = event || window.event,
args = [].slice.call(arguments, 1),
delta = 0,
deltaX = 0,
deltaY = 0,
absDelta = 0,
absDeltaXY = 0,
fn;
event = $.event.fix(orgEvent);
event.type = 'mousewheel';
// Old school scrollwheel delta
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; }
if ( orgEvent.detail ) { delta = orgEvent.detail * -1; }
// At a minimum, setup the deltaY to be delta
deltaY = delta;
// Firefox < 17 related to DOMMouseScroll event
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
deltaY = 0;
deltaX = delta * -1;
}
// New school wheel delta (wheel event)
if ( orgEvent.deltaY ) {
deltaY = orgEvent.deltaY * -1;
delta = deltaY;
}
if ( orgEvent.deltaX ) {
deltaX = orgEvent.deltaX;
delta = deltaX * -1;
}
// Webkit
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; }
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; }
// Look for lowest delta to normalize the delta values
absDelta = Math.abs(delta);
if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; }
absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX));
if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; }
// Get a whole value for the deltas
fn = delta > 0 ? 'floor' : 'ceil';
delta = Math[fn](delta / lowestDelta);
deltaX = Math[fn](deltaX / lowestDeltaXY);
deltaY = Math[fn](deltaY / lowestDeltaXY);
// Add event and delta to the front of the arguments
args.unshift(event, delta, deltaX, deltaY);
return ($.event.dispatch || $.event.handle).apply(this, args);
}
}));

View file

@ -0,0 +1,27 @@
{
"name": "mousewheel",
"title": "jQuery Mousewheel",
"description": "A jQuery plugin that adds cross-browser mouse wheel support.",
"keywords": [
"mousewheel",
"mouse",
"event"
],
"version": "3.1.4",
"author": {
"name": "Brandon Aaron",
"url": "http://brandonaaron.net"
},
"licenses": [
{
"type": "MIT",
"url": "https://raw.github.com/brandonaaron/jquery-mousewheel/master/LICENSE.txt"
}
],
"bugs": "https://github.com/brandonaaron/jquery-mousewheel/issues",
"homepage": "https://github.com/brandonaaron/jquery-mousewheel",
"download": "https://github.com/brandonaaron/jquery-mousewheel/tags",
"dependencies": {
"jquery": ">=1.2.2"
}
}

43
vendors/jquery-mousewheel/package.json vendored Normal file
View file

@ -0,0 +1,43 @@
{
"name": "jquery-mousewheel",
"version": "3.1.4",
"author": "Brandon Aaron <brandon.aaron@gmail.com> (http://brandonaaron.net/)",
"description": "A jQuery plugin that adds cross-browser mouse wheel support.",
"main": "./jquery.mousewheel.js",
"repository": {
"type": "git",
"url": "https://github.com/brandonaaron/jquery-mousewheel.git"
},
"bugs": {
"url": "https://github.com/brandonaaron/jquery-mousewheel/issues"
},
"keywords": [
"jquery",
"mouse",
"wheel",
"event",
"mousewheel",
"plugin",
"browser"
],
"licenses": [
{
"type": "MIT",
"url": "https://raw.github.com/brandonaaron/jquery-mousewheel/master/LICENSE.txt"
}
],
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-jshint": "~0.6.4",
"grunt-contrib-uglify": "~0.2.4"
},
"readmeFilename": "README.markdown",
"directories": {
"test": "test"
},
"jam": {
"dependencies": {
"jquery": ">=1.2.2"
}
}
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,867 @@
/*! nanoScrollerJS - v0.7
* http://jamesflorentino.github.com/nanoScrollerJS/
* Copyright (c) 2013 James Florentino; Licensed under MIT
*
* modified by RainLoop Team
*/
(function($, window, document) {
"use strict";
var BROWSER_IS_IE7, BROWSER_SCROLLBAR_WIDTH, DOMSCROLL, DOWN, DRAG, KEYDOWN, KEYUP, MOUSEDOWN, MOUSEMOVE, MOUSEUP, MOUSEWHEEL, NanoScroll, PANEDOWN, RESIZE, SCROLL, SCROLLBAR, TOUCHMOVE, UP, WHEEL, defaults, getBrowserScrollbarWidth;
defaults = {
/**
a classname for the pane element.
@property paneClass
@type {string}
@default 'pane'
*/
paneClass: 'pane',
/**
a classname for the slider element.
@property sliderClass
@type {string}
@default 'slider'
*/
sliderClass: 'slider',
/**
a classname for the content element.
@property contentClass
@type {string}
@default 'content'
*/
contentClass: 'content',
/**
a setting to enable native scrolling in iOS devices.
@property iOSNativeScrolling
@type {boolean}
@default false
*/
iOSNativeScrolling: false,
/**
a setting to prevent the rest of the page being
scrolled when user scrolls the `.content` element.
@property preventPageScrolling
@type {boolean}
@default false
*/
preventPageScrolling: false,
/**
a setting to disable binding to the resize event.
@property disableResize
@type {boolean}
@default false
*/
disableResize: false,
/**
a setting to make the scrollbar always visible.
@property alwaysVisible
@type {boolean}
@default false
*/
alwaysVisible: false,
/**
a default timeout for the `flash()` method.
@property flashDelay
@type {number}
@default 1500
*/
flashDelay: 1500,
/**
a minimum height for the `.slider` element.
@property sliderMinHeight
@type {number}
@default 20
*/
sliderMinHeight: 20,
/**
a maximum height for the `.slider` element.
@property sliderMaxHeight
@type {?number}
@default null
*/
sliderMaxHeight: null
};
/**
@property SCROLLBAR
@type {string}
@static
@final
@private
*/
SCROLLBAR = 'scrollbar';
/**
@property SCROLL
@type {string}
@static
@final
@private
*/
SCROLL = 'scroll';
/**
@property MOUSEDOWN
@type {string}
@final
@private
*/
MOUSEDOWN = 'mousedown';
/**
@property MOUSEMOVE
@type {string}
@static
@final
@private
*/
MOUSEMOVE = 'mousemove';
/**
@property MOUSEWHEEL
@type {string}
@final
@private
*/
MOUSEWHEEL = 'mousewheel';
/**
@property MOUSEUP
@type {string}
@static
@final
@private
*/
MOUSEUP = 'mouseup';
/**
@property RESIZE
@type {string}
@final
@private
*/
RESIZE = 'resize';
/**
@property DRAG
@type {string}
@static
@final
@private
*/
DRAG = 'drag';
/**
@property UP
@type {string}
@static
@final
@private
*/
UP = 'up';
/**
@property PANEDOWN
@type {string}
@static
@final
@private
*/
PANEDOWN = 'panedown';
/**
@property DOMSCROLL
@type {string}
@static
@final
@private
*/
DOMSCROLL = 'DOMMouseScroll';
/**
@property DOWN
@type {string}
@static
@final
@private
*/
DOWN = 'down';
/**
@property WHEEL
@type {string}
@static
@final
@private
*/
WHEEL = 'wheel';
/**
@property KEYDOWN
@type {string}
@static
@final
@private
*/
KEYDOWN = 'keydown';
/**
@property KEYUP
@type {string}
@static
@final
@private
*/
KEYUP = 'keyup';
/**
@property TOUCHMOVE
@type {string}
@static
@final
@private
*/
TOUCHMOVE = 'touchmove';
/**
@property BROWSER_IS_IE7
@type {boolean}
@static
@final
@private
*/
BROWSER_IS_IE7 = window.navigator.appName === 'Microsoft Internet Explorer' && /msie 7./i.test(window.navigator.appVersion) && window.ActiveXObject;
/**
@property BROWSER_SCROLLBAR_WIDTH
@type Number
@static
@default null
@private
*/
BROWSER_SCROLLBAR_WIDTH = null;
/**
Returns browser's native scrollbar width
@method getBrowserScrollbarWidth
@return {number} the scrollbar width in pixels
@static
@private
*/
getBrowserScrollbarWidth = function() {
var outer, outerStyle, scrollbarWidth;
outer = document.createElement('div');
outerStyle = outer.style;
outerStyle.position = 'absolute';
outerStyle.width = '100px';
outerStyle.height = '100px';
outerStyle.overflow = SCROLL;
outerStyle.top = '-9999px';
outer.className = 'nano-visibility-hidden';
document.body.appendChild(outer);
scrollbarWidth = outer.offsetWidth - outer.clientWidth;
document.body.removeChild(outer);
return scrollbarWidth;
};
/**
@class NanoScroll
@param element {HTMLElement|Node} the main element
@param options {Object} nanoScroller's options
@constructor
*/
NanoScroll = (function() {
function NanoScroll(el, options) {
this.el = el;
this.options = options;
BROWSER_SCROLLBAR_WIDTH || (BROWSER_SCROLLBAR_WIDTH = getBrowserScrollbarWidth());
this.$el = $(this.el);
this.doc = $(document);
this.win = $(window);
this.$content = this.$el.children("." + options.contentClass);
this.$content.attr('tabindex', 0);
this.content = this.$content[0];
if (this.options.iOSNativeScrolling && (this.el.style.WebkitOverflowScrolling != null)) {
this.nativeScrolling();
} else {
this.generate();
}
this.createEvents();
this.addEvents();
this.reset();
}
/**
Prevents the rest of the page being scrolled
when user scrolls the `.content` element.
@method preventScrolling
@param e {Event}
@param direction {String} Scroll direction (up or down)
@private
*/
NanoScroll.prototype.preventScrolling = function(e, direction) {
if (!this.isActive && !this.isActive2) {
return;
}
if (e.type === DOMSCROLL) {
if (direction === DOWN && e.originalEvent.detail > 0 || direction === UP && e.originalEvent.detail < 0) {
e.preventDefault();
}
} else if (e.type === MOUSEWHEEL) {
if (!e.originalEvent || !e.originalEvent.wheelDelta) {
return;
}
if (direction === DOWN && e.originalEvent.wheelDelta < 0 || direction === UP && e.originalEvent.wheelDelta > 0) {
e.preventDefault();
}
}
};
/**
Enable iOS native scrolling
*/
NanoScroll.prototype.nativeScrolling = function() {
this.$content.css({
WebkitOverflowScrolling: 'touch'
});
this.iOSNativeScrolling = true;
this.isActive = true;
this.isActive2 = true;
};
/**
Updates those nanoScroller properties that
are related to current scrollbar position.
@method updateScrollValues
@private
*/
NanoScroll.prototype.updateScrollValues = function() {
var content;
content = this.content;
this.maxScrollTop = content.scrollHeight - content.clientHeight;
this.maxScroll2Left = content.scrollWidth - content.clientWidth;
this.contentScrollTop = content.scrollTop;
this.contentScroll2Left = content.scrollLeft;
if (!this.iOSNativeScrolling) {
this.maxSliderTop = this.paneHeight - this.sliderHeight;
this.maxSlider2Left = this.pane2Width - this.slider2Width;
this.sliderTop = this.contentScrollTop * this.maxSliderTop / this.maxScrollTop;
this.slider2Left = this.contentScroll2Left * this.maxSlider2Left / this.maxScroll2Left;
}
};
/**
Creates event related methods
@method createEvents
@private
*/
NanoScroll.prototype.createEvents = function() {
var _this = this;
this.events = {
down: function(e) {
_this.isBeingDragged = true;
_this.offsetY = e.pageY - _this.slider.offset().top;
_this.pane.addClass('active');
_this.doc.bind(MOUSEMOVE, _this.events[DRAG]).bind(MOUSEUP, _this.events[UP]);
return false;
},
down2: function(e) {
_this.isBeingDragged2 = true;
_this.offsetX = e.pageX - _this.slider2.offset().left;
_this.pane2.addClass('active');
_this.doc.bind(MOUSEMOVE, _this.events['drag2']).bind(MOUSEUP, _this.events['up2']);
return false;
},
drag: function(e) {
_this.sliderY = e.pageY - _this.$el.offset().top - _this.offsetY;
_this.scroll();
_this.updateScrollValues();
if (_this.contentScrollTop >= _this.maxScrollTop) {
_this.$el.trigger('scrollend');
} else if (_this.contentScrollTop === 0) {
_this.$el.trigger('scrolltop');
}
return false;
},
drag2: function(e) {
_this.slider2X = e.pageX - _this.$el.offset().left - _this.offsetX;
_this.scroll();
_this.updateScrollValues();
/* if (_this.contentScrollLeft >= _this.maxScrollLeft) {
_this.$el.trigger('scrollend');
} else if (_this.contentScrollLeft === 0) {
_this.$el.trigger('scrolltop');
}*/
return false;
},
up: function() {
_this.isBeingDragged = false;
_this.pane.removeClass('active');
_this.doc.unbind(MOUSEMOVE, _this.events[DRAG]).unbind(MOUSEUP, _this.events[UP]);
return false;
},
up2: function() {
_this.isBeingDragged2 = false;
_this.pane2.removeClass('active');
_this.doc.unbind(MOUSEMOVE, _this.events['drag2']).unbind(MOUSEUP, _this.events['up2']);
return false;
},
resize: function() {
_this.reset();
},
panedown: function(e) {
_this.sliderY = (e.offsetY || e.originalEvent.layerY) - (_this.sliderHeight * 0.5);
_this.scroll();
_this.events.down(e);
return false;
},
panedown2: function(e) {
_this.slider2X = (e.offsetX || e.originalEvent.layerX) - (_this.slider2Width * 0.5);
_this.scroll();
_this.events.down2(e);
return false;
},
scroll: function(e) {
if (_this.isBeingDragged || _this.isBeingDragged2) {
return;
}
_this.updateScrollValues();
if (!_this.iOSNativeScrolling) {
_this.sliderY = _this.sliderTop;
_this.slider.css({
top: _this.sliderTop
});
_this.slider2X = _this.slider2Left;
_this.slider2.css({
left: _this.slider2Left
});
}
if (!e) {
return;
}
if (_this.contentScrollTop >= _this.maxScrollTop) {
if (_this.options.preventPageScrolling) {
_this.preventScrolling(e, DOWN);
}
_this.$el.trigger('scrollend');
} else if (_this.contentScrollTop === 0) {
if (_this.options.preventPageScrolling) {
_this.preventScrolling(e, UP);
}
_this.$el.trigger('scrolltop');
}
},
/**
* @param {{wheelDeltaY:number, delta:number}} e
*/
wheel: function(e) {
if (!e || undefined === e.wheelDeltaY || undefined === e.delta) {
return;
}
_this.sliderY += -e.wheelDeltaY || -e.delta;
_this.scroll();
return false;
}
};
};
/**
Adds event listeners with jQuery.
@method addEvents
@private
*/
NanoScroll.prototype.addEvents = function() {
var events;
this.removeEvents();
events = this.events;
if (!this.options.disableResize) {
this.win.bind(RESIZE, events[RESIZE]);
}
if (!this.iOSNativeScrolling) {
this.slider.bind(MOUSEDOWN, events[DOWN]);
this.slider2.bind(MOUSEDOWN, events['down2']);
this.pane.bind(MOUSEDOWN, events[PANEDOWN]);//.bind("" + MOUSEWHEEL + " " + DOMSCROLL, events[WHEEL]);
this.pane2.bind(MOUSEDOWN, events['panedown2']);//.bind("" + MOUSEWHEEL + " " + DOMSCROLL, events[WHEEL]);
}
this.$content.bind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
};
/**
Removes event listeners with jQuery.
@method removeEvents
@private
*/
NanoScroll.prototype.removeEvents = function() {
var events;
events = this.events;
this.win.unbind(RESIZE, events[RESIZE]);
if (!this.iOSNativeScrolling) {
this.slider.unbind();
this.pane.unbind();
this.slider2.unbind();
this.pane2.unbind();
}
this.$content.unbind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
};
/**
Generates nanoScroller's scrollbar and elements for it.
@method generate
@chainable
@private
*/
NanoScroll.prototype.generate = function() {
var contentClass, cssRule, options, paneClass, sliderClass;
options = this.options;
paneClass = options.paneClass, sliderClass = options.sliderClass, contentClass = options.contentClass;
if (!this.$el.find("." + paneClass).length && !this.$el.find("." + sliderClass).length) {
this.$el.append("<div class=\"" + paneClass + "\"><div class=\"" + sliderClass + "\" /></div>");
}
if (!this.$el.find(".pane2").length && !this.$el.find(".slider2").length) {
this.$el.append("<div class=\"pane2\"><div class=\"slider2\" /></div>");
}
this.slider = this.$el.find("." + sliderClass);
this.slider2 = this.$el.find(".slider2");
this.pane = this.$el.find("." + paneClass);
this.pane2 = this.$el.find(".pane2");
if (BROWSER_SCROLLBAR_WIDTH) {
cssRule = this.$el.css('direction') === 'rtl' ? {
left: -BROWSER_SCROLLBAR_WIDTH,
bottom: -BROWSER_SCROLLBAR_WIDTH
} : {
right: -BROWSER_SCROLLBAR_WIDTH,
bottom: -BROWSER_SCROLLBAR_WIDTH
};
this.$el.addClass('has-scrollbar');
}
if (cssRule != null) {
this.$content.css(cssRule);
}
return this;
};
/**
@method restore
@private
*/
NanoScroll.prototype.restore = function() {
this.stopped = false;
this.pane.show();
this.pane2.show();
this.addEvents();
};
/**
Resets nanoScroller's scrollbar.
@method reset
@chainable
@example
$(".nano").nanoScroller();
*/
NanoScroll.prototype.reset = function() {
var content, contentHeight, contentStyle, contentStyleOverflowY, paneBottom, paneHeight, paneOuterHeight, paneTop, sliderHeight,
contentStyleOverflowX, contentWidth, pane2Width, pane2Right, pane2Left, pane2OuterWidth, slider2Width;
if (this.iOSNativeScrolling) {
this.contentHeight = this.content.scrollHeight;
this.contentWidth = this.content.scrollWidth;
return;
}
if (!this.$el.find("." + this.options.paneClass).length) {
this.generate().stop();
}
if (!this.$el.find(".pane2").length) {
this.generate().stop();
}
if (this.stopped) {
this.restore();
}
content = this.content;
contentStyle = content.style;
contentStyleOverflowY = contentStyle.overflowY;
contentStyleOverflowX = contentStyle.overflowX;
if (BROWSER_IS_IE7) {
this.$content.css({
height: this.$content.height()
});
}
contentHeight = content.scrollHeight + BROWSER_SCROLLBAR_WIDTH;
contentWidth = content.scrollWidth + BROWSER_SCROLLBAR_WIDTH;
paneHeight = this.pane.outerHeight();
pane2Width = this.pane2.outerWidth();
paneTop = parseInt(this.pane.css('top'), 10);
pane2Left = parseInt(this.pane2.css('left'), 10);
paneBottom = parseInt(this.pane.css('bottom'), 10);
pane2Right = parseInt(this.pane2.css('right'), 10);
paneOuterHeight = paneHeight + paneTop + paneBottom;
pane2OuterWidth = pane2Width + pane2Left + pane2Right;
sliderHeight = Math.round(paneOuterHeight / contentHeight * paneOuterHeight);
slider2Width = Math.round(pane2OuterWidth / contentWidth * pane2OuterWidth);
if (sliderHeight < this.options.sliderMinHeight) {
sliderHeight = this.options.sliderMinHeight;
} else if ((this.options.sliderMaxHeight != null) && sliderHeight > this.options.sliderMaxHeight) {
sliderHeight = this.options.sliderMaxHeight;
}
if (slider2Width < this.options.sliderMinHeight) {
slider2Width = this.options.sliderMinHeight;
} else if ((this.options.sliderMaxHeight != null) && slider2Width > this.options.sliderMaxHeight) {
slider2Width = this.options.sliderMaxHeight;
}
if (contentStyleOverflowY === SCROLL && contentStyle.overflowX !== SCROLL) {
sliderHeight += BROWSER_SCROLLBAR_WIDTH;
}
if (contentStyleOverflowX === SCROLL && contentStyle.overflowY !== SCROLL) {
slider2Width += BROWSER_SCROLLBAR_WIDTH;
}
this.maxSliderTop = paneOuterHeight - sliderHeight;
this.maxSlider2Left = pane2OuterWidth - slider2Width;
this.contentHeight = contentHeight;
this.contentWidth = contentWidth;
this.paneHeight = paneHeight;
this.pane2Width = pane2Width;
this.paneOuterHeight = paneOuterHeight;
this.pane2OuterWidth = pane2OuterWidth;
this.sliderHeight = sliderHeight;
this.slider2Width = slider2Width;
this.slider.height(sliderHeight);
this.slider2.width(slider2Width);
this.events.scroll();
this.pane.show();
this.pane2.show();
this.isActive = true;
if ((content.scrollHeight === content.clientHeight) || (this.pane.outerHeight(true) >= content.scrollHeight && contentStyleOverflowY !== SCROLL)) {
this.pane.hide();
this.isActive = false;
} else if (this.el.clientHeight === content.scrollHeight && contentStyleOverflowY === SCROLL) {
this.slider.hide();
} else {
this.slider.show();
}
this.isActive2 = true;
if ((content.scrollWidth === content.clientWidth) || (this.pane2.outerWidth(true) >= content.scrollWidth - 30 && contentStyleOverflowX !== SCROLL)) {
this.pane2.hide();
this.isActive2 = false;
} else if (this.el.clientWidth === content.scrollWidth && contentStyleOverflowX === SCROLL) {
this.slider2.hide();
} else {
this.slider2.show();
}
this.pane.css({
opacity: (this.options.alwaysVisible ? 1 : ''),
visibility: (this.options.alwaysVisible ? 'visible' : '')
});
this.pane2.css({
opacity: (this.options.alwaysVisible ? 1 : ''),
visibility: (this.options.alwaysVisible ? 'visible' : '')
});
return this;
};
/**
@method scroll
@private
@example
$(".nano").nanoScroller({ scroll: 'top' });
*/
NanoScroll.prototype.scroll = function() {
if (!this.isActive && !this.isActive2) {
return;
}
if (this.isActive) {
this.sliderY = Math.max(0, this.sliderY);
this.sliderY = Math.min(this.maxSliderTop, this.sliderY);
this.$content.scrollTop((this.paneHeight - this.contentHeight + BROWSER_SCROLLBAR_WIDTH) * this.sliderY / this.maxSliderTop * -1);
}
if (this.isActive2) {
this.slider2X = Math.max(0, this.slider2X);
this.slider2X = Math.min(this.maxSlider2Left, this.slider2X);
this.$content.scrollLeft((this.pane2Width - this.contentWidth + BROWSER_SCROLLBAR_WIDTH) * this.slider2X / this.maxSlider2Left * -1);
}
if (!this.iOSNativeScrolling) {
if (this.isActive) {
this.slider.css({
top: this.sliderY
});
}
if (this.isActive2) {
this.slider2.css({
left: this.slider2X
});
}
}
return this;
};
/**
Scroll at the bottom with an offset value
@method scrollBottom
@param offsetY {Number}
@chainable
@example
$(".nano").nanoScroller({ scrollBottom: value });
*/
NanoScroll.prototype.scrollBottom = function(offsetY) {
if (!this.isActive && !this.isActive2) {
return;
}
this.reset();
this.$content.scrollTop(this.contentHeight - this.$content.height() - offsetY).trigger(MOUSEWHEEL);
return this;
};
/**
Scroll at the top with an offset value
@method scrollTop
@param offsetY {Number}
@chainable
@example
$(".nano").nanoScroller({ scrollTop: value });
*/
NanoScroll.prototype.scrollTop = function(offsetY) {
if (!this.isActive && !this.isActive2) {
return;
}
this.reset();
this.$content.scrollTop(+offsetY).trigger(MOUSEWHEEL);
return this;
};
/**
Scroll to an element
@method scrollTo
@param node {Node} A node to scroll to.
@chainable
@example
$(".nano").nanoScroller({ scrollTo: $('#a_node') });
*/
NanoScroll.prototype.scrollTo = function(node) {
if (!this.isActive && !this.isActive2) {
return;
}
this.reset();
this.scrollTop($(node).get(0).offsetTop);
return this;
};
/**
To stop the operation.
This option will tell the plugin to disable all event bindings and hide the gadget scrollbar from the UI.
@method stop
@chainable
@example
$(".nano").nanoScroller({ stop: true });
*/
NanoScroll.prototype.stop = function() {
this.stopped = true;
this.removeEvents();
this.pane.hide();
return this;
};
/**
To flash the scrollbar gadget for an amount of time defined in plugin settings (defaults to 1,5s).
Useful if you want to show the user (e.g. on pageload) that there is more content waiting for him.
@method flash
@chainable
@example
$(".nano").nanoScroller({ flash: true });
*/
NanoScroll.prototype.flash = function() {
var _this = this;
if (!this.isActive && !this.isActive2) {
return;
}
this.reset();
this.pane.addClass('flashed');
setTimeout(function() {
_this.pane.removeClass('flashed');
}, this.options.flashDelay);
return this;
};
return NanoScroll;
})();
$.fn.nanoScroller = function(settings) {
return this.each(function() {
var options, scrollbar;
if (!(scrollbar = this.nanoscroller)) {
options = $.extend({}, defaults, settings);
this.nanoscroller = scrollbar = new NanoScroll(this, options);
}
if (settings && typeof settings === "object") {
$.extend(scrollbar.options, settings);
if (settings.scrollBottom) {
return scrollbar.scrollBottom(settings.scrollBottom);
}
if (settings.scrollTop) {
return scrollbar.scrollTop(settings.scrollTop);
}
if (settings.scrollTo) {
return scrollbar.scrollTo(settings.scrollTo);
}
if (settings.scroll === 'bottom') {
return scrollbar.scrollBottom(0);
}
if (settings.scroll === 'top') {
return scrollbar.scrollTop(0);
}
if (settings.scroll && settings.scroll instanceof $) {
return scrollbar.scrollTo(settings.scroll);
}
if (settings.stop) {
return scrollbar.stop();
}
if (settings.flash) {
return scrollbar.flash();
}
}
return scrollbar.reset();
});
};
})(jQuery, window, document);

View file

@ -0,0 +1,753 @@
/*! nanoScrollerJS - v0.7
* http://jamesflorentino.github.com/nanoScrollerJS/
* Copyright (c) 2013 James Florentino; Licensed under MIT */
(function($, window, document) {
"use strict";
var BROWSER_IS_IE7, BROWSER_SCROLLBAR_WIDTH, DOMSCROLL, DOWN, DRAG, KEYDOWN, KEYUP, MOUSEDOWN, MOUSEMOVE, MOUSEUP, MOUSEWHEEL, NanoScroll, PANEDOWN, RESIZE, SCROLL, SCROLLBAR, TOUCHMOVE, UP, WHEEL, defaults, getBrowserScrollbarWidth;
defaults = {
/**
a classname for the pane element.
@property paneClass
@type String
@default 'pane'
*/
paneClass: 'pane',
/**
a classname for the slider element.
@property sliderClass
@type String
@default 'slider'
*/
sliderClass: 'slider',
/**
a classname for the content element.
@property contentClass
@type String
@default 'content'
*/
contentClass: 'content',
/**
a setting to enable native scrolling in iOS devices.
@property iOSNativeScrolling
@type Boolean
@default false
*/
iOSNativeScrolling: false,
/**
a setting to prevent the rest of the page being
scrolled when user scrolls the `.content` element.
@property preventPageScrolling
@type Boolean
@default false
*/
preventPageScrolling: false,
/**
a setting to disable binding to the resize event.
@property disableResize
@type Boolean
@default false
*/
disableResize: false,
/**
a setting to make the scrollbar always visible.
@property alwaysVisible
@type Boolean
@default false
*/
alwaysVisible: false,
/**
a default timeout for the `flash()` method.
@property flashDelay
@type Number
@default 1500
*/
flashDelay: 1500,
/**
a minimum height for the `.slider` element.
@property sliderMinHeight
@type Number
@default 20
*/
sliderMinHeight: 20,
/**
a maximum height for the `.slider` element.
@property sliderMaxHeight
@type Number
@default null
*/
sliderMaxHeight: null
};
/**
@property SCROLLBAR
@type String
@static
@final
@private
*/
SCROLLBAR = 'scrollbar';
/**
@property SCROLL
@type String
@static
@final
@private
*/
SCROLL = 'scroll';
/**
@property MOUSEDOWN
@type String
@final
@private
*/
MOUSEDOWN = 'mousedown';
/**
@property MOUSEMOVE
@type String
@static
@final
@private
*/
MOUSEMOVE = 'mousemove';
/**
@property MOUSEWHEEL
@type String
@final
@private
*/
MOUSEWHEEL = 'mousewheel';
/**
@property MOUSEUP
@type String
@static
@final
@private
*/
MOUSEUP = 'mouseup';
/**
@property RESIZE
@type String
@final
@private
*/
RESIZE = 'resize';
/**
@property DRAG
@type String
@static
@final
@private
*/
DRAG = 'drag';
/**
@property UP
@type String
@static
@final
@private
*/
UP = 'up';
/**
@property PANEDOWN
@type String
@static
@final
@private
*/
PANEDOWN = 'panedown';
/**
@property DOMSCROLL
@type String
@static
@final
@private
*/
DOMSCROLL = 'DOMMouseScroll';
/**
@property DOWN
@type String
@static
@final
@private
*/
DOWN = 'down';
/**
@property WHEEL
@type String
@static
@final
@private
*/
WHEEL = 'wheel';
/**
@property KEYDOWN
@type String
@static
@final
@private
*/
KEYDOWN = 'keydown';
/**
@property KEYUP
@type String
@static
@final
@private
*/
KEYUP = 'keyup';
/**
@property TOUCHMOVE
@type String
@static
@final
@private
*/
TOUCHMOVE = 'touchmove';
/**
@property BROWSER_IS_IE7
@type Boolean
@static
@final
@private
*/
BROWSER_IS_IE7 = window.navigator.appName === 'Microsoft Internet Explorer' && /msie 7./i.test(window.navigator.appVersion) && window.ActiveXObject;
/**
@property BROWSER_SCROLLBAR_WIDTH
@type Number
@static
@default null
@private
*/
BROWSER_SCROLLBAR_WIDTH = null;
/**
Returns browser's native scrollbar width
@method getBrowserScrollbarWidth
@return {Number} the scrollbar width in pixels
@static
@private
*/
getBrowserScrollbarWidth = function() {
var outer, outerStyle, scrollbarWidth;
outer = document.createElement('div');
outerStyle = outer.style;
outerStyle.position = 'absolute';
outerStyle.width = '100px';
outerStyle.height = '100px';
outerStyle.overflow = SCROLL;
outerStyle.top = '-9999px';
document.body.appendChild(outer);
scrollbarWidth = outer.offsetWidth - outer.clientWidth;
document.body.removeChild(outer);
return scrollbarWidth;
};
/**
@class NanoScroll
@param element {HTMLElement|Node} the main element
@param options {Object} nanoScroller's options
@constructor
*/
NanoScroll = (function() {
function NanoScroll(el, options) {
this.el = el;
this.options = options;
BROWSER_SCROLLBAR_WIDTH || (BROWSER_SCROLLBAR_WIDTH = getBrowserScrollbarWidth());
this.$el = $(this.el);
this.doc = $(document);
this.win = $(window);
this.$content = this.$el.children("." + options.contentClass);
this.$content.attr('tabindex', 0);
this.content = this.$content[0];
if (this.options.iOSNativeScrolling && (this.el.style.WebkitOverflowScrolling != null)) {
this.nativeScrolling();
} else {
this.generate();
}
this.createEvents();
this.addEvents();
this.reset();
}
/**
Prevents the rest of the page being scrolled
when user scrolls the `.content` element.
@method preventScrolling
@param event {Event}
@param direction {String} Scroll direction (up or down)
@private
*/
NanoScroll.prototype.preventScrolling = function(e, direction) {
if (!this.isActive) {
return;
}
if (e.type === DOMSCROLL) {
if (direction === DOWN && e.originalEvent.detail > 0 || direction === UP && e.originalEvent.detail < 0) {
e.preventDefault();
}
} else if (e.type === MOUSEWHEEL) {
if (!e.originalEvent || !e.originalEvent.wheelDelta) {
return;
}
if (direction === DOWN && e.originalEvent.wheelDelta < 0 || direction === UP && e.originalEvent.wheelDelta > 0) {
e.preventDefault();
}
}
};
/**
Enable iOS native scrolling
*/
NanoScroll.prototype.nativeScrolling = function() {
this.$content.css({
WebkitOverflowScrolling: 'touch'
});
this.iOSNativeScrolling = true;
this.isActive = true;
};
/**
Updates those nanoScroller properties that
are related to current scrollbar position.
@method updateScrollValues
@private
*/
NanoScroll.prototype.updateScrollValues = function() {
var content;
content = this.content;
this.maxScrollTop = content.scrollHeight - content.clientHeight;
this.contentScrollTop = content.scrollTop;
if (!this.iOSNativeScrolling) {
this.maxSliderTop = this.paneHeight - this.sliderHeight;
this.sliderTop = this.contentScrollTop * this.maxSliderTop / this.maxScrollTop;
}
};
/**
Creates event related methods
@method createEvents
@private
*/
NanoScroll.prototype.createEvents = function() {
var _this = this;
this.events = {
down: function(e) {
_this.isBeingDragged = true;
_this.offsetY = e.pageY - _this.slider.offset().top;
_this.pane.addClass('active');
_this.doc.bind(MOUSEMOVE, _this.events[DRAG]).bind(MOUSEUP, _this.events[UP]);
return false;
},
drag: function(e) {
_this.sliderY = e.pageY - _this.$el.offset().top - _this.offsetY;
_this.scroll();
_this.updateScrollValues();
if (_this.contentScrollTop >= _this.maxScrollTop) {
_this.$el.trigger('scrollend');
} else if (_this.contentScrollTop === 0) {
_this.$el.trigger('scrolltop');
}
return false;
},
up: function(e) {
_this.isBeingDragged = false;
_this.pane.removeClass('active');
_this.doc.unbind(MOUSEMOVE, _this.events[DRAG]).unbind(MOUSEUP, _this.events[UP]);
return false;
},
resize: function(e) {
_this.reset();
},
panedown: function(e) {
_this.sliderY = (e.offsetY || e.originalEvent.layerY) - (_this.sliderHeight * 0.5);
_this.scroll();
_this.events.down(e);
return false;
},
scroll: function(e) {
if (_this.isBeingDragged) {
return;
}
_this.updateScrollValues();
if (!_this.iOSNativeScrolling) {
_this.sliderY = _this.sliderTop;
_this.slider.css({
top: _this.sliderTop
});
}
if (e == null) {
return;
}
if (_this.contentScrollTop >= _this.maxScrollTop) {
if (_this.options.preventPageScrolling) {
_this.preventScrolling(e, DOWN);
}
_this.$el.trigger('scrollend');
} else if (_this.contentScrollTop === 0) {
if (_this.options.preventPageScrolling) {
_this.preventScrolling(e, UP);
}
_this.$el.trigger('scrolltop');
}
},
wheel: function(e) {
if (e == null) {
return;
}
_this.sliderY += -e.wheelDeltaY || -e.delta;
_this.scroll();
return false;
}
};
};
/**
Adds event listeners with jQuery.
@method addEvents
@private
*/
NanoScroll.prototype.addEvents = function() {
var events;
this.removeEvents();
events = this.events;
if (!this.options.disableResize) {
this.win.bind(RESIZE, events[RESIZE]);
}
if (!this.iOSNativeScrolling) {
this.slider.bind(MOUSEDOWN, events[DOWN]);
this.pane.bind(MOUSEDOWN, events[PANEDOWN]).bind("" + MOUSEWHEEL + " " + DOMSCROLL, events[WHEEL]);
}
this.$content.bind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
};
/**
Removes event listeners with jQuery.
@method removeEvents
@private
*/
NanoScroll.prototype.removeEvents = function() {
var events;
events = this.events;
this.win.unbind(RESIZE, events[RESIZE]);
if (!this.iOSNativeScrolling) {
this.slider.unbind();
this.pane.unbind();
}
this.$content.unbind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
};
/**
Generates nanoScroller's scrollbar and elements for it.
@method generate
@chainable
@private
*/
NanoScroll.prototype.generate = function() {
var contentClass, cssRule, options, paneClass, sliderClass;
options = this.options;
paneClass = options.paneClass, sliderClass = options.sliderClass, contentClass = options.contentClass;
if (!this.$el.find("" + paneClass).length && !this.$el.find("" + sliderClass).length) {
this.$el.append("<div class=\"" + paneClass + "\"><div class=\"" + sliderClass + "\" /></div>");
}
this.slider = this.$el.find("." + sliderClass);
this.pane = this.$el.find("." + paneClass);
if (BROWSER_SCROLLBAR_WIDTH) {
cssRule = this.$el.css('direction') === 'rtl' ? {
left: -BROWSER_SCROLLBAR_WIDTH
} : {
right: -BROWSER_SCROLLBAR_WIDTH,
bottom: -BROWSER_SCROLLBAR_WIDTH
};
this.$el.addClass('has-scrollbar');
}
if (cssRule != null) {
this.$content.css(cssRule);
}
return this;
};
/**
@method restore
@private
*/
NanoScroll.prototype.restore = function() {
this.stopped = false;
this.pane.show();
this.addEvents();
};
/**
Resets nanoScroller's scrollbar.
@method reset
@chainable
@example
$(".nano").nanoScroller();
*/
NanoScroll.prototype.reset = function() {
var content, contentHeight, contentStyle, contentStyleOverflowY, paneBottom, paneHeight, paneOuterHeight, paneTop, sliderHeight;
if (this.iOSNativeScrolling) {
this.contentHeight = this.content.scrollHeight;
return;
}
if (!this.$el.find("." + this.options.paneClass).length) {
this.generate().stop();
}
if (this.stopped) {
this.restore();
}
content = this.content;
contentStyle = content.style;
contentStyleOverflowY = contentStyle.overflowY;
if (BROWSER_IS_IE7) {
this.$content.css({
height: this.$content.height()
});
}
contentHeight = content.scrollHeight + BROWSER_SCROLLBAR_WIDTH;
paneHeight = this.pane.outerHeight();
paneTop = parseInt(this.pane.css('top'), 10);
paneBottom = parseInt(this.pane.css('bottom'), 10);
paneOuterHeight = paneHeight + paneTop + paneBottom;
sliderHeight = Math.round(paneOuterHeight / contentHeight * paneOuterHeight);
if (sliderHeight < this.options.sliderMinHeight) {
sliderHeight = this.options.sliderMinHeight;
} else if ((this.options.sliderMaxHeight != null) && sliderHeight > this.options.sliderMaxHeight) {
sliderHeight = this.options.sliderMaxHeight;
}
if (contentStyleOverflowY === SCROLL && contentStyle.overflowX !== SCROLL) {
sliderHeight += BROWSER_SCROLLBAR_WIDTH;
}
this.maxSliderTop = paneOuterHeight - sliderHeight;
this.contentHeight = contentHeight;
this.paneHeight = paneHeight;
this.paneOuterHeight = paneOuterHeight;
this.sliderHeight = sliderHeight;
this.slider.height(sliderHeight);
this.events.scroll();
this.pane.show();
this.isActive = true;
if ((content.scrollHeight === content.clientHeight) || (this.pane.outerHeight(true) >= content.scrollHeight && contentStyleOverflowY !== SCROLL)) {
this.pane.hide();
this.isActive = false;
} else if (this.el.clientHeight === content.scrollHeight && contentStyleOverflowY === SCROLL) {
this.slider.hide();
} else {
this.slider.show();
}
this.pane.css({
opacity: (this.options.alwaysVisible ? 1 : ''),
visibility: (this.options.alwaysVisible ? 'visible' : '')
});
return this;
};
/**
@method scroll
@private
@example
$(".nano").nanoScroller({ scroll: 'top' });
*/
NanoScroll.prototype.scroll = function() {
if (!this.isActive) {
return;
}
this.sliderY = Math.max(0, this.sliderY);
this.sliderY = Math.min(this.maxSliderTop, this.sliderY);
this.$content.scrollTop((this.paneHeight - this.contentHeight + BROWSER_SCROLLBAR_WIDTH) * this.sliderY / this.maxSliderTop * -1);
if (!this.iOSNativeScrolling) {
this.slider.css({
top: this.sliderY
});
}
return this;
};
/**
Scroll at the bottom with an offset value
@method scrollBottom
@param offsetY {Number}
@chainable
@example
$(".nano").nanoScroller({ scrollBottom: value });
*/
NanoScroll.prototype.scrollBottom = function(offsetY) {
if (!this.isActive) {
return;
}
this.reset();
this.$content.scrollTop(this.contentHeight - this.$content.height() - offsetY).trigger(MOUSEWHEEL);
return this;
};
/**
Scroll at the top with an offset value
@method scrollTop
@param offsetY {Number}
@chainable
@example
$(".nano").nanoScroller({ scrollTop: value });
*/
NanoScroll.prototype.scrollTop = function(offsetY) {
if (!this.isActive) {
return;
}
this.reset();
this.$content.scrollTop(+offsetY).trigger(MOUSEWHEEL);
return this;
};
/**
Scroll to an element
@method scrollTo
@param node {Node} A node to scroll to.
@chainable
@example
$(".nano").nanoScroller({ scrollTo: $('#a_node') });
*/
NanoScroll.prototype.scrollTo = function(node) {
if (!this.isActive) {
return;
}
this.reset();
this.scrollTop($(node).get(0).offsetTop);
return this;
};
/**
To stop the operation.
This option will tell the plugin to disable all event bindings and hide the gadget scrollbar from the UI.
@method stop
@chainable
@example
$(".nano").nanoScroller({ stop: true });
*/
NanoScroll.prototype.stop = function() {
this.stopped = true;
this.removeEvents();
this.pane.hide();
return this;
};
/**
To flash the scrollbar gadget for an amount of time defined in plugin settings (defaults to 1,5s).
Useful if you want to show the user (e.g. on pageload) that there is more content waiting for him.
@method flash
@chainable
@example
$(".nano").nanoScroller({ flash: true });
*/
NanoScroll.prototype.flash = function() {
var _this = this;
if (!this.isActive) {
return;
}
this.reset();
this.pane.addClass('flashed');
setTimeout(function() {
_this.pane.removeClass('flashed');
}, this.options.flashDelay);
return this;
};
return NanoScroll;
})();
$.fn.nanoScroller = function(settings) {
return this.each(function() {
var options, scrollbar;
if (!(scrollbar = this.nanoscroller)) {
options = $.extend({}, defaults, settings);
this.nanoscroller = scrollbar = new NanoScroll(this, options);
}
if (settings && typeof settings === "object") {
$.extend(scrollbar.options, settings);
if (settings.scrollBottom) {
return scrollbar.scrollBottom(settings.scrollBottom);
}
if (settings.scrollTop) {
return scrollbar.scrollTop(settings.scrollTop);
}
if (settings.scrollTo) {
return scrollbar.scrollTo(settings.scrollTo);
}
if (settings.scroll === 'bottom') {
return scrollbar.scrollBottom(0);
}
if (settings.scroll === 'top') {
return scrollbar.scrollTop(0);
}
if (settings.scroll && settings.scroll instanceof $) {
return scrollbar.scrollTo(settings.scroll);
}
if (settings.stop) {
return scrollbar.stop();
}
if (settings.flash) {
return scrollbar.flash();
}
}
return scrollbar.reset();
});
};
})(jQuery, window, document);

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,116 @@
/** initial setup **/
.nano {
/*
position : relative;
width : 100%;
height : 100%;*/
overflow : hidden !important;
}
.nano .content {
position : absolute;
overflow : scroll;
/*overflow-x : hidden;*/
top : 0;
right : 0;
bottom : 0;
left : 0;
-webkit-overflow-scrolling: touch;
}
.nano .content .content-wrapper {
height: 100%;
}
.nano .content::-webkit-scrollbar {
visibility: hidden;
}
.has-scrollbar .content::-webkit-scrollbar {
/*visibility: visible;*/
visibility: hidden;
}
.nano-visibility-hidden::-webkit-scrollbar {
visibility: hidden;
}
.nano > .pane {
background : none;
position : absolute;
width : 5px;
right : 0;
top : 1px;
bottom : 1px;
opacity : .01;
filter: alpha(opacity=1);
-webkit-transition : .4s;
-moz-transition : .4s;
-o-transition : .4s;
transition : .4s;
-moz-border-radius : 5px;
-webkit-border-radius : 5px;
border-radius : 5px;
z-index: 10000;
margin : 2px;
}
.nano > .pane2 {
background : none;
position : absolute;
height : 5px;
right : 1px;
left : 1px;
bottom : 0;
opacity : .01;
filter: alpha(opacity=1);
-webkit-transition : .4s;
-moz-transition : .4s;
-o-transition : .4s;
transition : .4s;
-moz-border-radius : 5px;
-webkit-border-radius : 5px;
border-radius : 5px;
z-index: 10000;
margin : 2px;
}
.nano > .pane > .slider {
background-color: #999;
background-color: rgba(0, 0, 0, 0.3);
position : relative;
margin : 0;
-moz-border-radius : 3px;
-webkit-border-radius : 3px;
border-radius : 3px;
width : 5px;
}
.nano > .pane2 > .slider2 {
background-color: #999;
background-color: rgba(0, 0, 0, 0.3);
position : relative;
margin : 0;
-moz-border-radius : 3px;
-webkit-border-radius : 3px;
border-radius : 3px;
height : 5px;
}
.nano:hover > .pane, .nano:hover > .pane2, .pane.active, .pane2.active, .pane.flashed, .pane2.flashed {
visibility : visible\9; /* Target only IE7 and IE8 with this hack */
opacity : 0.99;
filter: alpha(opacity=99);
}
.nano > .pane:hover, .nano > .pane.active {
background-color: rgba(0, 0, 0, 0.15);
}
.nano > .pane2:hover, .nano > .pane2.active {
background-color: rgba(0, 0, 0, 0.15);
}
.nano > .pane:hover > .slider, .nano > .pane.active > .slider {
background-color: rgba(0, 0, 0, 0.4);
}
.nano > .pane2:hover > .slider2, .nano > .pane2.active > .slider2 {
background-color: rgba(0, 0, 0, 0.4);
}

View file

@ -0,0 +1,72 @@
/* http://james.padolsey.com/javascript/special-scroll-events-for-jquery/ */
(function(){
var special = jQuery.event.special,
uid1 = "D" + (+new Date()),
uid2 = "D" + (+new Date() + 1);
special.scrollstart = {
setup: function() {
var timer,
handler = function(evt) {
var _self = this,
_args = arguments;
if (timer) {
clearTimeout(timer);
} else {
evt.type = "scrollstart";
jQuery.event.dispatch.apply(_self, _args);
}
timer = setTimeout( function(){
timer = null;
}, special.scrollstop.latency);
};
jQuery(this).bind("scroll", handler).data(uid1, handler);
},
teardown: function(){
jQuery(this).unbind( "scroll", jQuery(this).data(uid1) );
}
};
special.scrollstop = {
latency: 300,
setup: function() {
var timer,
handler = function(evt) {
var _self = this,
_args = arguments;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout( function(){
timer = null;
evt.type = "scrollstop";
jQuery.event.dispatch.apply(_self, _args);
}, special.scrollstop.latency);
};
jQuery(this).bind("scroll", handler).data(uid2, handler);
},
teardown: function() {
jQuery(this).unbind( "scroll", jQuery(this).data(uid2) );
}
};
})();

View file

@ -0,0 +1,2 @@
/* http://james.padolsey.com/javascript/special-scroll-events-for-jquery/ */
!function(){var a=jQuery.event.special,b="D"+ +new Date,c="D"+(+new Date+1);a.scrollstart={setup:function(){var c,d=function(b){var d=this,e=arguments;c?clearTimeout(c):(b.type="scrollstart",jQuery.event.dispatch.apply(d,e)),c=setTimeout(function(){c=null},a.scrollstop.latency)};jQuery(this).bind("scroll",d).data(b,d)},teardown:function(){jQuery(this).unbind("scroll",jQuery(this).data(b))}},a.scrollstop={latency:300,setup:function(){var b,d=function(c){var d=this,e=arguments;b&&clearTimeout(b),b=setTimeout(function(){b=null,c.type="scrollstop",jQuery.event.dispatch.apply(d,e)},a.scrollstop.latency)};jQuery(this).bind("scroll",d).data(c,d)},teardown:function(){jQuery(this).unbind("scroll",jQuery(this).data(c))}}}();

245
vendors/jquery-ui/AUTHORS.txt vendored Normal file
View file

@ -0,0 +1,245 @@
Authors ordered by first contribution
A list of current team members is available at http://jqueryui.com/about
Paul Bakaus <paul.bakaus@googlemail.com>
Richard Worth <rdworth@gmail.com>
Yehuda Katz <wycats@gmail.com>
Sean Catchpole <sean@sunsean.com>
John Resig <jeresig@gmail.com>
Tane Piper <piper.tane@gmail.com>
Dmitri Gaskin <dmitrig01@gmail.com>
Klaus Hartl <klaus.hartl@googlemail.com>
Stefan Petre <stefan.petre@gmail.com>
Gilles van den Hoven <gilles@webunity.nl>
Micheil Bryan Smith <micheil@brandedcode.com>
Jörn Zaefferer <joern.zaefferer@gmail.com>
Marc Grabanski <m@marcgrabanski.com>
Keith Wood <kbwood.au@gmail.com>
Brandon Aaron <brandon.aaron@gmail.com>
Scott González <scott.gonzalez@gmail.com>
Eduardo Lundgren <eduardolundgren@gmail.com>
Aaron Eisenberger <aaronchi@gmail.com>
Joan Piedra <theneojp@gmail.com>
Bruno Basto <b.basto@gmail.com>
Remy Sharp <remy@leftlogic.com>
Bohdan Ganicky <bohdan.ganicky@gmail.com>
David Bolter <david.bolter@gmail.com>
Chi Cheng <cloudream@gmail.com>
Ca-Phun Ung <pazu2k@gmail.com>
Ariel Flesler <aflesler@gmail.com>
Maggie Costello Wachs <fg.maggie@gmail.com>
Scott Jehl <scott@scottjehl.com>
Todd Parker <fg.todd@gmail.com>
Andrew Powell <powella@gmail.com>
Brant Burnett <btburnett3@gmail.com>
Douglas Neiner <doug@pixelgraphics.us>
Paul Irish <paul.irish@gmail.com>
Ralph Whitbeck <ralph.whitbeck@gmail.com>
Thibault Duplessis <thibault.duplessis@gmail.com>
Dominique Vincent <dominique.vincent@toitl.com>
Jack Hsu <jack.hsu@gmail.com>
Adam Sontag <ajpiano@ajpiano.com>
Carl Fürstenberg <carl@excito.com>
Kevin Dalman <development@allpro.net>
Alberto Fernández Capel <afcapel@gmail.com>
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
Ting Kuei <ting@kuei.com>
Samuel Cormier-Iijima <sam@chide.it>
Jon Palmer <jonspalmer@gmail.com>
Ben Hollis <bhollis@amazon.com>
Justin MacCarthy <Justin@Rubystars.biz>
Eyal Kobrigo <kobrigo@hotmail.com>
Tiago Freire <tiago.freire@gmail.com>
Diego Tres <diegotres@gmail.com>
Holger Rüprich <holger@rueprich.de>
Ziling Zhao <zizhao@cisco.com>
Mike Alsup <malsup@gmail.com>
Robson Braga Araujo <robsonbraga@gmail.com>
Pierre-Henri Ausseil <ph.ausseil@gmail.com>
Christopher McCulloh <cmcculloh@gmail.com>
Andrew Newcomb <ext.github@preceptsoftware.co.uk>
Lim Chee Aun <cheeaun@gmail.com>
Jorge Barreiro <yortx.barry@gmail.com>
Daniel Steigerwald <daniel@steigerwald.cz>
John Firebaugh <john_firebaugh@bigfix.com>
John Enters <github@darkdark.net>
Andrey Kapitcyn <ru.m157y@gmail.com>
Dmitry Petrov <dpetroff@gmail.com>
Eric Hynds <eric@hynds.net>
Chairat Sunthornwiphat <pipo@sixhead.com>
Josh Varner <josh.varner@gmail.com>
Stéphane Raimbault <stephane.raimbault@gmail.com>
Jay Merrifield <fracmak@gmail.com>
J. Ryan Stinnett <jryans@gmail.com>
Peter Heiberg <peter@heiberg.se>
Alex Dovenmuehle <adovenmuehle@gmail.com>
Jamie Gegerson <git@jamiegegerson.com>
Raymond Schwartz <skeetergraphics@gmail.com>
Phillip Barnes <philbar@gmail.com>
Kyle Wilkinson <kai@wikyd.org>
Khaled AlHourani <me@khaledalhourani.com>
Marian Rudzynski <mr@impaled.org>
Jean-Francois Remy <jfremy@virtuoz.com>
Doug Blood <dougblood@gmail.com>
Filippo Cavallarin <filippo.cavallarin@codseq.it>
Heiko Henning <h.henning@educa.ch>
Aliaksandr Rahalevich <saksmlz@gmail.com>
Mario Visic <mario@mariovisic.com>
Xavi Ramirez <xavi.rmz@gmail.com>
Max Schnur <max.schnur@gmail.com>
Saji Nediyanchath <saji89@gmail.com>
Corey Frang <gnarf@gnarf.net>
Aaron Peterson <aaronp123@yahoo.com>
Ivan Peters <ivan@ivanpeters.com>
Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
Marcos Sousa <falecomigo@marcossousa.com>
Michael DellaNoce <mdellanoce@mailtrust.com>
George Marshall <echosx@gmail.com>
Tobias Brunner <tobias@strongswan.org>
Martin Solli <msolli@gmail.com>
David Petersen <public@petersendidit.com>
Dan Heberden <danheberden@gmail.com>
William Kevin Manire <williamkmanire@gmail.com>
Gilmore Davidson <gilmoreorless@gmail.com>
Michael Wu <michaelmwu@gmail.com>
Adam Parod <mystic414@gmail.com>
Guillaume Gautreau <guillaume+github@ghusse.com>
Marcel Toele <EleotleCram@gmail.com>
Dan Streetman <ddstreet@ieee.org>
Matt Hoskins <furlined@cat-basket.org>
Giovanni Giacobbi <giovanni@giacobbi.net>
Kyle Florence <kyle.florence@gmail.com>
Pavol Hluchý <lopo@losys.sk>
Hans Hillen <hans.hillen@gmail.com>
Mark Johnson <virgofx@live.com>
Trey Hunner <treyhunner@gmail.com>
Shane Whittet <whittet@gmail.com>
Edward A Faulkner <ef@alum.mit.edu>
Adam Baratz <adam@adambaratz.com>
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
Eike Send <eike.send@gmail.com>
Kris Borchers <kris.borchers@gmail.com>
Eddie Monge <eddie@eddiemonge.com>
Israel Tsadok <itsadok@gmail.com>
Carson McDonald <carson@ioncannon.net>
Jason Davies <jason@jasondavies.com>
Garrison Locke <gplocke@gmail.com>
David Murdoch <musicisair@yahoo.com>
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
Jesse Baird <jebaird@gmail.com>
Jonathan Vingiano <jvingiano@gmail.com>
Dylan Just <dev@ephox.com>
Hiroshi Tomita <tomykaira@gmail.com>
Glenn Goodrich <glenn.goodrich@gmail.com>
Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
Ryan Neufeld <ryan@neufeldmail.com>
Marc Neuwirth <marc.neuwirth@gmail.com>
Philip Graham <philip.robert.graham@gmail.com>
Benjamin Sterling <benjamin.sterling@kenzomedia.com>
Wesley Walser <waw325@gmail.com>
Kouhei Sutou <kou@clear-code.com>
Karl Kirch <karlkrch@gmail.com>
Chris Kelly <ckdake@ckdake.com>
Jay Oster <jay@loyalize.com>
Alexander Polomoshnov <alex.polomoshnov@gmail.com>
David Leal <dgleal@gmail.com>
Igor Milla <igor.fsp.milla@gmail.com>
Dave Methvin <dave.methvin@gmail.com>
Florian Gutmann <f.gutmann@chronimo.com>
Marwan Al Jubeh <marwan.aljubeh@gmail.com>
Milan Broum <midlis@googlemail.com>
Sebastian Sauer <info@dynpages.de>
Gaëtan Muller <m.gaetan89@gmail.com>
Michel Weimerskirch <michel@weimerskirch.net>
William Griffiths <william@ycymro.com>
Stojce Slavkovski <stojce@gmail.com>
David Soms <david.soms@gmail.com>
David De Sloovere <david.desloovere@hotmail.com>
Michael P. Jung <michael.jung@terreon.de>
Shannon Pekary <spekary@gmail.com>
Matthew Edward Hutton <meh@corefiling.co.uk>
James Khoury <james@jameskhoury.com>
Rob Loach <robloach@gmail.com>
Alberto Monteiro <betimbrasil@gmail.com>
Alex Rhea <alex.rhea@gmail.com>
Krzysztof Rosiński <rozwell69@gmail.com>
Ryan Olton <oltonr@gmail.com>
Genie <386@mail.com>
Rick Waldron <waldron.rick@gmail.com>
Ian Simpson <spoonlikesham@gmail.com>
Lev Kitsis <spam4lev@gmail.com>
TJ VanToll <tj.vantoll@gmail.com>
Justin Domnitz <jdomnitz@gmail.com>
Douglas Cerna <douglascerna@yahoo.com>
Bert ter Heide <bertjh@hotmail.com>
Jasvir Nagra <jasvir@gmail.com>
Petr Hromadko <yuriy@tokyoscale.com>
Harri Kilpiö <harri.kilpio@gmail.com>
Lado Lomidze <lado.lomidze@gmail.com>
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Simon Sattes <simon.sattes@gmail.com>
Jo Liss <joliss42@gmail.com>
Guntupalli Karunakar <karunakarg@yahoo.com>
Shahyar Ghobadpour <shahyar@gmail.com>
Lukasz Lipinski <uzza17@gmail.com>
Timo Tijhof <krinklemail@gmail.com>
Jason Moon <jmoon@socialcast.com>
Martin Frost <martinf55@hotmail.com>
Eneko Illarramendi <eneko@illarra.com>
EungJun Yi <semtlenori@gmail.com>
Courtland Allen <courtlandallen@gmail.com>
Viktar Varvanovich <non4eg@gmail.com>
Danny Trunk <dtrunk90@gmail.com>
Pavel Stetina <pavel.stetina@nangu.tv>
Michael Stay <metaweta@gmail.com>
Steven Roussey <sroussey@gmail.com>
Michael Hollis <hollis21@gmail.com>
Lee Rowlands <lee.rowlands@previousnext.com.au>
Timmy Willison <timmywillisn@gmail.com>
Karl Swedberg <kswedberg@gmail.com>
Baoju Yuan <the_guy_1987@hotmail.com>
Maciej Mroziński <mrozik87@gmail.com>
Luis Dalmolin <luis.nh@gmail.com>
Mark Aaron Shirley <maspwr@gmail.com>
Martin Hoch <martin@fidion.de>
Jiayi Yang <tr870829@gmail.com>
Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
Sindre Sorhus <sindresorhus@gmail.com>
Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
Jared A. Scheel <jared@jaredscheel.com>
Rafael Xavier de Souza <rxaviers@gmail.com>
John Chen <zhang.z.chen@intel.com>
Dale Kocian <dale.kocian@gmail.com>
Mike Sherov <mike.sherov@gmail.com>
Andrew Couch <andy@couchand.com>
Marc-Andre Lafortune <github@marc-andre.ca>
Nate Eagle <nate.eagle@teamaol.com>
David Souther <davidsouther@gmail.com>
Mathias Stenbom <mathias@stenbom.com>
Sergey Kartashov <ebishkek@yandex.ru>
Avinash R <nashpapa@gmail.com>
Ethan Romba <ethanromba@gmail.com>
Cory Gackenheimer <cory.gack@gmail.com>
Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
Roman Salnikov <bardt.dz@gmail.com>
Anika Henke <anika@selfthinker.org>
Samuel Bovée <samycookie2000@yahoo.fr>
Fabrício Matté <ult_combo@hotmail.com>
Viktor Kojouharov <vkojouharov@gmail.com>
Pawel Maruszczyk <lord_t@o2.pl>
Pavel Selitskas <p.selitskas@gmail.com>
Bjørn Johansen <bjorn.johansen@metronet.no>
Matthieu Penant <thieum22@hotmail.com>
Dominic Barnes <dominic@dbarnes.info>
David Sullivan <david.sullivan@gmail.com>
Thomas Jaggi <thomas.jaggi@gmail.com>
Vahid Sohrabloo <vahid4134@gmail.com>
Travis Carden <travis.carden@gmail.com>
Bruno M. Custódio <bruno@brunomcustodio.com>
Nathanael Silverman <nathanael.silverman@gmail.com>
Christian Wenz <christian@wenz.org>
Steve Urmston <steve@urm.st>
Zaven Muradyan <megalivoithos@gmail.com>
Woody Gilk <shadowhand@deviantart.com>
Zbigniew Motyka <zbigniew.motyka@gmail.com>
Suhail Alkowaileet <xsoh.k7@gmail.com>

26
vendors/jquery-ui/MIT-LICENSE.txt vendored Normal file
View file

@ -0,0 +1,26 @@
Copyright 2013 jQuery Foundation and other contributors,
http://jqueryui.com/
This software consists of voluntary contributions made by many
individuals (AUTHORS.txt, http://jqueryui.com/about) For exact
contribution history, see the revision history and logs, available
at http://jquery-ui.googlecode.com/svn/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

99
vendors/jquery-ui/README.md vendored Normal file
View file

@ -0,0 +1,99 @@
[jQuery UI](http://jqueryui.com/) - Interactions and Widgets for the web
================================
jQuery UI provides interactions like Drag and Drop and widgets like Autocomplete, Tabs and Slider and makes these as easy to use as jQuery itself.
If you want to use jQuery UI, go to [jqueryui.com](http://jqueryui.com) to get started. Or visit the [Using jQuery UI Forum](http://forum.jquery.com/using-jquery-ui) for discussions and questions.
If you are interested in helping develop jQuery UI, you are in the right place.
To discuss development with team members and the community, visit the [Developing jQuery UI Forum](http://forum.jquery.com/developing-jquery-ui) or in #jquery on irc.freednode.net.
For contributors
---
If you want to help and provide a patch for a bugfix or new feature, please take
a few minutes and look at [our Getting Involved guide](http://wiki.jqueryui.com/w/page/35263114/Getting-Involved).
In particular check out the [Coding standards](http://wiki.jqueryui.com/w/page/12137737/Coding-standards)
and [Commit Message Style Guide](http://wiki.jqueryui.com/w/page/25941597/Commit-Message-Style-Guide).
In general, fork the project, create a branch for a specific change and send a
pull request for that branch. Don't mix unrelated changes. You can use the commit
message as the description for the pull request.
Running the Unit Tests
---
Run the unit tests with a local server that supports PHP. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options:
- Windows: [WAMP download](http://www.wampserver.com/en/)
- Mac: [MAMP download](http://www.mamp.info/en/index.html)
- Linux: [Setting up LAMP](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation)
- [Mongoose (most platforms)](http://code.google.com/p/mongoose/)
Building jQuery UI
---
jQuery UI uses the [grunt](http://github.com/cowboy/grunt) build system. Building jQuery UI requires node.js and a command line zip program.
Install grunt.
`npm install grunt -g`
Clone the jQuery UI git repo.
`git clone git://github.com/jquery/jquery-ui.git`
`cd jquery-ui`
Install node modules.
`npm install`
Run grunt.
`grunt build`
There are many other tasks that can be run through grunt. For a list of all tasks:
`grunt --help`
For committers
---
When looking at pull requests, first check for [proper commit messages](http://wiki.jqueryui.com/w/page/12137724/Bug-Fixing-Guide).
Do not merge pull requests directly through GitHub's interface.
Most pull requests are a single commit; cherry-picking will avoid creating a merge commit.
It's also common for contributors to make minor fixes in an additional one or two commits.
These should be squashed before landing in master.
**Make sure the author has a valid name and email address associated with the commit.**
Fetch the remote first:
git fetch [their-fork.git] [their-branch]
Then cherry-pick the commit(s):
git cherry-pick [sha-of-commit]
If you need to edit the commit message:
git cherry-pick -e [sha-of-commit]
If you need to edit the changes:
git cherry-pick -n [sha-of-commit]
# make changes
git commit --author="[author-name-and-email]"
If it should go to the stable brach, cherry-pick it to stable:
git checkout 1-8-stable
git cherry-pick -x [sha-of-commit-from-master]
*NOTE: Do not cherry-pick into 1-8-stable until you have pushed the commit from master upstream.*

View file

@ -0,0 +1,155 @@
/*! jQuery UI - v1.10.3 - 2013-11-02
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.resizable.css
* Copyright 2013 jQuery Foundation and other contributors; Licensed under MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0);
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
display: none;
}
.ui-resizable-n {
cursor: n-resize;
height: 7px;
width: 100%;
top: -5px;
left: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
height: 100%;
}
.ui-resizable-se {
cursor: se-resize;
width: 12px;
height: 12px;
right: 1px;
bottom: 1px;
}
.ui-resizable-sw {
cursor: sw-resize;
width: 9px;
height: 9px;
left: -5px;
bottom: -5px;
}
.ui-resizable-nw {
cursor: nw-resize;
width: 9px;
height: 9px;
left: -5px;
top: -5px;
}
.ui-resizable-ne {
cursor: ne-resize;
width: 9px;
height: 9px;
right: -5px;
top: -5px;
}

View file

@ -0,0 +1,6 @@
/*! jQuery UI - v1.10.3 - 2013-11-02
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.resizable.css
* Copyright 2013 jQuery Foundation and other contributors; Licensed under MIT */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

70
vendors/jquery-ui/package.json vendored Normal file
View file

@ -0,0 +1,70 @@
{
"name": "jquery-ui",
"title": "jQuery UI",
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
"version": "1.10.3",
"homepage": "http://jqueryui.com",
"author": {
"name": "jQuery Foundation and other contributors",
"url": "https://github.com/jquery/jquery-ui/blob/1.10.3/AUTHORS.txt"
},
"maintainers": [
{
"name": "Scott González",
"email": "scott.gonzalez@gmail.com",
"url": "http://scottgonzalez.com"
},
{
"name": "Jörn Zaefferer",
"email": "joern.zaefferer@gmail.com",
"url": "http://bassistance.de"
},
{
"name": "Kris Borchers",
"email": "kris.borchers@gmail.com",
"url": "http://krisborchers.com"
},
{
"name": "Corey Frang",
"email": "gnarf37@gmail.com",
"url": "http://gnarf.net"
},
{
"name": "Mike Sherov",
"email": "mike.sherov@gmail.com",
"url": "http://mike.sherov.com"
},
{
"name": "TJ VanToll",
"email": "tj.vantoll@gmail.com",
"url": "http://tjvantoll.com"
}
],
"repository": {
"type": "git",
"url": "git://github.com/jquery/jquery-ui.git"
},
"bugs": "http://bugs.jqueryui.com/",
"licenses": [
{
"type": "MIT",
"url": "https://github.com/jquery/jquery-ui/blob/1.10.3/MIT-LICENSE.txt"
}
],
"dependencies": {},
"devDependencies": {
"grunt": "0.4.1",
"grunt-contrib-jshint": "0.4.1",
"grunt-contrib-uglify": "0.1.1",
"grunt-contrib-concat": "0.1.3",
"grunt-contrib-qunit": "0.2.0",
"grunt-contrib-csslint": "0.1.0",
"grunt-contrib-cssmin": "0.4.2",
"grunt-compare-size": "0.3.1",
"grunt-html": "0.3.3",
"grunt-git-authors": "1.2.0",
"rimraf": "2.1.4",
"testswarm": "1.0.0-alpha"
},
"keywords": []
}

Some files were not shown because too many files have changed in this diff Show more